mirror of
https://github.com/vale981/bspwm
synced 2025-03-04 17:31:39 -05:00
Add node modifiers: horizontal
, vertical
This commit is contained in:
parent
331902cc05
commit
cf2d40772e
5 changed files with 39 additions and 3 deletions
14
doc/bspwm.1
14
doc/bspwm.1
|
@ -4,10 +4,10 @@
|
|||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 03/16/2020
|
||||
.\" Manual: Bspwm Manual
|
||||
.\" Source: Bspwm 0.9.9-6-g41b2de0
|
||||
.\" Source: Bspwm 0.9.9-7-gda1dc1d
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "BSPWM" "1" "03/16/2020" "Bspwm 0\&.9\&.9\-6\-g41b2de0" "Bspwm Manual"
|
||||
.TH "BSPWM" "1" "03/16/2020" "Bspwm 0\&.9\&.9\-7\-gda1dc1d" "Bspwm Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
@ -274,6 +274,16 @@ Only consider nodes in the reference desktop\&.
|
|||
Only consider leaf nodes\&.
|
||||
.RE
|
||||
.PP
|
||||
[!]horizontal
|
||||
.RS 4
|
||||
Only consider nodes whose split type is horizontal\&.
|
||||
.RE
|
||||
.PP
|
||||
[!]vertical
|
||||
.RS 4
|
||||
Only consider nodes whose split type is vertical\&.
|
||||
.RE
|
||||
.PP
|
||||
[!]window
|
||||
.RS 4
|
||||
Only consider nodes that hold a window\&.
|
||||
|
|
|
@ -174,6 +174,12 @@ Modifiers
|
|||
[!]leaf::
|
||||
Only consider leaf nodes.
|
||||
|
||||
[!]horizontal::
|
||||
Only consider nodes whose split type is horizontal.
|
||||
|
||||
[!]vertical::
|
||||
Only consider nodes whose split type is vertical.
|
||||
|
||||
[!]window::
|
||||
Only consider nodes that hold a window.
|
||||
|
||||
|
|
|
@ -542,6 +542,8 @@ bool parse_node_modifiers(char *desc, node_select_t *sel)
|
|||
GET_MOD(below)
|
||||
GET_MOD(normal)
|
||||
GET_MOD(above)
|
||||
GET_MOD(horizontal)
|
||||
GET_MOD(vertical)
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
18
src/query.c
18
src/query.c
|
@ -470,7 +470,9 @@ node_select_t make_node_select(void)
|
|||
.ancestor_of = OPTION_NONE,
|
||||
.below = OPTION_NONE,
|
||||
.normal = OPTION_NONE,
|
||||
.above = OPTION_NONE
|
||||
.above = OPTION_NONE,
|
||||
.horizontal = OPTION_NONE,
|
||||
.vertical = OPTION_NONE
|
||||
};
|
||||
return sel;
|
||||
}
|
||||
|
@ -1140,6 +1142,20 @@ bool node_matches(coordinates_t *loc, coordinates_t *ref, node_select_t *sel)
|
|||
WFLAG(urgent)
|
||||
#undef WFLAG
|
||||
|
||||
if (sel->horizontal != OPTION_NONE &&
|
||||
loc->node->split_type != TYPE_HORIZONTAL
|
||||
? sel->horizontal == OPTION_TRUE
|
||||
: sel->horizontal == OPTION_FALSE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (sel->vertical != OPTION_NONE &&
|
||||
loc->node->split_type != TYPE_VERTICAL
|
||||
? sel->vertical == OPTION_TRUE
|
||||
: sel->vertical == OPTION_FALSE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -183,6 +183,8 @@ typedef struct {
|
|||
option_bool_t below;
|
||||
option_bool_t normal;
|
||||
option_bool_t above;
|
||||
option_bool_t horizontal;
|
||||
option_bool_t vertical;
|
||||
} node_select_t;
|
||||
|
||||
typedef struct {
|
||||
|
|
Loading…
Add table
Reference in a new issue