[gnome-settings-daemon] wacom: Make OSD always appear on a single monitor
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] wacom: Make OSD always appear on a single monitor
- Date: Mon, 23 Jun 2014 16:17:01 +0000 (UTC)
commit 08fdf959361f1e66a9e2311053f87d9ffa2d48ad
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Jun 23 17:44:39 2014 +0200
wacom: Make OSD always appear on a single monitor
If the tablet has no monitor assigned, the button mapping OSD would cover
the whole span of monitors, which looks somewhat broken on multimonitor
(edit button in the middle of virtual space, svg image spread across both
monitors, etc...).
Change this behavior to always pick the primary monitor if no monitor is
assigned to the device, this makes the OSD look less broken.
https://bugzilla.gnome.org/show_bug.cgi?id=732110
plugins/wacom/gsd-wacom-osd-window.c | 18 +++++++-----------
1 files changed, 7 insertions(+), 11 deletions(-)
---
diff --git a/plugins/wacom/gsd-wacom-osd-window.c b/plugins/wacom/gsd-wacom-osd-window.c
index 0e00964..18f85c8 100644
--- a/plugins/wacom/gsd-wacom-osd-window.c
+++ b/plugins/wacom/gsd-wacom-osd-window.c
@@ -1628,20 +1628,16 @@ gsd_wacom_osd_window_realized (GtkWidget *widget,
/* Determine the monitor for that device and set appropriate fullscreen mode*/
monitor = gsd_wacom_device_get_display_monitor (osd_window->priv->pad);
+
if (monitor == GSD_WACOM_SET_ALL_MONITORS) {
- /* Covers the entire screen */
- osd_window->priv->screen_area.x = 0;
- osd_window->priv->screen_area.y = 0;
- osd_window->priv->screen_area.width = gdk_screen_get_width (screen);
- osd_window->priv->screen_area.height = gdk_screen_get_height (screen);
- gdk_screen_get_monitor_geometry (screen, 0, &osd_window->priv->monitor_area);
- gdk_window_set_fullscreen_mode (gdk_window, GDK_FULLSCREEN_ON_ALL_MONITORS);
- } else {
- gdk_screen_get_monitor_geometry (screen, monitor, &osd_window->priv->screen_area);
- osd_window->priv->monitor_area = osd_window->priv->screen_area;
- gdk_window_set_fullscreen_mode (gdk_window, GDK_FULLSCREEN_ON_CURRENT_MONITOR);
+ /* Pick a monitor for the OSD to appear */
+ monitor = gdk_screen_get_primary_monitor (screen);
}
+ gdk_screen_get_monitor_geometry (screen, monitor, &osd_window->priv->screen_area);
+ osd_window->priv->monitor_area = osd_window->priv->screen_area;
+ gdk_window_set_fullscreen_mode (gdk_window, GDK_FULLSCREEN_ON_CURRENT_MONITOR);
+
gtk_window_set_default_size (GTK_WINDOW (osd_window),
osd_window->priv->screen_area.width,
osd_window->priv->screen_area.height);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]