[Xfce4-commits] [xfce/xfdesktop] 01/02: Replace deprecated functions
noreply at xfce.org
noreply at xfce.org
Sun Mar 17 17:08:07 CET 2019
This is an automated email from the git hooks/post-receive script.
a n d r e p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository xfce/xfdesktop.
commit 330d3f59e67f28c6cda379c4702d26b6ea18da1b
Author: Andre Miranda <andreldm at xfce.org>
Date: Sun Mar 17 13:07:38 2019 -0300
Replace deprecated functions
---
common/xfdesktop-common.c | 32 ++++++++++++++++++++++++++++++++
common/xfdesktop-common.h | 4 ++++
src/xfce-desktop.c | 13 +++++--------
src/xfdesktop-icon-view.c | 14 +++++++-------
4 files changed, 48 insertions(+), 15 deletions(-)
diff --git a/common/xfdesktop-common.c b/common/xfdesktop-common.c
index 00fd729..db2011c 100644
--- a/common/xfdesktop-common.c
+++ b/common/xfdesktop-common.c
@@ -254,6 +254,38 @@ xfdesktop_menu_create_menu_item_with_mnemonic(const gchar *name,
+/* Replacement for gdk_screen_width/gdk_screen_height */
+void
+xfdesktop_get_screen_dimensions (GdkScreen *screen,
+ gint *width,
+ gint *height)
+{
+ gint x, y, w, h;
+ GdkDisplay *display = gdk_screen_get_display(screen);
+ int num_monitors = gdk_display_get_n_monitors(display);
+
+ x = y = G_MAXINT;
+ w = h = G_MININT;
+
+ for(int i = 0; i < num_monitors; i++) {
+ GdkRectangle rect;
+ GdkMonitor *monitor = gdk_display_get_monitor(display, i);
+ gdk_monitor_get_geometry(monitor, &rect);
+
+ x = MIN(x, rect.x);
+ y = MIN(y, rect.y);
+ w = MAX(w, rect.x + rect.width);
+ h = MAX(h, rect.y + rect.height);
+ }
+
+ if(width != NULL)
+ *width = w - x;
+ if(height != NULL)
+ *height = h - y;
+}
+
+
+
#ifdef G_ENABLE_DEBUG
/* With --enable-debug=full turn on debugging messages from the start */
static gboolean enable_debug = TRUE;
diff --git a/common/xfdesktop-common.h b/common/xfdesktop-common.h
index 420f730..42d2931 100644
--- a/common/xfdesktop-common.h
+++ b/common/xfdesktop-common.h
@@ -108,6 +108,10 @@ GtkWidget* xfdesktop_menu_create_menu_item_with_markup(const gchar *name,
GtkWidget* xfdesktop_menu_create_menu_item_with_mnemonic(const gchar *name,
GtkWidget *image);
+void xfdesktop_get_screen_dimensions(GdkScreen *gcreen,
+ gint *width,
+ gint *height);
+
#if defined(G_HAVE_ISO_VARARGS)
#define XF_DEBUG(...) xfdesktop_debug (__func__, __FILE__, __LINE__, __VA_ARGS__)
diff --git a/src/xfce-desktop.c b/src/xfce-desktop.c
index 2ae95bd..e84ce5d 100644
--- a/src/xfce-desktop.c
+++ b/src/xfce-desktop.c
@@ -361,8 +361,7 @@ create_bg_surface(GdkScreen *gscreen, gpointer user_data)
TRACE("really entering");
- w = gdk_screen_get_width(gscreen);
- h = gdk_screen_get_height(gscreen);
+ xfdesktop_get_screen_dimensions (gscreen, &w, &h);
gtk_widget_set_size_request(GTK_WIDGET(desktop), w, h);
gtk_window_resize(GTK_WINDOW(desktop), w, h);
@@ -523,8 +522,7 @@ backdrop_changed_cb(XfceBackdrop *backdrop, gpointer user_data)
rect.y = monitor_rect.y;
}
- rect.width = gdk_screen_get_width(gscreen);
- rect.height = gdk_screen_get_height(gscreen);
+ xfdesktop_get_screen_dimensions (gscreen, &rect.width, &rect.height);
XF_DEBUG("xinerama_stretch x %d, y %d, width %d, height %d",
rect.x, rect.y, rect.width, rect.height);
} else {
@@ -836,7 +834,7 @@ screen_set_selection(XfceDesktop *desktop)
Atom selection_atom, common_selection_atom, manager_atom;
xwin = GDK_WINDOW_XID(gtk_widget_get_window(GTK_WIDGET(desktop)));
- xscreen = gdk_screen_get_number(desktop->priv->gscreen);
+ xscreen = gdk_x11_screen_get_screen_number(desktop->priv->gscreen);
g_snprintf(selection_name, 100, XFDESKTOP_SELECTION_FMT, xscreen);
selection_atom = XInternAtom(gdk_x11_get_default_xdisplay(), selection_name, False);
@@ -1158,8 +1156,7 @@ xfce_desktop_realize(GtkWidget *widget)
TRACE("entering");
gtk_window_set_screen(GTK_WINDOW(desktop), desktop->priv->gscreen);
- sw = gdk_screen_get_width(desktop->priv->gscreen);
- sh = gdk_screen_get_height(desktop->priv->gscreen);
+ xfdesktop_get_screen_dimensions (desktop->priv->gscreen, &sw, &sh);
g_signal_connect(G_OBJECT(desktop->priv->gscreen),
"monitors-changed",
@@ -1195,7 +1192,7 @@ xfce_desktop_realize(GtkWidget *widget)
screen_set_selection(desktop);
- wnck_screen = wnck_screen_get(gdk_screen_get_number(desktop->priv->gscreen));
+ wnck_screen = wnck_screen_get(gdk_x11_screen_get_screen_number(desktop->priv->gscreen));
desktop->priv->wnck_screen = wnck_screen;
/* Watch for single workspace setting changes */
diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c
index a8335f9..732bac9 100644
--- a/src/xfdesktop-icon-view.c
+++ b/src/xfdesktop-icon-view.c
@@ -2642,8 +2642,7 @@ xfdesktop_setup_grids(XfdesktopIconView *icon_view)
&xorigin, &yorigin,
&width, &height)) {
monitor = gdk_display_get_monitor_at_window (display, gtk_widget_get_parent_window(GTK_WIDGET(icon_view)));
- width = gdk_screen_get_width(screen);
- height = gdk_screen_get_height(screen);
+ xfdesktop_get_screen_dimensions (screen, &width, &height);
xorigin = yorigin = 0;
}
@@ -3321,8 +3320,7 @@ xfdesktop_grid_do_resize(XfdesktopIconView *icon_view)
&xorigin, &yorigin,
&width, &height))
{
- width = gdk_screen_get_width(screen);
- height = gdk_screen_get_height(screen);
+ xfdesktop_get_screen_dimensions (screen, &width, &height);
}
new_rows = (width - MIN_MARGIN * 2) / CELL_SIZE;
@@ -3376,6 +3374,7 @@ xfdesktop_get_workarea_single(XfdesktopIconView *icon_view,
{
gboolean ret = FALSE;
GdkScreen *gscreen;
+ GdkDisplay *gdisplay;
Display *dpy;
Window root;
Atom property, actual_type = None;
@@ -3387,13 +3386,14 @@ xfdesktop_get_workarea_single(XfdesktopIconView *icon_view,
&& width && height, FALSE);
gscreen = gtk_widget_get_screen(GTK_WIDGET(icon_view));
- dpy = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(gscreen));
+ gdisplay = gdk_screen_get_display(gscreen);
+ dpy = GDK_DISPLAY_XDISPLAY(gdisplay);
root = GDK_WINDOW_XID(gdk_screen_get_root_window(gscreen));
property = XInternAtom(dpy, "_NET_WORKAREA", False);
first_id = ws_num * 4;
- gdk_error_trap_push();
+ gdk_x11_display_error_trap_push(gdisplay);
do {
if(Success == XGetWindowProperty(dpy, root, property, offset,
@@ -3441,7 +3441,7 @@ xfdesktop_get_workarea_single(XfdesktopIconView *icon_view,
break;
} while(bytes_after > 0);
- gdk_error_trap_pop_ignored();
+ gdk_x11_display_error_trap_pop_ignored(gdisplay);
return ret;
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list