mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 15:40:41 -05:00
...
This commit is contained in:
parent
99f53856f6
commit
073a5d4ea9
@ -562,6 +562,11 @@ event_queue_callback (MetaEventQueue *queue,
|
||||
case MapRequest:
|
||||
if (window == NULL)
|
||||
window = meta_window_new (display, event->xmaprequest.window, FALSE);
|
||||
else if (window)
|
||||
{
|
||||
if (window->minimized)
|
||||
meta_window_unminimize (window);
|
||||
}
|
||||
break;
|
||||
case ReparentNotify:
|
||||
break;
|
||||
|
15
src/frame.c
15
src/frame.c
@ -38,7 +38,8 @@ struct _MetaFrameActionGrab
|
||||
/* This lacks ButtonReleaseMask to avoid the auto-grab
|
||||
* since it breaks our popup menu
|
||||
*/
|
||||
#define EVENT_MASK (StructureNotifyMask | SubstructureNotifyMask | \
|
||||
#define EVENT_MASK (SubstructureRedirectMask | \
|
||||
StructureNotifyMask | SubstructureNotifyMask | \
|
||||
ExposureMask | \
|
||||
ButtonPressMask | ButtonReleaseMask | \
|
||||
PointerMotionMask | PointerMotionHintMask | \
|
||||
@ -51,11 +52,19 @@ meta_frame_init_info (MetaFrame *frame,
|
||||
MetaFrameInfo *info)
|
||||
{
|
||||
info->flags =
|
||||
META_FRAME_ALLOWS_MENU | META_FRAME_ALLOWS_DELETE |
|
||||
META_FRAME_ALLOWS_RESIZE;
|
||||
META_FRAME_ALLOWS_MENU | META_FRAME_ALLOWS_RESIZE;
|
||||
|
||||
if (frame->window->has_close_func)
|
||||
info->flags |= META_FRAME_ALLOWS_DELETE;
|
||||
|
||||
if (frame->window->type == META_WINDOW_NORMAL)
|
||||
info->flags |= (META_FRAME_ALLOWS_ICONIFY | META_FRAME_ALLOWS_MAXIMIZE);
|
||||
|
||||
if (!frame->window->has_maximize_func)
|
||||
info->flags &= ~META_FRAME_ALLOWS_MAXIMIZE;
|
||||
|
||||
if (!frame->window->has_minimize_func)
|
||||
info->flags &= ~META_FRAME_ALLOWS_ICONIFY;
|
||||
|
||||
if (frame->window->has_focus)
|
||||
info->flags |= META_FRAME_HAS_FOCUS;
|
||||
|
@ -22,10 +22,12 @@ if test -z "$ONLY_WM"; then
|
||||
DISPLAY=:1 xterm -geometry 25x15 &
|
||||
done
|
||||
fi
|
||||
|
||||
usleep 5000
|
||||
|
||||
DISPLAY=:1 xsetroot -solid royalblue3
|
||||
fi
|
||||
|
||||
if test -z "$ONLY_SETUP"; then
|
||||
METACITY_UISLAVE_DIR=./uislave DISPLAY=:1 unst libtool --mode=execute $DEBUG ./metacity
|
||||
METACITY_UISLAVE_DIR=./uislave DISPLAY=:1 exec unst libtool --mode=execute $DEBUG ./metacity
|
||||
fi
|
||||
|
23
src/window.c
23
src/window.c
@ -1965,9 +1965,14 @@ update_mwm_hints (MetaWindow *window)
|
||||
return -1; /* whatever */
|
||||
|
||||
/* We support MWM hints deemed non-stupid */
|
||||
|
||||
meta_verbose ("Window %s has MWM hints\n",
|
||||
window->desc);
|
||||
|
||||
if (hints->flags & MWM_HINTS_DECORATIONS)
|
||||
{
|
||||
meta_verbose ("Window %s sets MWM decorations to 0x%lx\n",
|
||||
window->desc, hints->decorations);
|
||||
if (hints->decorations == 0)
|
||||
window->decorated = FALSE;
|
||||
}
|
||||
@ -1975,11 +1980,23 @@ update_mwm_hints (MetaWindow *window)
|
||||
if (hints->flags & MWM_HINTS_FUNCTIONS)
|
||||
{
|
||||
if ((hints->functions & MWM_FUNC_CLOSE) == 0)
|
||||
window->has_close_func = FALSE;
|
||||
{
|
||||
meta_verbose ("Window %s disables close via MWM hints\n",
|
||||
window->desc);
|
||||
window->has_close_func = FALSE;
|
||||
}
|
||||
if ((hints->functions & MWM_FUNC_MINIMIZE) == 0)
|
||||
window->has_minimize_func = FALSE;
|
||||
{
|
||||
meta_verbose ("Window %s disables minimize via MWM hints\n",
|
||||
window->desc);
|
||||
window->has_minimize_func = FALSE;
|
||||
}
|
||||
if ((hints->functions & MWM_FUNC_MAXIMIZE) == 0)
|
||||
window->has_maximize_func = FALSE;
|
||||
{
|
||||
meta_verbose ("Window %s disables maximize via MWM hints\n",
|
||||
window->desc);
|
||||
window->has_maximize_func = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
XFree (hints);
|
||||
|
Loading…
Reference in New Issue
Block a user