66 lines
3.2 KiB
Bash
66 lines
3.2 KiB
Bash
#! /bin/bash
|
|
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 ||
|
|
zensu SKIP_AUTOSNAP= pacman -S --noconfirm vala-panel-appmenu-registrar ||
|
|
{ notify-send 'Error' 'failed installing vala-panel-appmenu-registrar !\nmake sure you type the correct password\nEnabling the internet connection might solve the issue'; exit; }
|
|
pacman -Qq vala-panel-appmenu-registrar || exit
|
|
|
|
# Hide window borders when maximized
|
|
xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true
|
|
# Hide top bar of windows when maximized
|
|
xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s true
|
|
# 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 ||
|
|
zensu SKIP_AUTOSNAP= pacman -R --noconfirm vala-panel-appmenu-registrar ||
|
|
{ notify-send 'Error' 'failed removing vala-panel-appmenu-registrar !\nmake sure you type the correct password'; exit; }
|
|
pacman -Qq vala-panel-appmenu-registrar && exit
|
|
killall appmenu-registrar
|
|
|
|
# Hide window borders when maximized
|
|
xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true
|
|
# Don't hide top bar of windows when maximized
|
|
xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s false
|
|
# 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/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 ;;
|
|
*) exit ;;
|
|
esac
|
|
|
|
sleep 2.5 && notify-send "$choice layout was enabled"
|