DavidoTek / ProtonUp-Qt

Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface.
https://davidotek.github.io/protonup-qt
GNU General Public License v3.0
1.22k stars 40 forks source link

Show Tool Count on Main Menu, Show Total Installed Games on Games List DIalog #200

Closed sonic2kk closed 1 year ago

sonic2kk commented 1 year ago

This PR does a few things:

It can be useful at a glance to see how many compatibility tools you have installed and, if you have a lot installed, how many are unused. It can help highlight if, for example, you end up in a scenario where you have a bunch of old GE-Proton versions laying around.

Screenshots

image

image

Overview

I've actually been sitting on this one for a while, and was very back and forth on how the UI should look. I think re-using the "Installed compatibility tools" label on the main menu is very natural. I experimented with a lot of different positions and such for the unused text, putting it in the bottom-right, putting it in brackets, different wordings, and in the end I landed on the "Unused: X" in the top-right to the side of the installed tools count. The positioning and wording mirrors the active downloads text above it. However I am absolutely open to any kind of improvements here. I'm no UI designer but I still like to make interfaces better where I can :-)

Finally with the games list dialog, as mentioned the label takes up slightly more real-estate than I'd like, but I wasn't sure where else to put it. The titlebar is kind of out imo. There could be semi-hacky conditional checks to display it in the titlebar under normal circumstances, and only append a label programmatically if we're running in Game Mode, but window decorations can be hid normally anyway, so I just don't feel like it's a solid approach to take. The bottom-left section of the dialog is out too as that's where the Steam warning label goes, and they could end up conflicting. If the Steam warning text is present it would really throw off the "look" of the label. So the top-left position seemed to be the only logical place left to put it.

One last note is that, at least to my eye, it feels like there is a noticeable amount of spacing between the "Installed compatibility tools" label and the actual count, and the same goes for the total installed games count on the games list. I couldn't figure out a way to resolve this, I would guess that this is because they are two separate labels and so they have some padding and such. If there's a way to fix it that's worth the effort I'm definitely open to improving that :-)


Thanks!

DavidoTek commented 1 year ago

"Installed compatibility tools" label on the main menu is very natural

Great! Doesn't look like anything is missing anymore :)

in the end I landed on the "Unused: X" in the top-right to the side of the installed tools count

It's a bit far away, but I think it keeps the UI clean and separated. We can keep it this way.

I wasn't sure where else to put it.

We could put it in the table column title like Games (313) or Games: 313. Not sure how well that would look and if that makes sense 🤔

One last note is that, at least to my eye, it feels like there is a noticeable amount of spacing between the "Installed compatibility tools" label and the actual count

I think that it looks fine. It makes the actual number protrude.

Thanks!

sonic2kk commented 1 year ago

Doesn't look like anything is missing anymore :)

Heh, I actually feel the same. I've had this for a while and going back to main, it has stood out a lot more to me that it's missing, glad the feedback on this UI tweak PR is positive :-)

Not sure how well that would look and if that makes sense

Yeah, it might be a bit strange to have it there, like it might stand out a bit too much. A tooltip on the game column would work but I'm not sure if this shows in things like Game Mode either. Though a tooltip would be more in line with other parts of the game menu.

It makes the actual number protrude.

Ah! You're right, I didn't even think about that. Good point!

sonic2kk commented 1 year ago

So I tested out the idea of putting the game count in the tooltip, and it works no problem. I tested in GameScope to emulate Steam Deck Game Mode and tooltips seem to work in GameScope, so it's a viable option:

image

The only time tooltips didn't work was when I used the --expose-wayland flag, which afaik is still only available in GameScope-git and still in early stages (most SDL games with the Wayland backend enabled don't work in my tests), so it's probably not a scenario we have to worry about too much though I wanted to mention it nonetheless :-)

This approach I went with assumes that the first column will always be the games column. I can't foresee a case where this wouldn't be true when we have a games list, but something to be aware of I suppose.

I would be fine with either approach, or with including both (or neither if it comes to it :sweat_smile:)

DavidoTek commented 1 year ago

Looks good.

I would be fine with either approach, or with including both (or neither if it comes to it sweat_smile)

Personally, I would only keep the tooltip and remove the label as it is consuming quite a lot of space. Though I wonder if there is any future use for the space next to the label. If we find any, we may add it back then.

+ <height>325</height>

I think we should keep the height increase anyway :)

sonic2kk commented 1 year ago

Removed the label, think I removed any reference to it in the code too (the only one should've been the line to set the text in setup_ui I think). And I think the height increase is nice too, just gives that little bit of extra space :-)