From 7c360216428da6109dac59919bf056d0809a922c Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Sat, 13 Jun 2020 17:00:29 -0500 Subject: [PATCH 1/4] - Removed another reference to old KintoWin VM Linux --- xkeysnail-config/kinto.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/xkeysnail-config/kinto.py b/xkeysnail-config/kinto.py index b322a15..3be7d6b 100644 --- a/xkeysnail-config/kinto.py +++ b/xkeysnail-config/kinto.py @@ -54,10 +54,6 @@ define_conditional_modmap(re.compile(termStr, re.IGNORECASE), { # Key.RIGHT_META: Key.RIGHT_ALT, # WinMac # Key.RIGHT_CTRL: Key.LEFT_CTRL, # WinMac - # # KintoWin - # Key.LEFT_CTRL: Key.RIGHT_CTRL, # KintoWin - # Key.LEFT_META: Key.LEFT_CTRL, # KintoWin - # # Mac Only # Key.LEFT_META: Key.RIGHT_CTRL, # Mac # # Left Ctrl Stays Left Ctrl From 4c8d8412b804509880599c2d8ff46740f91c263d Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Sat, 13 Jun 2020 18:08:55 -0500 Subject: [PATCH 2/4] - converted dename.sh to tabs only --- system-config/dename.sh | 198 ++++++++++++++++++++-------------------- 1 file changed, 99 insertions(+), 99 deletions(-) diff --git a/system-config/dename.sh b/system-config/dename.sh index ae2392c..eed7b3a 100755 --- a/system-config/dename.sh +++ b/system-config/dename.sh @@ -2,166 +2,166 @@ function detect_gnome() { - ps -e | grep -E '^.* gnome-session' > /dev/null - if [ $? -ne 0 ]; - then + ps -e | grep -E '^.* gnome-session' > /dev/null + if [ $? -ne 0 ]; + then return 0 - fi - VERSION=`gnome-session --version | awk '{print $2}'` - DESKTOP="gnome" - return 1 + fi + VERSION=`gnome-session --version | awk '{print $2}'` + DESKTOP="gnome" + return 1 } function detect_kde4() { - ps -e | grep -E '^.* kded4$' > /dev/null - if [ $? -ne 0 ]; - then - return 0 - else - VERSION=`kded4 --version | grep -m 1 'KDE' | awk -F ':' '{print $2}' | awk '{print $1}'` - DESKTOP="KDE" - return 1 - fi + ps -e | grep -E '^.* kded4$' > /dev/null + if [ $? -ne 0 ]; + then + return 0 + else + VERSION=`kded4 --version | grep -m 1 'KDE' | awk -F ':' '{print $2}' | awk '{print $1}'` + DESKTOP="KDE" + return 1 + fi } function detect_kde() { - ps -e | grep -E '^.* kded5$' > /dev/null - if [ $? -ne 0 ]; - then - return 0 - else - VERSION=`kded5 --version | grep -m 1 'KDE' | awk -F ':' '{print $2}' | awk '{print $1}'` - DESKTOP="KDE" - return 1 - fi + ps -e | grep -E '^.* kded5$' > /dev/null + if [ $? -ne 0 ]; + then + return 0 + else + VERSION=`kded5 --version | grep -m 1 'KDE' | awk -F ':' '{print $2}' | awk '{print $1}'` + DESKTOP="KDE" + return 1 + fi } function detect_unity() { - ps -e | grep -E 'unity-panel' > /dev/null - if [ $? -ne 0 ]; - then + ps -e | grep -E 'unity-panel' > /dev/null + if [ $? -ne 0 ]; + then return 0 - fi - VERSION=`unity --version | awk '{print $2}'` - DESKTOP="unity" - return 1 + fi + VERSION=`unity --version | awk '{print $2}'` + DESKTOP="unity" + return 1 } function detect_xfce() { - ps -e | grep -E '^.* xfce4-session$' > /dev/null - if [ $? -ne 0 ]; - then + ps -e | grep -E '^.* xfce4-session$' > /dev/null + if [ $? -ne 0 ]; + then return 0 - fi - VERSION=`xfce4-session --version | grep xfce4-session | awk '{print $2}'` - DESKTOP="xfce" - return 1 + fi + VERSION=`xfce4-session --version | grep xfce4-session | awk '{print $2}'` + DESKTOP="xfce" + return 1 } function detect_cinnamon() { - ps -e | grep -E '^.* cinnamon$' > /dev/null - if [ $? -ne 0 ]; - then + ps -e | grep -E '^.* cinnamon$' > /dev/null + if [ $? -ne 0 ]; + then return 0 - fi - VERSION=`cinnamon --version | awk '{print $2}'` - DESKTOP="cinnamon" - return 1 + fi + VERSION=`cinnamon --version | awk '{print $2}'` + DESKTOP="cinnamon" + return 1 } function detect_mate() { - ps -e | grep -E '^.* mate-panel$' > /dev/null - if [ $? -ne 0 ]; - then + ps -e | grep -E '^.* mate-panel$' > /dev/null + if [ $? -ne 0 ]; + then return 0 - fi - VERSION=`mate-about --version | awk '{print $4}'` - DESKTOP="mate" - return 1 + fi + VERSION=`mate-about --version | awk '{print $4}'` + DESKTOP="mate" + return 1 } function detect_lxde() { - ps -e | grep -E '^.* lxsession$' > /dev/null - if [ $? -ne 0 ]; - then + ps -e | grep -E '^.* lxsession$' > /dev/null + if [ $? -ne 0 ]; + then return 0 - fi + fi - # We can detect LXDE version only thru package manager - which apt-cache > /dev/null 2> /dev/null - if [ $? -ne 0 ]; - then + # We can detect LXDE version only thru package manager + which apt-cache > /dev/null 2> /dev/null + if [ $? -ne 0 ]; + then which yum > /dev/null 2> /dev/null if [ $? -ne 0 ]; then - VERSION='unknown' + VERSION='unknown' else - # For Fedora - VERSION=`yum list lxde-common | grep lxde-common | awk '{print $2}' | awk -F '-' '{print $1}'` + # For Fedora + VERSION=`yum list lxde-common | grep lxde-common | awk '{print $2}' | awk -F '-' '{print $1}'` fi - else + else # For Lubuntu and Knoppix VERSION=`apt-cache show lxde-common /| grep 'Version:' | awk '{print $2}' | awk -F '-' '{print $1}'` - fi - DESKTOP="lxde" - return 1 + fi + DESKTOP="lxde" + return 1 } function detect_sugar() { - if [ "$DESKTOP_SESSION" == "sugar" ]; - then + if [ "$DESKTOP_SESSION" == "sugar" ]; + then VERSION=`python -c "from jarabe import config; print config.version"` DESKTOP="sugar" - else + else return 0 - fi + fi } DESKTOP="unknown" if detect_unity; then - if detect_kde; - then - if detect_kde4; - then - if detect_gnome; - then - if detect_xfce; - then - if detect_cinnamon; - then - if detect_mate; - then - if detect_lxde; - then - detect_sugar - fi - fi - fi - fi - fi - fi - fi + if detect_kde; + then + if detect_kde4; + then + if detect_gnome; + then + if detect_xfce; + then + if detect_cinnamon; + then + if detect_mate; + then + if detect_lxde; + then + detect_sugar + fi + fi + fi + fi + fi + fi + fi fi if [ "$1" == '-v' ]; then - echo $VERSION + echo $VERSION else - if [ "$1" == '-n' ]; - then + if [ "$1" == '-n' ]; + then echo $DESKTOP - else + else echo $DESKTOP $VERSION - fi + fi fi \ No newline at end of file From 1fc62a54da91a0003f1b3a7cd96da35d4395d0af Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Sat, 13 Jun 2020 19:25:06 -0500 Subject: [PATCH 3/4] - Proper Budgie detection, improved mac kb support (hid/spi), installs faster. --- setup.py | 15 ++++++++++++--- system-config/dename.sh | 27 +++++++++++++++++++++------ xkeysnail_service.sh | 32 +++++++++++++++++++++++++------- 3 files changed, 58 insertions(+), 16 deletions(-) diff --git a/setup.py b/setup.py index 0357728..bf57496 100755 --- a/setup.py +++ b/setup.py @@ -119,7 +119,7 @@ def setShortcuts(): addhotkeys = yn_choice("\nDo you want to apply system level shortcuts?") if(addhotkeys): distro = distro.lower() - if dename == "gnome" or dename == "mate": + if dename == "gnome" or dename == "mate" or dename == "budgie": cmdline('dconf dump /org/gnome/desktop/wm/keybindings/ > keybindings_`date +"%Y.%m.%d-%s"`.conf') cmdline('dconf dump /org/gnome/mutter/keybindings/ > mutter_`date +"%Y.%m.%d-%s"`.conf') if(kintotype == 1): @@ -129,11 +129,19 @@ def setShortcuts(): cmdline("gsettings set org.gnome.desktop.wm.keybindings switch-applications \"['F13','F13','Tab']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward \"['F14','F14','Tab']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings minimize \"['h','F9']\"") + # + # Leaving run dialog disabled for now + # Too slow on appearing, compared to the app menu + # + # if dename != "budgie": cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-main-menu \"['Space','Space']\"") + # else: + # cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-main-menu \"['F1']\"") + # cmdline("gsettings set org.gnome.desktop.wm.keybindings panel-run-dialog \"['Space','Space']\"") cmdline("gsettings set org.gnome.shell.keybindings toggle-application-view \"['LaunchB']\"") if dename != "mate": cmdline("gsettings set org.gnome.mutter overlay-key ''") - if (distro == "ubuntu" and dename == "gnome") or (distro == "linux" and dename == "mate") or (distro == "ubuntu" and dename == "mate"): + if (distro == "ubuntu" and dename == "gnome") or (distro == "ubuntu" and dename == "budgie") or (distro == "linux" and dename == "mate") or (distro == "ubuntu" and dename == "mate"): cmdline("gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up \"['Up','Left']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down \"['Down','Right']\"") cmdline("gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left ['']") @@ -232,7 +240,8 @@ def setShortcuts(): os.system('kquitapp5 kglobalaccel && sleep 2s && kglobalaccel5 &') else: print('distro: ' + distro + ' de: ' + dename) - print("A supported OS and DE was not found, you may not have full system level shortcuts installed.") + print(bcolors.CRED2 + "A supported OS and DE was not found, you may not have full system level shortcuts installed." + bcolors.ENDC) + print(bcolors.CRED2 + "You may want to find your DE or Window Manager settings and manually set Alt-Tab & other OS related shortcuts." + bcolors.ENDC) if dename == "gnome": # Apply dconf update to make updates survive reboots cmdline('dconf dump /org/gnome/desktop/wm/keybindings/ > tempkb.conf') diff --git a/system-config/dename.sh b/system-config/dename.sh index eed7b3a..4c5dfbe 100755 --- a/system-config/dename.sh +++ b/system-config/dename.sh @@ -1,5 +1,17 @@ #!/bin/bash +function detect_budgie() +{ + ps -e | grep -E '^.* budgie-wm' > /dev/null + if [ $? -ne 0 ]; + then + return 0 + fi + VERSION=`dpkg-query -l | grep budgie-core | awk '{print $3}'` + DESKTOP="budgie" + return 1 +} + function detect_gnome() { ps -e | grep -E '^.* gnome-session' > /dev/null @@ -133,17 +145,20 @@ then then if detect_kde4; then - if detect_gnome; + if detect_budgie; then - if detect_xfce; + if detect_gnome; then - if detect_cinnamon; + if detect_xfce; then - if detect_mate; + if detect_cinnamon; then - if detect_lxde; + if detect_mate; then - detect_sugar + if detect_lxde; + then + detect_sugar + fi fi fi fi diff --git a/xkeysnail_service.sh b/xkeysnail_service.sh index 460dc05..ecaac7b 100755 --- a/xkeysnail_service.sh +++ b/xkeysnail_service.sh @@ -72,6 +72,20 @@ function uninstall { 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 -a /sys/module/hid_apple/parameters/swap_opt_cmd + echo 'options hid_apple swap_opt_cmd=0' | sudo tee -a /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 -a /sys/module/applespi/parameters/swap_opt_cmd + echo 'options applespi swap_opt_cmd=0' | sudo tee -a /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..." @@ -255,13 +269,22 @@ if [[ $1 == "1" || $1 == "2" || $1 == "3" || $1 == "winmac" || $1 == "mac" || $1 fi if [[ $1 == "1" || $1 == "winmac" ]]; then - echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd;echo 'options hid_apple swap_opt_cmd=1' | sudo tee -a /etc/modprobe.d/hid_apple.conf;sudo update-initramfs -u -k all + if ls /sys/module | grep hid_apple >/dev/null 2>&1 ; then + echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd;echo 'options hid_apple swap_opt_cmd=1' | sudo tee -a /etc/modprobe.d/hid_apple.conf;sudo update-initramfs -u -k all + fi + if ls /sys/module | grep applespi >/dev/null 2>&1 ; then + echo '1' | sudo tee -a /sys/module/applespi/parameters/swap_opt_cmd;echo 'options applespi swap_opt_cmd=1' | sudo tee -a /etc/modprobe.d/applespi.conf;sudo update-initramfs -u -k all + fi + if ! ls /sys/module | grep apple ; then + removeAppleKB + fi perl -pi -e "s/(# )(.*)(# WinMac)/\$2\$3/g" ./xkeysnail-config/kinto.py.new 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 elif [[ $1 == "2" || $1 == "mac" ]]; then + removeAppleKB perl -pi -e "s/(# )(.*)(# Mac)/\$2\$3/g" ./xkeysnail-config/kinto.py.new if [[ $dename == "xfce" ]]; then perl -pi -e "s/(# )(.*)(# xfce4)/\$2\$3/g" ./xkeysnail-config/kinto.py.new @@ -358,12 +381,7 @@ if [[ $1 == "1" || $1 == "2" || $1 == "3" || $1 == "winmac" || $1 == "mac" || $1 elif [[ $1 == "5" || $1 == "uninstall" || $1 == "Uninstall" ]]; then echo "Uninstalling Kinto - xkeysnail (udev)" uninstall - # 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 -a /sys/module/hid_apple/parameters/swap_opt_cmd - echo 'options hid_apple swap_opt_cmd=0' | sudo tee -a /etc/modprobe.d/hid_apple.conf - sudo update-initramfs -u -k all - fi + removeAppleKB sudo systemctl stop xkeysnail sudo systemctl disable xkeysnail sudo rm /etc/sudoers.d/limitedadmins From 5b4269fc1f9dca6f38286138195780cc5b787755 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Sat, 13 Jun 2020 19:27:17 -0500 Subject: [PATCH 4/4] - Allowing galliumOS shortcut keys to apply to any XFCE DE --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index bf57496..1cb6016 100755 --- a/setup.py +++ b/setup.py @@ -175,8 +175,8 @@ def setShortcuts(): cmdline('perl -pi -e "s/(\w.*)(\/\/ Default cmdtab)/\/\/ \$1\$2/g" ~/.xkb/symbols/mac_gui') # elif distro == "budgie" and dename == "gnome": # print("Apply budgie shortcuts here") - elif (distro == "galliumos" and dename == "xfce") or (distro == "ubuntu" and dename == "xfce"): - print("Applying GalliumOS (xfce) shortcuts...") + elif (dename == "xfce"): + print("Applying xfce shortcuts...") cmdline('cp ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml ./xfce4-keyboard-shortcuts_`date +"%Y.%m.%d-%s"`.xml') # Reset Show desktop cmdline('xfconf-query --channel xfce4-keyboard-shortcuts --property "/xfwm4/custom/d" --reset')