From 08bb8398e0d218daaefdfe95c44940e370802508 Mon Sep 17 00:00:00 2001 From: lukefromdc Date: Tue, 11 Jul 2023 21:28:01 -0400 Subject: Allow building all applets in or out of process *Use --enable-in-process selector for in-process builds *Accessx-status: mark as incompatable with wayland *Accessx-status: Fix in-process runtime warning *Stickynote, Geyes: style fixes --- battstat/Makefile.am | 57 ++++++++++++++++------ battstat/battstat_applet.c | 15 +++--- ....BattstatApplet.mate-panel-applet.desktop.in.in | 2 +- ...e.panel.applet.BattstatAppletFactory.service.in | 3 ++ 4 files changed, 56 insertions(+), 21 deletions(-) create mode 100644 battstat/org.mate.panel.applet.BattstatAppletFactory.service.in (limited to 'battstat') diff --git a/battstat/Makefile.am b/battstat/Makefile.am index 11379050..1a40f61b 100644 --- a/battstat/Makefile.am +++ b/battstat/Makefile.am @@ -1,7 +1,5 @@ NULL = -APPLET_LOCATION = $(libdir)/mate-applets/libmate-battstat-applet.so - ACPIINC= @ACPIINC@ if NEED_LIBAPM @@ -24,8 +22,9 @@ SUBDIRS = docs sounds $(APMDIR) DIST_SUBDIRS = docs sounds apmlib -mate_battstat_applet_libdir= $(pkglibdir) -mate_battstat_applet_lib_LTLIBRARIES=libmate-battstat-applet.la +applet_in_files = org.mate.applets.BattstatApplet.mate-panel-applet.desktop.in +service_in_files = org.mate.panel.applet.BattstatAppletFactory.service.in +gschema_in_files = org.mate.panel.applet.battstat.gschema.xml.in AM_CPPFLAGS = \ ${WARN_CFLAGS} \ @@ -38,11 +37,14 @@ AM_CPPFLAGS = \ -DBATTSTAT_RESOURCE_PATH=\""/org/mate/mate-applets/battstat/"\" \ $(NULL) - -libmate_battstat_applet_la_SOURCES = \ +BUILT_SOURCES = \ + battstat-resources.c \ + battstat-resources.h \ + $(NULL) +APPLET_SOURCES = \ battstat.h \ battstat_applet.c \ - battstat-preferences.c \ + battstat-preferences.c \ battstat-preferences.h \ power-management.c \ acpi-linux.c \ @@ -51,11 +53,9 @@ libmate_battstat_applet_la_SOURCES = \ acpi-freebsd.h \ battstat-upower.c \ battstat-upower.h \ - battstat-resources.c \ - battstat-resources.h \ $(NULL) -libmate_battstat_applet_la_LIBADD = \ +APPLET_LIBS = \ $(MATE_APPLETS4_LIBS) \ $(LIBNOTIFY_LIBS) \ $(APMLIB) \ @@ -63,23 +63,50 @@ libmate_battstat_applet_la_LIBADD = \ -lm \ $(NULL) +if ENABLE_IN_PROCESS +APPLET_LOCATION = $(pkglibdir)/libmate-battstat-applet.so + +pkglib_LTLIBRARIES = libmate-battstat-applet.la +nodist_libmate_battstat_applet_la_SOURCES = $(BUILT_SOURCES) +libmate_battstat_applet_la_SOURCES = $(APPLET_SOURCES) +libmate_battstat_applet_la_CFLAGS = $(AM_CFLAGS) +libmate_battstat_applet_la_LDFLAGS = -module -avoid-version +libmate_battstat_applet_la_LIBADD = $(APPLET_LIBS) + +else !ENABLE_IN_PROCESS +APPLET_LOCATION = $(libexecdir)/battstat-applet + +libexec_PROGRAMS = battstat-applet +nodist_battstat_applet_SOURCES = $(BUILT_SOURCES) +battstat_applet_SOURCES = $(APPLET_SOURCES) +battstat_applet_CFLAGS = $(AM_CFLAGS) +battstat_applet_LDADD = $(APPLET_LIBS) + +servicedir = $(datadir)/dbus-1/services +service_DATA = $(service_in_files:.service.in=.service) + +$(service_DATA): $(service_in_files) Makefile + $(AM_V_GEN)sed \ + -e "s|\@APPLET_LOCATION\@|$(APPLET_LOCATION)|" \ + $< > $@ +endif !ENABLE_IN_PROCESS + battstat-resources.c: battstat-resources.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/battstat-resources.gresource.xml) $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate --c-name battstat $< battstat-resources.h: battstat-resources.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/battstat-resources.gresource.xml) $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate --c-name battstat $< -batstat_gschema_in_files = org.mate.panel.applet.battstat.gschema.xml.in -gsettings_SCHEMAS = $(batstat_gschema_in_files:.xml.in=.xml) +gsettings_SCHEMAS = $(gschema_in_files:.xml.in=.xml) @GSETTINGS_RULES@ appletdir = $(datadir)/mate-panel/applets -applet_in_files = org.mate.applets.BattstatApplet.mate-panel-applet.desktop.in applet_DATA = $(applet_in_files:.mate-panel-applet.desktop.in=.mate-panel-applet) $(applet_in_files): $(applet_in_files).in Makefile $(AM_V_GEN)sed \ -e "s|\@APPLET_LOCATION\@|$(APPLET_LOCATION)|" \ + -e "s|\@APPLET_IN_PROCESS\@|$(APPLET_IN_PROCESS)|" \ -e "s|\@VERSION\@|$(PACKAGE_VERSION)|" \ $< > $@ @@ -90,6 +117,7 @@ $(applet_DATA): $(applet_in_files) Makefile CLEANFILES = \ $(applet_DATA) \ $(applet_in_files) \ + $(service_DATA) \ $(gsettings_SCHEMAS) \ $(BUILT_SOURCES) \ *.gschema.valid \ @@ -100,7 +128,8 @@ EXTRA_DIST = \ battstat-preferences.ui \ battstat-resources.gresource.xml \ $(applet_in_files).in \ - $(batstat_gschema_in_files) \ + $(service_in_files) \ + $(gschema_in_files) \ $(NULL) -include $(top_srcdir)/git.mk diff --git a/battstat/battstat_applet.c b/battstat/battstat_applet.c index 2afe96f4..07203996 100644 --- a/battstat/battstat_applet.c +++ b/battstat/battstat_applet.c @@ -1130,6 +1130,10 @@ battstat_applet_fill (MatePanelApplet *applet) if (DEBUG) g_print ("main ()\n"); +#ifndef ENABLE_IN_PROCESS + g_set_application_name (_("Battery Charge Monitor")); +#endif + gtk_window_set_default_icon_name ("battery"); mate_panel_applet_set_flags (applet, @@ -1208,9 +1212,8 @@ battstat_applet_factory (MatePanelApplet *applet, return retval; } -MATE_PANEL_APPLET_IN_PROCESS_FACTORY ("BattstatAppletFactory", - PANEL_TYPE_APPLET, - "battstat", - battstat_applet_factory, - NULL) - +PANEL_APPLET_FACTORY ("BattstatAppletFactory", + PANEL_TYPE_APPLET, + "battstat", + battstat_applet_factory, + NULL) diff --git a/battstat/org.mate.applets.BattstatApplet.mate-panel-applet.desktop.in.in b/battstat/org.mate.applets.BattstatApplet.mate-panel-applet.desktop.in.in index 86f8d3d5..476c81dc 100644 --- a/battstat/org.mate.applets.BattstatApplet.mate-panel-applet.desktop.in.in +++ b/battstat/org.mate.applets.BattstatApplet.mate-panel-applet.desktop.in.in @@ -1,7 +1,7 @@ [Applet Factory] Id=BattstatAppletFactory Location=@APPLET_LOCATION@ -InProcess=true +InProcess=@APPLET_IN_PROCESS@ Name=Battstat Factory Description=Battstat Factory diff --git a/battstat/org.mate.panel.applet.BattstatAppletFactory.service.in b/battstat/org.mate.panel.applet.BattstatAppletFactory.service.in new file mode 100644 index 00000000..0ece4a0b --- /dev/null +++ b/battstat/org.mate.panel.applet.BattstatAppletFactory.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.mate.panel.applet.BattstatAppletFactory +Exec=@APPLET_LOCATION@ -- cgit v1.2.1