mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 13:24:09 +00:00
Make sure windows are kept on top of the panel during minimize.
Wed May 24 22:15:01 2006 Søren Sandmann <sandmann@redhat.com> * src/compositor.c (do_effect): Make sure windows are kept on top of the panel during minimize.
This commit is contained in:
parent
ab1adf6c06
commit
6dfb56cc77
@ -1,3 +1,8 @@
|
|||||||
|
Wed May 24 22:15:01 2006 Søren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
|
* src/compositor.c (do_effect): Make sure windows are kept on top
|
||||||
|
of the panel during minimize.
|
||||||
|
|
||||||
Wed May 24 21:17:59 2006 Søren Sandmann <sandmann@redhat.com>
|
Wed May 24 21:17:59 2006 Søren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
* src/compositor.c (do_effect): Shrink the window instead of
|
* src/compositor.c (do_effect): Shrink the window instead of
|
||||||
|
@ -1062,7 +1062,7 @@ run_animation_01 (gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_comp_window_run_minimize (MetaWindow *window,
|
meta_comp_window_run_minimize (MetaCompWindow *window,
|
||||||
MetaEffect *effect)
|
MetaEffect *effect)
|
||||||
{
|
{
|
||||||
MiniInfo *info = g_new (MiniInfo, 1);
|
MiniInfo *info = g_new (MiniInfo, 1);
|
||||||
@ -1083,13 +1083,13 @@ meta_comp_window_run_minimize (MetaWindow *window,
|
|||||||
info->button_y = effect->u.minimize.icon_rect.y;
|
info->button_y = effect->u.minimize.icon_rect.y;
|
||||||
info->button_width = effect->u.minimize.icon_rect.width;
|
info->button_width = effect->u.minimize.icon_rect.width;
|
||||||
info->button_height = effect->u.minimize.icon_rect.height;
|
info->button_height = effect->u.minimize.icon_rect.height;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
cm_drawable_node_set_deformation_func (node, minimize_deformation, info);
|
cm_drawable_node_set_deformation_func (node, minimize_deformation, info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
info->aspect_ratio = 1.3;
|
info->aspect_ratio = 1.3;
|
||||||
|
|
||||||
g_idle_add (run_animation_01, info);
|
g_idle_add (run_animation_01, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,8 +50,8 @@ void meta_comp_window_restack (MetaCompWindow *comp_window,
|
|||||||
void meta_comp_window_freeze_stack (MetaCompWindow *comp_window);
|
void meta_comp_window_freeze_stack (MetaCompWindow *comp_window);
|
||||||
void meta_comp_window_thaw_stack (MetaCompWindow *comp_window);
|
void meta_comp_window_thaw_stack (MetaCompWindow *comp_window);
|
||||||
gboolean meta_comp_window_stack_frozen (MetaCompWindow *comp_window);
|
gboolean meta_comp_window_stack_frozen (MetaCompWindow *comp_window);
|
||||||
void meta_comp_window_run_minimize (MetaWindow *window,
|
void meta_comp_window_run_minimize (MetaCompWindow *window,
|
||||||
MetaEffect *effect);
|
MetaEffect *effect);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
void meta_comp_window_set_explode (MetaCompWindow *comp_window,
|
void meta_comp_window_set_explode (MetaCompWindow *comp_window,
|
||||||
|
@ -118,9 +118,20 @@ do_effect (MetaEffect *effect,
|
|||||||
{
|
{
|
||||||
MetaCompScreen *screen = meta_comp_screen_get_by_xwindow (
|
MetaCompScreen *screen = meta_comp_screen_get_by_xwindow (
|
||||||
get_xid (effect->u.minimize.window));
|
get_xid (effect->u.minimize.window));
|
||||||
MetaCompWindow *window =
|
MetaCompWindow *window;
|
||||||
|
|
||||||
|
if (!effect->u.minimize.window->frame)
|
||||||
|
{
|
||||||
|
meta_effect_end (effect);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
window =
|
||||||
meta_comp_screen_lookup_window (screen, effect->u.minimize.window->frame->xwindow);
|
meta_comp_screen_lookup_window (screen, effect->u.minimize.window->frame->xwindow);
|
||||||
|
|
||||||
|
/* FIXME: a hack to make sure the window starts on top of the panel */
|
||||||
|
meta_comp_screen_raise_window (screen, effect->u.minimize.window->frame->xwindow);
|
||||||
|
|
||||||
meta_comp_window_run_minimize (window, effect);
|
meta_comp_window_run_minimize (window, effect);
|
||||||
#if 0
|
#if 0
|
||||||
meta_comp_window_explode (window, effect);
|
meta_comp_window_explode (window, effect);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user