summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPavel Grunt <pgrunt@redhat.com>2015-10-20 14:29:08 +0200
committerPavel Grunt <pgrunt@redhat.com>2015-11-04 14:03:20 +0100
commit4d6f730fce9818beb9f5d2639ffad256b9ede391 (patch)
treecf73a6f0cc9c0bc6010e331e91fc7b3ae0d24135 /src
parent96413a62663cb68f1559abac2c37b0eb80ddf4ab (diff)
downloadvirt-viewer-4d6f730fce9818beb9f5d2639ffad256b9ede391.tar.gz
virt-viewer-4d6f730fce9818beb9f5d2639ffad256b9ede391.tar.xz
virt-viewer-4d6f730fce9818beb9f5d2639ffad256b9ede391.zip
app: Add helper for number of client monitors
Diffstat (limited to 'src')
-rw-r--r--src/virt-viewer-app.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 0670358..e52032c 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -301,12 +301,18 @@ virt_viewer_app_quit(VirtViewerApp *self)
gtk_main_quit();
}
+static gint
+get_n_client_monitors()
+{
+ return gdk_screen_get_n_monitors(gdk_screen_get_default());
+}
+
GList* virt_viewer_app_get_initial_displays(VirtViewerApp* self)
{
if (!self->priv->initial_display_map) {
GList *l = NULL;
gint i;
- gint n = gdk_screen_get_n_monitors(gdk_screen_get_default());
+ gint n = get_n_client_monitors();
for (i = 0; i < n; i++) {
l = g_list_append(l, GINT_TO_POINTER(i));
@@ -352,9 +358,8 @@ static void
app_window_try_fullscreen(VirtViewerApp *self G_GNUC_UNUSED,
VirtViewerWindow *win, gint nth)
{
- GdkScreen *screen = gdk_screen_get_default();
gint monitor = virt_viewer_app_get_initial_monitor_for_display(self, nth);
- if (monitor == -1 || monitor >= gdk_screen_get_n_monitors(screen)) {
+ if (monitor == -1 || monitor >= get_n_client_monitors()) {
g_debug("skipping fullscreen for display %d", nth);
return;
}
@@ -366,7 +371,7 @@ app_window_try_fullscreen(VirtViewerApp *self G_GNUC_UNUSED,
static GHashTable*
virt_viewer_app_parse_monitor_mappings(gchar **mappings, gsize nmappings)
{
- gint nmonitors = gdk_screen_get_n_monitors(gdk_screen_get_default());
+ gint nmonitors = get_n_client_monitors();
GHashTable *displaymap = g_hash_table_new(g_direct_hash, g_direct_equal);
GHashTable *monitormap = g_hash_table_new(g_direct_hash, g_direct_equal);
int i = 0;
@@ -981,7 +986,7 @@ display_show_hint(VirtViewerDisplay *display,
win = virt_viewer_app_get_nth_window(self, nth);
if (self->priv->fullscreen &&
- nth >= gdk_screen_get_n_monitors(gdk_screen_get_default())) {
+ nth >= get_n_client_monitors()) {
if (win)
virt_viewer_window_hide(win);
} else if (hint & VIRT_VIEWER_DISPLAY_SHOW_HINT_DISABLED) {
@@ -1538,7 +1543,7 @@ virt_viewer_app_set_kiosk(VirtViewerApp *self, gboolean enabled)
/* create windows for each client monitor */
for (i = g_list_length(self->priv->windows);
- i < gdk_screen_get_n_monitors(gdk_screen_get_default()); i++) {
+ i < get_n_client_monitors(); i++) {
virt_viewer_app_window_new(self, i);
}