Per-application GUI scaling?

With Firefox, this appears to not do anything all. All GUI elements are exactly as oversized and crowded as before, and web pages still require scroll bars.

It clearly works here. Without scale to fit:

With scale to fit enabled:

Your Firefox seems to work differently from mine. Mine does not go off-screen, therefore nothing happens when scale to fit is enabled.

To be absolutely clear:

What Firefox looks like at 200% scaling:

How I want it to look, at 100% scaling:

But then the top and bottom bar are too small, and areas like the upper menu have pointlessly large margins:

The worst is probably the lock screen, with huge margins around the keys for no reason at all. It is a bit harder to screenshot at the moment, though.

Here is the keyboard not working well at what is otherwise a comfortable medium 150%:

I want applications that heavily benefit from it to have tiny buttons. My problem is that when doing this the shell has tiny buttons too, and doesn’t adapt to it well, with areas like the lock screen ending up with huge amounts of empty space.

I think you are talking past each other. Scaling factor (200%, 175%…100%) from Settings / Display settings is different than scale to fit via the Mobile Settings app (you need to have the app, FF or other, running before using is, as it only shows switches for those).

1 Like

Scale to fit can be enabled:

But simply does not do anything:

Assuming I do not need to do something else to have it apply, at least.

Right. What I see in that last screencap is “scale to fit”, as in, it has transformed the layout to fit a vertical mobile screen - it has changed compared to your previous “FF at 200% scaling” image (look at the keyboard and textbox for instance). All the FF elements are now present. But this isn’t what you are looking for. You seem to be looking for them to be smaller and fit even more stuff there - “to fit” doesn’t do that. This is the part that Guido missed, if I understood correctly.

I’d approach this for a different direction. I’d like to have the Display scale factor to be actually usable (I’d prefer to use 150% or 175% with L5) but then A) it would have to be persistent, and B) not effect keyboard/squeekboard and the top menu.

There were similar discussions a few years back: Librem 5 scale-to-fit? and Tutorial: Create Shortcuts to Scale Display Up/Down The wlr-randr mentioned in the latter seems promising but I have no idea if it’s still usable. Do you still use scaling @amarok?

I believe you are confusing it with the 150% scaling image. The 200% scaling image does not have the keyboard or text box open; only the 150% image does. The 200% image does have Tree Style Tabs open while the new one does not though; so I (initially misunderstanding what you were saying) took a new screenshot with Tree Style Tabs open for a slightly better comparison:

Basically, for every mobile-oriented application, and especially the top menu and Squeekboard as you mention, and especially especially the lock screen, I want 200% scaling, but for anything which benefits from a lot of buttons, I want 100%. Firefox works completely correctly at 200% scaling, which is why scaling it down does nothing, but addons do not, websites have scroll bars too often, and the GUI takes up too much space, making it a much less pleasant experience than 100% or 150%.

Edit: Seeing the gsettings command in one of your very helpful links, I wonder if there is some setting I can change, either in GTK or in Firefox itself, that simply disables DPI scaling. That would probably be a quicker, easier fix than trying to figure out a way for the compositor to give a different DPI scale to different applications.

Just from usability perspective, even if the vertical would be scaled and made better (which would be nice), turning the phone and using a landscaped view is sometimes a must. Even if scaled. And even then scaling probably is needed.

Scale to fit?
Why don’t I have that option?
Have I missed an upgrade?

Not sure if you are already looking there or not, but it is in the “Mobile Settings” program rather than the “Settings” program.

Yes, the phosh-mobile-settings.

Above, it looks like there are two versions of the Compositor screen: one that has a ‘Scale to fit’ option at the top, and one that has a ‘Scale down all applications’ option at the bottom.

I recognize the latter one, not the first one. They seem to be the same option, though. Or am I wrong in thinking that?

Your best bet is to retain the 200% and keep the horizontal screen rotation mode active. When the application window is too large, set the Librem 5 smartphone on physical horizontal alignment. This method is probably the most compatible in user interface accessibility, readability, and navigation.

The small amount of vertical room is already too small even at 100% scaling, and at 200% scaling NoScript’s menu still fails to open even in horizontal mode due to not enough room. So for me, that is even less of a solution than my current strategy of leaving everything at 100% and changing to 200% from time to time.

In that case, I suggest that the Firefox SSR is not as smartphone or mobile phone/device compatible in terms of user interface usability. Surely, there’s a browser out there that is GNU/Linux and smart/mobile phone screen compliant.

I was thinking GNU IceCat (despite the restrictions), but maybe that choice is a bit minimal/basic for modern consumer tastes. I was also thinking of application launchers (from XFCE desktop environment) for custom applications. Anyways, I am getting off-topic. End of this post.

Oh yeah, the horizontal lockscreen could be problematic for continued computing! Involving scaling, you got a point right there! Screen rotation seems to be a matter of discipline. That, or set the Blank Screen parameter value to ‘Never’ so you don’t have to deal with undesirable time-based operations. I can’t say about the power button, but certainly, a menu would be preferred (plus deactivating screen rotation mode until there’s enough scrolling for 200% scale of horizontal lockscreen [update required!]).

I suggest using angelfish. It is fast and efficient

Angelfish is fast and fits the L5 screen well. I uninstalled both Firefox and Gnome web in favour of Angelfish.

Oh, and Angelfish is the only browser (of these three) that allows me to do my banking; the others did not get past the login protocol. Maybe it’s down to the user agents it deploys. I haven’t checked the details.
And it allows you to create ‘web apps’ - like Gnome Web, and unlike Firefox.

It still works.

The main killer app for this phone for me is the ability to run full desktop apps without as much compromise as on Android. So, a more mobile-optimised browser would defeat one of the best, most important use cases I can do with this phone: run full, desktop-class Firefox with inspect element and tree style tabs. I’m thinking there might not be an existing software solution to exclude only certain applications for scaling, so, does anyone know which programs I might modify to implement this functionality? Is this at its core controlled by the Phoc compositor maybe, or something else?

Which specific codebases would I need to patch?

Interested here, i’m trying to gather data how to dev for librem5, would be nice if you could supply some links

1 Like