Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/desktop.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ desktop_t *make_desktop(const char *name, uint32_t id)
d->user_layout = LAYOUT_TILED;
d->layout = single_monocle ? LAYOUT_MONOCLE : LAYOUT_TILED;
d->padding = (padding_t) PADDING;
d->monocle_padding = (padding_t) MONOCLE_PADDING;
d->window_gap = window_gap;
d->border_width = border_width;
return d;
Expand Down
33 changes: 22 additions & 11 deletions src/messages.c
Original file line number Diff line number Diff line change
Expand Up @@ -1558,24 +1558,35 @@ void set_setting(coordinates_t loc, char *name, char *value, FILE *rsp)
fail(rsp, "config: %s: Invalid value: '%s'.\n", name, value);
return;
}
SET_DEF_MON_DESK(padding.left, lp)
#undef SET_DEF_MON_DESK
} else if (streq("top_monocle_padding", name)) {
if (sscanf(value, "%i", &monocle_padding.top) != 1) {
int tp;
if (sscanf(value, "%i", &tp) != 1) {
fail(rsp, "config: %s: Invalid value: '%s'.\n", name, value);
return;
}
SET_DEF_MON_DESK(monocle_padding.top, tp)
} else if (streq("right_monocle_padding", name)) {
if (sscanf(value, "%i", &monocle_padding.right) != 1) {
int rp;
if (sscanf(value, "%i", &rp) != 1) {
fail(rsp, "config: %s: Invalid value: '%s'.\n", name, value);
return;
}
SET_DEF_MON_DESK(monocle_padding.right, rp)
} else if (streq("bottom_monocle_padding", name)) {
if (sscanf(value, "%i", &monocle_padding.bottom) != 1) {
int bp;
if (sscanf(value, "%i", &bp) != 1) {
fail(rsp, "config: %s: Invalid value: '%s'.\n", name, value);
return;
}
SET_DEF_MON_DESK(monocle_padding.bottom, bp)
} else if (streq("left_monocle_padding", name)) {
if (sscanf(value, "%i", &monocle_padding.left) != 1) {
int lp;
if (sscanf(value, "%i", &lp) != 1) {
fail(rsp, "config: %s: Invalid value: '%s'.\n", name, value);
return;
}
SET_DEF_MON_DESK(monocle_padding.left, lp)
#undef SET_DEF_MON_DESK
#define SET_STR(s) \
} else if (streq(#s, name)) { \
if (snprintf(s, sizeof(s), "%s", value) < 0) { \
Expand Down Expand Up @@ -1813,15 +1824,15 @@ void get_setting(coordinates_t loc, char *name, FILE* rsp)
GET_DEF_MON_DESK(padding.bottom)
} else if (streq("left_padding", name)) {
GET_DEF_MON_DESK(padding.left)
#undef GET_DEF_MON_DESK
} else if (streq("top_monocle_padding", name)) {
fprintf(rsp, "%i", monocle_padding.top);
GET_DEF_MON_DESK(monocle_padding.top)
} else if (streq("right_monocle_padding", name)) {
fprintf(rsp, "%i", monocle_padding.right);
GET_DEF_MON_DESK(monocle_padding.right)
} else if (streq("bottom_monocle_padding", name)) {
fprintf(rsp, "%i", monocle_padding.bottom);
GET_DEF_MON_DESK(monocle_padding.bottom)
} else if (streq("left_monocle_padding", name)) {
fprintf(rsp, "%i", monocle_padding.left);
GET_DEF_MON_DESK(monocle_padding.left)
#undef GET_DEF_MON_DESK
} else if (streq("external_rules_command", name)) {
fprintf(rsp, "%s", external_rules_command);
} else if (streq("status_prefix", name)) {
Expand Down
1 change: 1 addition & 0 deletions src/monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ monitor_t *make_monitor(const char *name, xcb_rectangle_t *rect, uint32_t id)
m->randr_id = XCB_NONE;
snprintf(m->name, sizeof(m->name), "%s", name == NULL ? DEFAULT_MON_NAME : name);
m->padding = padding;
m->monocle_padding = monocle_padding;
m->border_width = border_width;
m->window_gap = window_gap;
m->root = XCB_NONE;
Expand Down
8 changes: 4 additions & 4 deletions src/tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ void arrange(monitor_t *m, desktop_t *d)
rect.height -= m->padding.top + d->padding.top + d->padding.bottom + m->padding.bottom;

if (d->layout == LAYOUT_MONOCLE) {
rect.x += monocle_padding.left;
rect.y += monocle_padding.top;
rect.width -= monocle_padding.left + monocle_padding.right;
rect.height -= monocle_padding.top + monocle_padding.bottom;
rect.x += m->monocle_padding.left + d->monocle_padding.left;
rect.y += m->monocle_padding.top + d->monocle_padding.top;
rect.width -= m->monocle_padding.left + d->monocle_padding.left + d->monocle_padding.right + m->monocle_padding.right;
rect.height -= m->monocle_padding.top + d->monocle_padding.top + d->monocle_padding.bottom + m->monocle_padding.bottom;
}

if (!gapless_monocle || d->layout != LAYOUT_MONOCLE) {
Expand Down
2 changes: 2 additions & 0 deletions src/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ struct desktop_t {
desktop_t *prev;
desktop_t *next;
padding_t padding;
padding_t monocle_padding;
int window_gap;
unsigned int border_width;
};
Expand All @@ -293,6 +294,7 @@ struct monitor_t {
xcb_window_t root;
bool wired;
padding_t padding;
padding_t monocle_padding;
unsigned int sticky_count;
int window_gap;
unsigned int border_width;
Expand Down