aboutsummaryrefslogtreecommitdiff
path: root/sway/commands/split.c
AgeCommit message (Collapse)Author
2018-07-28Allow splitting a floating viewRyan Dwyer
2018-07-14Simplify transactions by utilising a dirty flag on containersRyan Dwyer
This PR changes the way we handle transactions to a more simple method. The new method is to mark containers as dirty from low level code (eg. arranging, or container_destroy, and eventually seat_set_focus), then call transaction_commit_dirty which picks up those containers and runs them through a transaction. The old methods of using transactions (arrange_and_commit, or creating one manually) are now no longer possible. The highest-level code (execute_command and view implementation handlers) will call transaction_commit_dirty, so most other code just needs to set containers as dirty. This is done by arranging, but can also be done by calling container_set_dirty.
2018-06-23Implement atomic layout updates for tree operationsRyan Dwyer
This implements atomic layout updates for when views map, reparent or unmap.
2018-06-09Refactor everything that needs to arrange windowsRyan Dwyer
* The arrange_foo functions are now replaced with arrange_and_commit, or with manually created transactions and arrange_windows x2. * The arrange functions are now only called from the highest level functions rather than from both high level and low level functions. * Due to the previous point, view_set_fullscreen_raw and view_set_fullscreen are both merged into one function again. * Floating and fullscreen are now working with transactions.
2018-06-01Prevent splitting a floating viewRyan Dwyer
2018-04-28Refactor arrange_windows()Ryan Dwyer
Replaces arrange_windows() with arrange_root(), arrange_output(), arrange_workspace() and arrange_children_of(). Also makes fullscreen views save and restore their dimensions, which allows it to preserve any custom resize and is also a requirement for floating views once they are implemented.
2018-04-07container_create_notify on splitTony Crisci
2018-04-02cleanup split command handlersTony Crisci
2018-04-02fix workspace splitsTony Crisci
2018-04-02address feedbackTony Crisci
2018-03-31basic split containersTony Crisci
2017-11-18Move everything to sway/old/Drew DeVault
2017-04-05Improve criteria handlingCalvin Lee
This commit changes how commands decide what container to act on. Commands get the current container though `current_container`, a global defined in sway/commands.c. If a criteria is given before a command, then the following command will be run once for every container the criteria matches with a reference to the matching container in 'current_container'. Commands should use this instead of `get_focused_container()` from now on. This commit also fixes a few (minor) mistakes made in implementing marks such as non-escaped arrows in sway(5) and calling the "mark" command "floating" by accident. It also cleans up `criteria.c` in a few places.
2017-03-10UnGNUify the codebaseDrew DeVault
2016-12-04add workspace_layout to containerD.B
Add swayc_change_layout function, which changes either layout or workspace_layout, depending on the container type.
2016-10-12Revert "Fixes dealing with workspace_layout and related bugs [rfc]"Drew DeVault
2016-10-11add workspace_layout, ensure ws is always L_HORIZD.B
Add swayc_change_layout function, which changes either layout or workspace_layout, depending on the container type. Workspace being always L_HORIZ makes this much more i3-compatible.
2016-09-02merge in latest commitsZandr Martin
2016-09-01refactor commands.cZandr Martin