Manage Qubes via dmenu: "qmenu"

Original forum link
https://forum.qubes-os.org/t/19058
Original poster
3o14r473
Editors
deeplow
Created at
2023-06-03 12:30:03
Last wiki edit
2023-08-14 20:30:26
Revisions
2 revisions
Posts count
1
Likes count
0
Tags
dom0, productivity, version-r40

qmenu is a collection of tools that utilize dmenu, a dynamic menu for X, to provide you with a drop down menu for Qubes specific tasks.

When configured to execute these tools via hotkeys, you are able to list, start and stop your qubes, attach and detach your connected devices, adjust your qube preferences, firewall rules, per-qube keyboard layouts, launch applications and more, very quickly with only the keyboard.

List of qmenu tools:

Warning

qmenu is not included in the Qubes dom0 repositories. This page will show you how to install qmenu by cloning its repository to a disposable qube and copying its contents to dom0. However, this way of installing software in dom0 is not advised and can compromise the security of your system!

Furthermore, qmenu is unreviewed third party software and is in no way endorsed by the Qubes team. You have to trust its maintainers to not act maliciously and to protect it from malicious and unsafe contributions. Keep in mind that you are installing these tools in dom0, so judge accordingly.

Installation

 [user@dom0 ~]$ sudo qubes-dom0-update dmenu
 [user@dispXXXX ~]$ git clone https://github.com/sine3o14nnae/qmenu/
 [user@dispXXXX ~]$ gpg2 --keyserver pool.sks-keyservers.net --recv-keys 0xCBE6 0BC2 811F FE14 333F EE05 3435 0BCA 3DDE 9AD9
 [user@dispXXXX ~/qmenu/]$ git show --show-signature
 [user@dom0 ~]$ qvm-run --pass-io --filter-escape-chars --no-color-output dispXXXX 'cat /home/user/qmenu/qmenu-XX' > /tmp/qmenu-XX

 [user@dom0 ~]$ sudo cp /tmp/qmenu-XX /usr/local/bin/

 [user@dom0 ~]$ sudo chmod 755 /usr/local/bin/qmenu-XX
 [user@dom0 ~]$ mkdir /tmp/qmenu_vm

 [user@dom0 ~]$ for file in fq_keyboard fq_logs fq_pm fqubes_prefs fqvm_appmenus fqvm_clone fqvm_create fqvm_device fqvm_firewall fqvm_pci fqvm_prefs fqvm_remove fqvm_run fqvm_service fqvm_tags fqvm_volume; do qvm-run --pass-io --filter-escape-chars --no-color-output dispXXXX "cat /home/user/qmenu/lib/qmenu_vm/$file" > /tmp/qmenu_vm/$file; done

 [user@dom0 ~]$ sudo cp -r /tmp/qmenu_vm/ /lib/

Customization

qmenu

The colors that correspond to a qube label can be adjusted by appending --{LABEL}=#{HEX VALUE} for any qube label, when executing a qmenu tool.

Try the following example for visually appealing colors:

 --purple=#a020f0 --blue=#4363d8 --gray=#bebebe --green=#3cb44b --yellow=#ffe119 --orange=#f58231 --red=#e6194b --black=#414141

dmenu

In order to customize and configure dmenu, instead of downloading it from the repositories, you have to get it from suckless, compile it yourself and copy it to dom0. However, this way of installing software in dom0 is not advised and can compromise the security of your system!


This document was migrated from the qubes-community project