mirror of
https://github.com/0intro/wmii
synced 2024-11-21 21:31:33 +03:00
Don't focus dock or splash windows except via EWMH ACTIVE_WINDOW requests.
This commit is contained in:
parent
f70a4130bd
commit
8c5e6b9eb9
@ -475,7 +475,9 @@ focus(Client *c, bool user) {
|
||||
View *v;
|
||||
Frame *f;
|
||||
|
||||
USED(user);
|
||||
if(!user && c->nofocus)
|
||||
return;
|
||||
|
||||
f = c->sel;
|
||||
if(!f)
|
||||
return;
|
||||
|
@ -161,6 +161,7 @@ struct Client {
|
||||
bool urgent;
|
||||
bool borderless;
|
||||
bool titleless;
|
||||
bool nofocus;
|
||||
bool noinput;
|
||||
};
|
||||
|
||||
|
@ -242,9 +242,11 @@ ewmh_getwintype(Client *c) {
|
||||
|
||||
c->w.ewmh.type = mask;
|
||||
if(mask & (TypeDock|TypeMenu|TypeToolbar)) {
|
||||
c->borderless = 1;
|
||||
c->titleless = 1;
|
||||
c->borderless = true;
|
||||
c->titleless = true;
|
||||
}
|
||||
if(mask & (TypeSplash|TypeDock))
|
||||
c->nofocus = true;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -90,7 +90,7 @@ void client_seturgent(Client*, int, int);
|
||||
void client_setviews(Client*, char**);
|
||||
void client_unmap(Client*, int state);
|
||||
Frame* client_viewframe(Client *c, View *v);
|
||||
void focus(Client*, bool restack);
|
||||
void focus(Client*, bool user);
|
||||
void fullscreen(Client*, int, long);
|
||||
Client* group_leader(Group*);
|
||||
int map_frame(Client*);
|
||||
|
@ -221,7 +221,6 @@ enter_event(Window *w, void *aux, XCrossingEvent *e) {
|
||||
ignoreenter == e->serial ? " (ignored)" : "");
|
||||
if(e->detail != NotifyInferior)
|
||||
if(e->serial != ignoreenter && (f->area->floating || !f->collapsed))
|
||||
if(!(c->w.ewmh.type & TypeSplash))
|
||||
focus(f->client, false);
|
||||
}
|
||||
mouse_checkresize(f, Pt(e->x, e->y), false);
|
||||
|
Loading…
Reference in New Issue
Block a user