aboutsummaryrefslogtreecommitdiff
path: root/sway/layout.c
AgeCommit message (Collapse)Author
2015-12-21Trigger ipc_event_workspace in all casesMikkel Oscar Lyderik
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.
2015-12-20layout: Fix `edge_gaps off` with top/left panels.S. Christoffer Eliesen
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.
2015-12-20extensions: Track panels by wl_resource, position per panel.S. Christoffer Eliesen
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.
2015-12-18layout: arrange_windows: Partially fix swaybar irregularties.S. Christoffer Eliesen
2015-12-18layout: arrange_windows: Fix/better debug output.S. Christoffer Eliesen
2015-12-18layout: Keep output at the correct size, workspace can be smaller.S. Christoffer Eliesen
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.
2015-12-16Bring unmanaged windows to front on output arrangeDrew DeVault
Fixes #312
2015-12-13Don't reset x,y position before use.Mikkel Oscar Lyderik
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.
2015-12-13Correctly handle moving between fullscreen viewsDrew DeVault
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.
2015-12-13Fullscreen on top of barDrew DeVault
2015-11-29Fix output adjustment for panelsDrew DeVault
2015-11-29Support desktop shell panels in compositorDrew DeVault
2015-11-24layout: get_swayc_in_direction_under: Handle floating views.S. Christoffer Eliesen
2015-11-24layout: swap_container: Handle floating views.S. Christoffer Eliesen
2015-11-24layout: replace_child: Handle floating views.S. Christoffer Eliesen
2015-11-24layout: add_sibling: Handle floating views properly.S. Christoffer Eliesen
This should fix #241.
2015-11-16output: Support multiple adjacent outputs.S. Christoffer Eliesen
When querying for an adjacent output we now need an absolute position in order to know which adjacent output that matches. (The position is either the current mouse position or the center of the currently focused container, depending on context.) If two outputs have one edge each that at least partially align with each other they now count as adjacent. Seamless mouse is affected by this and now properly moves and positions itself between outputs with "uneven" placement (as long as they have at least some part of the edge adjacent to each other). When focusing or moving a container in a specified direction the center of the current focused container decides where to look for an adjacent output. So if e.g. an output has two adjacent outputs to the right and a "focus right" command is issued then it's the placement of the currently focused container that decides which output actually gets focused. Also, if an output has at least one output adjacent in some direction but the entire edge is not covered (ie. it has "holes" with no outputs), then the algorithm will choose the output that is closest to the currently focused container (this does not apply to seamless mouse, the pointer will just stop at the edge in that case).
2015-11-12Fix gaps for views being incorrectDrew DeVault
2015-11-04Learn "gaps edge_gaps <on|off|toggle>".S. Christoffer Eliesen
When yes, the old behaviour of adding half the inner gap around each view is used. When no, don't add any gap when an edge of the view aligns with the workspace. The result is inner gap only between views, not against the workspace edge. The algorithm is not perfect because it means the extra space is distributed amongst edge-aligned views only, but it's simple, looks good and it works.
2015-11-03commands: Learn 'move workspace to output <direction|name>'.S. Christoffer Eliesen
2015-10-29layout: get_swayc_in_direction: Properly find adjacent outputs.S. Christoffer Eliesen
2015-10-28layout: Don't reset container size if it's a floating window.S. Christoffer Eliesen
2015-10-25log: Add swayc_log, use at a few key places.S. Christoffer Eliesen
swayc_log works just like sway_log, but appends type and name from given container to the log output.
2015-09-22Merge branch 'master' of https://github.com/taiyu-len/swaytaiyu
merge
2015-09-22#184taiyu
2015-09-18container_move checktaiyu
2015-09-07prevent views from disappearingtaiyu
2015-09-04default gap valuetaiyu
2015-08-29#151 fixtaiyu
2015-08-29Fixed move scratchpad and added in scratchpad showLuminarys
2015-08-28Added in scratchpad addingLuminarys
2015-08-28move v3taiyu
2015-08-28styletaiyu
2015-08-28layout fix for a certain casetaiyu
2015-08-28dont move floating contaienrstaiyu
2015-08-28move function redonetaiyu
2015-08-27update visibility + container info functionstaiyu
2015-08-26slight fixtaiyu
2015-08-26fixed move_container bug, log prints before abortingtaiyu
2015-08-26some function documentation, fixed gaps on config reloadtaiyu
2015-08-26move_container_to fixuptaiyu
2015-08-25fixed segfault on exit + a little fixup of that floatfocus prtaiyu
2015-08-25added "move container to workspace"minus
makes the previous commit actually testable
2015-08-24add limit to swayc_in_directiontaiyu
2015-08-23mergetaiyu
2015-08-22fixed container resize odditytaiyu
2015-08-22floating/tiling move + floating resize cleaned and fixedtaiyu
2015-08-22Fix minor bug with output positioningDrew DeVault
2015-08-22Implement output positioningDrew DeVault
:tada:
2015-08-22Set x/y positions for output containersDrew DeVault