*/
Con *con_next_focused(Con *con);
-/**
- * Get the next/previous container in the specified orientation. This may
- * travel up until it finds a container with suitable orientation.
- *
- */
-Con *con_get_next(Con *con, char way, orientation_t orientation);
-
/**
* Returns the focused con inside this client, descending the tree as far as
* possible. This comes in handy when attaching a con to a workspace at the
}
static void grab_keycode_for_binding(xcb_connection_t *conn, Binding *bind, uint32_t keycode) {
-/* Grab the key in all combinations */
+ /* Grab the key in all combinations */
#define GRAB_KEY(modifier) \
do { \
xcb_grab_key(conn, 0, root, modifier, keycode, XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC); \
goto done;
}
- if (in_stacked) {
- /* for stacked/tabbed cons, the resizing applies to the parent
- * container */
- con = con->parent;
- }
-
/* 7: floating modifier pressed, initiate a resize */
if (dest == CLICK_INSIDE && mod_pressed && event->detail == XCB_BUTTON_CLICK_RIGHT) {
if (floating_mod_on_tiled_client(con, event))
const double ppt = (double)resize_ppt / 100.0;
if (!cmd_resize_tiling_width_height(current_match, cmd_output,
current->con, direction,
- resize_px, ppt))
+ resize_px, ppt)) {
+ yerror("Cannot resize.");
return;
+ }
} else {
if (!cmd_resize_tiling_direction(current_match, cmd_output,
current->con, direction,
- resize_px, resize_ppt))
+ resize_px, resize_ppt)) {
+ yerror("Cannot resize.");
return;
+ }
}
}
}
void cmd_resize_set(I3_CMD, long cwidth, const char *mode_width, long cheight, const char *mode_height) {
DLOG("resizing to %ld %s x %ld %s\n", cwidth, mode_width, cheight, mode_height);
if (cwidth < 0 || cheight < 0) {
- ELOG("Resize failed: dimensions cannot be negative (was %ld %s x %ld %s)\n", cwidth, mode_width, cheight, mode_height);
+ yerror("Dimensions cannot be negative.");
return;
}
char *buf = NULL;
ssize_t len;
if ((len = slurp(path, &buf)) < 0) {
+ yerror("Could not slurp \"%s\".", path);
/* slurp already logged an error. */
goto out;
}
layout_t layout;
if (!layout_from_name(layout_str, &layout)) {
- ELOG("Unknown layout \"%s\", this is a mismatch between code and parser spec.\n", layout_str);
+ yerror("Unknown layout \"%s\", this is a mismatch between code and parser spec.", layout_str);
return;
}
if (*walk == '\0' || *walk == ',' || *walk == ';') {
next_state(token);
token_handled = true;
-/* To make sure we start with an appropriate matching
+ /* To make sure we start with an appropriate matching
* datastructure for commands which do *not* specify any
* criteria, we re-initialize the criteria system after
* every command. */
return next;
}
-/*
- * Get the next/previous container in the specified orientation. This may
- * travel up until it finds a container with suitable orientation.
- *
- */
-Con *con_get_next(Con *con, char way, orientation_t orientation) {
- DLOG("con_get_next(way=%c, orientation=%d)\n", way, orientation);
- /* 1: get the first parent with the same orientation */
- Con *cur = con;
- while (con_orientation(cur->parent) != orientation) {
- DLOG("need to go one level further up\n");
- if (cur->parent->type == CT_WORKSPACE) {
- LOG("that's a workspace, we can't go further up\n");
- return NULL;
- }
- cur = cur->parent;
- }
-
- /* 2: chose next (or previous) */
- Con *next;
- if (way == 'n') {
- next = TAILQ_NEXT(cur, nodes);
- /* if we are at the end of the list, we need to wrap */
- if (next == TAILQ_END(&(parent->nodes_head)))
- return NULL;
- } else {
- next = TAILQ_PREV(cur, nodes_head, nodes);
- /* if we are at the end of the list, we need to wrap */
- if (next == TAILQ_END(&(cur->nodes_head)))
- return NULL;
- }
- DLOG("next = %p\n", next);
-
- return next;
-}
-
/*
* Returns the focused con inside this client, descending the tree as far as
* possible. This comes in handy when attaching a con to a workspace at the
/* Clear the old config or initialize the data structure */
memset(&config, 0, sizeof(config));
-/* Initialize default colors */
+ /* Initialize default colors */
#define INIT_COLOR(x, cborder, cbackground, ctext, cindicator) \
do { \
x.border = draw_util_hex_to_color(cborder); \
if (*walk == '\0' || *walk == '\n' || *walk == '\r') {
next_state(token);
token_handled = true;
-/* To make sure we start with an appropriate matching
+ /* To make sure we start with an appropriate matching
* datastructure for commands which do *not* specify any
* criteria, we re-initialize the criteria system after
* every command. */
*/
void open_logbuffer(void) {
/* Reserve 1% of the RAM for the logfile, but at max 25 MiB.
- * For 512 MiB of RAM this will lead to a 5 MiB log buffer.
- * At the moment (2011-12-10), no testcase leads to an i3 log
- * of more than ~ 600 KiB. */
+ * For 512 MiB of RAM this will lead to a 5 MiB log buffer.
+ * At the moment (2011-12-10), no testcase leads to an i3 log
+ * of more than ~ 600 KiB. */
logbuffer_size = min(physical_mem_bytes * 0.01, shmlog_size);
#if defined(__FreeBSD__)
sasprintf(&shmlogname, "/tmp/i3-log-%d", getpid());
root_screen = xcb_aux_get_screen(conn, conn_screen);
root = root_screen->root;
-/* Place requests for the atoms we need as soon as possible */
+ /* Place requests for the atoms we need as soon as possible */
#define xmacro(atom) \
xcb_intern_atom_cookie_t atom##_cookie = xcb_intern_atom(conn, 0, strlen(#atom), #atom);
#include "atoms.xmacro"
xcb_get_geometry_cookie_t gcookie = xcb_get_geometry(conn, root);
xcb_query_pointer_cookie_t pointercookie = xcb_query_pointer(conn, root);
-/* Setup NetWM atoms */
+ /* Setup NetWM atoms */
#define xmacro(name) \
do { \
xcb_intern_atom_reply_t *reply = xcb_intern_atom_reply(conn, name##_cookie, NULL); \
x_raise_con(child);
if ((child = TAILQ_FIRST(&(con->focus_head)))) {
/* By rendering the stacked container again, we handle the case
- * that we have a non-leaf-container inside the stack. In that
- * case, the children of the non-leaf-container need to be raised
- * as well. */
+ * that we have a non-leaf-container inside the stack. In that
+ * case, the children of the non-leaf-container need to be
+ * raised as well. */
render_con(child);
}
if (params.children != 1)
- /* Raise the stack con itself. This will put the stack decoration on
- * top of every stack window. That way, when a new window is opened in
- * the stack, the old window will not obscure part of the decoration
- * (it’s unmapped afterwards). */
+ /* Raise the stack con itself. This will put the stack
+ * decoration on top of every stack window. That way, when a
+ * new window is opened in the stack, the old window will not
+ * obscure part of the decoration (it’s unmapped afterwards). */
x_raise_con(con);
}
}
DLOG("Found an unfocused scratchpad window on this workspace\n");
DLOG("Focusing it: %p\n", walk_con);
/* use con_descend_tiling_focused to get the last focused
- * window inside this scratch container in order to
- * keep the focus the same within this container */
+ * window inside this scratch container in order to
+ * keep the focus the same within this container */
con_activate(con_descend_tiling_focused(walk_con));
return true;
}
struct stat a, b;
- /* We simply test whether the systemd cgroup hierarchy is
- * mounted */
+ /* We simply test whether the systemd cgroup hierarchy is mounted */
if (lstat("/sys/fs/cgroup", &a) < 0)
return 0;
*
*/
void window_update_motif_hints(i3Window *win, xcb_get_property_reply_t *prop, border_style_t *motif_border_style) {
-/* This implementation simply mirrors Gnome's Metacity. Official
+ /* This implementation simply mirrors Gnome's Metacity. Official
* documentation of this hint is nowhere to be found.
* For more information see:
* https://people.gnome.org/~tthurman/docs/metacity/xprops_8h-source.html