mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 09:00:42 -05:00
...
This commit is contained in:
parent
b1d438922a
commit
1f1e706aae
25
README
25
README
@ -228,6 +228,24 @@ METACITY BUGS, NON-FEATURES, AND CAVEATS
|
|||||||
don't actually have any translations. So if someone translates
|
don't actually have any translations. So if someone translates
|
||||||
something we can set it up.
|
something we can set it up.
|
||||||
|
|
||||||
|
- If you switch from sawfish to metacity without restarting X,
|
||||||
|
the panel often ends up buried behind the Nautilus desktop window.
|
||||||
|
|
||||||
|
What happens is that the panel detects Sawfish has gone away, and
|
||||||
|
turns on override redirect mode because no GNOME-aware WM is
|
||||||
|
running (i.e. it goes into "ignore the window manager" mode). But
|
||||||
|
the panel doesn't notice that Metacity has appeared and is
|
||||||
|
(partially) GNOME-compliant. So Metacity doesn't see the override
|
||||||
|
redirect panel, and leaves it behind the Nautilus desktop. I'm not
|
||||||
|
sure whether Metacity or the panel is to blame for this.
|
||||||
|
|
||||||
|
(To debug - use "xwininfo" on the panel, if override redirect is
|
||||||
|
"Yes" then Metacity won't have any awareness of a window and can't
|
||||||
|
properly stack it above the desktop. If override redirect is "No"
|
||||||
|
then Metacity can see the panel and handle it properly. Look at
|
||||||
|
xstuff.c:xstuff_is_compliant_wm() in the panel to get started on
|
||||||
|
how the panel deals with this.)
|
||||||
|
|
||||||
FAQ
|
FAQ
|
||||||
===
|
===
|
||||||
|
|
||||||
@ -274,6 +292,13 @@ A: This is not the current plan, though of course I'm happy to see the
|
|||||||
For now Metacity is my toy hobby project that I work on when I feel
|
For now Metacity is my toy hobby project that I work on when I feel
|
||||||
like it.
|
like it.
|
||||||
|
|
||||||
|
Q: Is Metacity a Red Hat project?
|
||||||
|
|
||||||
|
A: Metacity is in no way funded, endorsed, or encouraged by Red Hat,
|
||||||
|
Inc. - I'm guessing Red Hat would not consider "insufficient number
|
||||||
|
of window managers for Linux" an urgent problem. Just a wild guess
|
||||||
|
though.
|
||||||
|
|
||||||
Q: Why can't I move XMMS?
|
Q: Why can't I move XMMS?
|
||||||
|
|
||||||
A: Because XMMS is broken and is trying to move itself. Metacity
|
A: Because XMMS is broken and is trying to move itself. Metacity
|
||||||
|
@ -2,7 +2,7 @@ AC_INIT(src/display.c)
|
|||||||
|
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE(metacity, 2.3)
|
AM_INIT_AUTOMAKE(metacity, 2.3.1)
|
||||||
|
|
||||||
GETTEXT_PACKAGE=metacity
|
GETTEXT_PACKAGE=metacity
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
AC_SUBST(GETTEXT_PACKAGE)
|
||||||
@ -70,8 +70,6 @@ AC_SUBST(HOST_ALIAS)
|
|||||||
|
|
||||||
AC_OUTPUT([
|
AC_OUTPUT([
|
||||||
Makefile
|
Makefile
|
||||||
intl/Makefile
|
|
||||||
po/Makefile.in
|
|
||||||
src/Makefile
|
src/Makefile
|
||||||
])
|
])
|
||||||
|
|
||||||
|
27
src/window.c
27
src/window.c
@ -2187,10 +2187,13 @@ process_property_notify (MetaWindow *window,
|
|||||||
if (event->atom == XA_WM_NAME ||
|
if (event->atom == XA_WM_NAME ||
|
||||||
event->atom == window->display->atom_net_wm_name)
|
event->atom == window->display->atom_net_wm_name)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_NAME or NET_WM_NAME\n", window->desc);
|
||||||
update_title (window);
|
update_title (window);
|
||||||
}
|
}
|
||||||
else if (event->atom == XA_WM_NORMAL_HINTS)
|
else if (event->atom == XA_WM_NORMAL_HINTS)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_NORMAL_HINTS\n", window->desc);
|
||||||
|
|
||||||
update_size_hints (window);
|
update_size_hints (window);
|
||||||
|
|
||||||
/* See if we need to constrain current size */
|
/* See if we need to constrain current size */
|
||||||
@ -2198,12 +2201,16 @@ process_property_notify (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
else if (event->atom == window->display->atom_wm_protocols)
|
else if (event->atom == window->display->atom_wm_protocols)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_PROTOCOLS\n", window->desc);
|
||||||
|
|
||||||
update_protocols (window);
|
update_protocols (window);
|
||||||
|
|
||||||
meta_window_queue_move_resize (window);
|
meta_window_queue_move_resize (window);
|
||||||
}
|
}
|
||||||
else if (event->atom == XA_WM_HINTS)
|
else if (event->atom == XA_WM_HINTS)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_HINTS\n", window->desc);
|
||||||
|
|
||||||
update_wm_hints (window);
|
update_wm_hints (window);
|
||||||
update_icon (window);
|
update_icon (window);
|
||||||
|
|
||||||
@ -2211,6 +2218,8 @@ process_property_notify (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
else if (event->atom == window->display->atom_motif_wm_hints)
|
else if (event->atom == window->display->atom_motif_wm_hints)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for MOTIF_WM_HINTS\n", window->desc);
|
||||||
|
|
||||||
update_mwm_hints (window);
|
update_mwm_hints (window);
|
||||||
|
|
||||||
if (window->decorated)
|
if (window->decorated)
|
||||||
@ -2222,10 +2231,14 @@ process_property_notify (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
else if (event->atom == XA_WM_CLASS)
|
else if (event->atom == XA_WM_CLASS)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_CLASS\n", window->desc);
|
||||||
|
|
||||||
update_wm_class (window);
|
update_wm_class (window);
|
||||||
}
|
}
|
||||||
else if (event->atom == XA_WM_TRANSIENT_FOR)
|
else if (event->atom == XA_WM_TRANSIENT_FOR)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_TRANSIENT_FOR\n", window->desc);
|
||||||
|
|
||||||
update_transient_for (window);
|
update_transient_for (window);
|
||||||
|
|
||||||
meta_window_queue_move_resize (window);
|
meta_window_queue_move_resize (window);
|
||||||
@ -2233,6 +2246,8 @@ process_property_notify (MetaWindow *window,
|
|||||||
else if (event->atom ==
|
else if (event->atom ==
|
||||||
window->display->atom_wm_window_role)
|
window->display->atom_wm_window_role)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for WM_WINDOW_ROLE\n", window->desc);
|
||||||
|
|
||||||
update_role (window);
|
update_role (window);
|
||||||
}
|
}
|
||||||
else if (event->atom ==
|
else if (event->atom ==
|
||||||
@ -2240,23 +2255,27 @@ process_property_notify (MetaWindow *window,
|
|||||||
event->atom ==
|
event->atom ==
|
||||||
window->display->atom_sm_client_id)
|
window->display->atom_sm_client_id)
|
||||||
{
|
{
|
||||||
meta_warning ("Broken client changed client leader window or SM client ID\n");
|
meta_warning ("Broken client! Window %s changed client leader window or SM client ID\n", window->desc);
|
||||||
}
|
}
|
||||||
else if (event->atom ==
|
else if (event->atom ==
|
||||||
window->display->atom_net_wm_window_type ||
|
window->display->atom_net_wm_window_type ||
|
||||||
/* update_net_wm_type falls back to this */
|
/* update_net_wm_type falls back to this */
|
||||||
event->atom == window->display->atom_win_layer)
|
event->atom == window->display->atom_win_layer)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for NET_WM_WINDOW_TYPE or WIN_LAYER\n", window->desc);
|
||||||
update_net_wm_type (window);
|
update_net_wm_type (window);
|
||||||
}
|
}
|
||||||
else if (event->atom ==
|
else if (event->atom ==
|
||||||
window->display->atom_net_wm_icon_name ||
|
window->display->atom_net_wm_icon_name ||
|
||||||
event->atom == XA_WM_ICON_NAME)
|
event->atom == XA_WM_ICON_NAME)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for NET_WM_ICON_NAME or WM_ICON_NAME\n", window->desc);
|
||||||
|
|
||||||
update_icon_name (window);
|
update_icon_name (window);
|
||||||
}
|
}
|
||||||
else if (event->atom == window->display->atom_net_wm_icon)
|
else if (event->atom == window->display->atom_net_wm_icon)
|
||||||
{
|
{
|
||||||
|
meta_verbose ("Property notify on %s for NET_WM_ICON\n", window->desc);
|
||||||
update_icon (window);
|
update_icon (window);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3371,14 +3390,15 @@ recalc_window_type (MetaWindow *window)
|
|||||||
window->wm_state_modal)
|
window->wm_state_modal)
|
||||||
window->type = META_WINDOW_MODAL_DIALOG;
|
window->type = META_WINDOW_MODAL_DIALOG;
|
||||||
|
|
||||||
meta_verbose ("Calculated type %d for %s\n", window->type, window->desc);
|
meta_verbose ("Calculated type %d for %s, old type %d\n",
|
||||||
|
window->type, window->desc, old_type);
|
||||||
|
|
||||||
if (old_type != window->type)
|
if (old_type != window->type)
|
||||||
{
|
{
|
||||||
recalc_window_features (window);
|
recalc_window_features (window);
|
||||||
|
|
||||||
set_net_wm_state (window);
|
set_net_wm_state (window);
|
||||||
|
|
||||||
/* Update frame */
|
/* Update frame */
|
||||||
if (window->decorated)
|
if (window->decorated)
|
||||||
meta_window_ensure_frame (window);
|
meta_window_ensure_frame (window);
|
||||||
@ -3408,6 +3428,7 @@ recalc_window_features (MetaWindow *window)
|
|||||||
if (window->type == META_WINDOW_DESKTOP ||
|
if (window->type == META_WINDOW_DESKTOP ||
|
||||||
window->type == META_WINDOW_DOCK)
|
window->type == META_WINDOW_DOCK)
|
||||||
{
|
{
|
||||||
|
window->decorated = FALSE;
|
||||||
window->has_close_func = FALSE;
|
window->has_close_func = FALSE;
|
||||||
window->has_shade_func = FALSE;
|
window->has_shade_func = FALSE;
|
||||||
window->has_move_func = FALSE;
|
window->has_move_func = FALSE;
|
||||||
|
Loading…
Reference in New Issue
Block a user