summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2025-09-19 18:27:32 -0400
committerVictor Kareh <[email protected]>2025-10-30 17:19:55 -0400
commit49fb1d3bea0b3a96e5cc2adffbd957c3f965ef4a (patch)
treec29816ef2bba95f99b5d1054721844e74a64e9d8
parentf5978eff3e761124ec54219b84bcff9d6b25b7bc (diff)
downloadmate-panel-applet-shortcuts.tar.bz2
mate-panel-applet-shortcuts.tar.xz
clock: Add DBus 'activate' callbackapplet-shortcuts
This allows users to open the clock/calendar popup through DBus, which means we could configure a keybinding for it.
-rw-r--r--applets/clock/clock.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/applets/clock/clock.c b/applets/clock/clock.c
index 2e26b39f..bc01b290 100644
--- a/applets/clock/clock.c
+++ b/applets/clock/clock.c
@@ -1436,6 +1436,21 @@ toggle_calendar (GtkWidget *button,
}
static gboolean
+clock_applet_activate (MatePanelApplet *applet,
+ const gchar *action,
+ guint32 timestamp,
+ ClockData *cd)
+{
+ if (g_strcmp0 (action, "toggle-calendar") == 0) {
+ /* Toggle the button state first, then activate popup */
+ gboolean current_state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cd->panel_button));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cd->panel_button), !current_state);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean
do_not_eat_button_press (GtkWidget *widget,
GdkEventButton *event)
{
@@ -2739,6 +2754,10 @@ fill_clock_applet (MatePanelApplet *applet)
G_CALLBACK (applet_change_orient),
cd);
+ g_signal_connect (cd->applet, "activate",
+ G_CALLBACK (clock_applet_activate),
+ cd);
+
g_signal_connect (cd->panel_button, "size-allocate",
G_CALLBACK (panel_button_change_pixel_size),
cd);