mirror of
https://github.com/dustinkirkland/byobu.git
synced 2025-02-23 02:17:40 -08:00
I've detected on my local installation that this line of code is breaking when my VSCode startups up from the Unity bar (or Gnome Dock).
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
|