[Xfce4-commits] <xfce4-panel:nick/gtk3> Drop exo for now.
Nick Schermer
noreply at xfce.org
Mon Feb 4 16:52:02 CET 2013
Updating branch refs/heads/nick/gtk3
to 010cda8acb001de443deb42381efdbe47c910a69 (commit)
from 48e1016394fa6bdb1d708823a23a12641482a561 (commit)
commit 010cda8acb001de443deb42381efdbe47c910a69
Author: Nick Schermer <nick at xfce.org>
Date: Sun Feb 3 11:50:26 2013 +0100
Drop exo for now.
Panel looses some small functionality but it makes it a lot
easier to test gtk3.
The lucent icons and the icon chooser are not working, everything
else should be fine.
common/Makefile.am | 4 +-
common/panel-private.h | 3 +
common/panel-utils.c | 22 +++++++-
common/panel-utils.h | 2 +
configure.ac.in | 1 -
panel/Makefile.am | 4 +-
panel/panel-application.c | 7 +--
panel/panel-base-window.c | 21 ++++----
panel/panel-dbus-client.c | 5 +-
panel/panel-dbus-service.c | 3 +-
panel/panel-dialogs.c | 13 +++--
panel/panel-item-dialog.c | 15 +++---
panel/panel-itembar.c | 13 ++---
panel/panel-module-factory.c | 7 +--
panel/panel-module.c | 5 +-
panel/panel-plugin-external-46.c | 1 -
panel/panel-plugin-external-wrapper.c | 1 -
panel/panel-plugin-external.c | 10 ++--
panel/panel-preferences-dialog.c | 66 ++++++++++++-----------
panel/panel-window.c | 49 ++++++++++-------
plugins/actions/Makefile.am | 4 +-
plugins/actions/actions.c | 35 +++++++------
plugins/applicationsmenu/Makefile.am | 4 +-
plugins/applicationsmenu/applicationsmenu.c | 76 +++++++++++++++------------
plugins/clock/Makefile.am | 4 +-
plugins/clock/clock-fuzzy.c | 22 ++++++--
plugins/clock/clock.c | 43 ++++++++-------
plugins/directorymenu/Makefile.am | 4 +-
plugins/directorymenu/directorymenu.c | 46 +++++++++-------
plugins/launcher/Makefile.am | 4 +-
plugins/launcher/launcher-dialog.c | 18 +++---
plugins/launcher/launcher.c | 76 +++++++++++++++++----------
plugins/pager/Makefile.am | 4 +-
plugins/pager/pager-buttons.c | 12 ++--
plugins/pager/pager.c | 22 ++++----
plugins/separator/Makefile.am | 4 +-
plugins/separator/separator.c | 15 +++---
plugins/systray/Makefile.am | 4 +-
plugins/systray/systray-box.c | 3 +-
plugins/systray/systray.c | 31 ++++++-----
plugins/tasklist/Makefile.am | 4 +-
plugins/tasklist/tasklist-widget.c | 58 ++++++++++++---------
plugins/tasklist/tasklist.c | 24 +++++---
plugins/windowmenu/Makefile.am | 4 +-
plugins/windowmenu/windowmenu.c | 38 +++++++------
45 files changed, 444 insertions(+), 367 deletions(-)
diff --git a/common/Makefile.am b/common/Makefile.am
index dd2d971..3d2a3be 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -20,7 +20,6 @@ libpanel_common_la_SOURCES = \
libpanel_common_la_CFLAGS = \
$(XFCONF_CFLAGS) \
$(GTK_CFLAGS) \
- $(EXO_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
$(PLATFORM_CFLAGS)
@@ -31,8 +30,7 @@ libpanel_common_la_LDFLAGS = \
libpanel_common_la_LIBADD = \
$(XFCONF_LIBS) \
$(GTK_LIBS) \
- $(LIBXFCE4UI_LIBS) \
- $(EXO_LIBS)
+ $(LIBXFCE4UI_LIBS)
EXTRA_DIST = \
panel-dbus.h \
diff --git a/common/panel-private.h b/common/panel-private.h
index cc669be..b26c685 100644
--- a/common/panel-private.h
+++ b/common/panel-private.h
@@ -69,6 +69,9 @@
#define TRANSPOSE_AREA(area) G_STMT_START { SWAP_INTEGER (area.width, area.height); \
SWAP_INTEGER (area.x, area.y); } G_STMT_END
+/* to avoid exo for gtk3 testing */
+#define panel_str_is_empty(string) ((string) == NULL || *(string) == '\0')
+
/* quick GList and GSList counting without traversing */
#define LIST_HAS_ONE_ENTRY(l) ((l) != NULL && (l)->next == NULL)
#define LIST_HAS_ONE_OR_NO_ENTRIES(l) ((l) == NULL || (l)->next == NULL)
diff --git a/common/panel-utils.c b/common/panel-utils.c
index a86978e..be76c9b 100644
--- a/common/panel-utils.c
+++ b/common/panel-utils.c
@@ -25,7 +25,6 @@
#endif
#include <libxfce4ui/libxfce4ui.h>
-#include <exo/exo.h>
#include <common/panel-private.h>
#include <common/panel-utils.h>
@@ -201,3 +200,24 @@ panel_utils_set_atk_info (GtkWidget *widget,
atk_object_set_description (object, description);
}
}
+
+
+
+static gboolean
+destroy_later (gpointer widget)
+{
+ gtk_widget_destroy (GTK_WIDGET (widget));
+ g_object_unref (G_OBJECT (widget));
+ return FALSE;
+}
+
+
+
+void
+panel_utils_destroy_later (GtkWidget *widget)
+{
+ panel_return_if_fail (GTK_IS_WIDGET (widget));
+
+ g_idle_add_full (G_PRIORITY_HIGH, destroy_later, widget, NULL);
+ g_object_ref_sink (G_OBJECT (widget));
+}
diff --git a/common/panel-utils.h b/common/panel-utils.h
index 70cbd3d..9a175c3 100644
--- a/common/panel-utils.h
+++ b/common/panel-utils.h
@@ -42,4 +42,6 @@ void panel_utils_set_atk_info (GtkWidget *widget,
const gchar *name,
const gchar *description);
+void panel_utils_destroy_later (GtkWidget *widget);
+
#endif /* !__PANEL_BUILDER_H__ */
diff --git a/configure.ac.in b/configure.ac.in
index 80d909e..27943c1 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -130,7 +130,6 @@ XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.9.0])
XDT_CHECK_PACKAGE([GARCON], [garcon-1], [0.1.5])
XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.9.0])
XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0])
-XDT_CHECK_PACKAGE([EXO], [exo-1], [0.7.2])
XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.24.0])
XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.24.0])
diff --git a/panel/Makefile.am b/panel/Makefile.am
index a19453d..8c041b2 100644
--- a/panel/Makefile.am
+++ b/panel/Makefile.am
@@ -57,7 +57,6 @@ xfce4_panel_SOURCES = \
xfce4_panel_CFLAGS = \
$(GTK_CFLAGS) \
$(GMODULE_CFLAGS) \
- $(EXO_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
$(DBUS_CFLAGS) \
@@ -73,7 +72,6 @@ xfce4_panel_LDADD = \
$(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \
$(top_builddir)/common/libpanel-common.la \
$(GTK_LIBS) \
- $(EXO_LIBS) \
$(GMODULE_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
@@ -105,7 +103,7 @@ panel-plugin-external-wrapper-infos.h: $(srcdir)/panel-plugin-external-wrapper-i
$(AM_V_GEN) dbus-binding-tool --prefix=panel_plugin_external_wrapper --mode=glib-server $< > $@
panel-preferences-dialog-ui.h: $(srcdir)/panel-preferences-dialog.glade Makefile
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=panel_preferences_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=panel_preferences_dialog_ui $< >$@
#panel-marshal.h: $(srcdir)/panel-marshal.list Makefile
# $(AM_V_GEN) glib-genmarshal --header --prefix=panel_marshal $< > $@
diff --git a/panel/panel-application.c b/panel/panel-application.c
index 21d84ad..bd19f1c 100644
--- a/panel/panel-application.c
+++ b/panel/panel-application.c
@@ -24,7 +24,6 @@
#include <stdlib.h>
#endif
-#include <exo/exo.h>
#include <glib/gstdio.h>
#include <xfconf/xfconf.h>
#include <libxfce4util/libxfce4util.h>
@@ -576,7 +575,7 @@ panel_application_plugin_move (GtkWidget *item,
module = panel_module_get_from_plugin_provider (XFCE_PANEL_PLUGIN_PROVIDER (item));
icon_name = panel_module_get_icon_name (module);
theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (item));
- if (!exo_str_is_empty (icon_name)
+ if (!panel_str_is_empty (icon_name)
&& gtk_icon_theme_has_icon (theme, icon_name))
gtk_drag_set_icon_name (context, icon_name, 0, 0);
else
@@ -600,7 +599,7 @@ panel_application_plugin_delete_config (PanelApplication *application,
gchar *filename, *path;
panel_return_if_fail (PANEL_IS_APPLICATION (application));
- panel_return_if_fail (!exo_str_is_empty (name));
+ panel_return_if_fail (!panel_str_is_empty (name));
panel_return_if_fail (unique_id != -1);
/* remove the xfconf property */
@@ -1520,7 +1519,7 @@ panel_application_new_window (PanelApplication *application,
/* add the itembar */
itembar = panel_itembar_new ();
for (i = 0; i < G_N_ELEMENTS (props); i++)
- exo_binding_new (G_OBJECT (window), props[i], G_OBJECT (itembar), props[i]);
+ g_object_bind_property (G_OBJECT (window), props[i], G_OBJECT (itembar), props[i], G_BINDING_DEFAULT);
gtk_container_add (GTK_CONTAINER (window), itembar);
gtk_widget_show (itembar);
diff --git a/panel/panel-base-window.c b/panel/panel-base-window.c
index 6064aee..a48456d 100644
--- a/panel/panel-base-window.c
+++ b/panel/panel-base-window.c
@@ -24,7 +24,8 @@
#include <math.h>
#endif
-#include <exo/exo.h>
+#include <gtk/gtk.h>
+
#include <libxfce4panel/libxfce4panel.h>
#include <libxfce4panel/xfce-panel-plugin-provider.h>
#include <common/panel-private.h>
@@ -128,21 +129,21 @@ panel_base_window_class_init (PanelBaseWindowClass *klass)
g_param_spec_uint ("enter-opacity",
NULL, NULL,
0, 100, 100,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_LEAVE_OPACITY,
g_param_spec_uint ("leave-opacity",
NULL, NULL,
0, 100, 100,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BACKGROUND_ALPHA,
g_param_spec_uint ("background-alpha",
NULL, NULL,
0, 100, 100,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BACKGROUND_STYLE,
@@ -151,21 +152,21 @@ panel_base_window_class_init (PanelBaseWindowClass *klass)
PANEL_BG_STYLE_NONE,
PANEL_BG_STYLE_IMAGE,
PANEL_BG_STYLE_NONE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BACKGROUND_COLOR,
g_param_spec_boxed ("background-color",
NULL, NULL,
GDK_TYPE_COLOR,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BACKGROUND_IMAGE,
g_param_spec_string ("background-image",
NULL, NULL,
NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BORDERS,
@@ -173,21 +174,21 @@ panel_base_window_class_init (PanelBaseWindowClass *klass)
NULL, NULL,
0, G_MAXUINT,
PANEL_BORDER_NONE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ACTIVE,
g_param_spec_boolean ("active",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_COMPOSITED,
g_param_spec_boolean ("composited",
NULL, NULL,
FALSE,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
}
diff --git a/panel/panel-dbus-client.c b/panel/panel-dbus-client.c
index 07214a2..b32b858 100644
--- a/panel/panel-dbus-client.c
+++ b/panel/panel-dbus-client.c
@@ -24,7 +24,6 @@
#include <stdlib.h>
#endif
-#include <exo/exo.h>
#include <dbus/dbus-glib.h>
#include <libxfce4util/libxfce4util.h>
#include <common/panel-private.h>
@@ -204,8 +203,8 @@ panel_dbus_client_plugin_event (const gchar *plugin_event,
n_tokens = g_strv_length (tokens);
if (!(n_tokens == 2 || n_tokens == N_TOKENS)
- || exo_str_is_empty (tokens[PLUGIN_NAME])
- || exo_str_is_empty (tokens[NAME]))
+ || panel_str_is_empty (tokens[PLUGIN_NAME])
+ || panel_str_is_empty (tokens[NAME]))
{
g_set_error_literal (error, G_OPTION_ERROR, G_OPTION_ERROR_BAD_VALUE,
_("Invalid plugin event syntax specified. "
diff --git a/panel/panel-dbus-service.c b/panel/panel-dbus-service.c
index 21537c5..03c575d 100644
--- a/panel/panel-dbus-service.c
+++ b/panel/panel-dbus-service.c
@@ -27,7 +27,6 @@
#include <dbus/dbus.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
-#include <exo/exo.h>
#include <common/panel-private.h>
#include <common/panel-dbus.h>
#include <libxfce4util/libxfce4util.h>
@@ -256,7 +255,7 @@ panel_dbus_service_add_new_item (PanelDBusService *service,
application = panel_application_get ();
- if (arguments != NULL && exo_str_is_empty (*arguments))
+ if (arguments != NULL && panel_str_is_empty (*arguments))
arguments = NULL;
/* add new plugin (with or without arguments) */
diff --git a/panel/panel-dialogs.c b/panel/panel-dialogs.c
index 9f6a0bd..4897b14 100644
--- a/panel/panel-dialogs.c
+++ b/panel/panel-dialogs.c
@@ -24,7 +24,6 @@
#include <string.h>
#endif
-#include <exo/exo.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfce4ui/libxfce4ui.h>
@@ -42,14 +41,19 @@ panel_dialogs_show_about_email_hook (GtkAboutDialog *dialog,
const gchar *uri,
gpointer data)
{
+ GError *error = NULL;
+
if (g_strcmp0 ("tictactoe at xfce.org", uri) == 0)
{
/* open tic-tac-toe */
panel_tic_tac_toe_show ();
}
- else
+ else if (!gtk_show_uri (gtk_window_get_screen (GTK_WINDOW (dialog)),
+ uri, gtk_get_current_event_time (), &error))
{
- exo_gtk_url_about_dialog_hook (dialog, uri, data);
+ xfce_dialog_show_error (GTK_WINDOW (dialog), error,
+ _("Unable to open the e-mail address"));
+ g_error_free (error);
}
}
@@ -73,9 +77,6 @@ panel_dialogs_show_about (void)
"Tic-tac-toe <tictactoe at xfce.org>");
gtk_about_dialog_set_email_hook (panel_dialogs_show_about_email_hook, NULL, NULL);
-#if !GTK_CHECK_VERSION (2, 18, 0)
- gtk_about_dialog_set_url_hook (exo_gtk_url_about_dialog_hook, NULL, NULL);
-#endif
gtk_show_about_dialog (NULL,
"authors", authors,
diff --git a/panel/panel-item-dialog.c b/panel/panel-item-dialog.c
index fe7e9ff..170b67d 100644
--- a/panel/panel-item-dialog.c
+++ b/panel/panel-item-dialog.c
@@ -24,7 +24,6 @@
#include <string.h>
#endif
-#include <exo/exo.h>
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4util/libxfce4util.h>
@@ -506,7 +505,7 @@ panel_item_dialog_drag_begin (GtkWidget *treeview,
/* set the drag icon */
icon_name = panel_module_get_icon_name (module);
theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (treeview));
- if (!exo_str_is_empty (icon_name)
+ if (!panel_str_is_empty (icon_name)
&& gtk_icon_theme_has_icon (theme, icon_name))
gtk_drag_set_icon_name (context, icon_name, 0, 0);
else
@@ -636,14 +635,14 @@ panel_item_dialog_compare_func (GtkTreeModel *model,
/* don't move the separator */
result = 0;
}
- else if (exo_str_is_equal (LAUNCHER_PLUGIN_NAME,
- panel_module_get_name (module_a)))
+ else if (g_strcmp0 (LAUNCHER_PLUGIN_NAME,
+ panel_module_get_name (module_a)) == 0)
{
/* move the launcher to the first position */
result = -1;
}
- else if (exo_str_is_equal (LAUNCHER_PLUGIN_NAME,
- panel_module_get_name (module_b)))
+ else if (g_strcmp0 (LAUNCHER_PLUGIN_NAME,
+ panel_module_get_name (module_b)) == 0)
{
/* move the launcher to the first position */
result = 1;
@@ -690,7 +689,7 @@ panel_item_dialog_visible_func (GtkTreeModel *model,
/* search string from dialog */
text = gtk_entry_get_text (entry);
- if (G_UNLIKELY (exo_str_is_empty (text)))
+ if (G_UNLIKELY (panel_str_is_empty (text)))
return TRUE;
gtk_tree_model_get (model, iter, COLUMN_MODULE, &module, -1);
@@ -760,7 +759,7 @@ panel_item_dialog_text_renderer (GtkTreeViewColumn *column,
/* avoid (null) in markup string */
comment = panel_module_get_comment (module);
- if (exo_str_is_empty (comment))
+ if (panel_str_is_empty (comment))
comment = "";
name = panel_module_get_display_name (module);
diff --git a/panel/panel-itembar.c b/panel/panel-itembar.c
index 98ffae1..2c436ac 100644
--- a/panel/panel-itembar.c
+++ b/panel/panel-itembar.c
@@ -23,7 +23,6 @@
#include <math.h>
#include <gtk/gtk.h>
-#include <exo/exo.h>
#include <common/panel-private.h>
#include <libxfce4panel/libxfce4panel.h>
@@ -187,42 +186,42 @@ panel_itembar_class_init (PanelItembarClass *klass)
NULL, NULL,
XFCE_TYPE_PANEL_PLUGIN_MODE,
XFCE_PANEL_PLUGIN_MODE_HORIZONTAL,
- EXO_PARAM_WRITABLE));
+ G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SIZE,
g_param_spec_uint ("size",
NULL, NULL,
16, 128, 30,
- EXO_PARAM_WRITABLE));
+ G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_NROWS,
g_param_spec_uint ("nrows",
NULL, NULL,
1, 6, 1,
- EXO_PARAM_WRITABLE));
+ G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
gtk_container_class_install_child_property (gtkcontainer_class,
CHILD_PROP_EXPAND,
g_param_spec_boolean ("expand",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gtk_container_class_install_child_property (gtkcontainer_class,
CHILD_PROP_SHRINK,
g_param_spec_boolean ("shrink",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE| G_PARAM_STATIC_STRINGS));
gtk_container_class_install_child_property (gtkcontainer_class,
CHILD_PROP_SMALL,
g_param_spec_boolean ("small",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
diff --git a/panel/panel-module-factory.c b/panel/panel-module-factory.c
index 529fe85..c897bcc 100644
--- a/panel/panel-module-factory.c
+++ b/panel/panel-module-factory.c
@@ -28,7 +28,6 @@
#include <time.h>
#endif
-#include <exo/exo.h>
#include <libxfce4util/libxfce4util.h>
#include <common/panel-private.h>
@@ -203,7 +202,7 @@ panel_module_factory_load_modules_dir (PanelModuleFactory *factory,
/* check if this is the launcher */
if (!factory->has_launcher)
- factory->has_launcher = exo_str_is_equal (LAUNCHER_PLUGIN_NAME, internal_name);
+ factory->has_launcher = g_strcmp0 (LAUNCHER_PLUGIN_NAME, internal_name) == 0;
}
else
{
@@ -249,8 +248,8 @@ panel_module_factory_modules_cleanup (gpointer key,
/* if we're going to remove this item, check if it is the launcher */
if (remove_from_table
- && exo_str_is_equal (LAUNCHER_PLUGIN_NAME,
- panel_module_get_name (module)))
+ && g_strcmp0 (LAUNCHER_PLUGIN_NAME,
+ panel_module_get_name (module)) == 0)
factory->has_launcher = FALSE;
return remove_from_table;
diff --git a/panel/panel-module.c b/panel/panel-module.c
index ba39320..2c29f03 100644
--- a/panel/panel-module.c
+++ b/panel/panel-module.c
@@ -21,7 +21,6 @@
#endif
#include <gmodule.h>
-#include <exo/exo.h>
#include <glib/gstdio.h>
#include <libxfce4util/libxfce4util.h>
@@ -304,8 +303,8 @@ panel_module_new_from_desktop_file (const gchar *filename,
const gchar *module_unique;
gboolean found;
- panel_return_val_if_fail (!exo_str_is_empty (filename), NULL);
- panel_return_val_if_fail (!exo_str_is_empty (name), NULL);
+ panel_return_val_if_fail (!panel_str_is_empty (filename), NULL);
+ panel_return_val_if_fail (!panel_str_is_empty (name), NULL);
rc = xfce_rc_simple_open (filename, TRUE);
if (G_UNLIKELY (rc == NULL))
diff --git a/panel/panel-plugin-external-46.c b/panel/panel-plugin-external-46.c
index c2d1c11..3e2c335 100644
--- a/panel/panel-plugin-external-46.c
+++ b/panel/panel-plugin-external-46.c
@@ -30,7 +30,6 @@
#include <math.h>
#endif
-#include <exo/exo.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <libxfce4util/libxfce4util.h>
diff --git a/panel/panel-plugin-external-wrapper.c b/panel/panel-plugin-external-wrapper.c
index 06f6e63..a97e90e 100644
--- a/panel/panel-plugin-external-wrapper.c
+++ b/panel/panel-plugin-external-wrapper.c
@@ -30,7 +30,6 @@
#include <sys/wait.h>
#endif
-#include <exo/exo.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <libxfce4util/libxfce4util.h>
diff --git a/panel/panel-plugin-external.c b/panel/panel-plugin-external.c
index b9e8f36..0c4bc6c 100644
--- a/panel/panel-plugin-external.c
+++ b/panel/panel-plugin-external.c
@@ -30,7 +30,6 @@
#include <sys/wait.h>
#endif
-#include <exo/exo.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <libxfce4util/libxfce4util.h>
@@ -40,6 +39,7 @@
#include <common/panel-private.h>
#include <common/panel-dbus.h>
#include <common/panel-debug.h>
+#include <common/panel-utils.h>
#include <libxfce4panel/libxfce4panel.h>
#include <libxfce4panel/xfce-panel-plugin-provider.h>
@@ -170,7 +170,7 @@ panel_plugin_external_class_init (PanelPluginExternalClass *klass)
g_param_spec_int ("unique-id",
NULL, NULL,
-1, G_MAXINT, -1,
- EXO_PARAM_READWRITE
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS
| G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (gobject_class,
@@ -178,7 +178,7 @@ panel_plugin_external_class_init (PanelPluginExternalClass *klass)
g_param_spec_object ("module",
NULL, NULL,
PANEL_TYPE_MODULE,
- EXO_PARAM_READWRITE
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS
| G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (gobject_class,
@@ -186,7 +186,7 @@ panel_plugin_external_class_init (PanelPluginExternalClass *klass)
g_param_spec_boxed ("arguments",
NULL, NULL,
G_TYPE_STRV,
- EXO_PARAM_READWRITE
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS
| G_PARAM_CONSTRUCT_ONLY));
}
@@ -745,7 +745,7 @@ panel_plugin_external_child_watch (GPid pid,
PROVIDER_SIGNAL_REMOVE_PLUGIN);
/* wait until everything is settled before we destroy */
- exo_gtk_object_destroy_later (GTK_OBJECT (external));
+ panel_utils_destroy_later (GTK_WIDGET (external));
goto close_pid;
}
}
diff --git a/panel/panel-preferences-dialog.c b/panel/panel-preferences-dialog.c
index 865d7f3..6a131c5 100644
--- a/panel/panel-preferences-dialog.c
+++ b/panel/panel-preferences-dialog.c
@@ -24,7 +24,6 @@
#include <stdlib.h>
#endif
-#include <exo/exo.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfce4ui/libxfce4ui.h>
@@ -55,7 +54,8 @@ static void panel_preferences_dialog_response
static void panel_preferences_dialog_bindings_unbind (PanelPreferencesDialog *dialog);
static void panel_preferences_dialog_bindings_add (PanelPreferencesDialog *dialog,
const gchar *property1,
- const gchar *property2);
+ const gchar *property2,
+ GBindingFlags flags);
static void panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog);
static void panel_preferences_dialog_output_changed (GtkComboBox *combobox,
PanelPreferencesDialog *dialog);
@@ -126,7 +126,7 @@ struct _PanelPreferencesDialog
/* currently selected window in the selector */
PanelWindow *active;
- /* ExoMutualBinding's between dialog <-> window */
+ /* GBinding's between dialog <-> window */
GSList *bindings;
/* store for the items list */
@@ -216,8 +216,9 @@ panel_preferences_dialog_init (PanelPreferencesDialog *dialog)
info = gtk_builder_get_object (GTK_BUILDER (dialog), "composited-info");
panel_return_if_fail (G_IS_OBJECT (info));
- exo_binding_new_with_negation (G_OBJECT (object), "sensitive",
- G_OBJECT (info), "visible");
+ g_object_bind_property (G_OBJECT (object), "sensitive",
+ G_OBJECT (info), "visible",
+ G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN);
object = gtk_builder_get_object (GTK_BUILDER (dialog), "background-image");
panel_return_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (object));
@@ -358,7 +359,7 @@ panel_preferences_dialog_bindings_unbind (PanelPreferencesDialog *dialog)
{
/* remove all bindings */
for (li = dialog->bindings; li != NULL; li = li->next)
- exo_mutual_binding_unbind (li->data);
+ g_object_unref (G_OBJECT (li->data));
g_slist_free (dialog->bindings);
dialog->bindings = NULL;
@@ -382,17 +383,19 @@ panel_preferences_dialog_bindings_unbind (PanelPreferencesDialog *dialog)
static void
panel_preferences_dialog_bindings_add (PanelPreferencesDialog *dialog,
const gchar *property1,
- const gchar *property2)
+ const gchar *property2,
+ GBindingFlags flags)
{
- ExoMutualBinding *binding;
- GObject *object;
+ GBinding *binding;
+ GObject *object;
/* get the object from the builder */
object = gtk_builder_get_object (GTK_BUILDER (dialog), property1);
panel_return_if_fail (G_IS_OBJECT (object));
/* create the binding and prepend to the list */
- binding = exo_mutual_binding_new (G_OBJECT (dialog->active), property1, object, property2);
+ binding = g_object_bind_property (G_OBJECT (dialog->active), property1, object, property2,
+ flags ? flags : G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
dialog->bindings = g_slist_prepend (dialog->bindings, binding);
}
@@ -420,21 +423,21 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
return;
/* hook up the bindings */
- panel_preferences_dialog_bindings_add (dialog, "mode", "active");
- panel_preferences_dialog_bindings_add (dialog, "span-monitors", "active");
- panel_preferences_dialog_bindings_add (dialog, "position-locked", "active");
- panel_preferences_dialog_bindings_add (dialog, "autohide", "active");
- panel_preferences_dialog_bindings_add (dialog, "disable-struts", "active");
- panel_preferences_dialog_bindings_add (dialog, "size", "value");
- panel_preferences_dialog_bindings_add (dialog, "nrows", "value");
- panel_preferences_dialog_bindings_add (dialog, "length", "value");
- panel_preferences_dialog_bindings_add (dialog, "length-adjust", "active");
- panel_preferences_dialog_bindings_add (dialog, "background-alpha", "value");
- panel_preferences_dialog_bindings_add (dialog, "enter-opacity", "value");
- panel_preferences_dialog_bindings_add (dialog, "leave-opacity", "value");
- panel_preferences_dialog_bindings_add (dialog, "composited", "sensitive");
- panel_preferences_dialog_bindings_add (dialog, "background-style", "active");
- panel_preferences_dialog_bindings_add (dialog, "background-color", "color");
+ panel_preferences_dialog_bindings_add (dialog, "mode", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "span-monitors", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "position-locked", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "autohide", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "disable-struts", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "size", "value", 0);
+ panel_preferences_dialog_bindings_add (dialog, "nrows", "value", 0);
+ panel_preferences_dialog_bindings_add (dialog, "length", "value", 0);
+ panel_preferences_dialog_bindings_add (dialog, "length-adjust", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "background-alpha", "value", 0);
+ panel_preferences_dialog_bindings_add (dialog, "enter-opacity", "value", 0);
+ panel_preferences_dialog_bindings_add (dialog, "leave-opacity", "value", 0);
+ panel_preferences_dialog_bindings_add (dialog, "composited", "sensitive", G_BINDING_SYNC_CREATE);
+ panel_preferences_dialog_bindings_add (dialog, "background-style", "active", 0);
+ panel_preferences_dialog_bindings_add (dialog, "background-color", "color", 0);
/* watch image changes from the panel */
dialog->bg_image_notify_handler_id = g_signal_connect_swapped (G_OBJECT (dialog->active),
@@ -465,12 +468,12 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
if (n_screens > 1
|| n_monitors > 1
- || !exo_str_is_empty (output_name))
+ || !panel_str_is_empty (output_name))
{
gtk_list_store_insert_with_values (GTK_LIST_STORE (store), &iter, n++,
OUTPUT_NAME, NULL,
OUTPUT_TITLE, _("Automatic"), -1);
- if (exo_str_is_empty (output_name))
+ if (panel_str_is_empty (output_name))
{
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (object), &iter);
output_selected = TRUE;
@@ -494,7 +497,7 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
OUTPUT_NAME, name,
OUTPUT_TITLE, title, -1);
- if (!output_selected && exo_str_is_equal (name, output_name))
+ if (!output_selected && g_strcmp0 (name, output_name) == 0)
{
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (object), &iter);
output_selected = TRUE;
@@ -509,7 +512,7 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
for (i = 0; i < n_monitors; i++)
{
name = gdk_screen_get_monitor_plug_name (screen, i);
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
{
g_free (name);
@@ -526,7 +529,8 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
gtk_list_store_insert_with_values (GTK_LIST_STORE (store), &iter, n++,
OUTPUT_NAME, name,
OUTPUT_TITLE, title, -1);
- if (!output_selected && exo_str_is_equal (name, output_name))
+ if (!output_selected
+ && g_strcmp0 (name, output_name) == 0)
{
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (object), &iter);
output_selected = TRUE;
@@ -538,7 +542,7 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
}
/* add the output from the config if still nothing has been selected */
- if (!output_selected && !exo_str_is_empty (output_name))
+ if (!output_selected && !panel_str_is_empty (output_name))
{
gtk_list_store_insert_with_values (GTK_LIST_STORE (store), &iter, n++,
OUTPUT_NAME, output_name,
diff --git a/panel/panel-window.c b/panel/panel-window.c
index 982ea9b..93964ed 100644
--- a/panel/panel-window.c
+++ b/panel/panel-window.c
@@ -26,13 +26,17 @@
#ifdef HAVE_MATH_H
#include <math.h>
#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#include <X11/Xlib.h>
#endif
-#include <exo/exo.h>
+#include <libxfce4ui/libxfce4ui.h>
+
#include <common/panel-private.h>
#include <common/panel-debug.h>
#include <common/panel-utils.h>
@@ -352,7 +356,7 @@ panel_window_class_init (PanelWindowClass *klass)
PROP_ID,
g_param_spec_int ("id", NULL, NULL,
0, G_MAXINT, 0,
- EXO_PARAM_READWRITE
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS
| G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (gobject_class,
@@ -360,67 +364,67 @@ panel_window_class_init (PanelWindowClass *klass)
g_param_spec_enum ("mode", NULL, NULL,
XFCE_TYPE_PANEL_PLUGIN_MODE,
XFCE_PANEL_PLUGIN_MODE_HORIZONTAL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SIZE,
g_param_spec_uint ("size", NULL, NULL,
16, 128, 48,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_NROWS,
g_param_spec_uint ("nrows", NULL, NULL,
1, 6, 1,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_LENGTH,
g_param_spec_uint ("length", NULL, NULL,
1, 100, 10,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_LENGTH_ADJUST,
g_param_spec_boolean ("length-adjust", NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_POSITION_LOCKED,
g_param_spec_boolean ("position-locked", NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_AUTOHIDE,
g_param_spec_boolean ("autohide", NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SPAN_MONITORS,
g_param_spec_boolean ("span-monitors", NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_OUTPUT_NAME,
g_param_spec_string ("output-name", NULL, NULL,
NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_POSITION,
g_param_spec_string ("position", NULL, NULL,
NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_DISABLE_STRUTS,
g_param_spec_boolean ("disable-struts", NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("popup-delay",
@@ -428,7 +432,7 @@ panel_window_class_init (PanelWindowClass *klass)
"Time before the panel will unhide on an enter event",
1, G_MAXINT,
DEFAULT_POPUP_DELAY,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("popdown-delay",
@@ -436,7 +440,7 @@ panel_window_class_init (PanelWindowClass *klass)
"Time before the panel will hide on a leave event",
1, G_MAXINT,
DEFAULT_POPDOWN_DELAY,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("autohide-size",
@@ -444,7 +448,7 @@ panel_window_class_init (PanelWindowClass *klass)
"Size of hidden panel",
1, G_MAXINT,
DEFAULT_ATUOHIDE_SIZE,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
/* initialize the atoms */
cardinal_atom = gdk_atom_intern_static_string ("CARDINAL");
@@ -680,7 +684,7 @@ panel_window_set_property (GObject *object,
g_free (window->output_name);
val_string = g_value_get_string (value);
- if (exo_str_is_empty (val_string))
+ if (panel_str_is_empty (val_string))
window->output_name = NULL;
else
window->output_name = g_strdup (val_string);
@@ -690,7 +694,7 @@ panel_window_set_property (GObject *object,
case PROP_POSITION:
val_string = g_value_get_string (value);
- if (!exo_str_is_empty (val_string)
+ if (!panel_str_is_empty (val_string)
&& sscanf (val_string, "p=%d;x=%d;y=%d", &snap_position, &x, &y) == 3)
{
window->snap_position = CLAMP (snap_position, SNAP_POSITION_NONE, SNAP_POSITION_S);
@@ -1945,7 +1949,7 @@ panel_window_screen_layout_changed (GdkScreen *screen,
}
else
{
- if (exo_str_is_empty (window->output_name))
+ if (panel_str_is_empty (window->output_name))
{
normal_monitor_positioning:
@@ -2254,8 +2258,11 @@ panel_window_set_autohide (PanelWindow *window,
/* bind some properties to sync the two windows */
for (i = 0; i < G_N_ELEMENTS (properties); i++)
- exo_binding_new (G_OBJECT (window), properties[i],
- G_OBJECT (popup), properties[i]);
+ {
+ g_object_bind_property (G_OBJECT (window), properties[i],
+ G_OBJECT (popup), properties[i],
+ G_BINDING_SYNC_CREATE);
+ }
/* signals for pointer enter/leave events */
g_signal_connect (G_OBJECT (popup), "enter-notify-event",
diff --git a/plugins/actions/Makefile.am b/plugins/actions/Makefile.am
index b649215..83655b3 100644
--- a/plugins/actions/Makefile.am
+++ b/plugins/actions/Makefile.am
@@ -21,7 +21,6 @@ libactions_la_CFLAGS = \
$(GTK_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(DBUS_CFLAGS) \
$(PLATFORM_CFLAGS)
@@ -39,7 +38,6 @@ libactions_la_LIBADD = \
$(GTK_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
- $(EXO_LIBS) \
$(DBUS_LIBS) \
$(XFCONF_LIBS)
@@ -70,7 +68,7 @@ DISTCLEANFILES += \
$(libactions_built_sources)
actions-dialog_ui.h: actions-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=actions_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=actions_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/actions/actions.c b/plugins/actions/actions.c
index 53ff8d0..72fb9b4 100644
--- a/plugins/actions/actions.c
+++ b/plugins/actions/actions.c
@@ -25,7 +25,6 @@
#include <libxfce4panel/libxfce4panel.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfce4ui/libxfce4ui.h>
-#include <exo/exo.h>
#include <dbus/dbus-glib.h>
#include <common/panel-private.h>
@@ -243,7 +242,7 @@ actions_plugin_class_init (ActionsPluginClass *klass)
g_param_spec_boxed ("items",
NULL, NULL,
PANEL_PROPERTIES_TYPE_VALUE_ARRAY,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_APPEARANCE,
@@ -252,21 +251,21 @@ actions_plugin_class_init (ActionsPluginClass *klass)
APPEARANCE_TYPE_BUTTONS,
APPEARANCE_TYPE_MENU,
APPEARANCE_TYPE_MENU,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_INVERT_ORIENTATION,
g_param_spec_boolean ("invert-orientation",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ASK_CONFIRMATION,
g_param_spec_boolean ("ask-confirmation",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
menu_icon_size = gtk_icon_size_from_name ("panel-actions-menu");
if (menu_icon_size == GTK_ICON_SIZE_INVALID)
@@ -595,18 +594,22 @@ actions_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
return;
combo = gtk_builder_get_object (builder, "combo-mode");
- exo_mutual_binding_new (G_OBJECT (plugin), "appearance",
- G_OBJECT (combo), "active");
+ g_object_bind_property (G_OBJECT (plugin), "appearance",
+ G_OBJECT (combo), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
object = gtk_builder_get_object (builder, "invert-orientation");
- exo_mutual_binding_new (G_OBJECT (plugin), "invert-orientation",
- G_OBJECT (object), "active");
- exo_binding_new_with_negation (G_OBJECT (combo), "active",
- G_OBJECT (object), "sensitive");
+ g_object_bind_property (G_OBJECT (plugin), "invert-orientation",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
+ g_object_bind_property (G_OBJECT (combo), "active",
+ G_OBJECT (object), "sensitive",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL | G_BINDING_INVERT_BOOLEAN);
object = gtk_builder_get_object (builder, "confirmation-dialog");
- exo_mutual_binding_new (G_OBJECT (plugin), "ask-confirmation",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "ask-confirmation",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
store = gtk_builder_get_object (builder, "items-store");
panel_return_if_fail (GTK_IS_LIST_STORE (store));
@@ -625,7 +628,7 @@ actions_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
/* get the value and check if it is within range */
val = g_ptr_array_index (plugin->items, i);
name = g_value_get_string (val);
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
continue;
/* find the entry in the available actions */
@@ -1133,11 +1136,11 @@ actions_plugin_pack_idle (gpointer data)
{
/* get a decent username, not the glib defaults */
username = g_get_real_name ();
- if (exo_str_is_empty (username)
+ if (panel_str_is_empty (username)
|| strcmp (username, "Unknown") == 0)
{
username = g_get_user_name ();
- if (exo_str_is_empty (username)
+ if (panel_str_is_empty (username)
|| strcmp (username, "somebody") == 0)
username = _("John Doe");
}
diff --git a/plugins/applicationsmenu/Makefile.am b/plugins/applicationsmenu/Makefile.am
index d0d94bf..834cfc9 100644
--- a/plugins/applicationsmenu/Makefile.am
+++ b/plugins/applicationsmenu/Makefile.am
@@ -19,7 +19,6 @@ libapplicationsmenu_la_SOURCES = \
libapplicationsmenu_la_CFLAGS = \
$(GTK_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
@@ -36,7 +35,6 @@ libapplicationsmenu_la_LDFLAGS = \
libapplicationsmenu_la_LIBADD = \
$(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \
$(top_builddir)/common/libpanel-common.la \
- $(EXO_LIBS) \
$(GTK_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
@@ -82,7 +80,7 @@ DISTCLEANFILES += \
$(libapplicationsmenu_built_sources)
applicationsmenu-dialog_ui.h: applicationsmenu-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=applicationsmenu_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=applicationsmenu_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/applicationsmenu/applicationsmenu.c b/plugins/applicationsmenu/applicationsmenu.c
index efe1c30..103be00 100644
--- a/plugins/applicationsmenu/applicationsmenu.c
+++ b/plugins/applicationsmenu/applicationsmenu.c
@@ -20,7 +20,6 @@
#include <config.h>
#endif
-#include <exo/exo.h>
#include <garcon/garcon.h>
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4util/libxfce4util.h>
@@ -146,55 +145,55 @@ applications_menu_plugin_class_init (ApplicationsMenuPluginClass *klass)
g_param_spec_boolean ("show-generic-names",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_MENU_ICONS,
g_param_spec_boolean ("show-menu-icons",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_TOOLTIPS,
g_param_spec_boolean ("show-tooltips",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_BUTTON_TITLE,
g_param_spec_boolean ("show-button-title",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BUTTON_TITLE,
g_param_spec_string ("button-title",
NULL, NULL,
DEFAULT_TITLE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_BUTTON_ICON,
g_param_spec_string ("button-icon",
NULL, NULL,
DEFAULT_ICON_NAME,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_CUSTOM_MENU,
g_param_spec_boolean ("custom-menu",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_CUSTOM_MENU_FILE,
g_param_spec_string ("custom-menu-file",
NULL, NULL,
NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
menu_icon_size = gtk_icon_size_from_name ("panel-applications-menu");
if (menu_icon_size == GTK_ICON_SIZE_INVALID)
@@ -284,7 +283,7 @@ applications_menu_plugin_get_property (GObject *object,
break;
case PROP_BUTTON_ICON:
- g_value_set_string (value, exo_str_is_empty (plugin->button_icon) ?
+ g_value_set_string (value, panel_str_is_empty (plugin->button_icon) ?
DEFAULT_ICON_NAME : plugin->button_icon);
break;
@@ -347,7 +346,7 @@ applications_menu_plugin_set_property (GObject *object,
gtk_label_set_text (GTK_LABEL (plugin->label),
plugin->button_title != NULL ? plugin->button_title : "");
gtk_widget_set_tooltip_text (plugin->button,
- exo_str_is_empty (plugin->button_title) ? NULL : plugin->button_title);
+ panel_str_is_empty (plugin->button_title) ? NULL : plugin->button_title);
/* check if the label still fits */
if (xfce_panel_plugin_get_mode (XFCE_PANEL_PLUGIN (plugin)) == XFCE_PANEL_PLUGIN_MODE_DESKBAR
@@ -361,7 +360,7 @@ applications_menu_plugin_set_property (GObject *object,
g_free (plugin->button_icon);
plugin->button_icon = g_value_dup_string (value);
xfce_panel_image_set_from_source (XFCE_PANEL_IMAGE (plugin->icon),
- exo_str_is_empty (plugin->button_icon) ? DEFAULT_ICON_NAME : plugin->button_icon);
+ panel_str_is_empty (plugin->button_icon) ? DEFAULT_ICON_NAME : plugin->button_icon);
force_a_resize = TRUE;
break;
@@ -556,6 +555,7 @@ static void
applications_menu_plugin_configure_plugin_icon_chooser (GtkWidget *button,
ApplicationsMenuPlugin *plugin)
{
+#ifdef EXO_CHECK_VERSION
GtkWidget *chooser;
gchar *icon;
@@ -573,7 +573,7 @@ applications_menu_plugin_configure_plugin_icon_chooser (GtkWidget *
GTK_RESPONSE_CANCEL, -1);
exo_icon_chooser_dialog_set_icon (EXO_ICON_CHOOSER_DIALOG (chooser),
- exo_str_is_empty (plugin->button_icon) ? DEFAULT_ICON_NAME : plugin->button_icon);
+ panel_str_is_empty (plugin->button_icon) ? DEFAULT_ICON_NAME : plugin->button_icon);
if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT)
{
@@ -583,6 +583,7 @@ applications_menu_plugin_configure_plugin_icon_chooser (GtkWidget *
}
gtk_widget_destroy (chooser);
+#endif
}
@@ -629,14 +630,16 @@ applications_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
{
object = gtk_builder_get_object (builder, check_names[i]);
panel_return_if_fail (GTK_IS_CHECK_BUTTON (object));
- exo_mutual_binding_new (G_OBJECT (plugin), check_names[i],
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), check_names[i],
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
}
object = gtk_builder_get_object (builder, "button-title");
panel_return_if_fail (GTK_IS_ENTRY (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "button-title",
- G_OBJECT (object), "text");
+ g_object_bind_property (G_OBJECT (plugin), "button-title",
+ G_OBJECT (object), "text",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
object = gtk_builder_get_object (builder, "icon-button");
panel_return_if_fail (GTK_IS_BUTTON (object));
@@ -644,7 +647,7 @@ applications_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
G_CALLBACK (applications_menu_plugin_configure_plugin_icon_chooser), plugin);
plugin->dialog_icon = xfce_panel_image_new_from_source (
- exo_str_is_empty (plugin->button_icon) ? DEFAULT_ICON_NAME : plugin->button_icon);
+ panel_str_is_empty (plugin->button_icon) ? DEFAULT_ICON_NAME : plugin->button_icon);
xfce_panel_image_set_size (XFCE_PANEL_IMAGE (plugin->dialog_icon), 48);
gtk_container_add (GTK_CONTAINER (object), plugin->dialog_icon);
g_object_add_weak_pointer (G_OBJECT (plugin->dialog_icon), (gpointer) &plugin->dialog_icon);
@@ -658,7 +661,9 @@ applications_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
{
object2 = gtk_builder_get_object (builder, "use-default-menu");
panel_return_if_fail (GTK_IS_RADIO_BUTTON (object2));
- exo_binding_new (G_OBJECT (object2), "active", G_OBJECT (object), "sensitive");
+ g_object_bind_property (G_OBJECT (object2), "active",
+ G_OBJECT (object), "sensitive",
+ G_BINDING_SYNC_CREATE);
g_signal_connect (G_OBJECT (object), "clicked",
G_CALLBACK (applications_menu_plugin_configure_plugin_edit), plugin);
}
@@ -670,17 +675,20 @@ applications_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
object = gtk_builder_get_object (builder, "use-custom-menu");
panel_return_if_fail (GTK_IS_RADIO_BUTTON (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "custom-menu",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "custom-menu",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
/* sensitivity of custom file selector */
object2 = gtk_builder_get_object (builder, "custom-box");
panel_return_if_fail (GTK_IS_WIDGET (object2));
- exo_binding_new (G_OBJECT (object), "active", G_OBJECT (object2), "sensitive");
+ g_object_bind_property (G_OBJECT (object), "active",
+ G_OBJECT (object2), "sensitive",
+ G_BINDING_SYNC_CREATE);
object = gtk_builder_get_object (builder, "custom-file");
panel_return_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (object));
- if (!exo_str_is_empty (plugin->custom_menu_file))
+ if (!panel_str_is_empty (plugin->custom_menu_file))
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (object), plugin->custom_menu_file);
g_signal_connect (G_OBJECT (object), "file-set",
G_CALLBACK (applications_menu_plugin_configure_plugin_file_set), plugin);
@@ -772,7 +780,7 @@ applications_menu_plugin_menu_item_activate (GtkWidget *mi,
panel_return_if_fail (GARCON_IS_MENU_ITEM (item));
command = garcon_menu_item_get_command (item);
- if (exo_str_is_empty (command))
+ if (panel_str_is_empty (command))
return;
string = g_string_sized_new (100);
@@ -794,7 +802,7 @@ applications_menu_plugin_menu_item_activate (GtkWidget *mi,
case 'i':
tmp = garcon_menu_item_get_icon_name (item);
- if (!exo_str_is_empty (tmp))
+ if (!panel_str_is_empty (tmp))
{
g_string_append (string, "--icon ");
applications_menu_plugin_append_quoted (string, tmp);
@@ -803,13 +811,13 @@ applications_menu_plugin_menu_item_activate (GtkWidget *mi,
case 'c':
tmp = garcon_menu_item_get_name (item);
- if (!exo_str_is_empty (tmp))
+ if (!panel_str_is_empty (tmp))
applications_menu_plugin_append_quoted (string, tmp);
break;
case 'k':
uri = garcon_menu_item_get_uri (item);
- if (!exo_str_is_empty (uri))
+ if (!panel_str_is_empty (uri))
applications_menu_plugin_append_quoted (string, uri);
g_free (uri);
break;
@@ -859,7 +867,7 @@ applications_menu_plugin_menu_item_drag_begin (GarconMenuItem *item,
panel_return_if_fail (GARCON_IS_MENU_ITEM (item));
icon_name = garcon_menu_item_get_icon_name (item);
- if (!exo_str_is_empty (icon_name))
+ if (!panel_str_is_empty (icon_name))
gtk_drag_set_icon_name (drag_context, icon_name, 0, 0);
}
@@ -914,9 +922,9 @@ applications_menu_plugin_menu_reload (ApplicationsMenuPlugin *plugin)
* time to finalize the events that triggered the reload */
if (GTK_WIDGET_VISIBLE (plugin->menu))
g_signal_connect (G_OBJECT (plugin->menu), "selection-done",
- G_CALLBACK (exo_gtk_object_destroy_later), NULL);
+ G_CALLBACK (panel_utils_destroy_later), NULL);
else
- exo_gtk_object_destroy_later (GTK_OBJECT (plugin->menu));
+ panel_utils_destroy_later (GTK_WIDGET (plugin->menu));
}
}
@@ -975,7 +983,7 @@ applications_menu_plugin_menu_add (GtkWidget *gtk_menu,
if (plugin->show_tooltips)
{
comment = garcon_menu_item_get_comment (li->data);
- if (!exo_str_is_empty (comment))
+ if (!panel_str_is_empty (comment))
gtk_widget_set_tooltip_text (mi, comment);
}
@@ -990,13 +998,13 @@ applications_menu_plugin_menu_add (GtkWidget *gtk_menu,
G_CALLBACK (applications_menu_plugin_menu_item_drag_end), plugin);
command = garcon_menu_item_get_command (li->data);
- if (G_UNLIKELY (exo_str_is_empty (command)))
+ if (G_UNLIKELY (panel_str_is_empty (command)))
gtk_widget_set_sensitive (mi, FALSE);
if (plugin->show_menu_icons)
{
icon_name = garcon_menu_item_get_icon_name (li->data);
- if (exo_str_is_empty (icon_name))
+ if (panel_str_is_empty (icon_name))
icon_name = "applications-other";
image = xfce_panel_image_new_from_source (icon_name);
@@ -1041,7 +1049,7 @@ applications_menu_plugin_menu_add (GtkWidget *gtk_menu,
if (plugin->show_menu_icons)
{
icon_name = garcon_menu_element_get_icon_name (li->data);
- if (exo_str_is_empty (icon_name))
+ if (panel_str_is_empty (icon_name))
icon_name = "applications-other";
image = xfce_panel_image_new_from_source (icon_name);
diff --git a/plugins/clock/Makefile.am b/plugins/clock/Makefile.am
index 1878115..f8cc38d 100644
--- a/plugins/clock/Makefile.am
+++ b/plugins/clock/Makefile.am
@@ -32,7 +32,6 @@ libclock_la_CFLAGS = \
$(LIBXFCE4UTIL_CFLAGS) \
$(CAIRO_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(PLATFORM_CFLAGS)
@@ -50,7 +49,6 @@ libclock_la_LIBADD = \
$(CAIRO_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
- $(EXO_LIBS) \
$(XFCONF_LIBS) \
-lm
@@ -81,7 +79,7 @@ DISTCLEANFILES += \
$(libclock_built_sources)
clock-dialog_ui.h: clock-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=clock_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=clock_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/clock/clock-fuzzy.c b/plugins/clock/clock-fuzzy.c
index 358ee6f..0a765b7 100644
--- a/plugins/clock/clock-fuzzy.c
+++ b/plugins/clock/clock-fuzzy.c
@@ -28,7 +28,6 @@
#endif
#include <gtk/gtk.h>
-#include <exo/exo.h>
#include "clock.h"
#include "clock-fuzzy.h"
@@ -281,7 +280,7 @@ xfce_clock_fuzzy_update (gpointer user_data)
struct tm tm;
gint sector;
gint minute, hour;
- gchar *string;
+ GString *string;
const gchar *time_format;
gchar *p;
gchar pattern[3];
@@ -334,12 +333,25 @@ xfce_clock_fuzzy_update (gpointer user_data)
p = strchr (time_format, '%');
panel_assert (p != NULL && g_ascii_isdigit (*(p + 1)));
}
+
+ string = g_string_new (NULL);
/* replace the %? with the hour name */
g_snprintf (pattern, sizeof (pattern), "%%%c", p != NULL ? *(p + 1) : '0');
- string = exo_str_replace (time_format, pattern, _(i18n_hour_names[hour]));
- gtk_label_set_text (GTK_LABEL (fuzzy), string);
- g_free (string);
+ p = strstr (time_format, pattern);
+ if (p != NULL)
+ {
+ g_string_append_len (string, time_format, p - time_format);
+ g_string_append (string, _(i18n_hour_names[hour]));
+ g_string_append (string, p + strlen (pattern));
+ }
+ else
+ {
+ g_string_append (string, time_format);
+ }
+
+ gtk_label_set_text (GTK_LABEL (fuzzy), string->str);
+ g_string_free (string, TRUE);
}
else /* FUZZINESS_DAY */
{
diff --git a/plugins/clock/clock.c b/plugins/clock/clock.c
index 04c4f88..d22b5e0 100644
--- a/plugins/clock/clock.c
+++ b/plugins/clock/clock.c
@@ -30,7 +30,6 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
-#include <exo/exo.h>
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4panel/libxfce4panel.h>
#include <common/panel-private.h>
@@ -234,34 +233,34 @@ clock_plugin_class_init (ClockPluginClass *klass)
CLOCK_PLUGIN_MODE_MIN,
CLOCK_PLUGIN_MODE_MAX,
CLOCK_PLUGIN_MODE_DEFAULT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_FRAME,
g_param_spec_boolean ("show-frame",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_TOOLTIP_FORMAT,
g_param_spec_string ("tooltip-format",
NULL, NULL,
DEFAULT_TOOLTIP_FORMAT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ROTATE_VERTICALLY,
g_param_spec_boolean ("rotate-vertically",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_COMMAND,
g_param_spec_string ("command",
NULL, NULL, NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
@@ -432,7 +431,7 @@ clock_plugin_button_press_event (GtkWidget *widget,
if (event->button == 1)
{
if (event->type == GDK_BUTTON_PRESS &&
- exo_str_is_empty (plugin->command))
+ panel_str_is_empty (plugin->command))
{
/* toggle calendar window visibility */
if (plugin->calendar_window == NULL
@@ -444,7 +443,7 @@ clock_plugin_button_press_event (GtkWidget *widget,
return TRUE;
}
else if (event->type == GDK_2BUTTON_PRESS
- && !exo_str_is_empty (plugin->command))
+ && !panel_str_is_empty (plugin->command))
{
/* launch command */
if (!xfce_spawn_command_line_on_screen (gtk_widget_get_screen (widget),
@@ -687,15 +686,16 @@ clock_plugin_configure_plugin_mode_changed (GtkComboBox *combo,
g_object_set (G_OBJECT (dialog->plugin), "mode", mode, NULL);
panel_return_if_fail (G_IS_OBJECT (dialog->plugin->clock));
- /* connect the exo bindings */
+ /* connect the bindings */
for (i = 0; i < G_N_ELEMENTS (names); i++)
{
if (PANEL_HAS_FLAG (active, 1 << (i + 1)))
{
object = gtk_builder_get_object (dialog->builder, names[i].binding);
panel_return_if_fail (G_IS_OBJECT (object));
- exo_mutual_binding_new (G_OBJECT (dialog->plugin->clock), names[i].binding,
- G_OBJECT (object), names[i].property);
+ g_object_bind_property (G_OBJECT (dialog->plugin->clock), names[i].binding,
+ G_OBJECT (object), names[i].property,
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
}
}
}
@@ -782,7 +782,7 @@ clock_plugin_configure_plugin_chooser_fill (GtkComboBox *combo,
g_free (preview);
if (has_active == FALSE
- && !exo_str_is_empty (active_format)
+ && !panel_str_is_empty (active_format)
&& strcmp (active_format, formats[i]) == 0)
{
gtk_combo_box_set_active_iter (combo, &iter);
@@ -845,16 +845,19 @@ clock_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
g_signal_connect_data (G_OBJECT (object), "changed",
G_CALLBACK (clock_plugin_configure_plugin_mode_changed), dialog,
(GClosureNotify) clock_plugin_configure_plugin_free, 0);
- exo_mutual_binding_new (G_OBJECT (plugin), "mode",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "mode",
+ G_OBJECT (object), "active",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
object = gtk_builder_get_object (builder, "show-frame");
- exo_mutual_binding_new (G_OBJECT (plugin), "show-frame",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "show-frame",
+ G_OBJECT (object), "active",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
object = gtk_builder_get_object (builder, "tooltip-format");
- exo_mutual_binding_new (G_OBJECT (plugin), "tooltip-format",
- G_OBJECT (object), "text");
+ g_object_bind_property (G_OBJECT (plugin), "tooltip-format",
+ G_OBJECT (object), "text",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
combo = gtk_builder_get_object (builder, "tooltip-chooser");
clock_plugin_configure_plugin_chooser_fill (GTK_COMBO_BOX (combo),
GTK_ENTRY (object),
@@ -1353,7 +1356,7 @@ clock_plugin_strdup_strftime (const gchar *format,
gchar buffer[1024];
/* leave when format is null */
- if (G_UNLIKELY (exo_str_is_empty (format)))
+ if (G_UNLIKELY (panel_str_is_empty (format)))
return NULL;
/* convert to locale, because that's what strftime uses */
@@ -1382,7 +1385,7 @@ clock_plugin_interval_from_format (const gchar *format)
{
const gchar *p;
- if (G_UNLIKELY (exo_str_is_empty (format)))
+ if (G_UNLIKELY (panel_str_is_empty (format)))
return CLOCK_INTERVAL_MINUTE;
for (p = format; *p != '\0'; ++p)
diff --git a/plugins/directorymenu/Makefile.am b/plugins/directorymenu/Makefile.am
index 88b13ea..57eb616 100644
--- a/plugins/directorymenu/Makefile.am
+++ b/plugins/directorymenu/Makefile.am
@@ -19,7 +19,6 @@ libdirectorymenu_la_SOURCES = \
libdirectorymenu_la_CFLAGS = \
$(GTK_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
@@ -37,7 +36,6 @@ libdirectorymenu_la_LDFLAGS = \
libdirectorymenu_la_LIBADD = \
$(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \
$(top_builddir)/common/libpanel-common.la \
- $(EXO_LIBS) \
$(GTK_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
@@ -84,7 +82,7 @@ DISTCLEANFILES += \
$(libdirectorymenu_built_sources)
directorymenu-dialog_ui.h: directorymenu-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=directorymenu_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=directorymenu_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/directorymenu/directorymenu.c b/plugins/directorymenu/directorymenu.c
index d2e20a6..a8f5483 100644
--- a/plugins/directorymenu/directorymenu.c
+++ b/plugins/directorymenu/directorymenu.c
@@ -21,7 +21,6 @@
#endif
#include <gio/gio.h>
-#include <exo/exo.h>
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfce4panel/libxfce4panel.h>
@@ -127,28 +126,28 @@ directory_menu_plugin_class_init (DirectoryMenuPluginClass *klass)
g_param_spec_string ("base-directory",
NULL, NULL,
NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ICON_NAME,
g_param_spec_string ("icon-name",
NULL, NULL,
NULL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_FILE_PATTERN,
g_param_spec_string ("file-pattern",
NULL, NULL,
"",
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_HIDDEN_FILES,
g_param_spec_boolean ("hidden-files",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
menu_file = g_quark_from_static_string ("dir-menu-file");
@@ -201,7 +200,7 @@ directory_menu_plugin_get_property (GObject *object,
break;
case PROP_FILE_PATTERN:
- g_value_set_string (value, exo_str_is_empty (plugin->file_pattern) ?
+ g_value_set_string (value, panel_str_is_empty (plugin->file_pattern) ?
"" : plugin->file_pattern);
break;
@@ -233,7 +232,7 @@ directory_menu_plugin_set_property (GObject *object,
{
case PROP_BASE_DIRECTORY:
path = g_value_get_string (value);
- if (exo_str_is_empty (path))
+ if (panel_str_is_empty (path))
path = g_get_home_dir ();
if (plugin->base_directory != NULL)
@@ -252,7 +251,7 @@ directory_menu_plugin_set_property (GObject *object,
g_free (plugin->icon_name);
plugin->icon_name = g_value_dup_string (value);
xfce_panel_image_set_from_source (XFCE_PANEL_IMAGE (plugin->icon),
- exo_str_is_empty (plugin->icon_name) ? DEFAULT_ICON_NAME : plugin->icon_name);
+ panel_str_is_empty (plugin->icon_name) ? DEFAULT_ICON_NAME : plugin->icon_name);
break;
case PROP_FILE_PATTERN:
@@ -265,7 +264,7 @@ directory_menu_plugin_set_property (GObject *object,
if (G_LIKELY (array != NULL))
{
for (i = 0; array[i] != NULL; i++)
- if (!exo_str_is_empty (array[i]))
+ if (!panel_str_is_empty (array[i]))
plugin->patterns = g_slist_prepend (plugin->patterns,
g_pattern_spec_new (array[i]));
@@ -379,6 +378,7 @@ static void
directory_menu_plugin_configure_plugin_icon_chooser (GtkWidget *button,
DirectoryMenuPlugin *plugin)
{
+#ifdef EXO_CHECK_VERSION
GtkWidget *chooser;
gchar *icon;
@@ -395,7 +395,7 @@ directory_menu_plugin_configure_plugin_icon_chooser (GtkWidget *button
GTK_RESPONSE_ACCEPT,
GTK_RESPONSE_CANCEL, -1);
- if (!exo_str_is_empty (plugin->icon_name))
+ if (!panel_str_is_empty (plugin->icon_name))
exo_icon_chooser_dialog_set_icon (EXO_ICON_CHOOSER_DIALOG (chooser), plugin->icon_name);
if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT)
@@ -407,6 +407,7 @@ directory_menu_plugin_configure_plugin_icon_chooser (GtkWidget *button
}
gtk_widget_destroy (chooser);
+#endif
}
@@ -419,7 +420,7 @@ directory_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
GObject *dialog, *object;
const gchar *icon_name = plugin->icon_name;
- if (exo_str_is_empty (icon_name))
+ if (panel_str_is_empty (icon_name))
icon_name = DEFAULT_ICON_NAME;
/* setup the dialog */
@@ -450,13 +451,15 @@ directory_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
object = gtk_builder_get_object (builder, "file-pattern");
panel_return_if_fail (GTK_IS_ENTRY (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "file-pattern",
- G_OBJECT (object), "text");
+ g_object_bind_property (G_OBJECT (plugin), "file-pattern",
+ G_OBJECT (object), "text",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
object = gtk_builder_get_object (builder, "hidden-files");
panel_return_if_fail (GTK_IS_CHECK_BUTTON (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "hidden-files",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "hidden-files",
+ G_OBJECT (object), "active",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
gtk_widget_show (GTK_WIDGET (dialog));
}
@@ -510,7 +513,7 @@ directory_menu_plugin_selection_done (GtkWidget *menu,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), FALSE);
/* delay destruction so we can handle the activate event first */
- exo_gtk_object_destroy_later (GTK_OBJECT (menu));
+ panel_utils_destroy_later (GTK_WIDGET (menu));
}
@@ -709,8 +712,11 @@ directory_menu_plugin_menu_open (GtkWidget *mi,
}
if (!result
+#ifdef EXO_CHECK_VERSION
&& !exo_execute_preferred_application_on_screen (category, NULL, working_dir, NULL,
- gtk_widget_get_screen (mi), &error))
+ gtk_widget_get_screen (mi), &error)
+#endif
+ )
{
xfce_dialog_show_error (NULL, error,
_("Failed to execute the preferred application for category \"%s\""), category);
@@ -751,7 +757,7 @@ directory_menu_plugin_menu_unload (GtkWidget *menu)
{
/* delay destruction so we can handle the activate event first */
gtk_container_foreach (GTK_CONTAINER (menu),
- (GtkCallback) exo_gtk_object_destroy_later, NULL);
+ (GtkCallback) panel_utils_destroy_later, NULL);
}
@@ -898,7 +904,7 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
icon = g_app_info_get_icon (G_APP_INFO (desktopinfo));
/* ignore invalid or hidden files */
- if (exo_str_is_empty (display_name)
+ if (panel_str_is_empty (display_name)
|| g_desktop_app_info_get_is_hidden (desktopinfo))
{
g_object_unref (G_OBJECT (desktopinfo));
@@ -939,7 +945,7 @@ directory_menu_plugin_menu_load (GtkWidget *menu,
else if (G_UNLIKELY (desktopinfo != NULL))
{
description = g_app_info_get_description (G_APP_INFO (desktopinfo));
- if (!exo_str_is_empty (description))
+ if (!panel_str_is_empty (description))
gtk_widget_set_tooltip_text (mi, description);
g_signal_connect_data (G_OBJECT (mi), "activate",
diff --git a/plugins/launcher/Makefile.am b/plugins/launcher/Makefile.am
index 5841dc7..1c3bed0 100644
--- a/plugins/launcher/Makefile.am
+++ b/plugins/launcher/Makefile.am
@@ -25,7 +25,6 @@ liblauncher_la_CFLAGS = \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
$(GARCON_CFLAGS) \
- $(EXO_CFLAGS) \
$(GIO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(DBUS_CFLAGS) \
@@ -45,7 +44,6 @@ liblauncher_la_LIBADD = \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
$(GARCON_LIBS) \
- $(EXO_LIBS) \
$(DBUS_LIBS) \
$(GIO_LIBS) \
$(XFCONF_LIBS)
@@ -77,7 +75,7 @@ DISTCLEANFILES += \
$(libclock_built_sources)
launcher-dialog_ui.h: launcher-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=launcher_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=launcher_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/launcher/launcher-dialog.c b/plugins/launcher/launcher-dialog.c
index b454433..b8340d6 100644
--- a/plugins/launcher/launcher-dialog.c
+++ b/plugins/launcher/launcher-dialog.c
@@ -24,7 +24,6 @@
#include <string.h>
#endif
-#include <exo/exo.h>
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4util/libxfce4util.h>
#include <garcon/garcon.h>
@@ -132,7 +131,7 @@ launcher_dialog_add_visible_function (GtkTreeModel *model,
/* get the search string from the item */
text = gtk_entry_get_text (GTK_ENTRY (user_data));
- if (G_UNLIKELY (exo_str_is_empty (text)))
+ if (G_UNLIKELY (panel_str_is_empty (text)))
return TRUE;
/* casefold the search text */
@@ -142,7 +141,7 @@ launcher_dialog_add_visible_function (GtkTreeModel *model,
/* try the pre-build search string first */
gtk_tree_model_get (model, iter, COL_SEARCH, &string, -1);
- if (!exo_str_is_empty (string))
+ if (!panel_str_is_empty (string))
{
/* search */
visible = (strstr (string, text_casefolded) != NULL);
@@ -151,7 +150,7 @@ launcher_dialog_add_visible_function (GtkTreeModel *model,
{
/* get the name */
gtk_tree_model_get (model, iter, COL_NAME, &string, -1);
- if (!exo_str_is_empty (string))
+ if (!panel_str_is_empty (string))
{
/* escape and casefold the name */
escaped = g_markup_escape_text (string, -1);
@@ -856,7 +855,7 @@ launcher_dialog_item_button_clicked (GtkWidget *button,
if (xfce_dialog_confirm (GTK_WINDOW (toplevel), GTK_STOCK_DELETE, NULL,
_("If you delete an item, it will be permanently removed"),
_("Are you sure you want to remove \"%s\"?"),
- exo_str_is_empty (display_name) ? _("Unnamed item") : display_name))
+ panel_str_is_empty (display_name) ? _("Unnamed item") : display_name))
{
/* remove the item from the store */
gtk_list_store_remove (GTK_LIST_STORE (model), &iter_a);
@@ -1050,13 +1049,13 @@ launcher_dialog_items_set_item (GtkTreeModel *model,
name = garcon_menu_item_get_name (item);
comment = garcon_menu_item_get_comment (item);
- if (!exo_str_is_empty (comment))
+ if (!panel_str_is_empty (comment))
markup = g_markup_printf_escaped ("<b>%s</b>\n%s", name, comment);
else
markup = g_markup_printf_escaped ("<b>%s</b>", name);
icon_name = garcon_menu_item_get_icon_name (item);
- if (!exo_str_is_empty (icon_name))
+ if (!panel_str_is_empty (icon_name))
{
if (!gtk_icon_size_lookup (GTK_ICON_SIZE_DND, &w, &h))
w = h = 32;
@@ -1241,8 +1240,9 @@ launcher_dialog_show (LauncherPlugin *plugin)
{
object = gtk_builder_get_object (builder, binding_names[i]);
panel_return_if_fail (GTK_IS_WIDGET (object));
- exo_mutual_binding_new (G_OBJECT (plugin), binding_names[i],
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), binding_names[i],
+ G_OBJECT (object), "active",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
}
/* setup responses for the add dialog */
diff --git a/plugins/launcher/launcher.c b/plugins/launcher/launcher.c
index 6479869..470eedb 100644
--- a/plugins/launcher/launcher.c
+++ b/plugins/launcher/launcher.c
@@ -25,7 +25,6 @@
#endif
#include <gio/gio.h>
-#include <exo/exo.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfce4ui/libxfce4ui.h>
#include <garcon/garcon.h>
@@ -280,28 +279,28 @@ launcher_plugin_class_init (LauncherPluginClass *klass)
g_param_spec_boxed ("items",
NULL, NULL,
PANEL_PROPERTIES_TYPE_VALUE_ARRAY,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_DISABLE_TOOLTIPS,
g_param_spec_boolean ("disable-tooltips",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_MOVE_FIRST,
g_param_spec_boolean ("move-first",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_LABEL,
g_param_spec_boolean ("show-label",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ARROW_POSITION,
@@ -310,7 +309,7 @@ launcher_plugin_class_init (LauncherPluginClass *klass)
LAUNCHER_ARROW_DEFAULT,
LAUNCHER_ARROW_INTERNAL,
LAUNCHER_ARROW_DEFAULT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
launcher_signals[ITEMS_CHANGED] =
g_signal_new (g_intern_static_string ("items-changed"),
@@ -551,6 +550,27 @@ err1:
}
+static gboolean
+_exo_str_looks_like_an_uri (const gchar *str)
+{
+ const gchar *s = str;
+
+ if (G_UNLIKELY (str == NULL))
+ return FALSE;
+
+ /* <scheme> starts with an alpha character */
+ if (g_ascii_isalpha (*s))
+ {
+ /* <scheme> continues with (alpha | digit | "+" | "-" | ".")* */
+ for (++s; g_ascii_isalnum (*s) || *s == '+' || *s == '-' || *s == '.'; ++s);
+
+ /* <scheme> must be followed by ":" */
+ return (*s == ':' && *(s+1) == '/');
+ }
+
+ return FALSE;
+}
+
static GarconMenuItem *
launcher_plugin_item_load (LauncherPlugin *plugin,
@@ -568,7 +588,7 @@ launcher_plugin_item_load (LauncherPlugin *plugin,
panel_return_val_if_fail (str != NULL, NULL);
panel_return_val_if_fail (G_IS_FILE (plugin->config_directory), NULL);
- if (G_UNLIKELY (g_path_is_absolute (str) || exo_str_looks_like_an_uri (str)))
+ if (G_UNLIKELY (g_path_is_absolute (str) || _exo_str_looks_like_an_uri (str)))
{
src_file = g_file_new_for_commandline_arg (str);
if (g_file_has_prefix (src_file, plugin->config_directory))
@@ -1156,7 +1176,7 @@ launcher_plugin_remote_event (XfcePanelPlugin *panel_plugin,
panel_return_val_if_fail (value == NULL || G_IS_VALUE (value), FALSE);
- if (exo_str_is_equal (name, "popup")
+ if (g_strcmp0 (name, "popup") == 0
&& LIST_HAS_TWO_OR_MORE_ENTRIES (plugin->items)
&& (plugin->menu == NULL || !GTK_WIDGET_VISIBLE (plugin->menu)))
{
@@ -1165,7 +1185,7 @@ launcher_plugin_remote_event (XfcePanelPlugin *panel_plugin,
return TRUE;
}
- if (exo_str_is_equal (name, "disable-tooltips")
+ if (g_strcmp0 (name, "disable-tooltips") == 0
&& value != NULL
&& G_VALUE_HOLDS_BOOLEAN (value))
{
@@ -1401,7 +1421,7 @@ launcher_plugin_tooltip_pixbuf (GdkScreen *screen,
panel_return_val_if_fail (screen == NULL || GDK_IS_SCREEN (screen), NULL);
- if (exo_str_is_empty (icon_name))
+ if (panel_str_is_empty (icon_name))
return NULL;
if (gtk_icon_size_lookup (launcher_tooltip_icon_size, &w, &h))
@@ -1411,7 +1431,7 @@ launcher_plugin_tooltip_pixbuf (GdkScreen *screen,
/* load directly from a file */
if (G_UNLIKELY (g_path_is_absolute (icon_name)))
- return exo_gdk_pixbuf_new_from_file_at_max_size (icon_name, size, size, TRUE, NULL);
+ return gdk_pixbuf_new_from_file_at_scale (icon_name, size, size, TRUE, NULL);
if (G_LIKELY (screen != NULL))
theme = gtk_icon_theme_get_for_screen (screen);
@@ -1572,7 +1592,7 @@ launcher_plugin_menu_construct (LauncherPlugin *plugin)
/* create the menu item */
name = garcon_menu_item_get_name (item);
mi = gtk_image_menu_item_new_with_label (
- exo_str_is_empty (name) ? _("Unnamed Item") : name);
+ panel_str_is_empty (name) ? _("Unnamed Item") : name);
g_object_set_qdata (G_OBJECT (mi), launcher_plugin_quark, plugin);
gtk_widget_show (mi);
gtk_drag_dest_set (mi, GTK_DEST_DEFAULT_ALL, drop_targets,
@@ -1600,7 +1620,7 @@ launcher_plugin_menu_construct (LauncherPlugin *plugin)
/* set the icon if one is set */
icon_name = garcon_menu_item_get_icon_name (item);
- if (!exo_str_is_empty (icon_name))
+ if (!panel_str_is_empty (icon_name))
{
image = xfce_panel_image_new_from_source (icon_name);
xfce_panel_image_set_size (XFCE_PANEL_IMAGE (image), size);
@@ -1733,7 +1753,7 @@ launcher_plugin_button_update (LauncherPlugin *plugin)
icon_name = garcon_menu_item_get_icon_name (item);
xfce_panel_image_set_from_source (XFCE_PANEL_IMAGE (plugin->child),
- exo_str_is_empty (icon_name) ? GTK_STOCK_MISSING_IMAGE : icon_name);
+ panel_str_is_empty (icon_name) ? GTK_STOCK_MISSING_IMAGE : icon_name);
panel_utils_set_atk_info (plugin->button,
garcon_menu_item_get_name (item),
@@ -2230,11 +2250,11 @@ launcher_plugin_item_query_tooltip (GtkWidget *widget,
/* require atleast an item name */
name = garcon_menu_item_get_name (item);
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
return FALSE;
comment = garcon_menu_item_get_comment (item);
- if (!exo_str_is_empty (comment))
+ if (!panel_str_is_empty (comment))
{
markup = g_markup_printf_escaped ("<b>%s</b>\n%s", name, comment);
gtk_tooltip_set_markup (tooltip, markup);
@@ -2250,7 +2270,7 @@ launcher_plugin_item_query_tooltip (GtkWidget *widget,
* data on the menu item widget */
if (GTK_IS_MENU_ITEM (widget))
{
- pixbuf = g_object_get_data (G_OBJECT (widget), I_("pixbuf-cache"));
+ pixbuf = g_object_get_data (G_OBJECT (widget), "pixbuf-cache");
if (G_LIKELY (pixbuf != NULL))
{
gtk_tooltip_set_icon (tooltip, pixbuf);
@@ -2262,7 +2282,7 @@ launcher_plugin_item_query_tooltip (GtkWidget *widget,
if (G_LIKELY (pixbuf != NULL))
{
gtk_tooltip_set_icon (tooltip, pixbuf);
- g_object_set_data_full (G_OBJECT (widget), I_("pixbuf-cache"), pixbuf,
+ g_object_set_data_full (G_OBJECT (widget), "pixbuf-cache", pixbuf,
(GDestroyNotify) g_object_unref);
}
}
@@ -2330,7 +2350,7 @@ launcher_plugin_item_exec (GarconMenuItem *item,
/* leave when there is nothing to execute */
command = garcon_menu_item_get_command (item);
- if (exo_str_is_empty (command))
+ if (panel_str_is_empty (command))
return;
if (G_UNLIKELY (uri_list != NULL
@@ -2373,7 +2393,7 @@ launcher_plugin_item_exec_from_clipboard (GarconMenuItem *item,
text = gtk_clipboard_wait_for_text (clipboard);
/* try the secondary keayboard if the text is empty */
- if (exo_str_is_empty (text))
+ if (panel_str_is_empty (text))
{
/* get the secondary clipboard text */
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
@@ -2381,7 +2401,7 @@ launcher_plugin_item_exec_from_clipboard (GarconMenuItem *item,
text = gtk_clipboard_wait_for_text (clipboard);
}
- if (!exo_str_is_empty (text))
+ if (!panel_str_is_empty (text))
{
/* create fake selection data */
data.data = (guchar *) text;
@@ -2433,7 +2453,7 @@ launcher_plugin_exec_parse (GarconMenuItem *item,
/* get the command */
command = garcon_menu_item_get_command (item);
- panel_return_val_if_fail (!exo_str_is_empty (command), FALSE);
+ panel_return_val_if_fail (!panel_str_is_empty (command), FALSE);
/* allocate an empty string */
string = g_string_sized_new (100);
@@ -2481,7 +2501,7 @@ launcher_plugin_exec_parse (GarconMenuItem *item,
case 'i':
tmp = garcon_menu_item_get_icon_name (item);
- if (!exo_str_is_empty (tmp))
+ if (!panel_str_is_empty (tmp))
{
g_string_append (string, "--icon ");
launcher_plugin_exec_append_quoted (string, tmp);
@@ -2490,13 +2510,13 @@ launcher_plugin_exec_parse (GarconMenuItem *item,
case 'c':
tmp = garcon_menu_item_get_name (item);
- if (!exo_str_is_empty (tmp))
+ if (!panel_str_is_empty (tmp))
launcher_plugin_exec_append_quoted (string, tmp);
break;
case 'k':
uri = garcon_menu_item_get_uri (item);
- if (!exo_str_is_empty (uri))
+ if (!panel_str_is_empty (uri))
launcher_plugin_exec_append_quoted (string, uri);
g_free (uri);
break;
@@ -2543,7 +2563,7 @@ launcher_plugin_uri_list_extract (GtkSelectionData *data)
/* create the list of uris */
for (i = 0; array[i] != NULL; i++)
{
- if (!exo_str_is_empty (array[i]))
+ if (!panel_str_is_empty (array[i]))
list = g_slist_prepend (list, array[i]);
else
g_free (array[i]);
@@ -2562,14 +2582,14 @@ launcher_plugin_uri_list_extract (GtkSelectionData *data)
for (i = 0; array[i] != NULL; i++)
{
/* skip empty strings */
- if (!!exo_str_is_empty (array[i]))
+ if (!!panel_str_is_empty (array[i]))
continue;
uri = NULL;
if (g_path_is_absolute (array[i]))
uri = g_filename_to_uri (array[i], NULL, NULL);
- else if (exo_str_looks_like_an_uri (array[i]))
+ else if (_exo_str_looks_like_an_uri (array[i]))
uri = g_strdup (array[i]);
/* append the uri if we extracted one */
diff --git a/plugins/pager/Makefile.am b/plugins/pager/Makefile.am
index 7730391..3268d95 100644
--- a/plugins/pager/Makefile.am
+++ b/plugins/pager/Makefile.am
@@ -26,7 +26,6 @@ libpager_la_CFLAGS = \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBWNCK_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
- $(EXO_CFLAGS) \
$(PLATFORM_CFLAGS)
libpager_la_LDFLAGS = \
@@ -42,7 +41,6 @@ libpager_la_LIBADD = \
$(GTK_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBWNCK_LIBS) \
- $(EXO_LIBS) \
$(LIBXFCE4UI_LIBS) \
$(XFCONF_LIBS)
@@ -73,7 +71,7 @@ DISTCLEANFILES += \
$(libpager_built_sources)
pager-dialog_ui.h: pager-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=pager_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=pager_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/pager/pager-buttons.c b/plugins/pager/pager-buttons.c
index 040e58d..c2f434c 100644
--- a/plugins/pager/pager-buttons.c
+++ b/plugins/pager/pager-buttons.c
@@ -21,7 +21,7 @@
#endif
#include <gtk/gtk.h>
-#include <exo/exo.h>
+#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4panel/libxfce4panel.h>
#include <common/panel-private.h>
@@ -114,7 +114,7 @@ pager_buttons_class_init (PagerButtonsClass *klass)
g_param_spec_object ("screen",
NULL, NULL,
WNCK_TYPE_SCREEN,
- EXO_PARAM_WRITABLE
+ G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS
| G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (gobject_class,
@@ -122,7 +122,7 @@ pager_buttons_class_init (PagerButtonsClass *klass)
g_param_spec_int ("rows",
NULL, NULL,
1, 100, 1,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ORIENTATION,
@@ -130,7 +130,7 @@ pager_buttons_class_init (PagerButtonsClass *klass)
NULL, NULL,
GTK_TYPE_ORIENTATION,
GTK_ORIENTATION_HORIZONTAL,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
@@ -571,11 +571,11 @@ pager_buttons_workspace_button_label (WnckWorkspace *workspace,
/* try to get an utf-8 valid name */
name = wnck_workspace_get_name (workspace);
- if (!exo_str_is_empty (name)
+ if (!panel_str_is_empty (name)
&& !g_utf8_validate (name, -1, NULL))
name = utf8 = g_locale_to_utf8 (name, -1, NULL, NULL, NULL);
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
name = name_num = g_strdup_printf (_("Workspace %d"),
wnck_workspace_get_number (workspace) + 1);
diff --git a/plugins/pager/pager.c b/plugins/pager/pager.c
index 6f0a378..28195a4 100644
--- a/plugins/pager/pager.c
+++ b/plugins/pager/pager.c
@@ -33,7 +33,6 @@
#include <common/panel-utils.h>
#include <common/panel-private.h>
#include <libwnck/libwnck.h>
-#include <exo/exo.h>
#include "pager.h"
#include "pager-buttons.h"
@@ -130,21 +129,21 @@ pager_plugin_class_init (PagerPluginClass *klass)
g_param_spec_boolean ("workspace-scrolling",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_MINIATURE_VIEW,
g_param_spec_boolean ("miniature-view",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ROWS,
g_param_spec_uint ("rows",
NULL, NULL,
1, 50, 1,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
@@ -542,18 +541,21 @@ pager_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
object = gtk_builder_get_object (builder, "workspace-scrolling");
panel_return_if_fail (GTK_IS_TOGGLE_BUTTON (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "workspace-scrolling",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "workspace-scrolling",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
object = gtk_builder_get_object (builder, "miniature-view");
panel_return_if_fail (GTK_IS_TOGGLE_BUTTON (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "miniature-view",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "miniature-view",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
object = gtk_builder_get_object (builder, "rows");
panel_return_if_fail (GTK_IS_ADJUSTMENT (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "rows",
- G_OBJECT (object), "value");
+ g_object_bind_property (G_OBJECT (plugin), "rows",
+ G_OBJECT (object), "value",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
/* update the rows limit */
pager_plugin_configure_n_workspaces_changed (plugin->wnck_screen, NULL, builder);
diff --git a/plugins/separator/Makefile.am b/plugins/separator/Makefile.am
index 77b6449..ced05f9 100644
--- a/plugins/separator/Makefile.am
+++ b/plugins/separator/Makefile.am
@@ -23,7 +23,6 @@ libseparator_la_CFLAGS = \
$(LIBXFCE4UTIL_CFLAGS) \
$(CAIRO_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
- $(EXO_CFLAGS) \
$(PLATFORM_CFLAGS)
libseparator_la_LDFLAGS = \
@@ -40,7 +39,6 @@ libseparator_la_LIBADD = \
$(CAIRO_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
- $(EXO_LIBS) \
$(XFCONF_LIBS)
libseparator_la_DEPENDENCIES = \
@@ -70,7 +68,7 @@ DISTCLEANFILES += \
$(libseparator_built_sources)
separator-dialog_ui.h: separator-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=separator_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=separator_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/separator/separator.c b/plugins/separator/separator.c
index 8543ee7..cf809ab 100644
--- a/plugins/separator/separator.c
+++ b/plugins/separator/separator.c
@@ -29,7 +29,6 @@
#include <common/panel-private.h>
#include <common/panel-xfconf.h>
#include <common/panel-utils.h>
-#include <exo/exo.h>
#include "separator.h"
#include "separator-dialog_ui.h"
@@ -139,14 +138,14 @@ separator_plugin_class_init (SeparatorPluginClass *klass)
SEPARATOR_PLUGIN_STYLE_MIN,
SEPARATOR_PLUGIN_STYLE_MAX,
SEPARATOR_PLUGIN_STYLE_DEFAULT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_EXPAND,
g_param_spec_boolean ("expand",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
@@ -396,12 +395,14 @@ separator_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
return;
style = gtk_builder_get_object (builder, "style");
- exo_mutual_binding_new (G_OBJECT (plugin), "style",
- G_OBJECT (style), "active");
+ g_object_bind_property (G_OBJECT (plugin), "style",
+ G_OBJECT (style), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
expand = gtk_builder_get_object (builder, "expand");
- exo_mutual_binding_new (G_OBJECT (plugin), "expand",
- G_OBJECT (expand), "active");
+ g_object_bind_property (G_OBJECT (plugin), "expand",
+ G_OBJECT (expand), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
gtk_widget_show (GTK_WIDGET (dialog));
}
diff --git a/plugins/systray/Makefile.am b/plugins/systray/Makefile.am
index 8c8c948..58fb864 100644
--- a/plugins/systray/Makefile.am
+++ b/plugins/systray/Makefile.am
@@ -28,7 +28,6 @@ libsystray_la_SOURCES = \
libsystray_la_CFLAGS = \
$(LIBX11_CFLAGS) \
$(GTK_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
@@ -46,7 +45,6 @@ libsystray_la_LIBADD = \
$(top_builddir)/common/libpanel-common.la \
$(LIBX11_LIBS) \
$(GTK_LIBS) \
- $(EXO_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
$(XFCONF_LIBS)
@@ -89,7 +87,7 @@ systray-marshal.c: systray-marshal.list Makefile
&& glib-genmarshal --prefix=_systray_marshal --body $< >> $@
systray-dialog_ui.h: systray-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=systray_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=systray_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/systray/systray-box.c b/plugins/systray/systray-box.c
index 06f0b46..991becb 100644
--- a/plugins/systray/systray-box.c
+++ b/plugins/systray/systray-box.c
@@ -27,7 +27,6 @@
#include <math.h>
#endif
-#include <exo/exo.h>
#include <gtk/gtk.h>
#include <libxfce4panel/libxfce4panel.h>
#include <common/panel-private.h>
@@ -134,7 +133,7 @@ systray_box_class_init (SystrayBoxClass *klass)
g_param_spec_boolean ("has-hidden",
NULL, NULL,
FALSE,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
}
diff --git a/plugins/systray/systray.c b/plugins/systray/systray.c
index 154bc03..6d21ae9 100644
--- a/plugins/systray/systray.c
+++ b/plugins/systray/systray.c
@@ -27,7 +27,6 @@
#include <common/panel-xfconf.h>
#include <common/panel-utils.h>
#include <common/panel-debug.h>
-#include <exo/exo.h>
#include "systray.h"
#include "systray-box.h"
@@ -182,28 +181,28 @@ systray_plugin_class_init (SystrayPluginClass *klass)
SIZE_MAX_MIN,
SIZE_MAX_MAX,
SIZE_MAX_DEFAULT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_FRAME,
g_param_spec_boolean ("show-frame",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_NAMES_HIDDEN,
g_param_spec_boxed ("names-hidden",
NULL, NULL,
PANEL_PROPERTIES_TYPE_VALUE_ARRAY,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_NAMES_VISIBLE,
g_param_spec_boxed ("names-visible",
NULL, NULL,
PANEL_PROPERTIES_TYPE_VALUE_ARRAY,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
@@ -244,7 +243,9 @@ systray_plugin_init (SystrayPlugin *plugin)
g_signal_connect (G_OBJECT (plugin->button), "toggled",
G_CALLBACK (systray_plugin_button_toggled), plugin);
gtk_button_set_relief (GTK_BUTTON (plugin->button), GTK_RELIEF_NONE);
- exo_binding_new (G_OBJECT (plugin->box), "has-hidden", G_OBJECT (plugin->button), "visible");
+ g_object_bind_property (G_OBJECT (plugin->box), "has-hidden",
+ G_OBJECT (plugin->button), "visible",
+ G_BINDING_SYNC_CREATE);
xfce_panel_plugin_add_action_widget (XFCE_PANEL_PLUGIN (plugin), plugin->button);
}
@@ -562,13 +563,15 @@ systray_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
object = gtk_builder_get_object (builder, "size-max");
panel_return_if_fail (GTK_IS_WIDGET (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "size-max",
- G_OBJECT (object), "value");
+ g_object_bind_property (G_OBJECT (plugin), "size-max",
+ G_OBJECT (object), "value",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
object = gtk_builder_get_object (builder, "show-frame");
panel_return_if_fail (GTK_IS_WIDGET (object));
- exo_mutual_binding_new (G_OBJECT (plugin), "show-frame",
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), "show-frame",
+ G_OBJECT (object), "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
store = gtk_builder_get_object (builder, "applications-store");
panel_return_if_fail (GTK_IS_LIST_STORE (store));
@@ -760,7 +763,7 @@ systray_plugin_names_set_hidden (SystrayPlugin *plugin,
gboolean hidden)
{
panel_return_if_fail (XFCE_IS_SYSTRAY_PLUGIN (plugin));
- panel_return_if_fail (!exo_str_is_empty (name));
+ panel_return_if_fail (!panel_str_is_empty (name));
g_hash_table_replace (plugin->names, g_strdup (name),
GUINT_TO_POINTER (hidden ? 1 : 0));
@@ -779,7 +782,7 @@ systray_plugin_names_get_hidden (SystrayPlugin *plugin,
{
gpointer p;
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
return FALSE;
/* lookup the name in the table */
@@ -880,7 +883,7 @@ systray_plugin_dialog_camel_case (const gchar *text)
gunichar c;
GString *result;
- panel_return_val_if_fail (!exo_str_is_empty (text), NULL);
+ panel_return_val_if_fail (!panel_str_is_empty (text), NULL);
/* allocate a new string for the result */
result = g_string_sized_new (32);
@@ -932,7 +935,7 @@ systray_plugin_dialog_add_application_names (gpointer key,
panel_return_if_fail (name == NULL || g_utf8_validate (name, -1, NULL));
/* skip invalid names */
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
return;
/* check if we have a better name for the application */
diff --git a/plugins/tasklist/Makefile.am b/plugins/tasklist/Makefile.am
index 4f386f3..0d1234e 100644
--- a/plugins/tasklist/Makefile.am
+++ b/plugins/tasklist/Makefile.am
@@ -21,7 +21,6 @@ libtasklist_la_SOURCES = \
libtasklist_la_CFLAGS = \
$(GTK_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
@@ -39,7 +38,6 @@ libtasklist_la_LDFLAGS = \
libtasklist_la_LIBADD = \
$(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \
$(top_builddir)/common/libpanel-common.la \
- $(EXO_LIBS) \
$(GTK_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
@@ -74,7 +72,7 @@ DISTCLEANFILES += \
$(libtasklist_built_sources)
tasklist-dialog_ui.h: tasklist-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=tasklist_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=tasklist_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
index 5978dbd..767517f 100644
--- a/plugins/tasklist/tasklist-widget.c
+++ b/plugins/tasklist/tasklist-widget.c
@@ -28,7 +28,7 @@
#endif
#include <gtk/gtk.h>
-#include <exo/exo.h>
+#include <libxfce4ui/libxfce4ui.h>
#include <libwnck/libwnck.h>
#include <libxfce4panel/libxfce4panel.h>
#include <common/panel-private.h>
@@ -391,63 +391,63 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
XFCE_TASKLIST_GROUPING_MIN,
XFCE_TASKLIST_GROUPING_MAX + 1 /* TODO drop this later */,
XFCE_TASKLIST_GROUPING_DEFAULT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_INCLUDE_ALL_WORKSPACES,
g_param_spec_boolean ("include-all-workspaces",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_INCLUDE_ALL_MONITORS,
g_param_spec_boolean ("include-all-monitors",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_FLAT_BUTTONS,
g_param_spec_boolean ("flat-buttons",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SWITCH_WORKSPACE_ON_UNMINIMIZE,
g_param_spec_boolean ("switch-workspace-on-unminimize",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_LABELS,
g_param_spec_boolean ("show-labels",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_ONLY_MINIMIZED,
g_param_spec_boolean ("show-only-minimized",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_WIREFRAMES,
g_param_spec_boolean ("show-wireframes",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SHOW_HANDLE,
g_param_spec_boolean ("show-handle",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_SORT_ORDER,
@@ -456,21 +456,21 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
XFCE_TASKLIST_SORT_ORDER_MIN,
XFCE_TASKLIST_SORT_ORDER_MAX,
XFCE_TASKLIST_SORT_ORDER_DEFAULT,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_WINDOW_SCROLLING,
g_param_spec_boolean ("window-scrolling",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_INCLUDE_ALL_BLINKING,
g_param_spec_boolean ("include-all-blinking",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("max-button-length",
@@ -478,7 +478,7 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
"The maximum length of a window button",
-1, G_MAXINT,
DEFAULT_MAX_BUTTON_LENGTH,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("min-button-length",
@@ -486,7 +486,7 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
"The minumum length of a window button",
1, G_MAXINT,
DEFAULT_MIN_BUTTON_LENGTH,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("max-button-size",
@@ -494,7 +494,7 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
"The maximum size of a window button",
1, G_MAXINT,
DEFAULT_BUTTON_SIZE,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_enum ("ellipsize-mode",
@@ -502,7 +502,7 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
"The ellipsize mode used for the button label",
PANGO_TYPE_ELLIPSIZE_MODE,
DEFAULT_ELLIPSIZE_MODE,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("minimized-icon-lucency",
@@ -510,14 +510,14 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
"Lucent percentage of minimized icons",
0, 100,
DEFAULT_ICON_LUCENCY,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("menu-max-width-chars",
NULL,
"Maximum chars in the overflow menu labels",
0, G_MAXINT,
DEFAULT_MENU_MAX_WIDTH_CHARS,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
menu_icon_size = gtk_icon_size_from_name ("panel-tasklist-menu");
if (menu_icon_size == GTK_ICON_SIZE_INVALID)
@@ -2321,10 +2321,10 @@ xfce_tasklist_button_compare (gconstpointer child_a,
name_b = wnck_class_group_get_name (class_group_b);
/* if there is no class group name, use the window name */
- if (exo_str_is_empty (name_a)
+ if (panel_str_is_empty (name_a)
&& a->window != NULL)
name_a = wnck_window_get_name (a->window);
- if (exo_str_is_empty (name_b)
+ if (panel_str_is_empty (name_b)
&& b->window != NULL)
name_b = wnck_window_get_name (b->window) ;
@@ -2412,9 +2412,11 @@ xfce_tasklist_button_icon_changed (WnckWindow *window,
&& tasklist->minimized_icon_lucency < 100
&& wnck_window_is_minimized (window))
{
+#ifdef EXO_CHECK_VERSION
lucent = exo_gdk_pixbuf_lucent (pixbuf, tasklist->minimized_icon_lucency);
if (G_UNLIKELY (lucent != NULL))
pixbuf = lucent;
+#endif
}
xfce_panel_image_set_from_pixbuf (XFCE_PANEL_IMAGE (child->icon), pixbuf);
@@ -2756,8 +2758,12 @@ xfce_tasklist_button_proxy_menu_item (XfceTasklistChild *child,
panel_return_val_if_fail (WNCK_IS_WINDOW (child->window), NULL);
mi = gtk_image_menu_item_new ();
- exo_binding_new (G_OBJECT (child->label), "label", G_OBJECT (mi), "label");
- exo_binding_new (G_OBJECT (child->label), "label", G_OBJECT (mi), "tooltip-text");
+ g_object_bind_property (G_OBJECT (child->label), "label",
+ G_OBJECT (mi), "label",
+ G_BINDING_SYNC_CREATE);
+ g_object_bind_property (G_OBJECT (child->label), "label",
+ G_OBJECT (mi), "tooltip-text",
+ G_BINDING_SYNC_CREATE);
label = gtk_bin_get_child (GTK_BIN (mi));
panel_return_val_if_fail (GTK_IS_LABEL (label), NULL);
@@ -2769,7 +2775,9 @@ xfce_tasklist_button_proxy_menu_item (XfceTasklistChild *child,
image = xfce_panel_image_new ();
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), image);
xfce_panel_image_set_size (XFCE_PANEL_IMAGE (image), tasklist->menu_icon_size);
- exo_binding_new (G_OBJECT (child->icon), "pixbuf", G_OBJECT (image), "pixbuf");
+ g_object_bind_property (G_OBJECT (child->icon), "pixbuf",
+ G_OBJECT (image), "pixbuf",
+ G_BINDING_SYNC_CREATE);
gtk_widget_show (image);
}
@@ -3384,7 +3392,7 @@ xfce_tasklist_group_button_name_changed (WnckClassGroup *class_group,
/* create the button label */
name = wnck_class_group_get_name (group_child->class_group);
- if (!exo_str_is_empty (name))
+ if (!panel_str_is_empty (name))
label = g_strdup_printf ("%s (%d)", name, n_windows);
else
label = g_strdup_printf ("(%d)", n_windows);
diff --git a/plugins/tasklist/tasklist.c b/plugins/tasklist/tasklist.c
index 71881c5..a00d985 100644
--- a/plugins/tasklist/tasklist.c
+++ b/plugins/tasklist/tasklist.c
@@ -20,7 +20,6 @@
#include <config.h>
#endif
-#include <exo/exo.h>
#include <libxfce4ui/libxfce4ui.h>
#include <common/panel-xfconf.h>
#include <common/panel-utils.h>
@@ -104,7 +103,9 @@ tasklist_plugin_init (TasklistPlugin *plugin)
/* create widgets */
box = xfce_hvbox_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
gtk_container_add (GTK_CONTAINER (plugin), box);
- exo_binding_new (G_OBJECT (plugin), "orientation", G_OBJECT (box), "orientation");
+ g_object_bind_property (G_OBJECT (plugin), "orientation",
+ G_OBJECT (box), "orientation",
+ G_BINDING_SYNC_CREATE);
gtk_widget_show (box);
plugin->handle = gtk_alignment_new (0.00, 0.00, 0.00, 0.00);
@@ -117,8 +118,9 @@ tasklist_plugin_init (TasklistPlugin *plugin)
plugin->tasklist = g_object_new (XFCE_TYPE_TASKLIST, NULL);
gtk_box_pack_start (GTK_BOX (box), plugin->tasklist, TRUE, TRUE, 0);
- exo_binding_new (G_OBJECT (plugin->tasklist), "show-handle",
- G_OBJECT (plugin->handle), "visible");
+ g_object_bind_property (G_OBJECT (plugin->tasklist), "show-handle",
+ G_OBJECT (plugin->handle), "visible",
+ G_BINDING_SYNC_CREATE);
}
@@ -232,15 +234,19 @@ tasklist_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
#define TASKLIST_DIALOG_BIND(name, property) \
object = gtk_builder_get_object (builder, (name)); \
panel_return_if_fail (G_IS_OBJECT (object)); \
- exo_mutual_binding_new (G_OBJECT (plugin->tasklist), (name), \
- G_OBJECT (object), (property));
+ g_object_bind_property (G_OBJECT (plugin->tasklist), (name), \
+ G_OBJECT (object), (property), \
+ G_BINDING_SYNC_CREATE);
#define TASKLIST_DIALOG_BIND_INV(name, property) \
object = gtk_builder_get_object (builder, (name)); \
panel_return_if_fail (G_IS_OBJECT (object)); \
- exo_mutual_binding_new_with_negation (G_OBJECT (plugin->tasklist), \
- name, G_OBJECT (object), \
- property);
+ g_object_bind_property (G_OBJECT (plugin->tasklist), \
+ name, G_OBJECT (object), \
+ property, \
+ G_BINDING_BIDIRECTIONAL \
+ | G_BINDING_SYNC_CREATE \
+ | G_BINDING_INVERT_BOOLEAN);
TASKLIST_DIALOG_BIND ("show-labels", "active")
TASKLIST_DIALOG_BIND ("grouping", "active")
diff --git a/plugins/windowmenu/Makefile.am b/plugins/windowmenu/Makefile.am
index a183683..77a87b8 100644
--- a/plugins/windowmenu/Makefile.am
+++ b/plugins/windowmenu/Makefile.am
@@ -20,7 +20,6 @@ libwindowmenu_la_SOURCES = \
libwindowmenu_la_CFLAGS = \
$(GTK_CFLAGS) \
- $(EXO_CFLAGS) \
$(XFCONF_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
@@ -37,7 +36,6 @@ libwindowmenu_la_LDFLAGS = \
libwindowmenu_la_LIBADD = \
$(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \
$(top_builddir)/common/libpanel-common.la \
- $(EXO_LIBS) \
$(GTK_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
$(LIBXFCE4UI_LIBS) \
@@ -83,7 +81,7 @@ DISTCLEANFILES += \
$(libwindowmenu_built_sources)
windowmenu-dialog_ui.h: windowmenu-dialog.glade
- $(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=windowmenu_dialog_ui $< >$@
+ $(AM_V_GEN) xdt-csource --static --strip-comments --strip-content --name=windowmenu_dialog_ui $< >$@
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/plugins/windowmenu/windowmenu.c b/plugins/windowmenu/windowmenu.c
index c96123a..4c69fa6 100644
--- a/plugins/windowmenu/windowmenu.c
+++ b/plugins/windowmenu/windowmenu.c
@@ -20,7 +20,6 @@
#include <config.h>
#endif
-#include <exo/exo.h>
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4panel/libxfce4panel.h>
#include <libwnck/libwnck.h>
@@ -171,35 +170,35 @@ window_menu_plugin_class_init (WindowMenuPluginClass *klass)
BUTTON_STYLE_ICON,
BUTTON_STYLE_ARROW,
BUTTON_STYLE_ICON,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_WORKSPACE_ACTIONS,
g_param_spec_boolean ("workspace-actions",
NULL, NULL,
FALSE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_WORKSPACE_NAMES,
g_param_spec_boolean ("workspace-names",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_URGENTCY_NOTIFICATION,
g_param_spec_boolean ("urgentcy-notification",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
PROP_ALL_WORKSPACES,
g_param_spec_boolean ("all-workspaces",
NULL, NULL,
TRUE,
- EXO_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("minimized-icon-lucency",
@@ -207,7 +206,7 @@ window_menu_plugin_class_init (WindowMenuPluginClass *klass)
"Lucent percentage of minimized icons",
0, 100,
DEFAULT_ICON_LUCENCY,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_enum ("ellipsize-mode",
@@ -215,7 +214,7 @@ window_menu_plugin_class_init (WindowMenuPluginClass *klass)
"The ellipsize mode used for the menu label",
PANGO_TYPE_ELLIPSIZE_MODE,
DEFAULT_ELLIPSIZE_MODE,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
gtk_widget_class_install_style_property (gtkwidget_class,
g_param_spec_int ("max-width-chars",
@@ -223,7 +222,7 @@ window_menu_plugin_class_init (WindowMenuPluginClass *klass)
"Maximum length of window/workspace name",
1, G_MAXINT,
DEFAULT_MAX_WIDTH_CHARS,
- EXO_PARAM_READABLE));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
window_quark = g_quark_from_static_string ("window-list-window-quark");
@@ -565,8 +564,9 @@ window_menu_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
{
object = gtk_builder_get_object (builder, names[i]);
panel_return_if_fail (GTK_IS_WIDGET (object));
- exo_mutual_binding_new (G_OBJECT (plugin), names[i],
- G_OBJECT (object), "active");
+ g_object_bind_property (G_OBJECT (plugin), names[i],
+ G_OBJECT (object), "active",
+ G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
}
gtk_widget_show (GTK_WIDGET (dialog));
@@ -849,11 +849,11 @@ window_menu_plugin_menu_workspace_item_new (WnckWorkspace *workspace,
/* try to get an utf-8 valid name */
name = wnck_workspace_get_name (workspace);
- if (!exo_str_is_empty (name)
+ if (!panel_str_is_empty (name)
&& !g_utf8_validate (name, -1, NULL))
name = utf8 = g_locale_to_utf8 (name, -1, NULL, NULL, NULL);
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
name = name_num = g_strdup_printf (_("Workspace %d"),
wnck_workspace_get_number (workspace) + 1);
@@ -959,10 +959,10 @@ window_menu_plugin_menu_window_item_new (WnckWindow *window,
/* try to get an utf-8 valid name */
name = wnck_window_get_name (window);
- if (!exo_str_is_empty (name) && !g_utf8_validate (name, -1, NULL))
+ if (!panel_str_is_empty (name) && !g_utf8_validate (name, -1, NULL))
name = utf8 = g_locale_to_utf8 (name, -1, NULL, NULL, NULL);
- if (exo_str_is_empty (name))
+ if (panel_str_is_empty (name))
name = "?";
/* store the tooltip text */
@@ -1020,9 +1020,11 @@ window_menu_plugin_menu_window_item_new (WnckWindow *window,
if (wnck_window_is_minimized (window)
&& plugin->minimized_icon_lucency < 100)
{
+#ifdef EXO_CHECK_VERSION
lucent = exo_gdk_pixbuf_lucent (pixbuf, plugin->minimized_icon_lucency);
if (G_LIKELY (lucent != NULL))
pixbuf = lucent;
+#endif
}
/* set the menu item label */
@@ -1053,7 +1055,7 @@ window_menu_plugin_menu_selection_done (GtkWidget *menu,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), FALSE);
/* delay destruction so we can handle the activate event first */
- exo_gtk_object_destroy_later (GTK_OBJECT (menu));
+ panel_utils_destroy_later (GTK_WIDGET (menu));
}
@@ -1314,12 +1316,12 @@ window_menu_plugin_menu_new (WindowMenuPlugin *plugin)
{
/* try to get an utf-8 valid name */
name = wnck_workspace_get_name (workspace);
- if (!exo_str_is_empty (name) && !g_utf8_validate (name, -1, NULL))
+ if (!panel_str_is_empty (name) && !g_utf8_validate (name, -1, NULL))
name = utf8 = g_locale_to_utf8 (name, -1, NULL, NULL, NULL);
}
/* create label */
- if (!exo_str_is_empty (name))
+ if (!panel_str_is_empty (name))
label = g_strdup_printf (_("Remove Workspace \"%s\""), name);
else
label = g_strdup_printf (_("Remove Workspace %d"), n_workspaces);
More information about the Xfce4-commits
mailing list