New Qubes application menu

The new application menu is here!

If you are running a release candidate of Qubes OS 4.1 and wish to just dive on in, the new app menu can be found here. But first, a couple important caveats:

  • This new menu requires 4.1 and cannot run on 4.0.
  • This is experimental software for testing purposes only!

Still want to give it a go? To install, enter this command in a dom0 terminal:

sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable qubes-desktop-linux-menu

Once installed, add the new menu to the XFCE panel using the provided .desktop file (instructions). For those who want to learn more, read on!

Background

One of the key issues raised by users in last year’s Qubes User Survey (see the write-up — and a big thank you to everyone who participated!) was general usability. Qubes OS is great for security, but the experience of using it can be somewhat opaque or even confusing. The UX difficulties are exacerbated by the fact that most of our GUI components are adapted from those designed for single-environment systems, like XFCE on Fedora. This served as a good first pass for an open-source project developed by a small team, but the time has come to begin working on a GUI tailored to Qubes OS’s particular multi-environment setting.

Helpfully, three years ago the SecureDrop team began user research in support of their SecureDrop Workstation project (built atop Qubes OS). In the course of their work, they discovered that it was not just SecureDrop users who wanted the Qubes OS GUI to be friendlier — a lot of other folks seemed to want Qubes OS to be more usable, too! From the SecureDrop Workstation project, Nina Alter began contributing to Qubes, and we subsequently joined forces to tackle the app menu project. This project received a generous grant from the Mozilla Foundation!

Goals

The main idea behind the new application menu is simple: to create a way of accessing programs that’s native to Qubes OS, takes into account its quirks and approach, and is both easy to use and accessible. The visual clarity of the current application menu, which uses XFCE’s default menu and adds a folder within the menu for each qube, leaves much to be desired. Research showed us most users prefer GUI system tools. The classic Linux nerd answer of “Just use the terminal. It’s easy!” does not really capture how most people work. Thus, we needed a better approach, one that’s more accessible, easier to use, and represents a mental model consistent with Qubes OS rather than a typical monolithic Linux distribution.

For those interested, we presented our work on the new app menu on the second day of our 2021 Qubes Mini Summit. The presentation begins at the 01h 15min mark of the video.

Application Menu Features

Qubes

The new application menu has three tabs (as seen on the left): qubes, favorites, and system tools. The first tab is the most similar one to the old menu. It contains all qubes, but now sorted into three groups (on top of the middle pane): normal application qubes (the APP section), qube templates (TEMPLATES), and various system qubes (SYSTEM).

![Menu](upload://aDGBPclXB0UqntmjEchQLaei7yX.png)

When you select a qube, its applications appear on the right — the same applications that you chose for the old menu, in Qube Settings. Now, however, they are accompanied by a couple of utility features, like quick access to start and shut down commands and an indicator of the networking state of the qube on top.

The menu itself also communicates more information about system state. Names of running qubes are bolded, and those of disposable qubes and their templates are italicized. There’s also a clear visual indicator of the disposable template each disposable is based on. Further enhancements (coming in the future) will be — as inspired by many users citing frustrations with memory management and information in the menu — more data about RAM usage or qube template on top of the application pane.

![Disposable qube indicator](upload://biEFlDg5PmmXBZC7AgbqqdzYwKw.png)

In order to make the use of disposable qubes more conveniently, now programs can be started in a running disposable qube from the menu. It works just like any other qube. There’s only one limitation: If the qube was started for a program (which is usually the case), it will shut down when that first program is closed.

Favorites

You asked, and we have delivered! Second in the primary menu, after qubes, is a completely new tab: Favorites.

![Favorites](upload://uDfvQyxiTpSkklZXzzmL7NV7JMw.png)

You can right-click on any application in the qube menu and add it to your favorites. It will then appear in this menu. To remove it, simply right-click on the app within the Favorites tab and select “Remove from Favorites.”

System tools

The last tab is devoted to all sorts of configuration and system tools and, in practice, also “random things installed in dom0.” (It’s a bad idea to install random things in dom0, but if it happens, that’s where you will find them.) System tools can also be added to favorites. Some of us find it useful, for example, to have a dom0 terminal shortcut there.

![System tools](upload://kO06HtwXaAlKHgieWxjmxcJFrF8.png)

Installing and running the application menu

As the menu is not yet part of Qubes by default, you have to install it yourself with:

[user@dom0 ~]$ sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable qubes-desktop-linux-menu

The menu can then be added to the XFCE panel as a widget, with Panel -> Add New Items -> Launcher, and in the Launcher add the Open Qubes Application Menu option. Normally, the process that provides the menu with data will be running in the background, but it will only start on the next reboot. To avoid the need for a reboot, you can just run the following in a dom0 terminal:

[user@dom0 ~]$ qubes-app-menu &

There are also several helpful options in the command line for users who want more customization, like --keep-visible (if you want the menu to be always visible) or --page [N] to select the page at which the menu should be opened (0 for apps, 1 for favorites, and 2 for system tools). The entire option list is available, as usual, through qubes-app-menu --help.

Feedback and testing

As this is very much a first release, bugs are likely. Please report any issues you discover.

We’d also very much welcome anonymous feedback on the new menu through our survey tool.

The current plan is to have this menu become the default in Qubes 4.2, but of course compatibility with other menus will be maintained. Our current development status can be seen in the GitHub project for the new application menu.

Enjoy!


This is a companion discussion topic for the original entry at https://www.qubes-os.org/news/2021/11/12/new-qubes-application-menu/
5 Likes

One additional note, in follow-up to a couple of survey responses: this is a first-release Alpha of the new app menu. It has as few features as possible, by design, to get the most minimum release pushed for testing of basic functionality across different devices. Its interactivity is also quite rough. It’s functional goals for release: “Get a chrome together that shows qubes and apps.” It was based upon nothing, and built from scratch. It is not an adaptation of existing Linux tooling—so, just getting it to where it is now, for one developer, was a great feat.

It has been pushed for testing more than for daily use. We need feedback to improve it. Behind the scenes, Marta (developer) and I (UX’er) are working to refine its interactivity and its capabilities. It is a chubby toddler waddling across the room right now—it’ll be a bit, before it’s a graceful ballerina gliding across a stage.

Once interactivity is ironed-out and functions predictably across devices, and the menu does the most basic of basic things, and does those things well, then we will add more features to it to make it more robust and more unique to support Qubes OS users. That is the goal.

In its current state, we do not expect it to be amazing. None of this is abnormal in software development. You just usually never see it from the Apples and Intels of the world, because they have millions of dollars to pay people to do what FOSS need community support with. The more feedback we get, the better we can make it. Thank you all, for the feedback we’ve recieved thus far!

3 Likes

Hello. First of all, thanks again for this beautoful menu.
Deeplow asked me here to submit some feedback on this survey, so I’ll copy/paste my notices from there. If I misunderstood deeplow, please delete this post.

While visually undoubtedly appealing, me being old school have to admit that all we essentially get is more clicks to get to the point we want, comparing to the current app menu.
On the other hand my starting point is Qube Manager, and if someone would ask me, I’d like to see there in qubes’ context menus cascading entry “applications”, just like in dom0’s desktop context menu.
After using it for a while, beside my initial notices, I can confirm that from time to time launcher stops to respond, so I have to qubes-app-emu & in terminal, after which the menu becomes responsive again on mouse click.

And both in classic and in this beautiful modern menu, I really do miss most of all richer context menu, but most of the most I miss “Run command in Qube/dom0”, either in context menu, or in a submenu of a given cube (yep I know - my Qube Manager deformity, and I just can’t help it :place_of_worship:)