summaryrefslogtreecommitdiffstats
path: root/sway/layout.c
Commit message (Collapse)AuthorAge
* Prevent "move next" and "move prev" commands from crashingLibravatar Jarkko Oranen2017-03-19
| | | | | | | | | | | | | | | | | | | Fixes #1120 When the parent of a view is C_WORKSPACE and the movement direction is either MOVE_PREV or MOVE_NEXT, the code would attempt to move the views to the next output, but swayc_adjacent_output can't accept non-directional movement commands and causes undefined behaviour and a segfault. If the code is simply skipped, we end up in an infinite loop. Instead, we can allow containers whose parent is a C_WORKSPACE take the path that handles MOVE_PREV and MOVE_NEXT, which behaves as you would expect. I'm not certain that this fix is entirely correct as the desired behaviour of move_container is not very well defined, but it seems to work.
* UnGNUify the codebaseLibravatar Drew DeVault2017-03-10
|
* i3 feature support: Moving flotaing containersLibravatar Calvin Lee2017-03-01
| | | | | | | This commit lets the 'move' command apply to floating containers as well as tiled ones. The command may be appended with a number of pixels and then optionally the string `px` (like '10 px') in order to move the container more or fewer than the standard ten pixels.
* [fix] handle auto layout of empty containerLibravatar wil2017-01-14
|
* Improved behavior of insert/remove child in auto layoutsLibravatar wil2017-01-14
| | | | | | Previous implementation would not preserve dimension of groups along the major axis. This should avoid weird behavior when using container motion commands.
* Merge branch 'master' into masterLibravatar willakat2017-01-14
|\
| * Implement hide_edge_borders smart (like in i3 4.13)Libravatar Frantisek Fladung2017-01-12
| |
* | fixed up space-after-cast style issuesLibravatar wil2017-01-08
| |
* | Indent cleanupsLibravatar wil2017-01-08
| |
* | [fix] Keep Clang happyLibravatar wil2017-01-08
| |
* | Added mouse resize for auto layoutsLibravatar wil2017-01-07
| |
* | simplification of apply_auto_layoutLibravatar wil2017-01-07
| | | | | | | | | | Achieved by introducing auto_group_bounds function that produces the start/end indexes of a group inside an auto layot container.
* | [fix] scale check to prevent un-necessary layouts was in the wrong place.Libravatar wil2017-01-07
| |
* | [fix] corner cases win nb_children < nb_master|nb_colLibravatar wil2017-01-07
| |
* | Moved auto_* layout functions from resize.c to layout.cLibravatar wil2017-01-07
| |
* | Merge branch 'master' of https://github.com/willakat/swayLibravatar wil2017-01-01
|\ \
| * | Fix inline is_auto_layoutLibravatar Drew DeVault2017-01-01
| | |
* | | [fix] cleanups suggested by Sway communityLibravatar wil2017-01-01
| | |
* | | changed "layout promote" command to "move first"Libravatar wil2017-01-01
|/ / | | | | | | This is more consistent with other Sway semantics.
* | [fix] move next/prev behavior for vert/horiz layoutLibravatar wil2016-12-29
| |
* | introduce next/prev as a direction for focus/move commands.Libravatar wil2016-12-29
| |
* | [fix] handle cases where nb_master > children->length in auto layoutLibravatar wil2016-12-29
| |
* | Added Awesome/Monad type "auto" layoutsLibravatar wil2016-12-29
|/
* wrap some views under workspacesLibravatar D.B2016-12-04
| | | | | | If workspace layout is set to tabbed or stacked, its C_VIEW children should get wrapped in a container. Alongside that, move_container was modified to retain previous functionality.
* add workspace_layout to containerLibravatar D.B2016-12-04
| | | | | Add swayc_change_layout function, which changes either layout or workspace_layout, depending on the container type.
* Revert "Fixes dealing with workspace_layout and related bugs [rfc]"Libravatar Drew DeVault2016-10-12
|
* generalize wrapping views under workspacesLibravatar D.B2016-10-11
|
* add workspace_layout, ensure ws is always L_HORIZLibravatar D.B2016-10-11
| | | | | | 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.
* Fix creating of sibling floating/childrenLibravatar Nicolas Cornu2016-10-07
| | | | | If we want to add a sibling of different type than current container it failed. Because we add it to the wrong list
* add focus changing between floating containersLibravatar D.B2016-10-07
| | | | It will also wrap if needed.
* add force_focus_wrapping optionLibravatar D.B2016-10-07
|
* wrap container in direction (if possible)Libravatar D.B2016-10-07
| | | | | Introduces container wrapping - if there is no other viable move, the selection wraps on the first container where such action is possible.
* add unique IDs to containersLibravatar Zandr Martin2016-09-21
|
* add global `current_focus` pointerLibravatar Zandr Martin2016-09-17
|
* Make it possible to move views between outputsLibravatar Mikkel Oscar Lyderik2016-09-05
| | | | | | | | | This patch makes it possible to move views between outputs using the `move left|right|up|down` commands. It behaves similar to i3 with one important difference. The focus will always follow the view being moved, unlike i3 where the focus doesn't always follow the view to a new output (I assume that's a bug in i3).
* Correct `hide_edge_borders` commandLibravatar Lukas Lihotzki2016-09-02
| | | | | | | | | `vertical` and `horizontal` should be swapped. If border_left and border_right were set to 0, the vertical borders instead of the horizontal borders would be hidden. i3 handles this command equally.
* Reorganize includesLibravatar Drew DeVault2016-09-01
|
* Sort workspaces when moving workspace to outputLibravatar D.B2016-08-07
| | | | This should fix #839
* Refactor functions to update container bordersLibravatar Tony Crisci2016-07-31
| | | | | | Replace `update_view_border()` with `update_container_border()`. The latter should handle both the case where the container is a view or if the container has children.
* revert border hiding to more recent versionLibravatar D.B2016-07-30
|
* properly hide top border inside tabbed/stackedLibravatar D.B2016-07-30
| | | | | | | | | When titlebar is hidden, top border of the topmost view inside tabbed/stacked container will not be drawn. This is changed in layout.c On the other hand, top border should be drawn sometimes, for example when titlebar is hidden on a view that is not the topmost inside tabbed/stacked container. This is changed in border.c
* Update hidpi support to latest wlc APILibravatar Drew DeVault2016-07-28
|
* Initial pass on HiDPI supportLibravatar Drew DeVault2016-07-28
|
* Merge pull request #793 from thejan2009/workspace_layout_first_window_fixLibravatar Drew DeVault2016-07-28
|\ | | | | bugfix: invisible windows on empty workspace with tabbed/stacked layout
| * bugfix: windows on empty workspaces with layout tabbed/stacked would spawn ↵Libravatar D.B2016-07-28
| | | | | | | | with 0x0 geometry
* | Implement `focus child` commandLibravatar Tony Crisci2016-07-27
|/ | | | | The `focus child` command focuses the child container within the selected container.
* properly hide bottom and right bordersLibravatar D.B2016-07-22
|
* fix regression in hide_edge_bordersLibravatar Zandr Martin2016-07-21
|
* rename ws to workspace for clarityLibravatar D.B2016-07-21
|
* calculate borders for hiding from workspace geometryLibravatar D.B2016-07-21
|