Bug 12119

Summary: [IceWM] [dock] Unneeded xxkb icon shown over the taskbar
Product: Sisyphus Reporter: Konstantin Uvarin (lodin) <khedin>
Component: xxkbAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: Andrey Cherepanov <cas>
Severity: minor    
Priority: P2 CC: glebfm, ldv, mike, placeholder, vsu
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
The patch that fixes this bug
none
Patch for xxkb-1.10-alt3 none

Description Konstantin Uvarin (lodin) 2007-06-23 21:45:49 MSD
When I start a docking-capable application (e.g. Opera, SIM, linuxdc++),
xxkb will attach it's flag icon to the dock (partly covering the clock in my 
xxkb and IceWM config) as well as to the app's window.

However, if the app is already started, only the main window is processed,
which is the right behaviour.

After several hours of debugging, I was able to locate the root of the
problem and to create a "fix".

When xxkbstarts, it calls the XQueryTree (3) function which returns a list
of all windows. The docklets never get into this list.

However, when processing a ReparentNotify event, xxkb does not know whether
the window is a docklet or a real app. 

My solution was to iterate the XQueryTree's return and only call AddWindow
if the window is there. Honestly, I find it a bit ugly, but I haven't found a 
better way.

The patch is attached.

Is there a more elegant solution?
Comment 1 Konstantin Uvarin (lodin) 2007-06-23 21:48:04 MSD
Created attachment 2032 [details]
The patch that fixes this bug

See also the project's BZ ticket:
http://sourceforge.net/tracker/index.php?func=detail&aid=1734282&group_id=84234&atid=572200


I've seen no reaction there yet.
Comment 2 Konstantin Uvarin (lodin) 2007-06-29 17:31:47 MSD
xxkb team has accepted the patch. 
Comment 3 Konstantin Uvarin (lodin) 2007-10-23 14:13:07 MSD
Адаптировал патч к xxkb-1.10-alt3.

Описание данного бага (коротко):
Если xxkb настроен так, чтобы показывать флажок на каждом окне, и запущен 
IceWM, то при запуске приложения, которое отображает себя в доке (opera, sim, 
linuxdcpp etc) появляется паразитный флажок поверх часов IceWM, который 
никакого смысла не несет, только вид портит. Если приложение запущено до xxkb, 
эффекта не наблюдается. 

Описание патча: 
Перебираем все окна, и только если это реальное окно настоящего приложения 
вешаем на него флажок. 

Примечание: 
Наверняка можно сделать намного лучше. 
Comment 4 Konstantin Uvarin (lodin) 2007-10-23 14:14:40 MSD
Created attachment 2233 [details]
Patch for xxkb-1.10-alt3
Comment 5 Michael Shigorin 2007-10-28 20:54:51 MSK
Константин, мож возьмётесь поддерживать xxkb?  У меня ещё #1712 наболело, хотя
сейчас ловится реже...
Comment 6 Konstantin Uvarin (lodin) 2007-11-07 09:33:08 MSK
Ну, страшно конечно =) Но попробовать можно, надо ж с чего-то начинать. 
Comment 7 Mikhail Gusarov 2008-06-13 12:59:26 MSD

    
Comment 8 Dmitry V. Levin 2009-01-01 18:31:10 MSK
Applied in xxkb-1.11-alt1