When installed on a desktop/laptop, tablet or mobile phone, how does PureOS decide what UI mode to use? Is it by display resolution or some other mechanism? Is the UI display custom configurable regardless of the device?
The default PureOS that is currently available for download and which comes with their laptops uses the standard GNOME desktop environment. Purism has put in a lot of work to develop tools which allow GTK-based programs (which all of the GNOME-default programs are) to become responsive to window size.
You can actually see this with a lot of apps now, where simply resizing the window on the laptop will change the layout of the app. The Fractal Matrix client is one example, as is the GNOME Web/Epiphany browser, among others.
However, the phone will launch with a modified version, which changes the desktop/launcher (at least as far as I know). So, I don’t think you could download the laptop build and have it work well on the phone at the moment - the main apps would be fine, but getting those apps to launch would not be as smooth (plus, you’d have to get an ARM version of the laptop build, not the standard x86 version).
But I think in the future, the goal is to merge things so that phone and laptop are running exactly the same software (aside from difference in architecture, i.e ARM vs x86). And in that case, I don’t know exactly how it will decide which mode to use, but my guess would be display resolution.
Thanks for the detailed reply.
So as I understand your description, currently if I remote desktop into PureOS laptop install from a mobile phone, it would still be a GNOME desktop environment. The sizing and environment wouldn’t be a mobile UI display. The display would be the GNOME desktop resized to the resolution of the mobile phone.
And the same would be true the other way around, if I remote from a laptop to a PureOS phone, the display would be a mobile UI display, not a laptop display-- regardless of the resolution of the device.
Right now, there are two branches of the UI development (one for ARM and one for x86).
At least this is the behavior until there is (if ever) a convergence of the laptop and mobile PureOS for the different ARM and x86 distributions.
Yes, that all is correct as far as I know.
I think it might be more accurate to say: right now there are two branches of the UI development, one for the phone and one for desktop/laptop.
It just happens that for Purism the split by target hardware is also a split by CPU architecture, but that may or may not be true in the future.
There are plenty of people today running Debian desktop (more accurately Raspbian) on a Raspberry Pi i.e. ARM CPU architecture - by definition with an external monitor, which can be as big as you want. The latest Raspberry Pi model supports dual HDMI 2.0 outputs so you can have more display pixels than you know what to do with.
Who knows whether Purism might in the future create an ARM-based laptop?
Who knows whether in the future Intel might produce a decent (not locked up) very low-power x86 CPU that would interest Purism?
Developers mostly don’t go out of their way to write code that only compiles for x86 or only compiles for ARM. So potentially you can take whatever is developed for the phone UI and compile that for x86 and run it on your conventional desktop/laptop. (It remains to be seen though how dependent on ‘touch’ the phone UI will be.)
Thanks for the clarification.
Where to find the Phone UI code (if someone wanted to attempt) to compile it for x86?