[gnome-settings-daemon/gnome-3-12] 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/gnome-3-12] wacom: Make OSD always appear on a single monitor
- Date: Mon, 23 Jun 2014 16:18:16 +0000 (UTC)
commit e8be1295d565aac3b2149f261d3e3bff592f7286
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 5311fac..7cc4d1b 100644
--- a/plugins/wacom/gsd-wacom-osd-window.c
+++ b/plugins/wacom/gsd-wacom-osd-window.c
@@ -1626,20 +1626,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]