mirror of
https://github.com/rbreaves/kinto.git
synced 2025-06-28 09:01:44 +02:00

- Added setup fixes for gui - Fixed debug issues & updated copyright - Uninstaller update, init setup improvements, added open kinto to tray - Fixed order of operations for args parsing - Fixed initial radio value of keyboard type in main gui app, removed comments, fixed sys tray default for DE - File cleanup, relocations and faster setup file - Do not clobber initkb if it already exists
394 lines
17 KiB
Bash
Executable File
394 lines
17 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# set about:config?filter=ui.key.menuAccessKeyFocuses
|
|
# to false for wordwise to work in Firefox
|
|
|
|
typeset -l distro
|
|
distro=$(awk -F= '$1=="NAME" { print $2 ;}' /etc/os-release)
|
|
typeset -l dename
|
|
dename=$(./system-config/dename.sh | cut -d " " -f1)
|
|
|
|
function uninstall {
|
|
|
|
while true; do
|
|
read -rep $'\nPress R to restore your original shortcuts.\nPress F to reset to factory shortcuts. (f/r)\n' yn
|
|
case $yn in
|
|
[Ff]* ) yn="f"; break;;
|
|
[Rr]* ) yn="r";break;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
|
|
if [ "$yn" == "f" ];then
|
|
echo "Reset to factory shortcuts"
|
|
if [ "$dename" == "gnome" ];then
|
|
echo "Resetting DE hotkeys..."
|
|
echo "gsettings reset-recursively org.gnome.desktop.wm.keybindings"
|
|
gsettings reset-recursively org.gnome.desktop.wm.keybindings
|
|
echo "gsettings reset-recursively org.gnome.mutter.keybindings"
|
|
gsettings reset-recursively org.gnome.mutter.keybindings
|
|
echo "gsettings set org.gnome.mutter overlay-key 'super'"
|
|
gsettings set org.gnome.mutter overlay-key 'super'
|
|
dconf dump /org/gnome/mutter/ > mutter.conf
|
|
dconf load /org/gnome/mutter/ < mutter.conf
|
|
elif [ "$dename" == "kde" ];then
|
|
echo "Resetting DE hotkeys..."
|
|
mv ~/.config/kwinrc ~/.config/kwinrc.kinto
|
|
mv ~/.config/kglobalshortcutsrc ~/.config/kglobalshortcutsrc.kinto
|
|
elif [ "$dename" == "xfce" ];then
|
|
echo "Resetting DE hotkeys..."
|
|
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
|
|
fi
|
|
elif [ "$yn" == "r" ]; then
|
|
echo "Restore original user shortcuts"
|
|
if [ "$dename" == "gnome" ]; then
|
|
echo "Restoring DE hotkeys..."
|
|
wmkeys=$(ls | grep -m1 "keybinding")
|
|
mutterkeys=$(ls | grep -m1 "mutter_")
|
|
if [[ ${#wmkeys} > 0 ]]; then
|
|
echo "dconf load /org/gnome/desktop/wm/keybindings/ < $wmkeys"
|
|
dconf load /org/gnome/desktop/wm/keybindings/ < "$wmkeys"
|
|
else
|
|
echo "Gnome Desktop keybindings backup not found..."
|
|
fi
|
|
if [[ ${#mutterkeys} > 0 ]]; then
|
|
echo "dconf load /org/gnome/mutter/keybindings/ < $mutterkeys"
|
|
dconf load /org/gnome/mutter/keybindings/ <"$mutterkeys"
|
|
fi
|
|
if [[ ${#wmkeys} > 0 ]] || [[ ${#mutterkeys} > 0 ]]; then
|
|
echo "Gnome hotkeys have been successfully restored."
|
|
fi
|
|
elif [ "$dename" == "kde" ]; then
|
|
echo "Restoring DE hotkeys..."
|
|
kwinkeys=$(ls | grep -m1 "kwinrc")
|
|
kdekeys=$(ls | grep -m1 "kglobalshortcutsrc")
|
|
cp ./"$kdekeys" ~/.config/kglobalshortcutsrc
|
|
cp ./"$kwinkeys" ~/.config/kwinrc
|
|
elif [ "$dename" == "xfce" ]; then
|
|
echo "Restoring DE hotkeys..."
|
|
xfcekeys=$(ls | grep -m1 "xfce4-keyboard")
|
|
cp ./"$xfcekeys" ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
|
|
fi
|
|
fi
|
|
}
|
|
|
|
function removeAppleKB {
|
|
# Undo Apple keyboard cmd & alt swap
|
|
if test -f "/sys/module/hid_apple/parameters/swap_opt_cmd" && [ `cat /sys/module/hid_apple/parameters/swap_opt_cmd` == "1" ]; then
|
|
echo '0' | sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
|
|
echo 'options hid_apple swap_opt_cmd=0' | sudo tee /etc/modprobe.d/hid_apple.conf
|
|
sudo update-initramfs -u -k all
|
|
fi
|
|
if test -f "/sys/module/applespi/parameters/swap_opt_cmd" && [ `cat /sys/module/applespi/parameters/swap_opt_cmd` == "1" ]; then
|
|
echo '0' | sudo tee /sys/module/applespi/parameters/swap_opt_cmd
|
|
echo 'options applespi swap_opt_cmd=0' | sudo tee /etc/modprobe.d/applespi.conf
|
|
sudo update-initramfs -u -k all
|
|
fi
|
|
}
|
|
|
|
function budgieUninstall {
|
|
if [ -f /usr/bin/budgie-desktop ];then
|
|
read -n 1 -s -r -p "Your system may log you off immediately during the restoration of budgie-daemon. Press any key to continue..."
|
|
bdmd5="$(md5sum /usr/bin/budgie-daemon | awk '{ print $1 }')"
|
|
oldbdmd5=$(md5sum ./budgie-daemon_10.5.1.bak | awk '{ print $1 }')
|
|
if [ "$bdmd5" != "$oldbdmd5" ]; then
|
|
echo -e "\nReplacing budgie-daemon with backup..."
|
|
sudo pkill budgie-daemon && sudo cp ./budgie-daemon_10.5.1.bak /usr/bin/budgie-daemon
|
|
else
|
|
echo -e "\nBudgie-daemon is already an original."
|
|
fi
|
|
fi
|
|
}
|
|
|
|
function budgieUpdate {
|
|
# Check for budgie and install App Switching hack
|
|
if [ -f /usr/bin/budgie-desktop ];then
|
|
while true; do
|
|
read -rep $'Would you like to update Budgie to support proper App Switching? (y/n)\n(Your system may immediately log you out after this runs.)\n' yn
|
|
case $yn in
|
|
[Yy]* ) yn="y"; break;;
|
|
[Nn]* ) yn="n";break;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
if [ "$yn" == "y" ]; then
|
|
budgieVersion="$(/usr/bin/budgie-desktop --version | awk '{ print $2; }' | head -n1)"
|
|
if [ "$budgieVersion" == "10.5.1" ]; then
|
|
if ! [ -f ./system-config/budgie-daemon_10.5.1 ]; then
|
|
wget https://github.com/rbreaves/budgie-desktop/blob/binaries/binaries/budgie-daemon_10.5.1?raw=true -O ./system-config/budgie-daemon_10.5.1
|
|
fi
|
|
bdmd5=$(md5sum /usr/bin/budgie-daemon | awk '{ print $1 }')
|
|
newbdmd5=$(md5sum ./system-config/budgie-daemon_10.5.1 | awk '{ print $1 }')
|
|
if [ "$bdmd5" != "$newbdmd5" ]; then
|
|
cp /usr/bin/budgie-daemon ./budgie-daemon_"$budgieVersion".bak
|
|
sudo pkill budgie-daemon && sudo cp ./system-config/budgie-daemon_10.5.1 /usr/bin/budgie-daemon
|
|
echo "Updated Budgie to use App Switching Patch"
|
|
else
|
|
echo "Budgie-daemon already patched, skipping replacement."
|
|
fi
|
|
else
|
|
echo "Your Budgie version was $budgieVersion and the patch is for 10.5.1."
|
|
while true; do
|
|
read -rep $'Would you like to replace it any ways? (y/n)\n(A backup will be made)\n' yn
|
|
case $yn in
|
|
[Yy]* ) yn="y"; break;;
|
|
[Nn]* ) yn="n";break;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
if [ "$yn" == "y" ]; then
|
|
if ! [ -f ./system-config/budgie-daemon_10.5.1 ]; then
|
|
wget https://github.com/rbreaves/budgie-desktop/raw/43d3b44243b0bcaee3262a79818024a651475b58/binaries/budgie-daemon_10.5.1 -O ./system-config/budgie-daemon_10.5.1
|
|
fi
|
|
cp /usr/bin/budgie-daemon ./budgie-daemon_"$budgieVersion".bak
|
|
sudo pkill budgie-daemon && sudo cp ./system-config/budgie-daemon_10.5.1 /usr/bin/budgie-daemon
|
|
echo "Updated Budgie to use App Switching Patch"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# if [ $# -eq 0 ]; then
|
|
# echo "Install Kinto - xkeysnail (udev)"
|
|
# echo " 1) Windows & Mac (HID driver) - Most Standard keyboards (& 1st party usb/bt Apple keyboards)"
|
|
# echo " 2) Mac Only & VMs on Macbooks - 3rd & 1st party Apple keyboards"
|
|
# echo " 3) Chromebook - Chromebook running Linux"
|
|
# echo " 4) IBM M - Keyboards w/o Super/Win keys"
|
|
# # echo " 5) Uninstall"
|
|
|
|
# read n
|
|
|
|
# set "$n"
|
|
# fi
|
|
|
|
# branch=$(git rev-parse --abbrev-ref HEAD)
|
|
# if [ "$branch" == "dev" ] || [ "$branch" == "alpha" ];then
|
|
# while true; do
|
|
# read -rep $'\nExperimental Support for Firefox/Chrome Back/Forward hotkeys (Cmd+Left/Right)?\n(Keys could get stuck, switch windows or press ctrl &/or super to release) (y/n)\n' yn
|
|
# case $yn in
|
|
# [Yy]* ) exp='/sbin/runuser -l {username} -c "export DISPLAY={displayid};{homedir}/.config/kinto/caret_status_xkey.sh\&";'; expsh='"{homedir}/.config/kinto/caret_status_xkey.sh"'; break;;
|
|
# [Nn]* ) exp=" "; expsh=" " break;;
|
|
# # * ) echo "Please answer yes or no.";;
|
|
# esac
|
|
# done
|
|
# else
|
|
# echo -e "\nSupport for Firefox/Chrome Back/Forward hotkeys (Cmd+Left/Right) disabled on $branch w/ xkeysnail \n"
|
|
exp=" "
|
|
expsh=" "
|
|
# fi
|
|
# sudo systemctl enable xkeysnail >/dev/null 2>&1
|
|
# if ! [ -x "$(command -v inotifywait)" ]; then
|
|
# echo "Will need to install inotify-tools to restart key remapper live for config file changes..."
|
|
# sudo ./system-config/unipkg.sh inotify-tools
|
|
# fi
|
|
if ! [ -x "$(command -v pip3)" ]; then
|
|
echo "Will need to install python3-pip..."
|
|
sudo ./system-config/unipkg.sh python3-pip
|
|
fi
|
|
if ! [ -x "$(command -v python3-config)" ]; then
|
|
if [ "$distro" == "ubuntu" ] || [ "$distro" == "debian" ] || [ "$distro" == '"linux mint"' ]; then
|
|
pydev="python3-dev"
|
|
elif [ "$distro" == "fedora" ]; then
|
|
pydev="python3-devel"
|
|
fi
|
|
if [ "$distro" == "gnome" ] || [ "$distro" == "fedora" ] || [ "$distro" == "debian" ] || [ "$distro" == '"linux mint"' ]; then
|
|
echo "Will need to install $pydev..."
|
|
sudo ./system-config/unipkg.sh "$pydev"
|
|
fi
|
|
fi
|
|
if ! [ -x "$(command -v xhost)" ] || ! [ -x "$(command -v gcc)" ]; then
|
|
if [ "$distro" == "\"manjaro linux\"" ]; then
|
|
sudo ./system-config/unipkg.sh "xorg-xhost gcc"
|
|
fi
|
|
fi
|
|
if [ "$distro" == '"linux mint"' ]; then
|
|
pip3 install setuptools
|
|
fi
|
|
|
|
# echo "Transferring files..."
|
|
mkdir -p ~/.config/kinto
|
|
|
|
# KDE xhost fix
|
|
# mkdir -p ~/.kde/Autostart
|
|
# echo -e '#!/bin/sh\rxhost +SI:localuser:root' > ~/.kde/Autostart/kintohost.sh
|
|
# chmod +x ~/.kde/Autostart/kintohost.sh
|
|
|
|
# KDE startup - xhost fix
|
|
mkdir -p ~/.config/autostart
|
|
yes | cp -rf ./xkeysnail-config/xkeysnail.desktop ~/.config/kinto/xkeysnail.desktop
|
|
|
|
# yes | cp -rf ./xkeysnail-config/xkeystart.sh ~/.config/kinto/xkeystart.sh
|
|
|
|
# *** More testing needing, universal way of killing kinto on user log out? ***
|
|
# yes | sudo cp -rf xkeysnail-config/root_logoff.sh /usr/local/bin/logoff.sh
|
|
# sudo chown root:root /usr/local/bin/logoff.sh
|
|
# sudo chmod u+rwx /usr/local/bin/logoff.sh
|
|
# sudo chmod go-w+rx /usr/local/bin/logoff.sh
|
|
# *** End universal killing of kinto
|
|
|
|
# logoff fix - not solid for every os. Prevents missed 1 character input on login
|
|
# yes | sudo cp -rf xkeysnail-config/gnome_logoff.sh ~/.config/kinto/logoff.sh
|
|
|
|
git describe --tags --always origin master | perl -ne "print \"\$1 build `git rev-parse --short HEAD`\n\" for m/\b(.*)-\w+-\w{8}/" | head -n 1 > ~/.config/kinto/version
|
|
yes | cp -rf ./xkeysnail-config/kinto.py ./xkeysnail-config/kinto.py.new
|
|
yes | cp -rf ./xkeysnail-config/limitedadmins ./xkeysnail-config/limitedadmins.new
|
|
yes | cp -rf ./xkeysnail-config/gui/ ~/.config/kinto/
|
|
yes | cp -nrf ./xkeysnail-config/initkb ~/.config/kinto/initkb
|
|
yes | cp -rf ./xkeysnail-config/killdups.sh ~/.config/kinto/killdups.sh
|
|
yes | cp -rf ./xkeysnail-config/appleKB.sh ~/.config/kinto/appleKB.sh
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/kintotray.py ~/.config/kinto/kintotray.py
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/kintotray.desktop ~/.config/kinto/kintotray.desktop
|
|
yes | cp -rf ./xkeysnail-config/gui/kinto.desktop ./xkeysnail-config/gui/kinto.desktop.new
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/icons/kinto-color-16.svg ~/.config/kinto/kinto-color.svg
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/icons/kinto-color-16.svg ~/.config/kinto/kinto-color-48.svg
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/icons/kinto-invert-16.svg ~/.config/kinto/kinto-invert.svg
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/icons/kinto-solid-16.svg ~/.config/kinto/kinto-solid.svg
|
|
yes | cp -rf ./xkeysnail-config/trayapps/appindicator/icons/kinto.svg ~/.config/kinto/kinto.svg
|
|
# yes | cp -rf ./system-config/caret_status_xkey.sh ~/.config/kinto/caret_status_xkey.sh
|
|
yes | cp -rf ./xkeysnail-config/xkeysnail.service ./xkeysnail-config/xkeysnail.service.new
|
|
# yes | cp -rf ./xkeysnail-config/xkeysnail.timer ~/.config/systemd/user/xkeysnail.timer
|
|
sed -i "s#{experimental-caret}#$exp#g" ./xkeysnail-config/xkeysnail.service.new
|
|
if [ "$expsh" != " " ];then
|
|
sed -i "s#{kill-caret}#/usr/bin/pkill -f $expsh#g" ./xkeysnail-config/xkeysnail.service.new
|
|
else
|
|
sed -i "s#{kill-caret}#$expsh#g" ./xkeysnail-config/xkeysnail.service.new
|
|
fi
|
|
sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/xkeysnail.service.new
|
|
sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/xkeysnail.service.new
|
|
sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/kintotray.desktop
|
|
sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/gui/kinto-gui.py
|
|
sed -i "s#{homedir}#`echo "$HOME"`#g" ./xkeysnail-config/gui/kinto.desktop.new
|
|
sudo mv ./xkeysnail-config/gui/kinto.desktop.new /usr/share/applications/kinto.desktop
|
|
sed -i "s#{xhost}#`\\which xhost`#g" ./xkeysnail-config/xkeysnail.service.new
|
|
sed -i "s/{username}/`whoami`/g" ./xkeysnail-config/limitedadmins.new
|
|
sed -i "s#{systemctl}#`\\which systemctl`#g" ./xkeysnail-config/limitedadmins.new
|
|
sed -i "s#{pkill}#`\\which pkill`#g" ./xkeysnail-config/limitedadmins.new
|
|
sed -i "s#{xkeysnail}#/usr/local/bin/xkeysnail#g" ./xkeysnail-config/limitedadmins.new
|
|
sudo chown root:root ./xkeysnail-config/limitedadmins.new
|
|
sudo mv ./xkeysnail-config/limitedadmins.new /etc/sudoers.d/limitedadmins
|
|
sed -i "s#{systemctl}#`\\which systemctl`#g" ~/.config/kinto/xkeysnail.desktop
|
|
sed -i "s#{xhost}#`\\which xhost`#g" ~/.config/kinto/xkeysnail.desktop
|
|
sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/xkeysnail.desktop
|
|
# sed -i "s#{homedir}#`echo "$HOME"`#g" ~/.config/kinto/prexk.sh
|
|
sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ./xkeysnail-config/xkeysnail.service.new
|
|
# sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ~/.config/kinto/prexk.sh
|
|
|
|
if [[ $dename == "gnome" || dename == "budgie" ]]; then
|
|
perl -pi -e "s/(# )(.*)(# gnome)/\$2\$3/g" ./xkeysnail-config/kinto.py.new >/dev/null 2>&1
|
|
fi
|
|
if [[ $dename == "kde" ]]; then
|
|
echo "Applying Cmd-Space to open App Launcher for KDE..."
|
|
perl -pi -e "s/(# )(.*)(#.*kde)/\$2\$3/g" ./xkeysnail-config/kinto.py.new >/dev/null 2>&1
|
|
fi
|
|
|
|
if [[ $dename == "xfce" ]]; then
|
|
perl -pi -e "s/(# )(.*)(# xfce4)/\$2\$3/g" ./xkeysnail-config/kinto.py.new
|
|
perl -pi -e "s/(\w.*)(# Default not-xfce4)/# \$1\$2/g" ./xkeysnail-config/kinto.py.new
|
|
fi
|
|
|
|
if [[ $dename == "xfce" ]] && ls /etc/apt/sources.list.d/enso* 1> /dev/null 2>&1; then
|
|
echo "enso OS detected, applying Cmd-Space for Launchy..."
|
|
perl -pi -e "s/(K\(\"RC-Space)(.*)(# )(xfce4)/\$3\$1\$2\$3\$4/g" ./xkeysnail-config/kinto.py.new >/dev/null 2>&1
|
|
xfconf-query --channel xfce4-keyboard-shortcuts --property "/commands/custom/<Primary>space" --create --type string --set "launchy"
|
|
fi
|
|
|
|
if ! [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
|
|
mv ./xkeysnail-config/kinto.py.new ~/.config/kinto/kinto.py
|
|
# if [ "$distro" == "fedora" ];then
|
|
sudo rm /etc/systemd/system/xkeysnail.service >/dev/null 2>&1
|
|
if [ -d /usr/lib/systemd/system ];then
|
|
xkeypath="/usr/lib/systemd/system/"
|
|
elif [ -d /lib/systemd/system ];then
|
|
xkeypath="/lib/systemd/system/"
|
|
fi
|
|
sudo mv ./xkeysnail-config/xkeysnail.service.new "$xkeypath"xkeysnail.service && echo "Service file added to "$xkeypath"xkeysnail.service"
|
|
sudo chown -R root:root "$xkeypath"xkeysnail.service && echo "Ownership set for root..." || echo "Failed to set ownership..."
|
|
sudo chmod 644 "$xkeypath"xkeysnail.service && echo "Permissions set to 644..." || echo "Failed to set permissions..."
|
|
sudo ln -s "$xkeypath"xkeysnail.service /etc/systemd/system/xkeysnail.service && echo "Created soft symlink..." || echo "Failed to create soft symlink..."
|
|
sudo ln -s "$xkeypath"xkeysnail.service /etc/systemd/system/graphical.target.wants/xkeysnail.service && echo "Created soft symlink for graphical target..." || echo "Failed to create soft symlink for graphical target..."
|
|
xhost +SI:localuser:root
|
|
git clone --depth 10 https://github.com/rbreaves/xkeysnail.git || git pull --depth 10
|
|
cd xkeysnail
|
|
git checkout 51c369084e0045a8410d227bab52411bf84fb65b
|
|
giturl=$(git ls-remote --get-url)
|
|
if [ "$giturl" != "https://github.com/rbreaves/xkeysnail.git" ];then
|
|
echo -e "\nreplacing xkeysnail with fork...\n"
|
|
cd ..
|
|
rm -rf ./xkeysnail
|
|
git clone --depth 10 https://github.com/rbreaves/xkeysnail.git
|
|
cd xkeysnail
|
|
git checkout 51c369084e0045a8410d227bab52411bf84fb65b
|
|
fi
|
|
sudo pip3 install --upgrade .
|
|
cd ..
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl disable xkeysnail
|
|
sudo systemctl stop xkeysnail
|
|
# sudo systemctl --state=not-found --all | grep xkeysnail
|
|
# if [ "$distro" == "fedora" ];then
|
|
# systemctl enable xkeysnail.service
|
|
# else
|
|
# sudo systemctl enable xkeysnail.service
|
|
# fi
|
|
# sudo systemctl restart xkeysnail
|
|
if ! [[ $dename == "gnome" || $dename == "kde" ]];then
|
|
sudo pkill -f kintotray >/dev/null 2>&1
|
|
else
|
|
sed -i "s/systray = true/systray = false/g" ~/.config/kinto/initkb
|
|
fi
|
|
nohup python3 ~/.config/kinto/gui/kinto-gui.py >/dev/null 2>&1 &
|
|
|
|
echo -e "Adding xhost fix...\n"
|
|
|
|
LINE='xhost +SI:localuser:root'
|
|
|
|
if [ ! -e "~/.xprofile" ]; then
|
|
# Ubuntu xhost fix
|
|
echo "$LINE" > ~/.xprofile
|
|
# echo "$LINE" > ~/.xinitrc
|
|
fi
|
|
# Ubuntu xhost fix
|
|
grep -qF -- "$LINE" ~/.xprofile || echo "$LINE" >> ~/.xprofile
|
|
# KDE xhost fix
|
|
# grep -qF -- "$LINE" ~/.bashrc || echo "$LINE" >> ~/.bashrc
|
|
# grep -qF -- "$LINE" ~/.xinitrc || echo "$LINE" >> ~/.xinitrc
|
|
|
|
# remove kintox11 login startup
|
|
if test -f "~/.config/autostart/kinto.desktop"; then
|
|
rm ~/.config/autostart/kinto.desktop
|
|
fi
|
|
|
|
echo -e "Kinto install is \e[1m\e[32mcomplete\e[0m.\n"
|
|
|
|
elif [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then
|
|
echo "Uninstalling Kinto - xkeysnail (udev)"
|
|
uninstall
|
|
removeAppleKB
|
|
pkill -f kintotray >/dev/null 2>&1
|
|
sudo systemctl stop xkeysnail >/dev/null 2>&1
|
|
sudo systemctl disable xkeysnail >/dev/null 2>&1
|
|
sudo pkill -f bin/xkeysnail >/dev/null 2>&1
|
|
sudo pkill -f "is-active xkeysnail" >/dev/null 2>&1
|
|
sudo rm /etc/sudoers.d/limitedadmins >/dev/null 2>&1
|
|
rm ~/.config/autostart/xkeysnail.desktop >/dev/null 2>&1
|
|
rm ~/.config/autostart/kintotray.desktop >/dev/null 2>&1
|
|
rm -rf ~/.config/kinto >/dev/null 2>&1
|
|
sudo rm /etc/systemd/system/xkeysnail.service >/dev/null 2>&1
|
|
sudo rm /usr/share/applications/kinto.desktop >/dev/null 2>&1
|
|
sudo rm /etc/systemd/system/graphical.target.wants/xkeysnail.service >/dev/null 2>&1
|
|
sudo rm /usr/lib/systemd/system/xkeysnail.service >/dev/null 2>&1
|
|
sudo rm /lib/systemd/system/xkeysnail.service >/dev/null 2>&1
|
|
if [ -f /usr/local/bin/logoff.sh ];then
|
|
sudo rm /usr/local/bin/logoff.sh
|
|
fi
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl --state=not-found --all | grep xkeysnail
|
|
budgieUninstall
|
|
exit 0
|
|
elif [[ $1 == "budgieUpdate" ]]; then
|
|
budgieUpdate
|
|
else
|
|
echo "Expected argument was not provided"
|
|
fi
|