---------- Forwarded message ----------
From:
SourceForge.net <noreply@sourceforge.net>
Date: Tue, Dec 8, 2009 at 10:50 PM
Subject: [ tktoolkit-Bugs-2864685 ] Compiz animates each menu item as a new window
To:
noreply@sourceforge.net
Bugs item #2864685, was opened at 2009-09-23 01:06
Message generated for change (Settings changed) made by patthoyts
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2864685&group_id=12997
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: 12. Unix Menus
Group: obsolete: 8.5.7
>Status: Closed
>Resolution: Fixed
Priority: 9
Private: No
Submitted By: Andras Muranyi (muranyia)
Assigned to: Donal K. Fellows (dkf)
Summary: Compiz animates each menu item as a new window
Initial Comment:
Compiz somehow thinks that the menus of these apps are separate windows and applies window open and close animation to them. Thus each submenu "pulses" like ordinary window when opened and navigating a menu (specially one with zero delay) looks like a firework.
----------------------------------------------------------------------
>Comment By: Pat Thoyts (patthoyts)
Date: 2009-12-08 21:50
Message:
Applied this patch to HEAD and to 8.5 branch.
A separate patch (possibly done as a TIP) will be done to make it possible
to handle the combobox dropdowns, tooltips and other window types from
script level.
----------------------------------------------------------------------
Comment By: Emiliano (egavilan)
Date: 2009-12-07 19:27
Message:
Sorry, forgot to attach patch's URL:
http://paste.tclers.tk/1887
----------------------------------------------------------------------
Comment By: Emiliano (egavilan)
Date: 2009-12-07 19:26
Message:
Updated patch with feedback and code from patthoyts.
Menus show sensible behaviour in both normal and tornoff states now.
Patch against HEAD.
----------------------------------------------------------------------
Comment By: Emiliano (egavilan)
Date: 2009-12-07 15:01
Message:
You are right (I was reading an old version of the document).
I tried setting _NET_WM_WINDOW_TYPE_MENU for torn-off menus and
_NET_WM_WINDOW_TYPE_DROPDOWN_MENU for normal menus. The result is the
same for normal (override-redirect) menus, but for torn-off menus the
result is a window which doesn't have an icon in the applications bar
but is not transient of the [winfo toplevel $menu] . This can resut in the
menu going bottom of the window stack without the user noticing.
I think we can do two things in this scenario:
* For torn-off menus, we set _NET_WM_WINDOW_TYPE_NORMAL and it behaves
like a normal (animated) window. This is the default now.
* For torn-off menus, we set _NET_WM_WINDOW_TYPE_MENU and
WM_TRANSIENT_FOR to make the menu transient of its toplevel, so it
doesn't get lost behind other windows.
I don't think Tk can distinguish between a "normal" menu and a "popup"
menu, so _NET_WM_WINDOW_TYPE_POPUP_MENU is out of discussion.
----------------------------------------------------------------------
Comment By: Donal K. Fellows (dkf)
Date: 2009-12-06 17:32
Message:
Note that these additional properties were not described in EWMH 1.3, but
instead form part of EWMH 1.4.
----------------------------------------------------------------------
Comment By: Donal K. Fellows (dkf)
Date: 2009-12-06 17:02
Message:
Actually, it wants to be one of:
1. _NET_WM_WINDOW_TYPE_MENU - for torn off menus
2. _NET_WM_WINDOW_TYPE_DROPDOWN_MENU - for "real" menus from the menubar
3. _NET_WM_WINDOW_TYPE_POPUP_MENU - for menus that are neither of the
other two (i.e. posted with tk_popup)
----------------------------------------------------------------------
Comment By: Emiliano (egavilan)
Date: 2009-12-05 17:21
Message:
Apparently new window managers expects additional information to be set
about what the function of the window is.
More precisely, it expects the _NET_WM_WINDOW_TYPE property to be set to
_NET_WM_WINDOW_TYPE_MENU for menu windows. See
http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html .
A patch against HEAD (5 dec 2009) adds this information to menu windows on
x11.
As a result, the new property is set for menu windows as shown by xprop
output:
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_MENU
For the patch, see
http://paste.tclers.tk/1880
----------------------------------------------------------------------
Comment By: Donal K. Fellows (dkf)
Date: 2009-11-29 18:43
Message:
The menu code is very scattered over different files, but the key part
appears to be in tkUnixWm.c in the function to create the actual X window
for the menu (TkpMakeMenuWindow). If I'm reading that function right, the
override_redirect flag is not being set on the menu until after the window
is created, and maybe compiz is not noticing that. Can't tell, as I'm not a
user of the right platform...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2864685&group_id=12997