byobu/usr/bin/byobu-launcher-install.in
Cruz Fernandez f917d2169a
Fix for VSCode, fish and byobu installations
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).
2022-10-21 13:11:52 -03:00

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