diff --git a/common/panel-private.h b/common/panel-private.h index 769df92e4ab5ea722c96a0ce38dba1a4c25dc84c..fe7aedc9d21c7f9e107c61231bb72dc2c0aca18a 100644 --- a/common/panel-private.h +++ b/common/panel-private.h @@ -22,13 +22,15 @@ #include <gtk/gtk.h> #ifdef ENABLE_X11 #include <gdk/gdkx.h> +#define WINDOWING_IS_X11() GDK_IS_X11_DISPLAY (gdk_display_get_default ()) #else -#define GDK_IS_X11_DISPLAY(display) FALSE +#define WINDOWING_IS_X11() FALSE #endif #ifdef ENABLE_WAYLAND #include <gdk/gdkwayland.h> +#define WINDOWING_IS_WAYLAND() GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()) #else -#define GDK_IS_WAYLAND_DISPLAY(display) FALSE +#define WINDOWING_IS_WAYLAND() FALSE #endif /* support macros for debugging (improved macro for better position indication) */ diff --git a/panel/main.c b/panel/main.c index 404c8fea4f7d75e2db490d4154981eebe9e94698..57464fb6f9e2fc8a321a0e8305abc7712175e6b4 100644 --- a/panel/main.c +++ b/panel/main.c @@ -380,7 +380,7 @@ main (gint argc, gchar **argv) /* set EWMH source indication */ #ifdef ENABLE_X11 G_GNUC_BEGIN_IGNORE_DEPRECATIONS - if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_X11 ()) wnck_set_client_type (WNCK_CLIENT_TYPE_PAGER); G_GNUC_END_IGNORE_DEPRECATIONS #endif diff --git a/panel/panel-application.c b/panel/panel-application.c index 676ca858ffda22cd220e56115de49dfc079aa14f..b9c798941b46020f433a61634b32baf8575ee6f8 100644 --- a/panel/panel-application.c +++ b/panel/panel-application.c @@ -229,7 +229,7 @@ panel_application_init (PanelApplication *application) #ifdef ENABLE_WAYLAND /* warn the user about restricted features on Wayland */ - if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_WAYLAND ()) { if (! gtk_layer_is_supported ()) g_warning ("Wayland detected without layer-shell support (either because of your" @@ -691,7 +691,7 @@ panel_application_plugin_provider_signal (XfcePanelPluginProvider *provide /* widget dnd doesn't seem to work on Wayland without holding down a mouse button, * which leads to an unsolvable problem in GTK 3 because the plugin can't catch * the event before its child widgets (no "capture" phase as in GTK 4) */ - if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_WAYLAND ()) { gint item; itembar = gtk_bin_get_child (GTK_BIN (window)); @@ -1233,7 +1233,7 @@ panel_application_load (PanelApplication *application, guint i; gchar **atom_names; - if (!disable_wm_check && GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (!disable_wm_check && WINDOWING_IS_X11 ()) { display = XOpenDisplay (NULL); if (display == NULL) diff --git a/panel/panel-module.c b/panel/panel-module.c index 323c5241376c8f3138f975088e4c69ee04ccc6d1..b08e0045954f4bb2343b78f345aabaaf6de0ba27 100644 --- a/panel/panel-module.c +++ b/panel/panel-module.c @@ -362,7 +362,7 @@ panel_module_new_from_desktop_file (const gchar *filename, /* run mode of the module, by default everything runs in * the wrapper, unless defined otherwise or unsupported */ if (forced_mode != PANEL_MODULE_RUN_MODE_INTERNAL - && (GDK_IS_X11_DISPLAY (gdk_display_get_default ()) || gtk_layer_is_supported ()) + && (WINDOWING_IS_X11 () || gtk_layer_is_supported ()) && (forced_mode == PANEL_MODULE_RUN_MODE_EXTERNAL || !xfce_rc_read_bool_entry (rc, "X-XFCE-Internal", FALSE))) { diff --git a/panel/panel-plugin-external-wrapper.c b/panel/panel-plugin-external-wrapper.c index 8713d6c91b1fcabe80c83521cd2576cf7ae88d96..cb74817a74f18702d46491c028a1df93e95b24fb 100644 --- a/panel/panel-plugin-external-wrapper.c +++ b/panel/panel-plugin-external-wrapper.c @@ -509,7 +509,7 @@ panel_plugin_external_wrapper_new (PanelModule *module, panel_return_val_if_fail (unique_id != -1, NULL); #ifdef ENABLE_X11 - if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_X11 ()) return g_object_new (PANEL_TYPE_PLUGIN_EXTERNAL_WRAPPER_X11, "module", module, "unique-id", unique_id, diff --git a/panel/panel-preferences-dialog.c b/panel/panel-preferences-dialog.c index c495e0f5ab9b8d840ffb09093014f6fe38cba2ea..bfea0eb3b8d2b4f85621637aa05e8e1a12446065 100644 --- a/panel/panel-preferences-dialog.c +++ b/panel/panel-preferences-dialog.c @@ -621,8 +621,7 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog) object = gtk_builder_get_object (GTK_BUILDER (dialog), "span-monitors"); panel_return_if_fail (GTK_IS_WIDGET (object)); gtk_widget_set_sensitive (GTK_WIDGET (object), span_monitors_sensitive); - g_object_set (G_OBJECT (object), "visible", - n_monitors > 1 && GDK_IS_X11_DISPLAY (display), NULL); + g_object_set (G_OBJECT (object), "visible", n_monitors > 1 && WINDOWING_IS_X11 (), NULL); g_free (output_name); @@ -1705,7 +1704,7 @@ panel_preferences_dialog_show_internal (PanelWindow *active, gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); /* select item in the dialog if needed */ - if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_WAYLAND ()) { const gchar *item = g_object_get_data (G_OBJECT (active), "prefs-dialog-item"); if (item != NULL) diff --git a/panel/panel-window.c b/panel/panel-window.c index fd6df1f00780b26f209459b78cde0f76366e7c18..457dea78885e62e2b3edbc86259531d66d6838c8 100644 --- a/panel/panel-window.c +++ b/panel/panel-window.c @@ -886,7 +886,7 @@ panel_window_set_property (GObject *object, break; case PROP_SPAN_MONITORS: - if (! GDK_IS_X11_DISPLAY (window->display)) + if (!WINDOWING_IS_X11 ()) break; val_bool = g_value_get_boolean (value); @@ -1259,7 +1259,7 @@ panel_window_button_press_event (GtkWidget *widget, cursor = gdk_cursor_new_for_display (window->display, GDK_FLEUR); /* grab the pointer for dragging the window */ - if (GDK_IS_X11_DISPLAY (window->display)) + if (WINDOWING_IS_X11 ()) { seat = gdk_device_get_seat (event->device); status = gdk_seat_grab (seat, event->window, @@ -2055,7 +2055,7 @@ panel_window_screen_struts_set (PanelWindow *window) } #endif - if (! GDK_IS_X11_DISPLAY (window->display)) + if (!WINDOWING_IS_X11 ()) return; /* set the struts */ @@ -2770,7 +2770,7 @@ panel_window_active_window_geometry_changed (XfwWindow *active_window, return; } - else if (active_window == NULL || GDK_IS_WAYLAND_DISPLAY (window->display)) + else if (active_window == NULL || WINDOWING_IS_WAYLAND ()) return; if (xfw_window_get_window_type (active_window) != XFW_WINDOW_TYPE_DESKTOP) @@ -2938,7 +2938,7 @@ panel_window_active_window_state_changed (XfwWindow *active_window, panel_return_if_fail (XFW_IS_WINDOW (active_window)); - if (GDK_IS_X11_DISPLAY (window->display)) + if (WINDOWING_IS_X11 ()) { if (changed & XFW_WINDOW_STATE_SHADED) panel_window_active_window_geometry_changed (active_window, window); @@ -3406,7 +3406,7 @@ panel_window_set_autohide_behavior (PanelWindow *window, G_CALLBACK (panel_window_autohide_drag_leave), window); /* show the window */ - if (GDK_IS_X11_DISPLAY (window->display) || gtk_layer_is_supported ()) + if (WINDOWING_IS_X11 () || gtk_layer_is_supported ()) gtk_widget_show (popup); } @@ -4110,7 +4110,7 @@ panel_window_focus_x11 (PanelWindow *window) void panel_window_focus (PanelWindow *window) { - if (GDK_IS_X11_DISPLAY (window->display)) + if (WINDOWING_IS_X11 ()) panel_window_focus_x11 (window); else { diff --git a/plugins/pager/pager.c b/plugins/pager/pager.c index adafd6bd506a882cc2598a2d8d55299457c5fac2..bd1e7a6e9763e68c838a5b42b0def42d27d22120 100644 --- a/plugins/pager/pager.c +++ b/plugins/pager/pager.c @@ -29,9 +29,6 @@ #include <libxfce4windowing/libxfce4windowing.h> #ifdef ENABLE_X11 #include <libwnck/libwnck.h> -#define pager_plugin_miniature_view_is_supported() GDK_IS_X11_DISPLAY (gdk_display_get_default ()) -#else -#define pager_plugin_miniature_view_is_supported() FALSE #endif #include <libxfce4ui/libxfce4ui.h> @@ -216,7 +213,7 @@ pager_plugin_init (PagerPlugin *plugin) plugin->xfw_screen = NULL; plugin->scrolling = TRUE; plugin->wrap_workspaces = FALSE; - plugin->miniature_view = pager_plugin_miniature_view_is_supported (); + plugin->miniature_view = WINDOWING_IS_X11 (); plugin->numbering = FALSE; plugin->ratio = 1.0; plugin->pager = NULL; @@ -297,8 +294,7 @@ pager_plugin_set_property (GObject *object, break; case PROP_MINIATURE_VIEW: - plugin->miniature_view = g_value_get_boolean (value) - && pager_plugin_miniature_view_is_supported (); + plugin->miniature_view = g_value_get_boolean (value) && WINDOWING_IS_X11 (); if (plugin->xfw_screen != NULL) pager_plugin_screen_layout_changed (plugin, NULL); break; @@ -860,7 +856,7 @@ pager_plugin_configure_plugin (XfcePanelPlugin *panel_plugin) g_object_bind_property (G_OBJECT (plugin), "miniature-view", G_OBJECT (object), "active", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL); - gtk_widget_set_sensitive (GTK_WIDGET (object), pager_plugin_miniature_view_is_supported ()); + gtk_widget_set_sensitive (GTK_WIDGET (object), WINDOWING_IS_X11 ()); object = gtk_builder_get_object (builder, "rows"); panel_return_if_fail (GTK_IS_ADJUSTMENT (object)); diff --git a/plugins/systray/sn-button.c b/plugins/systray/sn-button.c index d4b8af0d9f79dfe3e1c4e10eba9f067f42152d34..dd330fc8fd91f738e22e5b482efba2e6065bebf1 100644 --- a/plugins/systray/sn-button.c +++ b/plugins/systray/sn-button.c @@ -123,7 +123,7 @@ sn_button_init (SnButton *button) event_mask |= GDK_SMOOTH_SCROLL_MASK; #ifdef ENABLE_X11 /* see https://gitlab.xfce.org/xfce/xfwm4/-/issues/641 */ - if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_X11 ()) { const gchar *wm_name = gdk_x11_screen_get_window_manager_name (gdk_screen_get_default ()); if (g_strcmp0 (wm_name, "Xfwm4") == 0 || g_strcmp0 (wm_name, "unknown") == 0) diff --git a/plugins/systray/sn-dialog.c b/plugins/systray/sn-dialog.c index c2aaf75e124020a5f7a41be7eedd410c1526323e..7d6cecc4eeb79c11c2622103272faf5f2977ab17 100644 --- a/plugins/systray/sn-dialog.c +++ b/plugins/systray/sn-dialog.c @@ -846,7 +846,7 @@ sn_dialog_build (SnDialog *dialog) gtk_widget_hide (GTK_WIDGET (object)); #endif - if (! GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (!WINDOWING_IS_X11 ()) { object = gtk_builder_get_object (dialog->builder, "systray_frame"); gtk_widget_hide (GTK_WIDGET (object)); diff --git a/plugins/systray/sn-plugin.c b/plugins/systray/sn-plugin.c index 2b0730d33fd56cc99ae434f40090048e217c09ce..39c71c0bfa4b2341564dba2506b14570b8522143 100644 --- a/plugins/systray/sn-plugin.c +++ b/plugins/systray/sn-plugin.c @@ -339,7 +339,7 @@ sn_plugin_construct (XfcePanelPlugin *panel_plugin) #ifdef ENABLE_X11 /* Add systray box */ - if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_X11 ()) { plugin->systray_box = systray_box_new (); gtk_box_pack_start (GTK_BOX (plugin->box), plugin->systray_box, TRUE, TRUE, 0); diff --git a/wrapper/wrapper-plug.c b/wrapper/wrapper-plug.c index 5b6f859f7da29f14d8770c274b78087957a117d0..514f5c80dd55ca2b94b6136dea65a05c09e33d31 100644 --- a/wrapper/wrapper-plug.c +++ b/wrapper/wrapper-plug.c @@ -54,7 +54,7 @@ wrapper_plug_new (gulong socket_id, panel_return_val_if_fail (error != NULL && *error == NULL, NULL); #ifdef ENABLE_X11 - if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + if (WINDOWING_IS_X11 ()) return wrapper_plug_x11_new (socket_id, proxy); #endif #ifdef HAVE_GTK_LAYER_SHELL