mirror of
https://github.com/dustinkirkland/byobu.git
synced 2024-11-13 19:50:07 -08:00
93 lines
2.5 KiB
Bash
Executable File
93 lines
2.5 KiB
Bash
Executable File
#!/bin/sh -e
|
|
#
|
|
# byobu-launcher-install
|
|
# Copyright (C) 2008 Canonical Ltd.
|
|
#
|
|
# Authors: Nick Barcet <nick.barcet@ubuntu.com>
|
|
# Dustin Kirkland <kirkland@byobu.org>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, version 3 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
PKG="byobu"
|
|
[ -r "$HOME/.byoburc" ] && . "$HOME/.byoburc"
|
|
[ -z "${BYOBU_PREFIX}" ] && export BYOBU_PREFIX="@prefix@" || export BYOBU_PREFIX
|
|
. "${BYOBU_PREFIX}/lib/${PKG}/include/common"
|
|
|
|
FLAG="$BYOBU_CONFIG_DIR/no-logout-on-detach"
|
|
|
|
LOGOUT_ON_DETACH=1
|
|
for i in $@; do
|
|
case "$i" in
|
|
-n|--no-logout)
|
|
LOGOUT_ON_DETACH=0
|
|
;;
|
|
esac
|
|
done
|
|
|
|
update_flag() {
|
|
if [ "$LOGOUT_ON_DETACH" = "1" ]; then
|
|
rm -f "$FLAG"
|
|
else
|
|
touch "$FLAG"
|
|
fi
|
|
}
|
|
|
|
install_launcher() {
|
|
$PKG-launcher-uninstall "$1" || true
|
|
printf "_byobu_sourced=1 . ${BYOBU_PREFIX}/bin/byobu-launch 2>/dev/null || true\n" >> "$1"
|
|
}
|
|
|
|
install_launcher_fish() {
|
|
$PKG-launcher-uninstall "$1" || true
|
|
printf "if not set -q VSCODE_CWD; " >> "$1"
|
|
printf " status --is-login; and status --is-interactive; and exec byobu-launcher;" >> "$1"
|
|
printf "end" >> "$1"
|
|
}
|
|
|
|
# Sanitize the environment
|
|
$PKG-launcher-uninstall || true
|
|
|
|
# Handle bourne shells, if not set globally in /etc/profile.d
|
|
if [ ! -h "/etc/profile.d/Z97-$PKG.sh" ]; then
|
|
# Install in $HOME/.profile unconditionally
|
|
install_launcher "$HOME/.profile"
|
|
# Now, install in any shell-specific profiles, if they exist
|
|
# This list may grow to support other shells
|
|
for i in ".bash_profile" ".bash_login"; do
|
|
if [ -w "$HOME/$i" ]; then
|
|
install_launcher "$HOME/$i"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
# Install in zprofile if default shell is zsh
|
|
case "$SHELL" in
|
|
*zsh)
|
|
install_launcher "$HOME/.zprofile"
|
|
;;
|
|
esac
|
|
|
|
# Handle fish shell
|
|
if [ -d "$HOME/.config/fish" ]; then
|
|
install_launcher_fish "$HOME/.config/fish/config.fish"
|
|
fi
|
|
|
|
# Hush login, since we will handle motd printing
|
|
touch "$HOME"/.hushlogin
|
|
rm -f "$BYOBU_CONFIG_DIR/disable-autolaunch"
|
|
|
|
# Update the logout/nologout flag
|
|
update_flag
|
|
|
|
# vi: syntax=sh ts=4 noexpandtab
|