diff options
author | Victor Kareh <[email protected]> | 2018-02-24 11:02:15 -0500 |
---|---|---|
committer | Victor Kareh <[email protected]> | 2018-02-24 11:02:15 -0500 |
commit | 87a376956154563d72192f74608b46622aaa753a (patch) | |
tree | 7db3d964f09b417de76b1cba72b14ce4871cc164 /mate-panel/panel-toplevel.c | |
parent | b08bc130853b2f737eb47113357513f5e937eb47 (diff) | |
download | mate-panel-87a376956154563d72192f74608b46622aaa753a.tar.bz2 mate-panel-87a376956154563d72192f74608b46622aaa753a.tar.xz |
Scale monitor geometries down to device pixels to support multiple monitors in HiDPI
Diffstat (limited to 'mate-panel/panel-toplevel.c')
-rw-r--r-- | mate-panel/panel-toplevel.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/mate-panel/panel-toplevel.c b/mate-panel/panel-toplevel.c index 19d14b3c..1737b381 100644 --- a/mate-panel/panel-toplevel.c +++ b/mate-panel/panel-toplevel.c @@ -290,8 +290,7 @@ static GdkScreen* panel_toplevel_get_screen_geometry(PanelToplevel* toplevel, in * sorts of awful misalignments and pretend it's all good. Or we can just * make this thing think that the screen is scaled down, and because GTK+ * already scaled everything up without the panel knowing about it, the whole - * thing somehow works well... sigh. - * @see panel_toplevel_get_monitor_geometry() */ + * thing somehow works well... sigh. */ *width = WidthOfScreen (gdk_x11_screen_get_xscreen (screen)) / toplevel->priv->scale; *height = HeightOfScreen (gdk_x11_screen_get_xscreen (screen)) / toplevel->priv->scale; @@ -307,24 +306,17 @@ static GdkScreen* panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, i screen = gtk_window_get_screen(GTK_WINDOW(toplevel)); - if (x) *x = panel_multiscreen_x(screen, toplevel->priv->monitor) / toplevel->priv->scale; - if (y) *y = panel_multiscreen_y(screen, toplevel->priv->monitor) / toplevel->priv->scale; + if (x) *x = panel_multiscreen_x(screen, toplevel->priv->monitor); + if (y) *y = panel_multiscreen_y(screen, toplevel->priv->monitor); - /* To scale the panels up for HiDPI displays, we can either multiply a lot of - * toplevel geometry attributes by the scale factor, then correct for all - * sorts of awful misalignments and pretend it's all good. Or we can just - * make this thing think that the screen is scaled down, and because GTK+ - * already scaled everything up without the panel knowing about it, the whole - * thing somehow works well... sigh. - * @see panel_toplevel_get_screen_geometry() */ if (width) { - *width = panel_multiscreen_width(screen, toplevel->priv->monitor) / toplevel->priv->scale; + *width = panel_multiscreen_width(screen, toplevel->priv->monitor); } if (height) { - *height = panel_multiscreen_height(screen, toplevel->priv->monitor) / toplevel->priv->scale; + *height = panel_multiscreen_height(screen, toplevel->priv->monitor); } return screen; |