Skip to content

Commit

Permalink
#1429 make window zoom more flexible
Browse files Browse the repository at this point in the history
  • Loading branch information
koekeishiya committed Sep 19, 2022
1 parent ef5ebf2 commit be95a94
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Clamp split ratio instead of resetting when an out of range / invalid value is given [#1401](https://github.com/koekeishiya/yabai/pull/1401)
- Applying rule with property *manage=on* would cause both minimized and hidden windows to be managed, even though the window is not visible [#1418](https://github.com/koekeishiya/yabai/issues/1418)
- Fix regression causing window sticky to not work properly [#1424](https://github.com/koekeishiya/yabai/issues/1424)
- Make window zoom more flexible, allow parent-zoomed window to enter fullscreen and vice versa [#1429](https://github.com/koekeishiya/yabai/issues/1429)

## [4.0.4] - 2022-09-08
### Changed
Expand Down
12 changes: 6 additions & 6 deletions src/window_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -1617,13 +1617,13 @@ void window_manager_toggle_window_parent(struct space_manager *sm, struct window
struct window_node *node = view_find_window_node(view, window->id);
assert(node);

if (node->zoom) {
if (node->zoom == node->parent) {
node->zoom = NULL;
window_node_flush(node);
} else if (node->parent) {
node->zoom = node->parent;
window_node_flush(node);
}

window_node_flush(node);
}

void window_manager_toggle_window_fullscreen(struct space_manager *sm, struct window_manager *wm, struct window *window)
Expand All @@ -1634,13 +1634,13 @@ void window_manager_toggle_window_fullscreen(struct space_manager *sm, struct wi
struct window_node *node = view_find_window_node(view, window->id);
assert(node);

if (node->zoom) {
if (node->zoom == view->root) {
node->zoom = NULL;
window_node_flush(node);
} else {
node->zoom = view->root;
window_node_flush(node);
}

window_node_flush(node);
}

void window_manager_toggle_window_expose(struct window_manager *wm, struct window *window)
Expand Down

0 comments on commit be95a94

Please sign in to comment.