Sneak peek of the new Qubes Devices GUI

I don’t like how tall it can be now.

Also previous little colorful icon is much cuter. And fits the default icon set better.

2 Likes

According to @deeplow comment on Github:

This is an intended regression, I think. Block devices are confusing for novice users and advanced users can use qvm-block. This was talked about in the Qubes summit.

I will try to find the refrenced video and link it here.

I would like to emphasize UndeadDevel’s point:

Judging by the attention this is getting in the forum and that the OP here already has two likes (most of my issues don’t get likes) it seems I’m not the only one who sees it this way.

Github issues Likes/Thumbs-ups do matter. Developers need some feedback from users to adjust their workflow. So if you prefer the generic notation of block devices to be included in the Device GUI, give that issue a Thumbs-up on Github (cc. @solene ).

If it was like most other Hypervisors that you could attach the whole block device and not the partitions, I would have been very glad to have it without block device notations. But we have individual partitions here. Some of them without labels. There could be a compromise solution. i.e. Having it user-configurable. I could do it but even if I do it, Marmarta’s time is sparse to peer review my pull-request.

p.s.: Who is updating Qubes OS website these days? This page needs to be updated (since the icons and other things have changed). Or people send pull-request directly to Jekyll repository on Github?

3 Likes

The web site is being updated at the moment. It’s updated by people like
you and me.
Any users can make a contribution - details are here
For anyone who prefer not to use GitHub, or to use Git, I’ve suggested
that they email or PM me with proposed changes.

I never presume to speak for the Qubes team. When I comment in the Forum I speak for myself.
2 Likes

Here you go:

4 Likes

I already added a thumbs up :stuck_out_tongue:

3 Likes

I actually didn’t like the previous colorful icon and preferred the one before that. Imho the new icon is the best so far.

3 Likes

While I like this I have notice a little problem. For some reason it’s not displaying the “root” so I can attach a USB. I am only getting the other part which will have the “naming” convention of my USB device and of course when I attach that I get nothing. If I am making myself clear??

2 Likes

Will this solve the problem of multiple devices of the same type displaying identically?

I had two USB sticks - same brand, same size, etc - attached to a dispVM. I was checking contents and/or reformatting with gnome-disks-utility.

They were listed in the Data (Block) Devices section as:

Cruzer_Glide ()
   disp5126
Cruzer_Glide ()
   disp5126
Cruzer_Glide (Xubuntu_22.04.2_...)
   disp5126

The duplication makes it difficult to manage. I had probably reformatted/repartitioned at least one or both - I don’t think the changes are propagated through to the Devices menu.

I just know there are three entries but only two USB sticks and its hard to know what’s going on.

Yes. Sure.

It is always a good idea to keep backups of important data. Just in case they are lost due to mistakes or any other reason. Hope you did not lose anything important.

