Allow cwm(1) to cycle through windows of the same window class as the
active window; default key binding to M-grave, respectively Alt-Tilde, like other window managers have as well. from Simon Dassowmaster
parent
508791166c
commit
cd47a6bf03
|
@ -15,7 +15,7 @@
|
|||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $OpenBSD: calmwm.h,v 1.378 2022/02/26 15:19:18 okan Exp $
|
||||
* $OpenBSD: calmwm.h,v 1.379 2023/07/20 14:39:34 okan Exp $
|
||||
*/
|
||||
|
||||
#ifndef _CALMWM_H_
|
||||
|
@ -67,6 +67,7 @@
|
|||
#define CWM_CYCLE_FORWARD 0x0001
|
||||
#define CWM_CYCLE_REVERSE 0x0002
|
||||
#define CWM_CYCLE_INGROUP 0x0004
|
||||
#define CWM_CYCLE_INCLASS 0x0008
|
||||
|
||||
enum cwm_status {
|
||||
CWM_QUIT,
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $OpenBSD: conf.c,v 1.255 2022/02/26 15:19:18 okan Exp $
|
||||
* $OpenBSD: conf.c,v 1.256 2023/07/20 14:39:34 okan Exp $
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -136,6 +136,10 @@ static const struct {
|
|||
(CWM_CYCLE_FORWARD | CWM_CYCLE_INGROUP)) },
|
||||
{ FUNC_SC(window-rcycle-ingroup, client_cycle,
|
||||
(CWM_CYCLE_REVERSE | CWM_CYCLE_INGROUP)) },
|
||||
{ FUNC_SC(window-cycle-inclass, client_cycle,
|
||||
(CWM_CYCLE_FORWARD | CWM_CYCLE_INCLASS)) },
|
||||
{ FUNC_SC(window-rcycle-inclass, client_cycle,
|
||||
(CWM_CYCLE_REVERSE | CWM_CYCLE_INCLASS)) },
|
||||
|
||||
{ FUNC_SC(group-cycle, group_cycle, (CWM_CYCLE_FORWARD)) },
|
||||
{ FUNC_SC(group-rcycle, group_cycle, (CWM_CYCLE_REVERSE)) },
|
||||
|
@ -220,6 +224,8 @@ static const struct {
|
|||
{ "C-slash", "menu-cmd" },
|
||||
{ "M-Tab", "window-cycle" },
|
||||
{ "MS-Tab", "window-rcycle" },
|
||||
{ "M-grave", "window-cycle-inclass" },
|
||||
{ "MS-grave", "window-rcycle-inclass" },
|
||||
{ "CM-n", "window-menu-label" },
|
||||
{ "CM-x", "window-close" },
|
||||
{ "CM-a", "group-toggle-all" },
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: cwm.1,v 1.65 2019/07/09 21:38:44 kn Exp $
|
||||
.\" $OpenBSD: cwm.1,v 1.66 2023/07/20 14:39:34 okan Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
|
||||
.\"
|
||||
|
@ -14,7 +14,7 @@
|
|||
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.Dd $Mdocdate: July 9 2019 $
|
||||
.Dd $Mdocdate: July 20 2023 $
|
||||
.Dt CWM 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -102,6 +102,10 @@ Label current window.
|
|||
Cycle through currently visible windows.
|
||||
.It Ic MS-Tab
|
||||
Reverse cycle through currently visible windows.
|
||||
.It Ic M-grave
|
||||
Cycle through currently visible windows of the same window class.
|
||||
.It Ic MS-grave
|
||||
Reverse cycle through currently visible windows of the same window class.
|
||||
.It Ic CM-x
|
||||
Close current window.
|
||||
.It Ic CM-[n]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: cwmrc.5,v 1.77 2022/01/27 18:45:10 op Exp $
|
||||
.\" $OpenBSD: cwmrc.5,v 1.78 2023/07/20 14:39:34 okan Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
|
||||
.\"
|
||||
|
@ -14,7 +14,7 @@
|
|||
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.Dd $Mdocdate: January 27 2022 $
|
||||
.Dd $Mdocdate: July 20 2023 $
|
||||
.Dt CWMRC 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -295,6 +295,10 @@ Reverse cycle through windows.
|
|||
Forward cycle through windows in current group.
|
||||
.It window-rcycle-ingroup
|
||||
Reverse cycle through windows in current group.
|
||||
.It window-cycle-inclass
|
||||
Forward cycle through windows of the current window class.
|
||||
.It window-rcycle-inclass
|
||||
Reverse cycle through windows of the current window class.
|
||||
.It window-close
|
||||
Close current window.
|
||||
.It window-hide
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $OpenBSD: kbfunc.c,v 1.173 2022/02/27 14:59:55 okan Exp $
|
||||
* $OpenBSD: kbfunc.c,v 1.174 2023/07/20 14:39:34 okan Exp $
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -430,7 +430,9 @@ kbfunc_client_cycle(void *ctx, struct cargs *cargs)
|
|||
/* Only cycle visible and non-ignored windows. */
|
||||
if ((newcc->flags & (CLIENT_SKIP_CYCLE)) ||
|
||||
((flags & CWM_CYCLE_INGROUP) &&
|
||||
(newcc->gc != oldcc->gc)))
|
||||
(newcc->gc != oldcc->gc)) ||
|
||||
((flags & CWM_CYCLE_INCLASS) &&
|
||||
strcmp(newcc->res_class, oldcc->res_class) != 0))
|
||||
again = 1;
|
||||
|
||||
/* Is oldcc the only non-hidden window? */
|
||||
|
|
Loading…
Reference in New Issue