[gtk+/wip/window-scales: 15/16] Add GDK_DPI_SCALE env var
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/window-scales: 15/16] Add GDK_DPI_SCALE env var
- Date: Thu, 20 Jun 2013 18:05:39 +0000 (UTC)
commit 18dab19bac0dd90422fbaa81c2e678d9974f5c9a
Author: Alexander Larsson <alexl redhat com>
Date: Thu Jun 20 18:43:42 2013 +0200
Add GDK_DPI_SCALE env var
This is very useful for hidpi where the dpi is scaled to make
non-dpi aware apps larger. In that case a dpi aware gtk+ using
GDK_SCALE will be getting huge fonts. You can the set GDK_DPI_SCALE
to compensate for this.
gtk/gtksettings.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index d13672c..1f1cb2e 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -2677,6 +2677,8 @@ settings_update_resolution (GtkSettings *settings)
GtkSettingsPrivate *priv = settings->priv;
gint dpi_int;
gdouble dpi;
+ const char *scale_env;
+ double scale;
g_object_get (settings,
"gtk-xft-dpi", &dpi_int,
@@ -2687,6 +2689,14 @@ settings_update_resolution (GtkSettings *settings)
else
dpi = -1.;
+ scale_env = g_getenv ("GDK_DPI_SCALE");
+ if (scale_env)
+ {
+ scale = g_ascii_strtod (scale_env, NULL);
+ if (scale != 0 && dpi > 0)
+ dpi *= scale;
+ }
+
gdk_screen_set_resolution (priv->screen, dpi);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]