--- uim-1.8.9/configure.ac.orig 2022-08-19 02:18:18.000000000 +0200 +++ uim-1.8.9/configure.ac 2023-01-31 17:04:41.616929265 +0100 @@ -874,7 +874,7 @@ AC_ARG_ENABLE(gnome3-applet, [enable_gnome3_applet=yes]) if test "x$enable_gnome3_applet" != xno; then - PKG_CHECK_MODULES(GNOME3_APPLET, libpanel-applet, + PKG_CHECK_MODULES(GNOME3_APPLET, libgnome-panel, enable_gnome3_applet=yes, enable_gnome3_applet=no) fi @@ -883,7 +883,7 @@ AM_CONDITIONAL(GNOME3_APPLET, test "x$en if test "x$enable_gnome3_applet" = xyes; then AC_ARG_WITH([libpanel-applet-dir], [], [LIBPANEL_APPLET_DIR=$withval], [LIBPANEL_APPLET_DIR=""]) if test "$LIBPANEL_APPLET_DIR" = ""; then - LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanel-applet` + LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=modulesdir libgnome-panel` fi AC_SUBST(LIBPANEL_APPLET_DIR) fi --- uim-1.8.8/gtk3/toolbar/applet-gnome3.c.orig 2017-08-14 02:07:26.000000000 +0200 +++ uim-1.8.8/gtk3/toolbar/applet-gnome3.c 2020-10-18 09:54:01.329023695 +0200 @@ -38,11 +38,23 @@ #include #include #include -#include +#include +#include #include #include -PanelApplet *uimapplet; +G_BEGIN_DECLS +#define UIM_TYPE_APPLET uim_applet_get_type() +G_DECLARE_FINAL_TYPE (UimApplet, uim_applet, UIM, APPLET, GpApplet) +G_END_DECLS + +struct _UimApplet +{ + GpApplet parent; + GtkWidget *toolbar; +}; + +G_DEFINE_TYPE (UimApplet, uim_applet, GP_TYPE_APPLET) static void exec_switcher(GSimpleAction *action, GVariant *parameter, gpointer data); static void exec_pref(GSimpleAction *action, GVariant *parameter, gpointer data); @@ -62,7 +74,8 @@ { "pad", exec_pad }, { "hand", exec_hand }, { "help", exec_help }, - { "about", display_about_dialog } + { "about", display_about_dialog }, + { NULL } }; static void @@ -128,47 +141,60 @@ } } -static gboolean -uim_applet_new(PanelApplet *applet, const gchar *iid, gpointer data) +static void +uim_applet_init(UimApplet *uim_applet) { - GtkWidget *toolbar; - GSimpleActionGroup *action_group; gchar *ui_path; - - uimapplet = applet; - - if (strcmp(iid, "UimApplet") != 0) - return FALSE; - - uim_init(); - - toolbar = (GtkWidget*)uim_toolbar_applet_new(); - gtk_container_add(GTK_CONTAINER(applet), toolbar); + uim_applet->toolbar = (GtkWidget*)uim_toolbar_applet_new(); - gtk_widget_show_all(GTK_WIDGET(applet)); + gtk_container_add(GTK_CONTAINER(uim_applet), uim_applet->toolbar); - action_group = g_simple_action_group_new(); - g_action_map_add_action_entries(G_ACTION_MAP (action_group), uim_menu_actions, - G_N_ELEMENTS(uim_menu_actions), toolbar); + gtk_widget_show_all(GTK_WIDGET(uim_applet->toolbar)); ui_path = g_build_filename (UIM_UIDATADIR, "uim-applet-menu.xml", NULL); - panel_applet_setup_menu_from_file(applet, ui_path, action_group, GETTEXT_PACKAGE); + gp_applet_setup_menu_from_resource(GP_APPLET(uim_applet), ui_path, uim_menu_actions); g_free(ui_path); +} - gtk_widget_insert_action_group (GTK_WIDGET (applet), "uim", - G_ACTION_GROUP (action_group)); -#if LIBPANEL_APPLET_HAVE_SET_BACKGROUND_WIDGET - panel_applet_set_background_widget(applet, GTK_WIDGET(applet)); -#endif - g_object_unref(action_group); - - return TRUE; +static void +uim_applet_class_init(UimAppletClass *uim_applet_class) +{ } +static GpAppletInfo * +uim_get_applet_info (const gchar *id) +{ + const gchar *name; + const gchar *description; + const gchar *icon; + GpAppletInfo *info; + name = _("Input Method Indicator"); + description = _("Indicates and controls the state of input method (for uim)"); + icon = UIM_PIXMAPSDIR "/uim-icon.png"; + info = gp_applet_info_new (uim_applet_get_type, name, description, icon); + return info; +} -PANEL_APPLET_IN_PROCESS_FACTORY("UimAppletFactory", - PANEL_TYPE_APPLET, - (PanelAppletFactoryCallback)uim_applet_new, - NULL) +static const char * +uim_get_applet_id_from_iid (const gchar *iid) +{ + if (g_strcmp0 (iid, "UimApplet") == 0) + return "uim"; + return NULL; +} + +void gp_module_load (GpModule *module) +{ + uim_init(); + bindtextdomain(PACKAGE, LOCALEDIR); + bind_textdomain_codeset(PACKAGE, "UTF-8"); + gp_module_set_gettext_domain(module, GETTEXT_PACKAGE); + gp_module_set_abi_version (module, GP_MODULE_ABI_VERSION); + gp_module_set_id (module, "uim"); + gp_module_set_version (module, PACKAGE_VERSION); + gp_module_set_applet_ids (module, "uim", NULL); + gp_module_set_get_applet_info (module, uim_get_applet_info); + gp_module_set_compatibility (module, uim_get_applet_id_from_iid); +} --- uim-1.8.8/gtk3/toolbar/uim-applet-menu.xml.orig 2015-06-09 12:13:54.000000000 +0200 +++ uim-1.8.8/gtk3/toolbar/uim-applet-menu.xml 2020-10-18 09:55:08.851991225 +0200 @@ -1,3 +1,5 @@ + +
Switch input method @@ -28,3 +30,5 @@ uim.about
+
+
--- uim-1.8.9/gtk3/toolbar/Makefile.am.orig 2023-01-31 07:05:10.013442140 +0100 +++ uim-1.8.9/gtk3/toolbar/Makefile.am 2023-01-31 17:07:05.979481235 +0100 @@ -4,46 +4,27 @@ EXTRA_DIST = UimApplet.panel-applet.in.i if GNOME3_APPLET helper_defs = -DUIM_DATADIR=\""$(datadir)/@PACKAGE@"\" -uim_toolbar_applet_gnome3_libdir = $(pkglibdir) -uim_toolbar_applet_gnome3_lib_LTLIBRARIES = libuim-toolbar-applet-gnome3.la +uim_toolbar_applet_gnome3_libdir = $(LIBPANEL_APPLET_DIR) +uim_toolbar_applet_gnome3_lib_LTLIBRARIES = uim.la xmluidir = $(pkgdatadir)/ui xmlui_DATA = uim-applet-menu.xml -libuim_toolbar_applet_gnome3_la_LIBADD = @GTK3_LIBS@ @GNOME3_APPLET_LIBS@ \ +uim_la_LIBADD = @GTK3_LIBS@ @GNOME3_APPLET_LIBS@ \ $(top_builddir)/uim/libuim-scm.la \ $(top_builddir)/uim/libuim.la \ $(top_builddir)/uim/libuim-custom.la -libuim_toolbar_applet_gnome3_la_CPPFLAGS = \ +uim_la_CPPFLAGS = \ -DUIM_UIDATADIR="\"${xmluidir}\"" \ $(helper_defs) -I$(top_srcdir) -I$(top_builddir) -libuim_toolbar_applet_gnome3_la_LDFLAGS = \ +uim_la_LDFLAGS = \ -module -avoid-version -libuim_toolbar_applet_gnome3_la_CFLAGS = @GTK3_CFLAGS@ @GNOME3_APPLET_CFLAGS@ +uim_la_CFLAGS = @GTK3_CFLAGS@ @GNOME3_APPLET_CFLAGS@ -libuim_toolbar_applet_gnome3_la_SOURCES = applet-gnome3.c \ +uim_la_SOURCES = applet-gnome3.c \ ../../gtk2/toolbar/common-gtk.c -APPLET_LOCATION = $(pkglibdir)/libuim-toolbar-applet-gnome3.so - -appletdir = $(LIBPANEL_APPLET_DIR) -applet_DATA = UimApplet.panel-applet -applet_in_files = $(applet_DATA:=.in) -applet_in_in_files = $(applet_in_files:=.in) - -$(applet_in_files): $(applet_in_in_files) Makefile - $(SED) s,@APPLET_LOCATION@,$(APPLET_LOCATION),g <$< >$@.tmp - $(SED) s,@UIM_PIXMAPSDIR@,$(uim_pixmapsdir),g <$@.tmp >$@ - -if USE_NLS - po_files = $(wildcard $(top_srcdir)/po/*.po) - $(applet_DATA): $(applet_in_files) $(INTLTOOL_MERGE) $(po_files) ;\ - LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ -else - $(applet_DATA): $(applet_in_files) ; cp $< $@ -endif - DISTCLEANFILES = UimApplet.panel-applet.in UimApplet.panel-applet \ UimApplet.panel-applet.in.tmp endif