summaryrefslogtreecommitdiff
path: root/sway/commands/resize.c
AgeCommit message (Collapse)Author
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-07-14Force min/max size when resizing floating containersRyan Dwyer
2018-07-14Implement resize grow|shrink <direction> <amount> or <amount>Ryan Dwyer
2018-07-14Implement resize command for floating viewsRyan Dwyer
Implements the following for floating views: * resize set <width> <height> * resize <grow|shrink> <width|height|up|down|left|right> <amount>
2018-07-09Update for swaywm/wlroots#1126emersion
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-05-03Fix segfault when running the resize command without argumentsemersion
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-06Revert "Break everything^W^WUse wlr_box for sway_container"Drew DeVault
2018-04-06Break everything^W^WUse wlr_box for sway_containerDrew DeVault
2018-04-05Implement resize commandDrew DeVault
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
2017-01-07[fix] resize should now preserve surrounding container's dimensionswil
- prior to this modification, the requested pixels were added/removed to both edges of the modified container. To preserve sizes, only half the pixels should be added/removed to each edge.
2017-01-07Moved auto_* layout functions from resize.c to layout.cwil
2017-01-01[fix] cleanups suggested by Sway communitywil
2016-12-29[fix] Handle auto layout resize with multiple slave groupswil
2016-12-29Handle resize in auto layoutswil
2016-09-07squash commits, move enum into resize.cZandr Martin
2016-09-02merge in latest commitsZandr Martin
2016-09-01refactor commands.cZandr Martin