Hacker News new | comments | show | ask | jobs | submit login

User: I want hi-res apps!

Dev: Sure, here you go.

User: But why is it so small on my new shiny tablet high density screen?

Dev: (SHit it worked okay for me) Okay now it detects the density and scale..

User: But when I move the window to my old good lcd screen it becomes way too big!

Dev: Okay let's see if I can dynamically adapt to a new monitor density, it's just one scale factor.

User: But when I put it on my big tv flat screen it is too small!!

Dev: (Oh shit you gotta be kidding me, the pixels are actually a viewing distance relative unit??!)

MacOS actually in my experience seems to handle this all perfectly. Normal-DPI screens you chose resolution and dragging windows between monitors works as you naturally expect (it pops between DPIs).

Concerning DPI and trackpad integration, Ubuntu should strive to be as Mac-like as possible, at least imo. Macs absolutely win in the trackpad arena; multitouch works like a dream, configurable gestures aplenty to achieve whatever you want (of course, it could always be more customizable).

DPI scaling between monitors work exactly as you'd expect. Windows stay the same size when moving between high-DPI and regular monitors.

These two problems are two of the biggest reasons I don't use Ubuntu (or any Linux) desktop (I use a macbook with a headless Ubuntu Server box and, when necessary, X11 forwarding over ssh).

Does it understand "I want 2x magnification on my 15" 4k laptop display, but not on my 43" 4k monitor"? Windows 10 decidedly does not, so I have to switch manually every time I switch display (just forget using both together), and it then tells me to close all my work and log out and in again to make scaling consistent between UI elements on screen.

Yes it does. It even remembers different window sizes and locations for different monitor configs :)

Huh? On Win10Ent I've got both of my displays set to different scaling factors and changes take effect immediately (like, as soon as I release the slider).

It works for me, with one annoying caveat. I have a set of regular 1920x1080 monitors on my desk at 100% scaling. My laptop has a 4k screen, and when I plug it in, I have it set to turn off that screen.

I have to log out when I plug/unplug or the windows will end up blurry or the wrong size.

Have you ever tried shouting at Microsoft about this?

I know they have a bad track record of not listening, but I think things might be different now, they seem to be a bit more receptive to feedback, particularly with the beta updates.

Or maybe I'm remembering the prerelease "hai where r the bugz halp" back when Win10 was not yet RTM...

This is exactly what I mean.

Yes it does, sometimes. But you can configure it as well. I think they used predefined lists of hardware though. EG if name contains tv then scale is 1

Pretty much. Works just fine when I hook my 15" laptop up to my 130" projector.

It's a bit weird to drag things onto my 4k TV through HDMI and try to track my microscopic mouse pointer to the tiny window to maximize my video, but otherwise works well. I suspect I could fix that in settings somehow though.

On newer macos shaking the mouse back and forth makes the pointer get larger (so you can find it).


KDE has a similar feature: When you hold Ctrl+Win, it will draw revolving circle segments in black and white around the cursor to allow you to find it. It looks like this: https://imgur.com/a/67wfI (You'll have to imagine the cursor inside these circles. My screenshot utility won't include it in the image for some reason.)

Heh...I think Windows 3.11 already had that feature (Ctrl -> Circle zooming in to mouse) :)

have you considered swapping out to a BIIIG mouse pointer? that's what I do on my home 65" HTPC/ TVPC :)


I've always thought that arcdegrees should be what we measure UI's in: how much of a user's field of view does this thing consume? After all, what makes text "small" is that how much of my FoV it consumes (or doesn't). Not inches, or points, or pixels.

(Admittedly, "points" are still likely a good measurement for print. Perhaps one can work backwards and fudge point as a measure of angle if you consider 12 point font at a typical viewing distance.)

I assume the real hard piece is figuring out the distance the display is going to be viewed at. Some definite defaults exist (phones are typically about the same distance away, same with desktop monitors) but unique situations certainly can exist. (I'm also assuming that the monitor can report it's physical size and resolution; combined w/ viewing distance, it should be possible to calculate FoV.) If you did this, you should be able to mostly seemlessly split a window between two displays, and have it be equal "size" in the FoV. (of course, some displays have borders, so that fudges it a bit.)

> I've always thought that arcdegrees should be what we measure UI's in: how much of a user's field of view does this thing consume? After all, what makes text "small" is that how much of my FoV it consumes (or doesn't). Not inches, or points, or pixels.

That is a good starting point for calculating the default "optimal UI scaling", but there are going to be adjustments needed for the FoV of the whole screen area (not per pixel) too.

With large screens, for example 24-30" on your desk, just the per-pixel FoV measure will probably be good enough. You have plenty of "space" for windows and content, and want to get the optimal scaling.

But once you get to very small screens like phones, there is a tradeoff between keeping font and UI sizes comfortable, and being able to actually fit enough content on the screen without endless scrolling. I am willing to strain my eyes with smaller font sizes on my phone than on my laptop, just so that I can see more than 5 sentences of text at the same time.

"CSS Pixels" are actually supposed to be based on viewing angles:


If the OS (not an app) could allow you to tweak the native pixel resolution, scale, size of each display, even under "advanced settings" that would go a long way towards helping.

This is at the Operating System level, not like some random one-off application.

For me, the one feature I miss the most is a checkbox option for "Native Scrolling"; Did this really need to be removed?

X11 did — run xdpyinfo and you'll see its idea of screen dimensions and resolution. (It's unlikely they'll have been configured correctly, of course.) If you look hard enough, you can find some ‘outdated’ plain-X software from the workstation era that respects it. It was the ‘Linux desktop’ crowd that threw that away, since they couldn't think beyond building Windows clones for PC clones.

And the vector-based competition to X (e.g. NeWS, Display Postscript) would have done better.

Simple answer is don't auto-detect. Allow the user to set the scaling factor per screen and then just auto-apply that when using that screen. This just requires a way to uniquely identify screens and requires the user to set the scaling factor for that screen once when first used.

Initial autodetection and scale-factor setting is ok. Otherwise most regular users would just say "all my icons and text are too small on my new notebook". Windows detects the high dpi in that case and sets the scalefactor to 200%, which gives a good starting point. Of course the user should be able to override this permanently if it isn't his preference.


As someone who loves singular they, I have a request: please don't do this. It is OK if grand parent uses he/him. Thanks!

The distance between of the third and fourth formulations of the problem is very small. Once apps can be dynamically redrawn with a scale factor, simply make the scale factor customizable.

Simply introduce zoom in/zoom out for the whole desktop separated to each screen like in browser (you can zoom certain tabs/sites and have that memorised). Problem solved.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact