| Date: Thu, 18 Feb 2010 22:34:37 -0800
rio: add alt-tab for cycling windows
R=rsc
CC=codebot
http://codereview.appspot.com/207093
Diffstat:
M src/cmd/rio/client.c | 12 ++++++------
M src/cmd/rio/key.c | 7 ++++---
2 files changed, 10 insertions(+), 9 deletions(-)
--- |
| t@@ -257,15 +257,15 @@ shuffle(int up)
if(clients == 0 || clients->next == 0)
return;
- if(up){
+ if(!up){
+ c = 0;
/*for(c=clients; c->next; c=c->next) */
/* ; */
for(l=&clients; (*l)->next; l=&(*l)->next)
- ;
- c = *l;
- *l = 0;
- c->next = clients;
- clients = c;
+ if ((*l)->state == 1)
+ c = *l;
+ if (c == 0)
+ return;
XMapRaised(dpy, c->parent);
top(c);
active(c); |
| t@@ -17,7 +17,7 @@ enum
GrabAltAny
};
-static int tabcode = 0x17;
+/*static int tabcode = 0x17; */
/*static int altcode = 0x40; */
/*static int pgupcode = 0x63; */
/*static int pgdowncode = 0x69; */
t@@ -28,6 +28,7 @@ void
keysetup(void)
{
int i;
+ int tabcode = XKeysymToKeycode(dpy, XK_Tab);
for(i=0; ikeycode == tabcode)
+ int tabcode = XKeysymToKeycode(dpy, XK_Tab);
+ if(e->keycode == tabcode && (e->state&Mod1Mask) == (1<<3))
alttab(e->state&ShiftMask);
XAllowEvents(dpy, SyncKeyboard, e->time);
} |