TROMjaro Forum

TROMjaro 2022.01.20

This is a quick release to push our more reliable and a lot more awesome Layout Switch that looks like this:

6 layouts. Diverse enough I’d say.

Windows like; MX Linux like, Unity like, MacOS like, Gnome like, and TopX like. I do not know what TopX is haha, but I did not know how to name it :smiley: . So now we have a proper Layout Switch app. Click any and apply it. How awesome. And all done with the power of XFCE!

Some things to note, we do not have 2 Unity layouts anymore, but 1. And it is kinda the original TROMjaro layout, with top bar integration and all that. For consistency purposes and for less confusion.

Here’s how to implement it on your system:

  1. Uninstall the package zenity
  2. Install the package yad . Both from Add/Remove Software.
  3. Go to .local/bin/ and replace the layout-switch script (the insides of it - open with a text editor) with this:
#! /bin/bash
data="$HOME"/.local/share/tromjaro-layouts
icons=$data/icons
profiles=$data/profiles
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
}
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 &
}
choice=$(
yad --no-buttons --center --keep-icon-size --separator='' --use-interp --title 'Layout Switch' --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-global-menus
		xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
                xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s false &
		xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "|HMC" &
		xfce4-panel-profiles load "$profiles"/Windows-Like.tar.bz2 & ;;
	'Unity-Like /default/')
		enable-global-menus
		xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
                xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s true &
		xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "CMH|" &
		xfce4-panel-profiles load "$profiles"/Unity-Like.tar.bz2 & ;;
'MX-Like')
		disable-global-menus
		xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
                xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s false &
		xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "|HMC" &
		xfce4-panel-profiles load "$profiles"/MX-Like.tar.bz2 & ;;
'MacOS-Like')
		enable-global-menus
		xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
                xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s true &
		xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "CMH|" &
		xfce4-panel-profiles load "$profiles"/MacOS-Like.tar.bz2 & ;;
'Gnome-Like')
		disable-global-menus
		xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
                xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s false &
		xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "|HMC" &
		xfce4-panel-profiles load "$profiles"/Gnome-Like.tar.bz2 & ;;
'TopX-Like')
		disable-global-menus
		xfconf-query -c xfwm4 -p /general/borderless_maximize -n -t bool -s true &
                xfconf-query -c xfwm4 -p /general/titleless_maximize -n -t bool -s false &
		xfconf-query -c xfwm4 -p /general/button_layout -n -t string -s "|HMC" &
		xfce4-panel-profiles load "$profiles"/TopX-Like.tar.bz2 & ;;
	*) exit ;;
esac

sleep 5 && notify-send "$choice layout was enabled"

  1. Download this archive. It is a folder called tromjaro-layouts. Copy the folder from it, to .local/share/
  2. Do the same for this themes folder. Copy to the same exact location.

And that’s it! Take advantage of the Layout Switch!

Grab the ISO form here.

I am TopX-ish ;0. But what to call it is a good question. I could have suggested compact, because I usually try to compact as much as possible in as little screen space as possible that way, which is why I often use a really skinny top bar.

Compact can be ok too. I just wanted to name them after the distributions that made them popular and I can’t find any that made that particular layout popular…