Commit 1e31befc authored by Alexander Larsson's avatar Alexander Larsson
Browse files

x11: Add Gdk/UnscaledDPI to override Xft/DPI

This lets use use a scaled Xft/DPI for old apps while not
blowing up the size of scaled windows. Only apps supporting
Gdk/WindowScaleFactor should supprt Gdk/UnscaledDPI.
parent d22dbf76
......@@ -66,7 +66,8 @@ static const struct {
/* These are here in order to be recognized, but are not sent to
gtk as they are handled internally by gdk: */
{"Gdk/WindowScalingFactor", "gdk-window-scaling-factor"}
{"Gdk/WindowScalingFactor", "gdk-window-scaling-factor"},
{"Gdk/UnscaledDPI", "gdk-unscaled-dpi"}
};
static const char *
......
......@@ -410,6 +410,7 @@ read_settings (GdkX11Screen *x11_screen,
GHashTable *old_list = x11_screen->xsettings;
GValue value = G_VALUE_INIT;
GValue *setting, *copy;
x11_screen->xsettings = NULL;
......@@ -443,6 +444,18 @@ read_settings (GdkX11Screen *x11_screen,
}
}
/* Since we support scaling we look at the specific Gdk/UnscaledDPI
setting if it exists and use that instead of Xft/DPI if it is set */
setting = g_hash_table_lookup (x11_screen->xsettings, "gdk-unscaled-dpi");
if (setting)
{
copy = g_new0 (GValue, 1);
g_value_init (copy, G_VALUE_TYPE (setting));
g_value_copy (setting, copy);
g_hash_table_insert (x11_screen->xsettings,
"gtk-xft-dpi", copy);
}
if (do_notify)
notify_changes (x11_screen, old_list);
if (old_list)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment