blob: 554a0b2659c8a6bb9ffca41a20280bbf9ccdd8ce (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 5a1204b..1b09cc7 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -348,7 +348,23 @@ virt_viewer_app_quit(VirtViewerApp *self)
static gint
get_n_client_monitors(void)
{
- return gdk_screen_get_n_monitors(gdk_screen_get_default());
+ GdkScreen *screen = gdk_screen_get_default();
+ gint num = gdk_screen_get_n_monitors(screen);
+ gint ret = 0;
+ GdkRectangle outer, inner;
+ for (gint o = 0; o < num; ++o) {
+ gboolean ok = TRUE;
+ gdk_screen_get_monitor_geometry(screen, o, &outer);
+ for (gint i = 0; i < o; ++i) {
+ gdk_screen_get_monitor_geometry(screen, i, &inner);
+ if (outer.x == inner.x && outer.y == inner.y) {
+ ok = FALSE;
+ break;
+ }
+ }
+ if (ok) ret++;
+ }
+ return ret;
}
GList* virt_viewer_app_get_initial_displays(VirtViewerApp* self)
|