dweymouth / supersonic

A lightweight and full-featured cross-platform desktop client for self-hosted music servers
GNU General Public License v3.0
682 stars 27 forks source link

Add option to scale down / zoom out ui #179

Closed TotalChaos05 closed 7 months ago

TotalChaos05 commented 1 year ago

I'm currently running the supersonic flatpak on opensuse with xwayland. I havea 1920x1080 screen, but the app still takes up almost the entire screen, even in windowed.

dweymouth commented 1 year ago

It's slightly hacky but you can change the scale of the app using the FYNE_SCALE environment variable. Try FYNE_SCALE=0.85 or so. Fyne, the UI library, is supposed to be DPI-aware but there are still some rough edges on some systems

dweymouth commented 7 months ago

I added a setting for this to the "Experimental" tab and it will be in the upcoming 0.8.0 release

UltraBlackLinux commented 5 months ago

It's slightly hacky but you can change the scale of the app using the FYNE_SCALE environment variable. Try FYNE_SCALE=0.85 or so. Fyne, the UI library, is supposed to be DPI-aware but there are still some rough edges on some systems

This does not appear to be working.

I'm operating off a pretty tiny phone screen (720x1440), and fyne is absolutely breaking at this resolution. The "Smallest" scale option isn't close to small enough, and the FYNE_SCALE variable changes absolutely nothing. As an added bonus, I'm on a tiling WM, meaning that whenever I try to click a button within the application, the window moves around, or something like that, making it pretty unusable. Fyne really doesn't like this screen size...

Could you implement a percentage scale instead of a scale based on three predefined sizes?

dweymouth commented 5 months ago

I could switch to a percentage scaling factor (note internally it's just setting FYNE_SCALE for the process - which could be why setting it yourself isn't working, try leaving UI scaling as normal in Supersonic). But it seems like you're running it on a phone? Do note that while Fyne supports mobile platforms, Supersonic does not, and it's possible that more things could be broken. (Though if you could help contribute and make it more mobile-friendly, of course that would be appreciated!)

UltraBlackLinux commented 5 months ago

Well it's half phone half computer haha I'm in the process of turning my linux phone into an actually usable experience, and since my battery drains quickly I needed to find a more light-weight navidrome-compatible streaming client, since browsers are resource hogs. This project is awesome, it looks good, has wonderful performance and has nice large touch encouraging buttons - it's just that the UI doesn't like the form factor.

Setting the scale to 'Normal' and then using FYNE_SCALE=0.6 works like a charm! That's the scale that works best for me.

Thanks for the tip!

dweymouth commented 5 months ago

There's stuff that's only accessible via right-click (like the tracklist context menu to add to playlist, etc). On a platform that Fyne actually recognizes as mobile (iOS or Android), a long tap is dispatched as a right-click, but I wonder if this is true for your case.

UltraBlackLinux commented 5 months ago

doesn't appear to be working OOTB but I think I'll just add a keybind to press RMB for me so I don't think that'll be an issue