LOGIN / SIGN UP

#253 NET_ACTIVE_WINDOW messages shouldn't cause a workspace switch for sticky windows

Reported by: wallex Assigned to: ioerror
Phase: release-0.1.12 Component: windowmanager
Type: bug Status: closed
Priority: 3: Medium
Watchers:

Description

If a window that is iconified attempts to "show itself" (eg, through invocation of "purple-send-async PurpleBlistSetVisible int32:1" to de-iconify Pidgin), this causes a NET_ACTIVE_WINDOW message to be generated.

PekWM currently does a workspace change "if needed" before raising and giving input focus to the window. However, there is no need to switch the workspace if the window is in sticky state!

Fix: In function Frame::handleClientMessage (Frame.cc:~2101) add the isSticky() check:

            // If we aren't mapped we check if we make sure we're on the right
            // workspace and then map the window.
            if (! _mapped) {
                if (_workspace != Workspaces::instance()->getActive() && !isSticky()) {
                    Workspaces::instance()->setWorkspace(_workspace, false);
                }
                mapWindow();
            }

2010-04-19

21:34:19 changed from release-0.1.13 to release-0.1.12
21:34:19 changed from new to closed

2010-03-29

12:25:13

Strange, I meant the comment from #252 to appear here. Well, anyway, good catch and thanks. :-)