improved focus handling

This commit is contained in:
Enno Boland (tox) 2010-02-16 19:53:03 +01:00
parent c6be3a7d9f
commit 13e3aca1cb
2 changed files with 9 additions and 3 deletions

View File

@ -11,6 +11,7 @@ static const Bool foreground = False;
#define MODKEY ControlMask
static Key keys[] = { \
/* modifier key function argument */
{ MODKEY|ShiftMask, XK_Return, focusonce, { 0 } },
{ MODKEY|ShiftMask, XK_Return, spawn, { .v = (char*[]){ "surf", "-e", winid, NULL} } },
{ MODKEY|ShiftMask, XK_l, rotate, { .i = +1 } },
{ MODKEY|ShiftMask, XK_h, rotate, { .i = -1 } },

View File

@ -399,7 +399,6 @@ focus(Client *c) {
XStoreName(dpy, win, c->name);
if(sel != c) {
lastsel = sel;
puts("set");
}
sel = c;
drawbar();
@ -605,6 +604,8 @@ manage(Window w) {
XSync(dpy, False);
focus(nextfocus ? c : sel);
nextfocus = foreground;
if(!lastsel)
lastsel = c;
}
}
@ -794,9 +795,13 @@ unmanage(Client *c) {
pc->next = c->next;
}
if(c == lastsel)
lastsel = pc;
focus(lastsel);
lastsel = clients;
if(c == sel) {
sel = pc;
focus(lastsel);
}
free(c);
drawbar();
XSync(dpy, False);
}