Re: Factor

Factor: the language, the theory, and the practice.

HiDPI

Tuesday, September 2, 2025

#ui

HiDPI is a name for high resolution displays, sometimes called retina displays. A long long time ago, I added support for Retina Displays on macOS using Factor. But, they have not been well supported on either Linux or Windows platforms.

That ends today!

Linux

Some users have seen the “small window” problem on Linux, where on high resolution displays the Factor UI listener was rendered super tiny:

This is now fixed, it renders at the appropriate resolution detecting the screen it is launched on, or using the GDK_SCALE environment variable:

There has been one report that this works in the Gnome environments but not on KDE, so we might still have a few code changes necessary to make this more universal. And we also still need to switch from using our older GTK integration to the newer one with clean support for Wayland.

Windows

Other users have noticed the blurry text on Windows, due to using a legacy compatibility mode:

This is now fixed, rendering with the correct scaling factor:

It has been tested with 200% and 300% scaling factors. It is possible that intermediate scaling factors like 150% are not well supported and additional tweaks might be necessary to make this more universal.

Currently, on all three supported platforms, we use a global scaling factor which does not allow for moving Factor windows cleanly between screens with different scaling factors, for example when using HDMI on presentations, etc.

PRs welcome!