make it possible to cycle through the windows when non are selected.
(eg. when they're hidden, now you can cycle through them) from aon@iki.fi
This commit is contained in:
parent
a60196d67f
commit
f1ac24d0ea
@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2004 Marius Aamodt Eriksen <marius@monkey.org>
|
* Copyright (c) 2004 Marius Aamodt Eriksen <marius@monkey.org>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* $Id: calmwm.h,v 1.5 2007/05/28 18:34:27 jasper Exp $
|
* $Id: calmwm.h,v 1.6 2007/06/05 19:03:20 jasper Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CALMWM_H_
|
#ifndef _CALMWM_H_
|
||||||
@ -320,7 +320,7 @@ u_long client_bg_pixel(struct client_ctx *);
|
|||||||
Pixmap client_bg_pixmap(struct client_ctx *);
|
Pixmap client_bg_pixmap(struct client_ctx *);
|
||||||
void client_map(struct client_ctx *cc);
|
void client_map(struct client_ctx *cc);
|
||||||
void client_mtf(struct client_ctx *cc);
|
void client_mtf(struct client_ctx *cc);
|
||||||
struct client_ctx *client_cyclenext(struct client_ctx *cc, int reverse);
|
struct client_ctx *client_cyclenext(int reverse);
|
||||||
void client_cycleinfo(struct client_ctx *cc);
|
void client_cycleinfo(struct client_ctx *cc);
|
||||||
void client_altrelease();
|
void client_altrelease();
|
||||||
struct client_ctx *client_mrunext(struct client_ctx *cc);
|
struct client_ctx *client_mrunext(struct client_ctx *cc);
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2004 Marius Aamodt Eriksen <marius@monkey.org>
|
* Copyright (c) 2004 Marius Aamodt Eriksen <marius@monkey.org>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* $Id: client.c,v 1.4 2007/05/29 22:38:44 jasper Exp $
|
* $Id: client.c,v 1.5 2007/06/05 19:03:20 jasper Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "headers.h"
|
#include "headers.h"
|
||||||
@ -604,14 +604,23 @@ match:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
struct client_ctx *
|
struct client_ctx *
|
||||||
client_cyclenext(struct client_ctx *cc, int reverse)
|
client_cyclenext(int reverse)
|
||||||
{
|
{
|
||||||
struct screen_ctx *sc = CCTOSC(cc);
|
struct screen_ctx *sc;
|
||||||
|
struct client_ctx *cc;
|
||||||
struct client_ctx *(*iter)(struct client_ctx *) =
|
struct client_ctx *(*iter)(struct client_ctx *) =
|
||||||
reverse ? &client_mruprev : &client_mrunext;
|
reverse ? &client_mruprev : &client_mrunext;
|
||||||
|
|
||||||
/* TODO: maybe this should just be a CIRCLEQ. */
|
/* TODO: maybe this should just be a CIRCLEQ. */
|
||||||
|
|
||||||
|
if (!(cc = _curcc)) {
|
||||||
|
if (TAILQ_EMPTY(&Clientq))
|
||||||
|
return(NULL);
|
||||||
|
cc = TAILQ_FIRST(&Clientq);
|
||||||
|
}
|
||||||
|
|
||||||
|
sc = CCTOSC(cc);
|
||||||
|
|
||||||
/* if altheld; then reset the iterator to the beginning */
|
/* if altheld; then reset the iterator to the beginning */
|
||||||
if (!sc->altpersist || sc->cycle_client == NULL)
|
if (!sc->altpersist || sc->cycle_client == NULL)
|
||||||
sc->cycle_client = TAILQ_FIRST(&sc->mruq);
|
sc->cycle_client = TAILQ_FIRST(&sc->mruq);
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2004 Marius Aamodt Eriksen <marius@monkey.org>
|
* Copyright (c) 2004 Marius Aamodt Eriksen <marius@monkey.org>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* $Id: conf.c,v 1.5 2007/05/28 21:11:39 jasper Exp $
|
* $Id: conf.c,v 1.6 2007/06/05 19:03:20 jasper Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "headers.h"
|
#include "headers.h"
|
||||||
@ -199,9 +199,9 @@ conf_setup(struct conf *c)
|
|||||||
conf_bindkey(c, kbfunc_menu_search,
|
conf_bindkey(c, kbfunc_menu_search,
|
||||||
XK_slash, ControlMask, 0, 0);
|
XK_slash, ControlMask, 0, 0);
|
||||||
conf_bindkey(c, kbfunc_client_cycle,
|
conf_bindkey(c, kbfunc_client_cycle,
|
||||||
XK_Tab, Mod1Mask, KBFLAG_NEEDCLIENT, 0);
|
XK_Tab, Mod1Mask, 0, 0);
|
||||||
conf_bindkey(c, kbfunc_client_rcycle,
|
conf_bindkey(c, kbfunc_client_rcycle,
|
||||||
XK_Tab, Mod1Mask|ShiftMask, KBFLAG_NEEDCLIENT, 0);
|
XK_Tab, Mod1Mask|ShiftMask, 0, 0);
|
||||||
conf_bindkey(c, kbfunc_client_label, XK_l,
|
conf_bindkey(c, kbfunc_client_label, XK_l,
|
||||||
ControlMask|Mod1Mask, KBFLAG_NEEDCLIENT, 0);
|
ControlMask|Mod1Mask, KBFLAG_NEEDCLIENT, 0);
|
||||||
conf_bindkey(c, kbfunc_client_delete, XK_x,
|
conf_bindkey(c, kbfunc_client_delete, XK_x,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2004 Martin Murray <mmurray@monkey.org>
|
* Copyright (c) 2004 Martin Murray <mmurray@monkey.org>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* $Id: kbfunc.c,v 1.3 2007/05/28 18:34:27 jasper Exp $
|
* $Id: kbfunc.c,v 1.4 2007/06/05 19:03:20 jasper Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "headers.h"
|
#include "headers.h"
|
||||||
@ -85,15 +85,15 @@ kbfunc_menu_search(struct client_ctx *scratch, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_cycle(struct client_ctx *cc, void *arg)
|
kbfunc_client_cycle(struct client_ctx *scratch, void *arg)
|
||||||
{
|
{
|
||||||
client_cyclenext(cc, 0);
|
client_cyclenext(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_rcycle(struct client_ctx *cc, void *arg)
|
kbfunc_client_rcycle(struct client_ctx *scratch, void *arg)
|
||||||
{
|
{
|
||||||
client_cyclenext(cc, 1);
|
client_cyclenext(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user