QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
534 stars 46 forks source link

Qubes Domains widget: Allow customizing options per qube #6118

Open zellchristensen opened 3 years ago

zellchristensen commented 3 years ago

The problem you're addressing (if any) In the Qubes Manager system tray menu, you can see a list of all running qubes. Selecting a Qube will show additional drop down options: Settings, Pause, Shutdown, or Run Terminal. It would be great if the user could customize these options to add or remove features.

Describe the solution you'd like Add a button under the Settings Menu for individual Qubes to open "System Tray Options" where a user could customize the Tray options for that qube. For example, add applications from the applications list (or just mirror the existing applications), add other options (Such as Restart Qube), or remove the existing options from it such as pause and shutdown.

Where is the value to a user, and who might that user be? Can increase usability and productivity for the user.

Describe alternatives you've considered For Applications, just mirroring the existing applications may be enough. Perhaps with just another submenu for applications. IE Qubes Manager Tray > SelectQube > Applications > ChooseApp

Additional context Being able to easily start applications from the Tray Icon allows the user to avoid having to search through the entire list of all VMs on the top left as the Tray option is limited to running VMs only. Having the ability to restart a qube from the Tray menu would increase productivity so the user doesn't have to open the Qubes Manager and look through the entire list of qubes to find the desired qube, select it and click restart (or right click and click restart). Being able to remove some features, such as Shutdown or Pause, would make it so a user can more easily prevent inadvertent actions on critical VMs due to user misclicks or other unintentional user actions.

andrewdavidwong commented 3 years ago

In the Qubes Manager system tray menu

That's actually a separate widget called "Qubes Domains". I'll update the issue title accordingly.

andrewdavidwong commented 3 years ago

For example, add applications from the applications list (or just mirror the existing applications) [...]

For Applications, just mirroring the existing applications may be enough. Perhaps with just another submenu for applications. IE Qubes Manager Tray > SelectQube > Applications > ChooseApp [...]

Being able to easily start applications from the Tray Icon [...]

This gets into some fundamental design considerations about what the Qubes Domains widget is supposed to do and what it's not supposed to do (related: #2132). I suppose we'll want to be careful here to avoid ending up with five tools that do the same things, or one tools that does everything (again).

@marmarta, what do you think?

tabbyrobin commented 3 years ago

There seems to be a lot of different things in this issue.

Re: easier application launching, i think the poster (and others) might be interested in Whisker Menu. It's an alternative xfce menu that (i think?) is already included in the default install (just Add widget... to your xfce panel). https://gottcode.org/xfce4-whiskermenu-plugin/

It will not restrict the options to just running-qubes, but it does let you define your own list of shortcuts.

tabbyrobin commented 3 years ago

More generally, i do also find that Qube Manager takes a while to load up and that there are some things i wish i could do without having to pull it up. (Can't remember specifics right now tho, besides Restart.)

Having the ability to restart a qube from the Tray menu would increase productivity so the user doesn't have to open the Qubes Manager and look through the entire list of qubes to find the desired qube, select it and click restart (or right click and click restart).

Also, I think another problem is the dropdown nature of the Qubes Domains widget: if it could spawn off into its own window, then doing repeat actions would be easier. (Maybe better for accessibility as well?)

Also, it seems like Qube Manager could benefit from more advanced filtering (maybe a tree or tab view): running vs off; and especially the semantic distinction:

(Semantically, pressing Start on a dvm-template in Qube Manager is different from running the dvm from the menus: one boots the template whereas the other instantiates a dvm. This is not clear from the UI, and has security implications.)

Being able to remove some features, such as Shutdown or Pause, would make it so a user can more easily prevent inadvertent actions on critical VMs due to user misclicks or other unintentional user actions.

Finally, this seems like a whole different type of concern and one that merits further thought. Since it involves some "stability" questions, potential data loss, and might even have security implications, depending on what qube gets shutdown and what it was doing for other qubes. (Pause on whonix is bad for anonymity because of the clock, iirc. Similar, a proxyvm that gets restarted but the vpn service doesnt autostart will strip vpn protection.)

tabbyrobin commented 3 years ago

Relevant: https://www.reddit.com/r/Qubes/comments/f3hya2/use_the_qubes_manager_as_menu_or_is_it_just_me/

zellchristensen commented 3 years ago

I checked out Whisker Menu, but I don't think it's quite what I want. Being able to have the list restricted to just running qubes would be ideal I think.

ninavizz commented 3 years ago

@zellchristensen & @tabbyrobin: I'm working on some prototypes (with a visual prototyping tool, not in usable code of any kind) of the app menu for user testing, in which I'm working to fold some of the Domain Widget's functionality into a fully custom app menu for Qubes. Wanted to share a couple screenshots with you both, to see if your concerns are clearly (or at all?) addressed in these?

Screen Shot 2021-03-24 at 3 41 48 PM