2009/9/24 András Murányi muranyia@gmail.com
In the meantime, you could assign me small jobs on the tcl side, if any. I could for example take a look if the popup menu can be built in a way that behaves better with compiz..?
Please do! That would be great. There are lots of TODOs in the source code, plus some on the wiki. Most are totally open for anyone who want to take them on. Just post here to express your interest so that people don't step each others' toes.
As for the menu it proves to be an unavoidable speciality of tk. I think it's a bug, so i have filed it.
Seems it's fixed in 8.5 now (see below) I noticed Hans had changed submenu delays to infinite - if it was to avoid compiz glitches it can be changed back now.
Andras
---------- 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...
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...