This commit is contained in:
rhp 2001-06-11 06:39:12 +00:00
parent 99f53856f6
commit 073a5d4ea9
4 changed files with 40 additions and 7 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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);