On Mon, 08 Feb 2010 22:12:45 +0100 Krzysztof Borowczyk <krzysz...@borowczyk.eu> said:
> Hi, > > I've found two problems, that I believe are E17 bugs - so I'd like to > report them ;) . As I use Gentoo operating system, I've first reported > them to Gustavo Sverzut Barbieri, after few emails exchanges he directed > me to this list. > > So here are my problems: > > 1. First problem is with positioning of window after you hide and unhide > it by clicking on it's icon in task bar. If it's GTK+ application, all > seems OK, but if it uses Qt (tested on Qt4) it appears every time on a > lower position (lower by the height of title bar). > > Steps to reproduce (for psi jabber client): > > 1) emerge -v1 psi (assuming Gentoo OS) > 2) psi & > 3) click cancel when it asks to create account and close the startup > help dialog > 4) align the main window to the top of the screen (not necessary, but > helps to spot the problem) > 5) click multiple times on the icon in the tray ok. this is likely a problem in kde. as such if you iconify in e - k3b here pops up just where it was. my bet is kde apps are explicitly requesting position and NOT accounting for frame extents - e does adversitse these via netwm - and yes. i know gtk's code reads them and uses them. in x when u request a position - u reqtes top-left of the FRAME (not your app window), BUT your configurenotify events tell you the top-left of your window - thus thy there exist properties to tell you the size of your frame. my bet is kde has specific support for specific wm's - and for those it doesnt know - ti ignores this. this will explain the wandering window - the toolkit (kde+qt) is asking for a position - e is giving it to the toolkit. i think this is something to pass off to qt/kde people. from xprop ok this k3b window: ... _E_FRAME_SIZE(CARDINAL) = 0, 0, 23, 4 _NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 23, 4 __E_WINDOW_DESK(CARDINAL) = 0, 0 ... _NET_WM_PID(CARDINAL) = 8898 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST WM_NAME(STRING) = "K3b - The CD and DVD Kreator" WM_LOCALE_NAME(STRING) = "en_US.UTF-8" WM_CLASS(STRING) = "k3b", "K3b" ... there u go - frame extents properties. and e advertises that it supports these netwm features on root: _NET_SUPPORTED(ATOM) = _NET_CLIENT_LIST, _NET_CLIENT_LIST_STACKING, _NET_ACTIVE_WINDOW, _NET_SUPPORTING_WM_CHECK, _NET_VIRTUAL_ROOTS, _NET_WM_MOVERESIZE, _NET_REQUEST_FRAME_EXTENTS, _NET_WM_NAME, _NET_WM_VISIBLE_NAME, _NET_WM_ICON_NAME, _NET_WM_VISIBLE_ICON_NAME, _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DESKTOP, _NET_WM_WINDOW_TYPE_DOCK, _NET_WM_WINDOW_TYPE_TOOLBAR, _NET_WM_WINDOW_TYPE_MENU, _NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_SPLASH, _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_NORMAL, _NET_WM_STATE, _NET_WM_STATE_MODAL, _NET_WM_STATE_STICKY, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_SHADED, _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_HIDDEN, _NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_ABOVE, _NET_WM_STATE_BELOW, _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL, _NET_WM_ICON, _NET_WM_PID, _NET_WM_USER_TIME, _NET_FRAME_EXTENTS, _NET_WM_PING, _NET_WM_SYNC_REQUEST, _NET_WM_SYNC_REQUEST_COUNTER notice the _NET_FRAME_EXTENTS there. as such the app itself handles shoing + hiding its window from its own window in the systray - wm is only invovled in handling the map request and that request will contain a requested position - that position... is set by the app+toolkit. so here - redirect back to kde/qt. i dont think e is at fault here. interestingly enough - skype works. it uses qt. > It's the same with kadu - GaduGadu client. I didn't test other > applications. > > 2. Second problem is with hiding the window by clicking on it's icon on > task bar when you are on different virtual desktop than the applications > window. > > When you open some application (tested on psi, kadu - based on Qt, > Sonata - based on GTK+) on one virtual desktop, then switch to some > other and try to hide it by clicking it's task bar icon and come back to > that virtual desktop - the contents of the window (i.e. buttons, text) > disappear, but the window stays. this indeed might be an e problem - it's missing a unmap event somewhere - but... works for me. rythmbox tested here. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel