Hi!

I am new to awesome and I have some difficulties to understand focus
policy. My ideal focus policy would be to switch to focus, raise (and
switch to tag) for a window I have explicitely asked. Of course, awesome
has no idea if a window comes from my action or from some unwanted
action.

My main problem is that I currently does not understand the current
focus policy. The only thing I have is a sloppy focus thing on
"mouse::enter". This one works fine.

If I open a new term with "Mod-Enter", it can get focus or not. I am
using the awful.client.setslave callback. I suspect that new master
window always get focus but the rule does not apply for slave
windows. If that's the case, I just have to add a rule to let a terminal
window always get focus.

When an application popups a modal dialog, I would like for it to have
focus if the original window has focus. Is that possible? It seems that
currently, if the application is on the same screen, it gets
focus whenever the original window has focus. That's annoying. I'd like
to avoid my focus being stolen when I am typing on a terminal.

I think of the following rule for a new window to get focus (order
important) :

 1. If a new window has no leader, give it focus (I think such a rule
    would allow to give focus) (and switch to it if it is on a non
    visible tag).
 2. If a new window appear on a not visible tag, set urgent hint but
    never gives focus.
 3. If a new window has the same leader than the window that currently
    has focus, give it focus.
 4. For other cases, set urgent hint and don't give focus.

Has someone already implemented something like this? Is the window
leader thing reliable? Would an application which opens a new window
always have a window leader?
-- 
panic("aha1740.c"); /* Goodbye */
        2.2.16 /usr/src/linux/drivers/scsi/aha1740.c

-- 
To unsubscribe, send mail to [email protected].

Reply via email to