Make libx11 optional, guard x11 code paths

It's not clear whether libwnck-based functionality will ever have a
counterpart on Wayland, so it seems pointless to replace libwnck with
libxfce4windowing at this stage.

Completes: ecd1e1a645
Related: #75, #78
This commit is contained in:
Gaël Bonithon
2023-09-05 17:01:23 +02:00
parent 0a155096e5
commit 30185130f2
7 changed files with 34 additions and 17 deletions

View File

@@ -268,14 +268,14 @@ xtm_process_tree_view_finalize (GObject *object)
static void
column_task_pack_cells (XtmProcessTreeView *treeview, GtkTreeViewColumn *column)
{
GtkCellRenderer *cell_cmdline, *cell_icon;
GtkCellRenderer *cell_cmdline;
gboolean show_application_icons;
g_object_get (treeview->settings, "show-application-icons", &show_application_icons, NULL);
if (show_application_icons)
{
#ifdef HAVE_WNCK
cell_icon = gtk_cell_renderer_pixbuf_new ();
GtkCellRenderer *cell_icon = gtk_cell_renderer_pixbuf_new ();
gtk_tree_view_column_pack_start (GTK_TREE_VIEW_COLUMN (column), cell_icon, FALSE);
gtk_tree_view_column_set_attributes (GTK_TREE_VIEW_COLUMN (column), cell_icon, "pixbuf", XTM_PTV_COLUMN_ICON, "cell-background", XTM_PTV_COLUMN_BACKGROUND, NULL);
#endif

View File

@@ -15,6 +15,7 @@
#include <unistd.h>
#endif
#ifdef HAVE_LIBX11
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
@@ -22,9 +23,10 @@
#include <X11/Xmu/WinUtil.h>
#include <X11/cursorfont.h>
#include <X11/Xproto.h>
#include <gdk/gdkx.h>
#endif
#include <glib-object.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
@@ -91,6 +93,7 @@ filter_entry_icon_pressed_cb (GtkEntry *entry,
}
}
#ifdef HAVE_LIBX11
static Window
Select_Window (Display *dpy, int screen)
{
@@ -181,6 +184,7 @@ xwininfo_clicked_cb (GtkButton *button __unused, gpointer user_data) {
}
}
#endif
static void
filter_entry_keyrelease_handler(GtkEntry *entry,
@@ -304,12 +308,13 @@ xtm_process_window_init (XtmProcessWindow *window)
G_CALLBACK (show_settings_dialog), window);
button = GTK_WIDGET (gtk_builder_get_object (window->builder, "button-identify"));
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) {
#ifdef HAVE_LIBX11
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (xwininfo_clicked_cb), window);
} else {
else
#endif
gtk_widget_hide (button);
}
window->filter_searchbar = GTK_WIDGET (gtk_builder_get_object (window->builder, "filter-searchbar"));
{

View File

@@ -14,7 +14,6 @@
#include <config.h>
#endif
#include <X11/Xlib.h>
#include <glib-object.h>
#include <gtk/gtk.h>

View File

@@ -13,6 +13,9 @@
#include <glib-object.h>
#include <gtk/gtk.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
#include <libxfce4ui/libxfce4ui.h>
@@ -179,8 +182,10 @@ xtm_settings_dialog_new (GtkBuilder *builder, GtkWidget *parent_window)
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "settings-dialog"));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window));
#ifndef HAVE_WNCK
gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "button-show-application-icons")));
#ifdef HAVE_WNCK
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, "button-show-application-icons")));
#endif
// Interface
@@ -191,10 +196,15 @@ xtm_settings_dialog_new (GtkBuilder *builder, GtkWidget *parent_window)
builder_bind_toggle_button (builder, "button-process-tree", settings, "process-tree");
builder_bind_toggle_button (builder, "button-show-legend", settings, "show-legend");
builder_bind_combobox (builder, settings);
// Miscellaneous
builder_bind_toggle_button (builder, "button-prompt-terminate-task", settings, "prompt-terminate-task");
builder_bind_toggle_button (builder, "button-show-status-icon", settings, "show-status-icon");
gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "button-show-status-icon")));
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, "button-show-status-icon")));
#endif
// Columns
builder_bind_toggle_button (builder, "pid", settings, "column-pid");

View File

@@ -25,6 +25,9 @@
#include <glib-object.h>
#include <glib.h>
#include <glib/gi18n.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
#include "settings.h"
@@ -155,8 +158,11 @@ void
xtm_settings_bind_xfconf (XtmSettings *settings, XfconfChannel *channel)
{
/* general settings */
xfconf_g_property_bind (channel, SETTING_SHOW_STATUS_ICON, G_TYPE_BOOLEAN,
G_OBJECT (settings), "show-status-icon");
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
xfconf_g_property_bind (channel, SETTING_SHOW_STATUS_ICON, G_TYPE_BOOLEAN,
G_OBJECT (settings), "show-status-icon");
#endif
xfconf_g_property_bind (channel, SETTING_PROMPT_TERMINATE_TASK, G_TYPE_BOOLEAN,
G_OBJECT (settings), "prompt-terminate-task");

View File

@@ -24,12 +24,9 @@
#include <gtk/gtk.h>
#include <gmodule.h>
#ifdef HAVE_WNCK
#include <gdk/gdkx.h>
#endif
#include "task-manager.h"
#ifdef HAVE_WNCK
#include <gdk/gdkx.h>
#include "app-manager.h"
#endif
#include "process-tree-view.h" /* for the columns of the model */