shell-wm: Add a size-changed signal to handle the new plugin vfunc

https://bugzilla.gnome.org/show_bug.cgi?id=770345
This commit is contained in:
Rui Matos 2016-09-26 17:33:35 +02:00
parent 1de1fd44c5
commit 68b671a4f4
3 changed files with 28 additions and 0 deletions

View File

@ -42,6 +42,8 @@ static void gnome_shell_plugin_minimize (MetaPlugin *plugin,
MetaWindowActor *actor); MetaWindowActor *actor);
static void gnome_shell_plugin_unminimize (MetaPlugin *plugin, static void gnome_shell_plugin_unminimize (MetaPlugin *plugin,
MetaWindowActor *actor); MetaWindowActor *actor);
static void gnome_shell_plugin_size_changed (MetaPlugin *plugin,
MetaWindowActor *actor);
static void gnome_shell_plugin_size_change (MetaPlugin *plugin, static void gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor, MetaWindowActor *actor,
MetaSizeChange which_change, MetaSizeChange which_change,
@ -127,6 +129,7 @@ gnome_shell_plugin_class_init (GnomeShellPluginClass *klass)
plugin_class->map = gnome_shell_plugin_map; plugin_class->map = gnome_shell_plugin_map;
plugin_class->minimize = gnome_shell_plugin_minimize; plugin_class->minimize = gnome_shell_plugin_minimize;
plugin_class->unminimize = gnome_shell_plugin_unminimize; plugin_class->unminimize = gnome_shell_plugin_unminimize;
plugin_class->size_changed = gnome_shell_plugin_size_changed;
plugin_class->size_change = gnome_shell_plugin_size_change; plugin_class->size_change = gnome_shell_plugin_size_change;
plugin_class->destroy = gnome_shell_plugin_destroy; plugin_class->destroy = gnome_shell_plugin_destroy;
@ -272,6 +275,13 @@ gnome_shell_plugin_unminimize (MetaPlugin *plugin,
} }
static void
gnome_shell_plugin_size_changed (MetaPlugin *plugin,
MetaWindowActor *actor)
{
_shell_wm_size_changed (get_shell_wm (), actor);
}
static void static void
gnome_shell_plugin_size_change (MetaPlugin *plugin, gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor, MetaWindowActor *actor,

View File

@ -12,6 +12,8 @@ void _shell_wm_minimize (ShellWM *wm,
MetaWindowActor *actor); MetaWindowActor *actor);
void _shell_wm_unminimize (ShellWM *wm, void _shell_wm_unminimize (ShellWM *wm,
MetaWindowActor *actor); MetaWindowActor *actor);
void _shell_wm_size_changed(ShellWM *wm,
MetaWindowActor *actor);
void _shell_wm_size_change(ShellWM *wm, void _shell_wm_size_change(ShellWM *wm,
MetaWindowActor *actor, MetaWindowActor *actor,
MetaSizeChange which_change, MetaSizeChange which_change,

View File

@ -21,6 +21,7 @@ enum
{ {
MINIMIZE, MINIMIZE,
UNMINIMIZE, UNMINIMIZE,
SIZE_CHANGED,
SIZE_CHANGE, SIZE_CHANGE,
MAP, MAP,
DESTROY, DESTROY,
@ -74,6 +75,14 @@ shell_wm_class_init (ShellWMClass *klass)
NULL, NULL, NULL, NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_NONE, 1,
META_TYPE_WINDOW_ACTOR); META_TYPE_WINDOW_ACTOR);
shell_wm_signals[SIZE_CHANGED] =
g_signal_new ("size-changed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1,
META_TYPE_WINDOW_ACTOR);
shell_wm_signals[SIZE_CHANGE] = shell_wm_signals[SIZE_CHANGE] =
g_signal_new ("size-change", g_signal_new ("size-change",
G_TYPE_FROM_CLASS (klass), G_TYPE_FROM_CLASS (klass),
@ -329,6 +338,13 @@ _shell_wm_unminimize (ShellWM *wm,
g_signal_emit (wm, shell_wm_signals[UNMINIMIZE], 0, actor); g_signal_emit (wm, shell_wm_signals[UNMINIMIZE], 0, actor);
} }
void
_shell_wm_size_changed (ShellWM *wm,
MetaWindowActor *actor)
{
g_signal_emit (wm, shell_wm_signals[SIZE_CHANGED], 0, actor);
}
void void
_shell_wm_size_change (ShellWM *wm, _shell_wm_size_change (ShellWM *wm,
MetaWindowActor *actor, MetaWindowActor *actor,