aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/output.c
Commit message (Collapse)AuthorAge
...
* Relocate container_move, container_move_to and container_get_in_directionLibravatar Ryan Dwyer2018-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * container_move is only called from the move command * container_move_to was called from both the move command and the sticky command, but the sticky command can easily not call it * container_get_in_direction is only called from the focus command Moving these functions to their respective commands gives better separation of code and removes bloat from layout.c. These functions will need to be refactored to take advantage of type safety, so separating them will make this easier to refactor. The following static functions have also been moved: * is_parellel * invert_movement * move_offs * container_limit * workspace_rejigger * move_out_of_tabs_stacks * get_swayc_in_output_direction They were all used by the move functions, except for the last one which is used by focus. Other changes: * index_child has been renamed to container_sibling_index, moved to container.c and made public * sway_output_from_wlr has been renamed to output_from_wlr_output, moved to output.c and made public * container_handle_fullscreen_reparent has been made public * sway_dir_to_wlr has been made public No changes have been made to any of the moved functions, other than updating calls to functions that have been renamed.
* Refactor destroy functions and save workspaces when there's no outputsLibravatar Ryan Dwyer2018-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the destroy functions to the following: * output_begin_destroy * output_destroy * workspace_begin_destroy * workspace_destroy * container_begin_destroy * container_destroy * view_begin_destroy * view_destroy The terminology was `destroy` and `free`, and it has been changed to `begin_destroy` and `destroy` respectively. When the last output is disconnected, its workspaces will now be stashed in the root. Upon connection of a new output they will be restored. There is a new function `workspace_consider_destroy` which decides whether the given workspace should be destroyed or not (ie. empty and not visible). Calling container_begin_destroy will no longer automatically reap the parents. In some places we want to reap the parents and in some we don't, so this is left to the caller. container_reap_empty_recursive and container_reap_empty have been combined into one function and it will recurse up the tree.
* Implement iterators per container typeLibravatar Ryan Dwyer2018-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces the following `for_each` functions: * root_for_each_workspace * root_for_each_container * output_for_each_workspace * output_for_each_container * workspace_for_each_container And introduces the following `find` functions: * root_find_output * root_find_workspace * root_find_container * output_find_workspace * output_find_container * workspace_find_container * container_find_child And removes the following functions: * container_descendants * container_for_each_descendant * container_find This change is preparing the way for demoting sway_container. Eventually these functions will accept and return sway_outputs, sway_workspaces and sway_containers (meaning a C_CONTAINER or C_VIEW). This change also makes it easy to handle abnormalities like the workspace floating list, root's scratchpad list and (once implemented) root's saved workspaces list for when there's no connected outputs.
* Rename container_sort_workspaces and container_wrap_childrenLibravatar Ryan Dwyer2018-08-18
| | | | | | | | This commit renames container_sort_workspaces to output_sort_workspaces and moves it to output.c. This also renames container_wrap_children to workspace_wrap_children and moves it to workspace.c. This function is only called with workspaces.
* ipc: fix workspace::move calls argument orderLibravatar Ian Fan2018-08-01
|
* Update for swaywm/wlroots#1126Libravatar emersion2018-07-09
|
* Implement atomic layout updates for tree operationsLibravatar Ryan Dwyer2018-06-23
| | | | | This implements atomic layout updates for when views map, reparent or unmap.
* Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-11
|
* Switch restore workspaces to a nested for-loopLibravatar Brian Ashworth2018-06-08
|
* Restore workspaces to outputs based on priorityLibravatar Brian Ashworth2018-06-08
|
* Fix initial workspace orientation on a rotated outputLibravatar Ryan Dwyer2018-06-03
|
* move output create to its own fileLibravatar Tony Crisci2018-04-03
|
* move output code out of the treeLibravatar Tony Crisci2018-04-03
|
* unify container destroy functionsLibravatar Tony Crisci2018-04-03
|
* Merge branch 'wlroots' into view-redesignLibravatar emersion2018-04-02
|\
| * Partially implement move commandLibravatar Drew DeVault2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Works: - move [container|window] to workspace <name> - Note, this should be able to move C_CONTAINER but this is untested - move [workspace] to output [left|right|up|down|<name>] Not implemented yet: - move [left|right|up|down] - move scratchpad - move position
* | Address review commentsLibravatar emersion2018-04-02
|/
* Add lite damage trackingLibravatar emersion2018-03-30
| | | | | This skips the renderer if nothing has changed, and renders everything otherwise.
* Fix workspace deletion edge casesLibravatar Drew DeVault2018-03-30
|
* Move everything to sway/old/Libravatar Drew DeVault2017-11-18
|
* Wire up output frame loopLibravatar Drew DeVault2017-11-11
|
* Move sway's internal tree code to sway/tree/Libravatar Drew DeVault2017-11-11