summaryrefslogtreecommitdiff
path: root/src/procman-app.cpp
diff options
context:
space:
mode:
authormbkma <[email protected]>2021-04-24 18:02:25 +0200
committerraveit65 <[email protected]>2021-06-10 15:03:09 +0200
commit80640c9b70283c5ad13858d8b820302bb6d06132 (patch)
tree6abe9f3196076ff49ae8221c9c26f957861045a7 /src/procman-app.cpp
parent91a35358aed44381c9e5e249dcc081d77b4e29ee (diff)
downloadmate-system-monitor-80640c9b70283c5ad13858d8b820302bb6d06132.tar.bz2
mate-system-monitor-80640c9b70283c5ad13858d8b820302bb6d06132.tar.xz
add wayland support
therefore make libwnck optional (libwnck is x11 only) see https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/commit/3705931e307e87878f205b905eaa3f5daaffcf09 and https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/commit/8c4d47d625661e848643ce564f63ed3ec1e83293 and https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/commit/1ea64e9965bd6f1026f1167b692e7cc83c269be3
Diffstat (limited to 'src/procman-app.cpp')
-rw-r--r--src/procman-app.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/procman-app.cpp b/src/procman-app.cpp
index 3a0c10a..7724a4c 100644
--- a/src/procman-app.cpp
+++ b/src/procman-app.cpp
@@ -207,7 +207,6 @@ procman_data_new (GSettings *settings)
ProcData *pd;
gchar *color;
gchar **keys;
- gint swidth, sheight;
glibtop_cpu cpu;
pd = ProcData::get_instance();
@@ -308,10 +307,19 @@ procman_data_new (GSettings *settings)
g_free (color);
/* Sanity checks */
- swidth = WidthOfScreen (gdk_x11_screen_get_xscreen (gdk_screen_get_default ()));
- sheight = HeightOfScreen (gdk_x11_screen_get_xscreen (gdk_screen_get_default ()));
- pd->config.width = CLAMP (pd->config.width, 50, swidth);
- pd->config.height = CLAMP (pd->config.height, 50, sheight);
+ GdkDisplay *display;
+ GdkMonitor *monitor;
+ GdkRectangle monitor_geometry;
+
+ display = gdk_display_get_default ();
+ monitor = gdk_display_get_monitor_at_point (display, pd->config.xpos, pd->config.ypos);
+ if (monitor == NULL) {
+ monitor = gdk_display_get_monitor (display, 0);
+ }
+ gdk_monitor_get_geometry (monitor, &monitor_geometry);
+
+ pd->config.width = CLAMP (pd->config.width, 50, monitor_geometry.width);
+ pd->config.height = CLAMP (pd->config.height, 50, monitor_geometry.height);
pd->config.update_interval = MAX (pd->config.update_interval, 1000);
pd->config.graph_update_interval = MAX (pd->config.graph_update_interval, 250);
pd->config.disks_update_interval = MAX (pd->config.disks_update_interval, 1000);