[gtk+/wip/window-scales: 39/69] Add GDK_DPI_SCALE env var
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/window-scales: 39/69] Add GDK_DPI_SCALE env var
- Date: Fri, 28 Jun 2013 10:22:07 +0000 (UTC)
commit 04e4814f4f87c9006f08883a6eb6f3635146e69d
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 8f75eea..f1f5bf8 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -2787,6 +2787,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,
@@ -2797,6 +2799,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]