mirror of
https://github.com/swaywm/sway.git
synced 2025-11-08 13:29:50 -05:00
add limit to swayc_in_direction
This commit is contained in:
parent
b054ac9d49
commit
dbad30a409
5 changed files with 47 additions and 7 deletions
|
|
@ -398,6 +398,32 @@ swayc_t *swayc_parent_by_layout(swayc_t *container, enum swayc_layouts layout) {
|
|||
return container;
|
||||
}
|
||||
|
||||
swayc_t *swayc_focus_by_type(swayc_t *container, enum swayc_types type) {
|
||||
if (!ASSERT_NONNULL(container)) {
|
||||
return NULL;
|
||||
}
|
||||
if (!sway_assert(type < C_TYPES && type >= C_ROOT, "%s: invalid type", __func__)) {
|
||||
return NULL;
|
||||
}
|
||||
do {
|
||||
container = container->focused;
|
||||
} while (container && container->type != type);
|
||||
return container;
|
||||
}
|
||||
swayc_t *swayc_focus_by_layout(swayc_t *container, enum swayc_layouts layout) {
|
||||
if (!ASSERT_NONNULL(container)) {
|
||||
return NULL;
|
||||
}
|
||||
if (!sway_assert(layout < L_LAYOUTS && layout >= L_NONE, "%s: invalid layout", __func__)) {
|
||||
return NULL;
|
||||
}
|
||||
do {
|
||||
container = container->focused;
|
||||
} while (container && container->layout != layout);
|
||||
return container;
|
||||
}
|
||||
|
||||
|
||||
static swayc_t *_swayc_by_handle_helper(wlc_handle handle, swayc_t *parent) {
|
||||
if (!parent || !parent->children) {
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue