summaryrefslogtreecommitdiffstats
path: root/sway/layout.c
Commit message (Collapse)AuthorAge
* 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
|
* Arrange backgrounds only when requiredLibravatar Mykyta Holubakha2016-07-21
|
* Initial work on window eventsLibravatar Mykyta Holubakha2016-07-21
|
* Move backgrounds to back after arrange_windowsLibravatar Drew DeVault2016-07-18
| | | | Fixes #769
* refactor swayc_tabbed_stacked_parent into _ancestor and _parent and use ↵Libravatar D.B2016-07-16
| | | | where needed
* implement `get_tree` commandLibravatar Zandr Martin2016-07-04
|
* redo smart_gaps/hide_edge_borders fixLibravatar Zandr Martin2016-06-02
|
* Fix issue #661.Libravatar Jasen Borisov2016-05-18
| | | | | Borders are now drawn correctly (same behavior as i3) for tabbed and stacked containers, when the children have 'border none' set.
* Fix uninitialized variableLibravatar Mikkel Oscar Lyderik2016-04-29
|
* border: clear buffer on fullscreen viewsLibravatar Mikkel Oscar Lyderik2016-04-27
| | | | | | This patch makes sure to clear the border buffer of fullscreen view so the border doesn't get drawn behind a fullscreen view, which would be visible if the view was transparent.
* Remove commented codeLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Use correct geometry for nested containersLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Disable inner gaps when in tabbed/stacked modeLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Add support for nested tabbed/stacked containersLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Make floating border fixes work with tabbed/stacked codeLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Improve move command with tabbed/stacked layoutLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Correctly determine default layoutLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Fix problems with floating windowsLibravatar Mikkel Oscar Lyderik2016-04-25
| | | | | Makes any tabbed/stacked layout a container to separate from floating windows which may be attached to a workspace.
* Tabbed and stacked layoutLibravatar Mikkel Oscar Lyderik2016-04-25
|
* Remove clang warnings (-Wsign-compare)Libravatar Mikkel Oscar Lyderik2016-04-16
|
* Fix window bordersLibravatar crondog2016-04-03
| | | | | This fixes floating borders when moving outside of the output. Not sure what happens with dual screen as I only have 1 monitor
* Fix spelling mistakesLibravatar Eric Engestrom2016-04-02
|
* Correctly reset border geometryLibravatar Mikkel Oscar Lyderik2016-03-31
|
* Fix borders with floating windowsLibravatar Mikkel Oscar Lyderik2016-03-30
|
* Implement bordersLibravatar Mikkel Oscar Lyderik2016-03-30
| | | | | | | | | The borders are implemented as a surface/buffer attached to each view which is sent to and rendered by wlc in the view_pre_render callback. All the drawing logic is handled in sway/border.c and all the logic for calculating the geometry of the border/view is handled in `update_geometry` in sway/layout.c (same place as gaps are calculated).
* Implement some more on bordersLibravatar Drew DeVault2016-03-30
| | | | | Note that this segfaults ALL THE TIME in wlc code. Paging @Cloudef for help, I'm at a loss.
* Implement 'smart_gaps' feature from i3-gapsLibravatar Mikkel Oscar Lyderik2016-03-20
|
* Fix assigning workspaces to outputsLibravatar Mikkel Oscar Lyderik2016-03-04
| | | | | | | | | | | It's possible to assign workspaces to certain outputs using the command: workspace <name> output <output> However, this did not work in some cases where the workspace was assigned before the given output was made available to sway. This patch fixes those cases.
* Correctly move focus from one output to a new one.Libravatar Mikkel Oscar Lyderik2016-02-28
| | | | | | | | | | | | This patch aims to correctly handle moving focus <left|right|up|down> between outputs. For instance, if moving from one output to a new output at the left of the current one, it should focus the right-most view/container on the new output, and the opposite if moving from right to left. This should happen regardless of the previously stored focus of the new output. This also handles moving to a new output above or below the current one.
* arrange_windows_r: Round pixels to match reality, fixes calculations.Libravatar S. Christoffer Eliesen2015-12-28
| | | | | | | | | | | | | | | If the width or height of a container can't be evenly distributed to its children, then the layout algorithm still thought it got it right (due to using decimals) which caused a gap of one or more pixels for some window arrangements. This is fixed by this patch by first rounding off the width and height (so that decimals are never introduced) and then adjusting the last view in a container to fill the remaining pixels (which now is counted correctly due to the decimals being removed). Also, due to the way gaps are implemented, an odd sized gap can never be aligned properly, so just adjust to closest even number.
* arrange_windows_r: Bring parent coordinates into layout calculations.Libravatar S. Christoffer Eliesen2015-12-28
| | | | | This brings consistency into the algorithm (instead of resetting and then fetching again).
* Focus new sibling added to containerLibravatar Mikkel Oscar Lyderik2015-12-25
| | | | This makes sure that the window being added to a container gets focus.
* Trigger workspace init event (floating)Libravatar Mikkel Oscar Lyderik2015-12-25
| | | | | | | Triggers workspace init event when moving a floating window to a new workspace. This is a follow up on #391 which didn't handle floating windows.
* Trigger ipc_event_workspace in all casesLibravatar Mikkel Oscar Lyderik2015-12-21
| | | | | | This makes sure that the workspace IPC event is triggered when needed. Fixes #382 while making sure that the IPC event is only triggered once.
* layout: Fix `edge_gaps off` with top/left panels.Libravatar S. Christoffer Eliesen2015-12-20
| | | | | Since x/y won't be zero when there's a top or left panel in place, we need to take those coordinates into account too.
* extensions: Track panels by wl_resource, position per panel.Libravatar S. Christoffer Eliesen2015-12-20
| | | | | | | | Track each panel separately via its wl_resource. `set_panel_position` might be called before `set_panel`, so reuse panel config. Place the position in panel_config so that each panel has its own position.
* layout: arrange_windows: Partially fix swaybar irregularties.Libravatar S. Christoffer Eliesen2015-12-18
|
* layout: arrange_windows: Fix/better debug output.Libravatar S. Christoffer Eliesen2015-12-18
|
* layout: Keep output at the correct size, workspace can be smaller.Libravatar S. Christoffer Eliesen2015-12-18
| | | | | | | | | | | | | | If the output is not at the correct size then that info must be queried from wlc. The output size is used by e.g. seamless mouse to detect output edges. With this patch the output size is now correct and the workspace size is adjusted according to any panels. Without this patch seamless mouse would fail to detect outputs above/below each other if there was a panel in between because the output would offically end where the panel started, not at the actual screen edge.
* Bring unmanaged windows to front on output arrangeLibravatar Drew DeVault2015-12-16
| | | | Fixes #312
* Don't reset x,y position before use.Libravatar Mikkel Oscar Lyderik2015-12-13
| | | | | The x and y position is calculated based on the position of the bar, we don't want to reset these values when we need them.
* Correctly handle moving between fullscreen viewsLibravatar Drew DeVault2015-12-13
| | | | | | If focus would move in an output with a fullscreen view, it always leaves the output. If focus would enter an output with a fullscreen view, it always focuses the fullscreened view.