From 22a7fc4321937a899183500722c6cf01a2240078 Mon Sep 17 00:00:00 2001 From: rokosun Date: Wed, 28 Sep 2022 00:10:11 +0200 Subject: [PATCH] Simplify code --- layout-switcher | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/layout-switcher b/layout-switcher index 641b030..380899d 100644 --- a/layout-switcher +++ b/layout-switcher @@ -2,6 +2,7 @@ data=/usr/share/tromjaro-layout-switcher icons=$data/icons profiles=$data/profiles + enable-top-bar-integration() { # Enable global menus pacman -Qq vala-panel-appmenu-registrar || @@ -16,6 +17,7 @@ enable-top-bar-integration() { # Put window buttons on left side xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "CMH|" } + disable-top-bar-integration() { # Disable global menus ! pacman -Qq vala-panel-appmenu-registrar || @@ -31,35 +33,26 @@ disable-top-bar-integration() { # Put window buttons on right side xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "|HMC" } + choice=$( yad --no-buttons --center --keep-icon-size --separator='' --use-interp --title 'TROMjaro Layout Switcher' --text-align=center --text 'Changing to or from any layout that has global menus, will require your admin password' --form --columns 3 \ --field=!"$icons/windows.png"!'Windows-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'Windows-Like'" \ --field=!"$icons/macos.png"!'MacOS-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'MacOS-Like'" \ --field=!"$icons/mx.png"!'MX-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'MX-Like'" \ --field=!"$icons/gnome.png"!'Gnome-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'Gnome-Like'" \ ---field=!"$icons/unity.png"!'Unity-Like (default)':BTN "kill -USR1 \$YAD_PID; echo -n 'Unity-Like (default)'" \ +--field=!"$icons/unity.png"!'Unity-Like (default)':BTN "kill -USR1 \$YAD_PID; echo -n 'Unity-Like'" \ --field=!"$icons/topx.png"!'TopX-Like':BTN "kill -USR1 \$YAD_PID; echo -n 'TopX-Like'" ) + case "$choice" in - 'Windows-Like') - disable-top-bar-integration - xfce4-panel-profiles load "$profiles"/Windows-Like.tar.bz2 ;; - 'Unity-Like (default)') - enable-top-bar-integration - xfce4-panel-profiles load "$profiles"/Unity-Like.tar.bz2 ;; - 'MX-Like') - disable-top-bar-integration - xfce4-panel-profiles load "$profiles"/MX-Like.tar.bz2 ;; - 'MacOS-Like') - enable-top-bar-integration - xfce4-panel-profiles load "$profiles"/MacOS-Like.tar.bz2 ;; - 'Gnome-Like') - disable-top-bar-integration - xfce4-panel-profiles load "$profiles"/Gnome-Like.tar.bz2 ;; - 'TopX-Like') - disable-top-bar-integration - xfce4-panel-profiles load "$profiles"/TopX-Like.tar.bz2 ;; + 'Windows-Like'|'MX-Like'|'Gnome-Like') + disable-top-bar-integration ;; + 'Unity-Like'|'MacOS-Like'|'TopX-Like') + enable-top-bar-integration ;; *) exit ;; esac +# Apply the XFCE panel profiles for the chosen layout +xfce4-panel-profiles load "$profiles/$choice.tar.bz2" + sleep 2.5 && notify-send "$choice layout was enabled"