+ /* To prevent scrolling from going outside the container (see ticket
+ * #557), we first check if scrolling is possible at all. */
+ Con *focused = con_descend_focused(con->parent);
+ bool scroll_prev_possible = (TAILQ_PREV(focused, nodes_head, nodes) != NULL);
+ bool scroll_next_possible = (TAILQ_NEXT(focused, nodes) != NULL);
+ if (event->detail == XCB_BUTTON_INDEX_4 && scroll_prev_possible)