xcb_ungrab_key(conn, XCB_GRAB_ANY, root, XCB_BUTTON_MASK_ANY);
}
-/*
- * Switches the key bindings to the given mode, if the mode exists
- *
- */
-void switch_mode(const char *new_mode) {
- struct Mode *mode;
-
- LOG("Switching to mode %s\n", new_mode);
-
- SLIST_FOREACH(mode, &modes, modes) {
- if (strcasecmp(mode->name, new_mode) != 0)
- continue;
-
- ungrab_all_keys(conn);
- bindings = mode->bindings;
- translate_keysyms();
- grab_all_keys(conn, false);
-
- char *event_msg;
- sasprintf(&event_msg, "{\"change\":\"%s\"}", mode->name);
-
- ipc_send_event("mode", I3_IPC_EVENT_MODE, event_msg);
- FREE(event_msg);
-
- return;
- }
-
- ELOG("ERROR: Mode not found\n");
-}
-
/*
* Sends the current bar configuration as an event to all barconfig_update listeners.
- * This update mechnism currently only includes the hidden_state and the mode in the config.
*
*/
void update_barconfig() {
Barconfig *current;
TAILQ_FOREACH(current, &barconfigs, configs) {
- /* Build json message */
- char *hidden_state;
- switch (current->hidden_state) {
- case S_SHOW:
- hidden_state ="show";
- break;
- case S_HIDE:
- default:
- hidden_state = "hide";
- break;
- }
-
- char *mode;
- switch (current->mode) {
- case M_HIDE:
- mode ="hide";
- break;
- case M_INVISIBLE:
- mode ="invisible";
- break;
- case M_DOCK:
- default:
- mode = "dock";
- break;
- }
-
- /* Send an event to all barconfig listeners*/
- char *event_msg;
- sasprintf(&event_msg, "{ \"id\":\"%s\", \"hidden_state\":\"%s\", \"mode\":\"%s\" }", current->id, hidden_state, mode);
-
- ipc_send_event("barconfig_update", I3_IPC_EVENT_BARCONFIG_UPDATE, event_msg);
- FREE(event_msg);
+ ipc_send_barconfig_update_event(current);
}
}
config.default_border = BS_NORMAL;
config.default_floating_border = BS_NORMAL;
- config.default_border_width = 2;
+ config.default_border_width = logical_px(2);
+ config.default_floating_border_width = logical_px(2);
/* Set default_orientation to NO_ORIENTATION for auto orientation. */
config.default_orientation = NO_ORIENTATION;