mirror of
https://github.com/vale981/bspwm
synced 2025-03-04 17:31:39 -05:00
Don't store the split direction's csq as a string
This commit is contained in:
parent
7d5f0a6acc
commit
7313b01fcc
4 changed files with 16 additions and 8 deletions
|
@ -438,7 +438,7 @@ void print_rule_consequence(char **buf, rule_consequence_t *csq)
|
||||||
csq->monitor_desc, csq->desktop_desc, csq->node_desc,
|
csq->monitor_desc, csq->desktop_desc, csq->node_desc,
|
||||||
csq->state == NULL ? "" : STATE_STR(*csq->state),
|
csq->state == NULL ? "" : STATE_STR(*csq->state),
|
||||||
csq->layer == NULL ? "" : LAYER_STR(*csq->layer),
|
csq->layer == NULL ? "" : LAYER_STR(*csq->layer),
|
||||||
csq->split_dir, csq->split_ratio,
|
csq->split_dir == NULL ? "" : SPLIT_DIR_STR(*csq->split_dir), csq->split_ratio,
|
||||||
ON_OFF_STR(csq->hidden), ON_OFF_STR(csq->sticky), ON_OFF_STR(csq->private),
|
ON_OFF_STR(csq->hidden), ON_OFF_STR(csq->sticky), ON_OFF_STR(csq->private),
|
||||||
ON_OFF_STR(csq->locked), ON_OFF_STR(csq->marked), ON_OFF_STR(csq->center), ON_OFF_STR(csq->follow),
|
ON_OFF_STR(csq->locked), ON_OFF_STR(csq->marked), ON_OFF_STR(csq->center), ON_OFF_STR(csq->follow),
|
||||||
ON_OFF_STR(csq->manage), ON_OFF_STR(csq->focus), ON_OFF_STR(csq->border), rect_buf);
|
ON_OFF_STR(csq->manage), ON_OFF_STR(csq->focus), ON_OFF_STR(csq->border), rect_buf);
|
||||||
|
|
13
src/rule.c
13
src/rule.c
|
@ -192,6 +192,14 @@ event_queue_t *make_event_queue(xcb_generic_event_t *evt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define SET_CSQ_SPLIT_DIR(val) \
|
||||||
|
do { \
|
||||||
|
if (csq->split_dir == NULL) { \
|
||||||
|
csq->split_dir = calloc(1, sizeof(direction_t)); \
|
||||||
|
} \
|
||||||
|
*(csq->split_dir) = (val); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define SET_CSQ_STATE(val) \
|
#define SET_CSQ_STATE(val) \
|
||||||
do { \
|
do { \
|
||||||
if (csq->state == NULL) { \
|
if (csq->state == NULL) { \
|
||||||
|
@ -386,7 +394,10 @@ void parse_key_value(char *key, char *value, rule_consequence_t *csq)
|
||||||
} else if (streq("node", key)) {
|
} else if (streq("node", key)) {
|
||||||
snprintf(csq->node_desc, sizeof(csq->node_desc), "%s", value);
|
snprintf(csq->node_desc, sizeof(csq->node_desc), "%s", value);
|
||||||
} else if (streq("split_dir", key)) {
|
} else if (streq("split_dir", key)) {
|
||||||
snprintf(csq->split_dir, sizeof(csq->split_dir), "%s", value);
|
direction_t dir;
|
||||||
|
if (parse_direction(value, &dir)) {
|
||||||
|
SET_CSQ_SPLIT_DIR(dir);
|
||||||
|
}
|
||||||
} else if (streq("state", key)) {
|
} else if (streq("state", key)) {
|
||||||
client_state_t cst;
|
client_state_t cst;
|
||||||
if (parse_client_state(value, &cst)) {
|
if (parse_client_state(value, &cst)) {
|
||||||
|
|
|
@ -356,7 +356,7 @@ typedef struct {
|
||||||
char monitor_desc[MAXLEN];
|
char monitor_desc[MAXLEN];
|
||||||
char desktop_desc[MAXLEN];
|
char desktop_desc[MAXLEN];
|
||||||
char node_desc[MAXLEN];
|
char node_desc[MAXLEN];
|
||||||
char split_dir[SMALEN];
|
direction_t *split_dir;
|
||||||
double split_ratio;
|
double split_ratio;
|
||||||
stack_layer_t *layer;
|
stack_layer_t *layer;
|
||||||
client_state_t *state;
|
client_state_t *state;
|
||||||
|
|
|
@ -124,11 +124,8 @@ bool manage_window(xcb_window_t win, rule_consequence_t *csq, int fd)
|
||||||
f = mon->desk->focus;
|
f = mon->desk->focus;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (csq->split_dir[0] != '\0' && f != NULL) {
|
if (csq->split_dir != NULL && f != NULL) {
|
||||||
direction_t dir;
|
presel_dir(m, d, f, *csq->split_dir);
|
||||||
if (parse_direction(csq->split_dir, &dir)) {
|
|
||||||
presel_dir(m, d, f, dir);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (csq->split_ratio != 0 && f != NULL) {
|
if (csq->split_ratio != 0 && f != NULL) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue