diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-08-28 20:49:14 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-28 20:49:14 -0400 |
commit | 095ca7576918f3ad46113529ff9369a5be9ae70c (patch) | |
tree | d82c74c736bfb0f9d86f6449f43006e1ea6344d8 | |
parent | Merge pull request #2526 from ianyfan/commands (diff) | |
parent | Fix workspace tabs (diff) | |
download | sway-095ca7576918f3ad46113529ff9369a5be9ae70c.tar.gz sway-095ca7576918f3ad46113529ff9369a5be9ae70c.tar.zst sway-095ca7576918f3ad46113529ff9369a5be9ae70c.zip |
Merge pull request #2533 from RyanDwyer/fix-workspace-tabs
Fix workspace tabs
-rw-r--r-- | sway/desktop/transaction.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index c18529fb..862ffee8 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c | |||
@@ -122,7 +122,17 @@ static void copy_pending_state(struct sway_container *container, | |||
122 | struct sway_seat *seat = input_manager_current_seat(input_manager); | 122 | struct sway_seat *seat = input_manager_current_seat(input_manager); |
123 | state->focused = seat_get_focus(seat) == container; | 123 | state->focused = seat_get_focus(seat) == container; |
124 | 124 | ||
125 | if (container->type != C_VIEW) { | 125 | if (container->type == C_WORKSPACE) { |
126 | // Set focused_inactive_child to the direct tiling child | ||
127 | struct sway_container *focus = | ||
128 | seat_get_focus_inactive_tiling(seat, container); | ||
129 | if (focus && focus->type == C_CONTAINER) { | ||
130 | while (focus->parent->type != C_WORKSPACE) { | ||
131 | focus = focus->parent; | ||
132 | } | ||
133 | } | ||
134 | state->focused_inactive_child = focus; | ||
135 | } else if (container->type != C_VIEW) { | ||
126 | state->focused_inactive_child = | 136 | state->focused_inactive_child = |
127 | seat_get_active_child(seat, container); | 137 | seat_get_active_child(seat, container); |
128 | } | 138 | } |