Alright. I have finished qubes-label-tweak-tool. Lets test it and post results here. First we copy it to dom0/GUIVM bin directory and make it executable (do not do this at home unless you know what you are doing):
qvm-run --pass-io sys-firewall curl https://raw.githubusercontent.com/alimirjamali/personal-qubesos/main/bin/qubes-label-tweak-tool > ~/bin/qubes-label-tweak-tool
chmod +x ~/bin/qubes-label-tweak-tool
Testing the list function with qubes-label-tweak-tool list --ANSI
So far, nothing new. xfce4-terminal could show only 256 colors. But not bad as a rough representation of colors. We create our 1st label according to UI/UX team suggestions with --verbose option to see if nothing goes wrong.
qubes-label-tweak-tool create custom-Maroon 0x800000 --ANSI --verbose
Icon directory was successfully created, svg templates copied and colors tinted. Good. But I removed
custom-Maroon label is too long. So lets delete it:
qubes-label-tweak-tool remove custom-Maroon
Remove function works without any issues. Lets add all suggested colors:
qubes-label-tweak-tool create ux-Maroon 0x800000 -y
qubes-label-tweak-tool create ux-Red 0xe6194b -y
qubes-label-tweak-tool create ux-Pink 0xfabed4 -y
qubes-label-tweak-tool -y --ANSI create ux-Orange 0xf58231
qubes-label-tweak-tool -y --ANSI create ux-Apricot 0xffd8b1
qubes-label-tweak-tool -y --ANSI create ux-Olive 0x808000
qubes-label-tweak-tool -y --ANSI create ux-Lime 0xbfef45
qubes-label-tweak-tool -y --ANSI create ux-Mint 0xaaffc3
qubes-label-tweak-tool -y --ANSI create ux-Cyan 0x42d4f4
qubes-label-tweak-tool -y --ANSI create ux-Navy 0x000075
qubes-label-tweak-tool -y --ANSI create ux-Lavender 0xdcbeff
qubes-label-tweak-tool -y --ANSI create ux-Magenta 0xf032e6
So far, so good. Let’s see how they look like in action label picker:
Not bad. But Lavender label is still long. So I delete it (as well as Apricot).
It appears that we are experiencing the 1st bug. And it is not my fault (or maybe Qubes fault). System is mixing red
with ux-Red
. I have to analyze it later. Just deleting ux-Red
for now. I did not logout/login or reboot to see if it would persist.
Now lets have some fun with custom labels. I have created few distro icons for myself but did not push them to Github for now as I am not a lawyer and I do not want to get sued because of copyright violation. Let’s create Debian label with 0xd70a53 color and custom label for TemplateVMs. Then Fedora, Archlinux, Gentoo. And finally a special Whonix Label. with individual icons. Whonix icon for templatevm, Tor onion logo for servicevm, tbb logo for appvm. Finally a tinted Tor onion for dispvm. A small bug is fixed.
qubes-label-tweak-tool --ANSI --verbose create dist-Debian 0xd70a53 --icon templatevm=qube-debian.svg
qubes-label-tweak-tool --ANSI --verbose -y create dist-Fedora 0x51a2da --icon templatevm=qube-fedora.svg
qubes-label-tweak-tool --ANSI -y create dist-Arch 0x1793d1 --icon templatevm=qube-archlinux.svg
qubes-label-tweak-tool --ANSI -y create dist-Gentoo 0x9f99c7 --icon templatevm=qube-gentoo.svg
qubes-label-tweak-tool --ANSI -y create dist-Whonix 0x931ace --icon templatevm=qube-whonix.svg --icon appvm=qube-tb.svg --icon servicevm=qube-tor.svg --tint on --icon dispvm=qube-tor.svg
Final results:
We are done for the time. But the hard work remains. And that would be getting people with good knowledge of bash scripting to do a peer review of the code. Hopefully in future.
p.s.: I forgot to update gentoo-minimal and fedora-39-xfce labels to new values. It is working. Here is the screenshot: