On Mon, August 24, 2009, Martin Dietze wrote:
> I checked what happens when firefox comes up and causes a
> workspace switch on my box. it appears that WM receives a
> _NET_ACTIVE_WINDOW event (src/event.c, l. 1449,
I was wrong here, it was wmspec.c.
Also I was probably able to make the effect reproducable for
others now. Firefox exhibits this behaviour if it restores a
session with more than one tab open. To reproduce it, open
firefox, open two or three pages in separate tabs and then press
Ctrl-Q to quit. Enter "Save" when the program prompts you
whether you want your session saved.
When you now start firefox again it will try to restore
the previous session and this leads to this funny effect.
Having read some of the documentation on _NET_ACTIVE_WINDOW I
found this here:
| If a Client wants to activate another window, it MUST send a
| _NET_ACTIVE_WINDOW client message to the root window:
Could it be that when restoring the session firefox acts as if
each tab were a different window?
In the WM code the event is handled as follows:
| wwin = wWindowFor(event->window);
| if (!wwin)
| return False;
|
| if (event->message_type == net_active_window) {
| wNETWMShowingDesktop(scr, False);
| wMakeWindowVisible(wwin);
I guess the original problem could be solved by simply ignoring
the request if (how to find out?) the window to focus is not in
the current workspace.
What do you think?
M'bert
--
----------- / http://herbert.the-little-red-haired-girl.org / -------------
=+=
In my glass coffin I am waiting
--
To unsubscribe, send mail to [email protected].