Bug 12119 - [IceWM] [dock] Unneeded xxkb icon shown over the taskbar
Summary: [IceWM] [dock] Unneeded xxkb icon shown over the taskbar
Alias: None
Product: Sisyphus
Classification: Development
Component: xxkb (show other bugs)
Version: unstable
Hardware: all Linux
: P2 minor
Assignee: placeholder@altlinux.org
QA Contact: Andrey Cherepanov
Depends on:
Reported: 2007-06-23 21:45 MSD by Konstantin Uvarin (lodin)
Modified: 2009-01-01 18:31 MSK (History)
5 users (show)

See Also:

The patch that fixes this bug (1006 bytes, patch)
2007-06-23 21:48 MSD, Konstantin Uvarin (lodin)
no flags Details | Diff
Patch for xxkb-1.10-alt3 (1.07 KB, patch)
2007-10-23 14:14 MSD, Konstantin Uvarin (lodin)
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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:

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