num--, args++;
if (num < 1)
return MSG_SYNTAX;
- put_status(SBSC_MASK_DESKTOP_RENAME, "desktop_rename %s %s\n", trg.desktop->name, *args);
+ put_status(SBSC_MASK_DESKTOP_RENAME, "desktop_rename %s %s %s\n", trg.monitor->name, trg.desktop->name, *args);
snprintf(trg.desktop->name, sizeof(trg.desktop->name), "%s", *args);
ewmh_update_desktop_names();
put_status(SBSC_MASK_REPORT);
return MSG_SYNTAX;
desktop_t *d = trg.monitor->desk_head;
while (num > 0 && d != NULL) {
+ put_status(SBSC_MASK_DESKTOP_RENAME, "desktop_rename %s %s %s\n", trg.monitor->name, d->name, *args);
snprintf(d->name, sizeof(d->name), "%s", *args);
initialize_desktop(d);
arrange(trg.monitor, d);
#undef MONDESKSET
#define SETSTR(s) \
} else if (streq(#s, name)) { \
- return snprintf(s, sizeof(s), "%s", value) >= 0;
+ if (snprintf(s, sizeof(s), "%s", value) < 0) \
+ return MSG_FAILURE;
SETSTR(external_rules_command)
SETSTR(status_prefix)
#undef SETSTR
bool b;
if (parse_bool(value, &b) && b != focus_follows_pointer) {
focus_follows_pointer = b;
- for (monitor_t *m = mon_head; m != NULL; m = m->next)
- for (desktop_t *d = m->desk_head; d != NULL; d = d->next)
+ uint32_t values[] = {CLIENT_EVENT_MASK | (focus_follows_pointer ? XCB_EVENT_MASK_ENTER_WINDOW : 0)};
+ for (monitor_t *m = mon_head; m != NULL; m = m->next) {
+ for (desktop_t *d = m->desk_head; d != NULL; d = d->next) {
for (node_t *n = first_extrema(d->root); n != NULL; n = next_leaf(n, d->root)) {
- uint32_t values[] = {CLIENT_EVENT_MASK | (focus_follows_pointer ? XCB_EVENT_MASK_ENTER_WINDOW : 0)};
xcb_change_window_attributes(dpy, n->client->window, XCB_CW_EVENT_MASK, values);
}
+ }
+ }
if (focus_follows_pointer) {
- for (monitor_t *m = mon_head; m != NULL; m = m->next)
+ for (monitor_t *m = mon_head; m != NULL; m = m->next) {
window_show(m->root);
- enable_motion_recorder();
+ }
} else {
- for (monitor_t *m = mon_head; m != NULL; m = m->next)
+ for (monitor_t *m = mon_head; m != NULL; m = m->next) {
window_hide(m->root);
+ }
disable_motion_recorder();
}
return MSG_SUCCESS;
return MSG_FAILURE;
SETBOOL(borderless_monocle)
SETBOOL(gapless_monocle)
+ SETBOOL(leaf_monocle)
SETBOOL(pointer_follows_focus)
SETBOOL(pointer_follows_monitor)
SETBOOL(apply_floating_atom)
fprintf(rsp, "%s", BOOLSTR(s));
GETBOOL(borderless_monocle)
GETBOOL(gapless_monocle)
+ GETBOOL(leaf_monocle)
GETBOOL(focus_follows_pointer)
GETBOOL(pointer_follows_focus)
GETBOOL(pointer_follows_monitor)
*mask = SBSC_MASK_WINDOW_MANAGE;
} else if (streq("window_unmanage", s)) {
*mask = SBSC_MASK_WINDOW_UNMANAGE;
- } else if (streq("window_urgent", s)) {
- *mask = SBSC_MASK_WINDOW_URGENT;
- } else if (streq("window_fullscreen", s)) {
- *mask = SBSC_MASK_WINDOW_FULLSCREEN;
+ } else if (streq("window_swap", s)) {
+ *mask = SBSC_MASK_WINDOW_SWAP;
+ } else if (streq("window_transfer", s)) {
+ *mask = SBSC_MASK_WINDOW_TRANSFER;
+ } else if (streq("window_focus", s)) {
+ *mask = SBSC_MASK_WINDOW_FOCUS;
+ } else if (streq("window_resize", s)) {
+ *mask = SBSC_MASK_WINDOW_RESIZE;
+ } else if (streq("window_move", s)) {
+ *mask = SBSC_MASK_WINDOW_MOVE;
+ } else if (streq("window_state", s)) {
+ *mask = SBSC_MASK_WINDOW_STATE;
} else if (streq("desktop_add", s)) {
*mask = SBSC_MASK_DESKTOP_ADD;
} else if (streq("desktop_rename", s)) {
*mask = SBSC_MASK_DESKTOP_RENAME;
} else if (streq("desktop_remove", s)) {
*mask = SBSC_MASK_DESKTOP_REMOVE;
+ } else if (streq("desktop_swap", s)) {
+ *mask = SBSC_MASK_DESKTOP_SWAP;
+ } else if (streq("desktop_transfer", s)) {
+ *mask = SBSC_MASK_DESKTOP_TRANSFER;
+ } else if (streq("desktop_focus", s)) {
+ *mask = SBSC_MASK_DESKTOP_FOCUS;
+ } else if (streq("desktop_layout", s)) {
+ *mask = SBSC_MASK_DESKTOP_LAYOUT;
+ } else if (streq("desktop_state", s)) {
+ *mask = SBSC_MASK_DESKTOP_STATE;
} else if (streq("monitor_add", s)) {
*mask = SBSC_MASK_MONITOR_ADD;
} else if (streq("monitor_rename", s)) {
*mask = SBSC_MASK_MONITOR_RENAME;
} else if (streq("monitor_remove", s)) {
*mask = SBSC_MASK_MONITOR_REMOVE;
+ } else if (streq("monitor_focus", s)) {
+ *mask = SBSC_MASK_MONITOR_FOCUS;
+ } else if (streq("monitor_resize", s)) {
+ *mask = SBSC_MASK_MONITOR_RESIZE;
} else if (streq("report", s)) {
*mask = SBSC_MASK_REPORT;
} else {