summaryrefslogtreecommitdiff
path: root/sway/tree/layout.c
AgeCommit message (Collapse)Author
2018-06-01Fix getting adjacent outputRyan Dwyer
2018-06-01Replace is_floating boolean with functionRyan Dwyer
2018-06-01Implement floatingRyan Dwyer
2018-06-01Implement `floating enable`Drew DeVault
2018-06-01Merge pull request #2081 from RedSoxFan/fix-2077emersion
Send reparent events in container_split
2018-06-01Fix move perpendicular segfaultBrian Ashworth
2018-05-31Send reparent events in container_splitBrian Ashworth
2018-05-31Fix typoBrian Ashworth
2018-05-31Fix moving out of tab/stack when only childBrian Ashworth
2018-05-29Notify of subtree changeBrian Ashworth
2018-05-29Fix moving out of a tabbed/stacked workspaceBrian Ashworth
2018-05-29Fix breaking out of tabs/stacksBrian Ashworth
2018-05-28Merge pull request #2060 from RedSoxFan/focus-wrappingemersion
Implement focus_wrapping
2018-05-27Implement focus_wrappingBrian Ashworth
2018-05-28Fix ancestor typosRyan Dwyer
2018-05-26Implement swap commandBrian Ashworth
2018-05-25Merge pull request #2033 from RyanDwyer/arrange-after-flattenDrew DeVault
Arrange views after flattening the parent
2018-05-25Merge pull request #2034 from RyanDwyer/cleanup-container-titlesDrew DeVault
Clean up container title functions
2018-05-25Fix focus bug when moving between outputsRyan Dwyer
When moving focus left or right to an adjacent output, only select the first or last child in the new workspace if the workspace's layout is horizontalish. If it's a verticalish layout, use the last focused container.
2018-05-25Clean up container title functionsRyan Dwyer
* Add and use lenient_strcat and lenient_strncat functions * Rename `concatenate_child_titles` function as that's no longer what it does * Rename `container_notify_child_title_changed` because we only need to notify that the tree structure has changed, not titles * Don't notify parents when a child changes its title * Update ancestor titles when changing a container's layout * Eg. create nested tabs and change the inner container to stacking * No need to store tree presentation in both container->name and formatted_title
2018-05-25Arrange views after flattening the parentRyan Dwyer
Fixes #2029.
2018-05-24Fix crash in move workspace to output commandRyan Dwyer
Fixes #2026.
2018-05-21Implement tabbed layoutRyan 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-26Remove sway_container.workspace_layoutRyan Dwyer
Fixes #1716.
2018-04-20Keep view fullscreened when moving to another workspace.Ryan Dwyer
container_handle_fullscreen_reparent() must be called *after* setting the container's new parent.
2018-04-19container_get_in_direction(): Don't split this functionRyan Dwyer
2018-04-19arrange_windows(): Calculate workspace properties when fullscreenRyan Dwyer
2018-04-18More fullscreen fixes.Ryan Dwyer
* Render fullscreen views without wlr function, which makes popups and lockscreen work. * Don't allow input events to surfaces behind fullscreen views. * Use correct output dimensions (for rotated outputs).
2018-04-18Fullscreen fixes.Ryan Dwyer
2018-04-17Create sway_workspace struct.Ryan Dwyer
2018-04-17Feedback for fullscreen.Ryan Dwyer
2018-04-16Implement fullscreen.Ryan Dwyer
2018-04-13Fix gcc maybe-uninitialized warningDominique Martinet
2018-04-07container_create_notify on splitTony Crisci
2018-04-07seat get focus inactive viewTony Crisci
2018-04-07Fix output containers positionemersion
2018-04-06Don't rejigger if parent has two childrenemersion
2018-04-06When moving between outputs, use output center as referenceemersion
2018-04-06Fix issue with incorrectly rejiggered workspacesDrew DeVault
2018-04-06Fix moving to parallel container on another outputDrew DeVault
2018-04-06Address @emersion feedbackDrew DeVault
2018-04-06Fix another of @orestisf1993's issuesDrew DeVault
2018-04-06Fix moving into right end of containerDrew DeVault
2018-04-06Fix issues @orestisf1993 raisedDrew DeVault
2018-04-06Address @emersion's commentsDrew DeVault
2018-04-06Add debug tree viewDrew DeVault
2018-04-06Fix splitting workspacesDrew DeVault
2018-04-06Fix workspaces not updated on swaybarDrew DeVault
2018-04-06Implement move [left|right|up|down]Drew DeVault
The exact semantics of this command are complicated. I'll describe each test scenario as s-expressions. Everything assumes L_HORIZ if not specified, but if you rotate everything 90 degrees the same test cases hold. ``` (container (view a) (view b focus) (view c)) -> move left (container (view b focus) (view a) (view c)) (container (view a) (view b focus) (view c)) -> move right (container (view a) (view c) (view b focus)) (container L_VERT (view a)) (container L_HORIZ (view b) (view c focus)) -> move up (container L_VERT (view a) (view c focus)) (container L_HORIZ (view b)) (workspace (view a) (view b focus) (view c)) -> move up (workspace [split direction flipped] (view b focus) (container (view a) (view c))) (workspace (view a) (view b focus) (view c)) -> move down (workspace [split direction flipped] (container (view a) (view c)) (view b focus))) Note: outputs use wlr_output_layout instead of assuming that i+/-1 is the next output in the move direction. (root (output X11-1 (workspace 1)) (output X11-2 (workspace 1 (view a focus) (view b))))) -> move left (root (output X11-1 (workspace 1 (view a focus))) (output X11-2 (workspace 1 (view b))))) (root (output X11-1 (workspace 1 (container (view a) (view b))) (output X11-2 (workspace 1 (view c focus))))) -> move left (root (output X11-1 (workspace 1 (container (view a) (view b)) (view c focus))) (output X11-2 (workspace 1))) ```