I can tell you which files to modify manually to have the generic notation of block devices back (sdX, sdX1, …). But it would be up to you to understand what it does and trust it. The proper way to fix this permanently would be opening an issue on Github or better give the relevant issues a Thumb-up or a comment (#9164, #9189, #9201). Express your concern about possible loss of data because of duplication of device identifiers.

The file to be modified is /usr/lib/python3.11/site-packages/qui/devices/actionable_widgets.py which is in dom0 or GUIVM (if you have setup one). The changes are as follow (one line removed, 10 lines added):

         self.device_icon.set_valign(Gtk.Align.CENTER)
 
         self.device_label = Gtk.Label(xalign=0)
-        self.device_label.set_markup(device.name)
+
+        devicename = device.name
+        if devicename.endswith(' ()'):
+            devicename = devicename[:-3]
+        if device.device_class == 'block':
+            self.device_label.set_markup("{} - (Host unique ID: {})".format(
+                devicename, device.id_string))
+        else:
+            self.device_label.set_markup(device.name)
+
         if self.device.attachments:
             self.device_label.get_style_context().add_class("dev_attached")

The above change requires the qui-devices to be restarted. So after applying modifications, reboot the system or:

killall qui-devices

Please note that the above change will be neutralized every-time qubes-desktop-linux-manager receives and update. And always keep backups if you modify sensitive files.

I’m not on Github, I’m afraid. Someone else will have to issue that. (I think @Sven or @unman said they could be a conduit?)

But not to be ungrateful. Thankyou, I’ll look at those changes. It would be nice to have them built into Qubes.

1 Like

Such an irony that I was the person who bookmarked the presentations in Youtube’s comment section. But never watched most of them. Only few which was within my personal area of interest.

OK. So let’s provide some simple community guide to other issues. If you want to change the size of the menus for any reason (small screen, low resolution, …). The files you want to modify are either of /usr/lib/python3.11/site-packages/qui/qubes-devices.light.css or /usr/lib/python3.11/site-packages/qui/qubes-devices.dark.css depending on your desktop theme. In order to shrink it, you will have to change margin properties. Please refer to W3School guide if you need more information on CSS Margins.

If you want to add icon to USB devices (the old Qubes Devices GUI had one which is still on Qubes OS official guide). Add these two lines to /usr/lib/python3.11/site-packages/qui/devices/backend.py

@@ -158,6 +158,8 @@
             return 'harddrive'
         if self.device_class == 'mic':
             return 'mic'
+        if self.device_class == 'usb':
+            return 'usblogo'
         return ''
 
     @property

The usblogo should be the name of png or svg icon. You could provide your icon via xdg-icon-resource(1)

Here is how my Qubes Devices looks like after all of the Tweaks:

1 Like

is this still testing because I got this update now?

Is there any way to change back to the old applet logo? this one is tiny and out of place outside of XFCE.

What version do you have currently installed? See it in terminal by typing this:

dnf list qubes-desktop-linux-manager

Not an easy way that does not break lots of other things. Could you please elaborate on being tiny and out of place outside XFCE?

Other users have expressed the opposite (that it is too big taking too much space on screen).

i now see the new UI for devices.

I assign a USB key to Personal.

File Manager for Personal does not show the USB key.

Files - mnt not either.

Not only where did it go, but why make using USB devices more difficult . Something about Security I missed?

Is this because I have not upgraded to Fedora 39?

There is most likely two entries in the Devices GUI for your USB key. One should work and show up in the file manager of of Thunar in personal qube. One does not. The top one should work.

There were many reasons. You could watch the video presentation shared above for more information. But do not worry. It is already recognized as a major bug and is assigned to team tasks.

Most probably not. But I would suggest you to upgrade to Fedora 39 anyways. Fedora 38 is currently scheduled to reach EOL (end-of-life) on 2024-05-14

1 Like

4.2.20-1.fc37

in i3wm, it’s about 50% the size of the other icons.so much empty space.

is it not possible to just replace the icon with the old one? where can I find the image?

OK. You got the update for new Qubes Devices GUI. It is confirmed.

Very useful information. Now we know that you are not using XFCE or KDE. Which are the two most tested DEs. And I believe I know exactly what is wrong. The icon file is `/usr/share/icons/hicolor/scalable/apps/qubes-devices.svg’. Even though it is a vector file, i3wm is not able to scale up it to suitable size for your DE. And the original SVG is saved as having a 24x24 pixel dimension. Unfortunately varous sizes of PNGs for all kind of devices are not rendered in the original repository (they should). You have multiple options:

  1. Replace the icon with any SVG icon of the proper size you want. This has to be repeated every-time qubes-desktop-linux-manager receives an update.
  2. Resize the existing SVG icon to the proper size using Inkscape or any other software.
  3. Generate the device PNG files using GraphicsMagick or ImageMagick and installing them with xdg-icon-resource(1) utility.
  4. None of the above. Open an issue in Github and complain about the small size of the qubes-devices.svg icon and lack of PNG renders for devices.
3 Likes

@alimirjamali
Yes I got the update and all seams to be well now for my external USB devices.

Thank you for all your hard work my friend

2 Likes

@alimirjamali
I know this is “off topic” BUT I can’t seam to find the post about adding more “colors” you can have when creating a new qube. As I have too many domains with the same color and it can get confusing. I thought you did a post on this.

Did you take the link down or remove it, as I would like to add these and would love more colors to have?