Skip to content

Commit e78b833

Browse files
committed
Restore some global signals.
These were part of MetaScreen, and are part of CinnamonScreen now, but we want to move away from using that, so add these signals back to MetaDisplay (where most of MetaScreen's functions went already).
1 parent e44d231 commit e78b833

File tree

2 files changed

+44
-3
lines changed

2 files changed

+44
-3
lines changed

src/core/display.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ enum
149149
PAD_MODE_SWITCH,
150150
WINDOW_ENTERED_MONITOR,
151151
WINDOW_LEFT_MONITOR,
152+
WINDOW_MONITOR_CHANGED,
153+
WINDOW_WORKSPACE_CHANGED,
154+
WINDOW_SKIP_TASKBAR_CHANGED,
152155
WORKSPACE_ADDED,
153156
WORKSPACE_REMOVED,
154157
WORKSPACE_SWITCHED,
@@ -470,6 +473,35 @@ meta_display_class_init (MetaDisplayClass *klass)
470473
G_TYPE_INT,
471474
META_TYPE_WINDOW);
472475

476+
display_signals[WINDOW_MONITOR_CHANGED] =
477+
g_signal_new ("window-monitor-changed",
478+
G_TYPE_FROM_CLASS (klass),
479+
G_SIGNAL_RUN_LAST,
480+
0,
481+
NULL, NULL, NULL,
482+
G_TYPE_NONE, 2,
483+
META_TYPE_WINDOW,
484+
G_TYPE_INT);
485+
486+
display_signals[WINDOW_WORKSPACE_CHANGED] =
487+
g_signal_new ("window-workspace-changed",
488+
G_TYPE_FROM_CLASS (klass),
489+
G_SIGNAL_RUN_LAST,
490+
0,
491+
NULL, NULL, NULL,
492+
G_TYPE_NONE, 2,
493+
META_TYPE_WINDOW,
494+
META_TYPE_WORKSPACE);
495+
496+
display_signals[WINDOW_SKIP_TASKBAR_CHANGED] =
497+
g_signal_new ("window-skip-taskbar-changed",
498+
G_TYPE_FROM_CLASS (klass),
499+
G_SIGNAL_RUN_LAST,
500+
0,
501+
NULL, NULL, NULL,
502+
G_TYPE_NONE, 1,
503+
META_TYPE_WINDOW);
504+
473505
display_signals[IN_FULLSCREEN_CHANGED] =
474506
g_signal_new ("in-fullscreen-changed",
475507
G_TYPE_FROM_CLASS (klass),

src/core/window.c

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,8 +1005,13 @@ meta_window_main_monitor_changed (MetaWindow *window,
10051005
g_signal_emit_by_name (window->display, "window-left-monitor",
10061006
old->number, window);
10071007
if (window->monitor)
1008-
g_signal_emit_by_name (window->display, "window-entered-monitor",
1009-
window->monitor->number, window);
1008+
{
1009+
g_signal_emit_by_name (window->display, "window-entered-monitor",
1010+
window->monitor->number, window);
1011+
1012+
g_signal_emit_by_name (window->display, "window-monitor-changed",
1013+
window, window->monitor->number);
1014+
}
10101015
}
10111016

10121017
MetaLogicalMonitor *
@@ -5320,6 +5325,7 @@ set_workspace_state (MetaWindow *window,
53205325
meta_window_current_workspace_changed (window);
53215326
g_object_notify_by_pspec (G_OBJECT (window), obj_props[PROP_ON_ALL_WORKSPACES]);
53225327
g_signal_emit (window, window_signals[WORKSPACE_CHANGED], 0);
5328+
g_signal_emit_by_name (window->display, "window-workspace-changed", window, window->workspace);
53235329
}
53245330

53255331
static gboolean
@@ -6238,7 +6244,10 @@ meta_window_recalc_features (MetaWindow *window)
62386244
window->skip_pager);
62396245

62406246
if (old_skip_taskbar != window->skip_taskbar)
6241-
g_object_notify_by_pspec (G_OBJECT (window), obj_props[PROP_SKIP_TASKBAR]);
6247+
{
6248+
g_object_notify_by_pspec (G_OBJECT (window), obj_props[PROP_SKIP_TASKBAR]);
6249+
g_signal_emit_by_name (window->display, "window-skip-taskbar-changed", window);
6250+
}
62426251

62436252
/* FIXME:
62446253
* Lame workaround for recalc_features being used overzealously.

0 commit comments

Comments
 (0)