windowManager: Add unminimize effect

The effect was added to mutter a while ago, but never implemented
in the shell. Just do the reverse of the minimize animation ...

https://bugzilla.gnome.org/show_bug.cgi?id=702662
This commit is contained in:
Florian Müllner
2015-02-27 12:13:26 +01:00
parent 86c6716786
commit c9bcb411fc
5 changed files with 126 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ struct _ShellWM {
enum
{
MINIMIZE,
UNMINIMIZE,
MAXIMIZE,
UNMAXIMIZE,
MAP,
@@ -65,6 +66,14 @@ shell_wm_class_init (ShellWMClass *klass)
NULL, NULL, NULL,
G_TYPE_NONE, 1,
META_TYPE_WINDOW_ACTOR);
shell_wm_signals[UNMINIMIZE] =
g_signal_new ("unminimize",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1,
META_TYPE_WINDOW_ACTOR);
shell_wm_signals[MAXIMIZE] =
g_signal_new ("maximize",
G_TYPE_FROM_CLASS (klass),
@@ -197,6 +206,20 @@ shell_wm_completed_minimize (ShellWM *wm,
meta_plugin_minimize_completed (wm->plugin, actor);
}
/**
* shell_wm_completed_unminimize:
* @wm: the ShellWM
* @actor: the MetaWindowActor actor
*
* The plugin must call this when it has completed a window unminimize effect.
**/
void
shell_wm_completed_unminimize (ShellWM *wm,
MetaWindowActor *actor)
{
meta_plugin_unminimize_completed (wm->plugin, actor);
}
/**
* shell_wm_completed_maximize:
* @wm: the ShellWM
@@ -328,6 +351,13 @@ _shell_wm_minimize (ShellWM *wm,
g_signal_emit (wm, shell_wm_signals[MINIMIZE], 0, actor);
}
void
_shell_wm_unminimize (ShellWM *wm,
MetaWindowActor *actor)
{
g_signal_emit (wm, shell_wm_signals[UNMINIMIZE], 0, actor);
}
void
_shell_wm_maximize (ShellWM *wm,
MetaWindowActor *actor,