[gtk+/wip/window-scales: 65/84] Add GDK_DPI_SCALE env var
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/window-scales: 65/84] Add GDK_DPI_SCALE env var
- Date: Wed, 26 Jun 2013 15:10:21 +0000 (UTC)
commit c7ce2034973057c356f34dcc50a73d93acfa4f08
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 4cf2aca..fbe575c 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -2709,6 +2709,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,
@@ -2719,6 +2721,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]