You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

436 lines
13 KiB

--- mate-control-center-1.26.0.old/configure.ac 2023-04-28 16:12:05.281295458 +0200
+++ mate-control-center-1.26.0/configure.ac 2023-04-28 16:48:44.374329792 +0200
@@ -84,30 +84,50 @@
AM_CONDITIONAL(HAVE_TYPING_BREAK, test "x$TYPING_BREAK" = xtyping-break)
-dnl app indicator
-APPINDICATOR_PKG=appindicator3-0.1
+dnl app indicator (Ubuntu and Ayatana implementation)
+AYATANA_APPINDICATOR_PKG=ayatana-appindicator3-0.1
+UBUNTU_APPINDICATOR_PKG=appindicator3-0.1
+
+PKG_CHECK_EXISTS($AYATANA_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED,
+ [have_appindicator_ayatana="yes"],
+ [have_appindicator_ayatana="no"])
+PKG_CHECK_EXISTS($UBUNTU_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED,
+ [have_appindicator_ubuntu="yes"],
+ [have_appindicator_ubuntu="no"])
AC_ARG_ENABLE(appindicator,
AS_HELP_STRING([--enable-appindicator[=@<:@no/auto/yes@:>@]],[Build support for application indicators ]),
[enable_appindicator=$enableval],
[enable_appindicator="auto"])
-if test x$enable_appindicator = xauto ; then
- PKG_CHECK_EXISTS([$APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],
- enable_appindicator="yes",
- enable_appindicator="no")
+if test "x$enable_appindicator" = "xauto" &&
+ (test "x$have_appindicator_ayatana" = "xyes" ||
+ test "x$have_appindicator_ubuntu" = "xyes"); then
+ AC_MSG_NOTICE([Enabling AppIndicator support (as --enable-appindicator=auto was used).])
+ enable_appindicator="yes"
fi
-if test x$enable_appindicator = xyes ; then
- PKG_CHECK_EXISTS([$APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],,
- AC_MSG_ERROR([appindicator-0.1 is not installed]))
- PKG_CHECK_MODULES(APP_INDICATOR,
- $APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED)
- AC_SUBST(APP_INDICATOR_CFLAGS)
- AC_SUBST(APP_INDICATOR_LIBS)
- AC_DEFINE(HAVE_APP_INDICATOR, 1, [Have AppIndicator])
+if test "x$enable_appindicator" = "xyes"; then
+ if test "x$have_appindicator_ayatana" = "xyes"; then
+ AC_MSG_NOTICE([Buidling against Ayatana AppIndicator.])
+ PKG_CHECK_MODULES(AYATANA_APPINDICATOR,
+ [$AYATANA_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],
+ [AC_DEFINE(HAVE_AYATANA_APPINDICATOR, 1, [Have Ayatana AppIndicator])])
+ AC_SUBST(AYATANA_APPINDICATOR_CFLAGS)
+ AC_SUBST(AYATANA_APPINDICATOR_LIBS)
+ elif test "x$have_appindicator_ubuntu" = "xyes"; then
+ AC_MSG_NOTICE([Buidling against Ubuntu AppIndicator.])
+ PKG_CHECK_MODULES(UBUNTU_APPINDICATOR,
+ [$UBUNTU_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],
+ [AC_DEFINE(HAVE_UBUNTU_APPINDICATOR, 1, [Have Ubuntu AppIndicator])])
+ AC_SUBST(UBUNTU_APPINDICATOR_CFLAGS)
+ AC_SUBST(UBUNTU_APPINDICATOR_LIBS)
+ else
+ AC_MSG_ERROR([Neither Ayatana AppIndicator nor Ubuntu AppIndicator library is present, but you enabled AppIndicator support.])
+ fi
fi
-AM_CONDITIONAL(HAVE_APP_INDICATOR, test x"$enable_appindicator" = xyes)
+AM_CONDITIONAL(HAVE_AYATANA_APPINDICATOR, test x"$have_appindicator_ayatana" = xyes -a x"$enable_appindicator" = xyes)
+AM_CONDITIONAL(HAVE_UBUNTU_APPINDICATOR, test x"$have_appindicator_ubuntu" = xyes -a x"$enable_appindicator" = xyes)
dnl keyboard-properties-capplet
savecppflags=$CPPFLAGS
@@ -322,7 +342,10 @@
Warning flags: ${WARN_CFLAGS}
Linker flags: ${LDFLAGS}
- Appindicator: ${enable_appindicator}
+ AppIndicator enabled: ${enable_appindicator}
+ Ayatana AppIndicator (preferred) ${have_appindicator_ayatana}
+ Ubuntu AppIndicator (legacy) ${have_appindicator_ubuntu}
+
Libmate-slab: ${have_libmateslab}
Accountsservice: ${have_accountsservice}
Native Language support: ${USE_NLS}
--- mate-control-center-1.26.0.old/typing-break/drwright.c 2023-04-28 16:12:05.282295452 +0200
+++ mate-control-center-1.26.0/typing-break/drwright.c 2023-04-28 16:27:03.082651572 +0200
@@ -30,9 +30,11 @@
#include <gtk/gtk.h>
#include <gio/gio.h>
-#ifdef HAVE_APP_INDICATOR
-#include <libappindicator/app-indicator.h>
-#endif /* HAVE_APP_INDICATOR */
+#if defined(HAVE_AYATANA_APPINDICATOR)
+# include <libayatana-appindicator/app-indicator.h>
+#elif defined(HAVE_UBUNTU_APPINDICATOR)
+# include <libappindicator/app-indicator.h>
+#endif
#define MATE_DESKTOP_USE_UNSTABLE_API
#include <libmate-desktop/mate-desktop-utils.h>
@@ -43,11 +45,11 @@
#include "drw-utils.h"
#include "drw-timer.h"
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
#define BLINK_TIMEOUT 200
#define BLINK_TIMEOUT_MIN 120
#define BLINK_TIMEOUT_FACTOR 100
-#endif /* HAVE_APP_INDICATOR */
+#endif
typedef enum {
STATE_START,
@@ -59,10 +61,10 @@
STATE_BREAK_DONE
} DrwState;
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
#define TYPING_MONITOR_ACTIVE_ICON "bar-green"
#define TYPING_MONITOR_ATTENTION_ICON "bar-red"
-#endif /* HAVE_APP_INDICATOR */
+#endif
struct _DrWright {
/* Widgets. */
@@ -88,7 +90,7 @@
gboolean enabled;
guint clock_timeout_id;
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
AppIndicator *indicator;
#else
guint blink_timeout_id;
@@ -102,7 +104,7 @@
cairo_surface_t *green_bar;
cairo_surface_t *disabled_bar;
GdkPixbuf *composite_bar;
-#endif /* HAVE_APP_INDICATOR */
+#endif
GtkWidget *warn_dialog;
};
@@ -124,11 +126,11 @@
DrWright *dr);
static void popup_about_cb (GtkAction *action,
DrWright *dr);
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
static void init_app_indicator (DrWright *dr);
#else
static void init_tray_icon (DrWright *dr);
-#endif /* HAVE_APP_INDICATOR */
+#endif
static GList * create_secondary_break_windows (void);
static const GtkActionEntry actions[] = {
@@ -147,7 +149,7 @@
dr->break_time = 10;
}
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
static void
update_app_indicator (DrWright *dr)
{
@@ -304,32 +306,32 @@
return FALSE;
}
-#endif /* HAVE_APP_INDICATOR */
+#endif
static void
start_blinking (DrWright *dr)
{
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
if (!dr->blink_timeout_id) {
dr->blink_on = TRUE;
blink_timeout_cb (dr);
}
/*gtk_widget_show (GTK_WIDGET (dr->icon));*/
-#endif /* HAVE_APP_INDICATOR */
+#endif
}
static void
stop_blinking (DrWright *dr)
{
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
if (dr->blink_timeout_id) {
g_source_remove (dr->blink_timeout_id);
dr->blink_timeout_id = 0;
}
/*gtk_widget_hide (GTK_WIDGET (dr->icon));*/
-#endif /* HAVE_APP_INDICATOR */
+#endif
}
static gboolean
@@ -397,9 +399,9 @@
dr->break_window = NULL;
}
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
set_status_icon (dr->icon, dr->neutral_bar);
-#endif /* HAVE_APP_INDICATOR */
+#endif
dr->save_last_time = 0;
@@ -437,9 +439,9 @@
}
stop_blinking (dr);
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
set_status_icon (dr->icon, dr->red_bar);
-#endif /* HAVE_APP_INDICATOR */
+#endif
drw_timer_start (dr->timer);
@@ -480,9 +482,9 @@
case STATE_BREAK_DONE_SETUP:
stop_blinking (dr);
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
set_status_icon (dr->icon, dr->green_bar);
-#endif /* HAVE_APP_INDICATOR */
+#endif
dr->state = STATE_BREAK_DONE;
break;
@@ -498,11 +500,11 @@
dr->last_elapsed_time = elapsed_time;
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
update_app_indicator (dr);
#else
update_icon (dr);
-#endif /* HAVE_APP_INDICATOR */
+#endif
return TRUE;
}
@@ -512,45 +514,45 @@
{
gint min;
gchar *str;
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
GtkWidget *item;
-#endif /* HAVE_APP_INDICATOR */
+#endif
if (!dr->enabled) {
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
app_indicator_set_status (dr->indicator,
APP_INDICATOR_STATUS_PASSIVE);
#else
gtk_status_icon_set_tooltip_text (dr->icon,
_("Disabled"));
-#endif /* HAVE_APP_INDICATOR */
+#endif
return TRUE;
}
min = get_time_left (dr);
if (min >= 1) {
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
str = g_strdup_printf (_("Take a break now (next in %dm)"), min);
#else
str = g_strdup_printf (ngettext("%d minute until the next break",
"%d minutes until the next break",
min), min);
-#endif /* HAVE_APP_INDICATOR */
+#endif
} else {
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
str = g_strdup_printf (_("Take a break now (next in less than one minute)"));
#else
str = g_strdup_printf (_("Less than one minute until the next break"));
-#endif /* HAVE_APP_INDICATOR */
+#endif
}
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
item = gtk_ui_manager_get_widget (dr->ui_manager, "/Pop/TakeABreak");
gtk_menu_item_set_label (GTK_MENU_ITEM (item), str);
#else
gtk_status_icon_set_tooltip_text (dr->icon, str);
-#endif /* HAVE_APP_INDICATOR */
+#endif
g_free (str);
@@ -665,7 +667,7 @@
NULL);
}
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
static void
popup_menu_cb (GtkWidget *widget,
guint button,
@@ -684,7 +686,7 @@
0,
gtk_get_current_event_time ());
}
-#endif /* HAVE_APP_INDICATOR */
+#endif
static void
break_window_done_cb (GtkWidget *window,
@@ -724,11 +726,11 @@
drw_timer_start (dr->timer);
maybe_change_state (dr);
update_status (dr);
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
update_app_indicator (dr);
#else
update_icon (dr);
-#endif /* HAVE_APP_INDICATOR */
+#endif
}
static void
@@ -745,7 +747,7 @@
dr->secondary_break_windows = NULL;
}
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
static void
init_app_indicator (DrWright *dr)
{
@@ -792,7 +794,7 @@
G_CALLBACK (popup_menu_cb),
dr);
}
-#endif /* HAVE_APP_INDICATOR */
+#endif
static GList *
create_secondary_break_windows (void)
@@ -891,7 +893,7 @@
G_CALLBACK (activity_detected_cb),
dr);
-#ifdef HAVE_APP_INDICATOR
+#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
init_app_indicator (dr);
#else
dr->neutral_bar = cairo_image_surface_create_from_png (IMAGEDIR "/bar.png");
@@ -900,7 +902,7 @@
dr->disabled_bar = cairo_image_surface_create_from_png (IMAGEDIR "/bar-disabled.png");
init_tray_icon (dr);
-#endif /* HAVE_APP_INDICATOR */
+#endif
g_timeout_add_seconds (12,
(GSourceFunc) update_status,
--- mate-control-center-1.26.0.old/typing-break/Makefile.am 2023-04-28 16:12:05.283295447 +0200
+++ mate-control-center-1.26.0/typing-break/Makefile.am 2023-04-28 16:30:45.343491923 +0200
@@ -32,9 +32,14 @@
mate_typing_monitor_LDADD += @LIBCANBERRA_GTK_LIBS@
endif
-if HAVE_APP_INDICATOR
- mate_typing_monitor_CFLAGS += -DHAVE_APP_INDICATOR @APP_INDICATOR_CFLAGS@
- mate_typing_monitor_LDADD += @APP_INDICATOR_LIBS@
+if HAVE_AYATANA_APPINDICATOR
+ mate_typing_monitor_CFLAGS += -DHAVE_AYATANA_APPINDICATOR @AYATANA_APPINDICATOR_CFLAGS@
+ mate_typing_monitor_LDADD += @AYATANA_APPINDICATOR_LIBS@
+endif
+
+if HAVE_UBUNTU_APPINDICATOR
+ mate_typing_monitor_CFLAGS += -DHAVE_UBUNTU_APPINDICATOR @UBUNTU_APPINDICATOR_CFLAGS@
+ mate_typing_monitor_LDADD += @UBUNTU_APPINDICATOR_LIBS@
endif
imagedir = $(pkgdatadir)/pixmaps
--- mate-control-center-1.26.0.old/typing-break/main.c 2023-04-28 16:12:05.282295452 +0200
+++ mate-control-center-1.26.0/typing-break/main.c 2023-04-28 16:32:09.781067404 +0200
@@ -31,7 +31,7 @@
gboolean debug = FALSE;
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
static gboolean
have_tray (void)
{
@@ -50,7 +50,7 @@
return FALSE;
}
}
-#endif /* HAVE_APP_INDICATOR */
+#endif
int
main (int argc, char *argv[])
@@ -98,7 +98,7 @@
return 0;
}
-#ifndef HAVE_APP_INDICATOR
+#if !defined(HAVE_AYATANA_APPINDICATOR) && !defined(HAVE_UBUNTU_APPINDICATOR)
if (!no_check && !have_tray ()) {
GtkWidget *dialog;
@@ -116,7 +116,7 @@
gtk_widget_destroy (dialog);
}
-#endif /* HAVE_APP_INDICATOR */
+#endif
drwright_new ();