Nicolas Mailhot wrote:
The problem is not applications doing it wrong, and the Gnome
appearance configuration doing it right, they all change things at the
wrong level which explains why the changes are not shared, conflict,
and are a PITA for users.
The right desktop level for DPI is xorg. All the apps need to be fixed
to stop meddling with DPI values, use the Xorg DPI values directly
(and fix xorg when it's getting it wrong, in your case vmware side).
Unfortunately so far the reflex of every app writer was not to help
xorg fix its code but workaround it locally in various conflicting and
incompatible ways. What you are seing right now is the pile of dpi
workarounds and bandaids crumbling on your system.
I think you summarized it pretty well. To be accurate, the VMWare
problem is not DPI reporting (which is correct, as per xrdb -query), but
the screen *size* reporting (in millimeters). The function
get_dpi_from_x_server() in the control-center source code calls
gdk_screen_get_width_mm() and computes its own DPI value from the
screen pixel and mm size, and get its wrong. As you said, it would
cleaner if it queried the X server for the DPI size directly...