diff -ru glashctl-0.4.0/wmdockicon.cpp /home/nedko/mysrc/glashctl-0.4.0/wmdockicon.cpp --- glashctl-0.4.0/wmdockicon.cpp 2006-11-15 23:13:43.000000000 +0200 +++ /home/nedko/mysrc/glashctl-0.4.0/wmdockicon.cpp 2006-11-17 00:18:44.000000000 +0200 @@ -74,6 +74,8 @@ exit(1); } + m_win->set_type_hint(Gdk::WINDOW_TYPE_HINT_DOCK); + // Create background pixmaps and set the window shape Glib::RefPtr mask; m_active_pixmap = Pixmap::create_from_xpm(Colormap::get_system(), @@ -92,8 +94,8 @@ m_win->set_skip_taskbar_hint(true); m_win->set_icon(m_iconwin, RefPtr(0), RefPtr(0)); m_win->set_group(m_win); - m_win->show(); m_win->withdraw(); + m_win->show(); // We can't connect directly to a Gdk::Window, so we need to filter the // events before they reach GTK @@ -116,8 +118,9 @@ void WMDockIcon::button_pressed(GdkEvent* event, gpointer data) { WMDockIcon* me = static_cast(data); if (event->type == GDK_BUTTON_PRESS && - event->button.button == 3 && - event->button.window == me->m_iconwin->gobj()) { + event->button.button == 3// && +// event->button.window == me->m_iconwin->gobj() +) { me->signal_popup(event->button.button, event->button.time); return; }