Age | Commit message (Collapse) | Author |
|
|
|
|
|
Makes any tabbed/stacked layout a container to separate from floating
windows which may be attached to a workspace.
|
|
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).
|
|
|
|
Note that this segfaults ALL THE TIME in wlc code. Paging @Cloudef for
help, I'm at a loss.
|
|
|
|
This makes sway handle and gracefully shut down everything when
receiving a SIGTERM.
Fix #416
|
|
This works by tracking the pids of the child processes in the related
output container and terminating the processes and spawning new ones on
a config reload.
Should solve: #347
|
|
Fixes #312
|
|
|
|
A floating window that's sticky will move to the new active workspace
whenever the workspace on the same output changes.
|
|
|
|
|
|
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).
|
|
This is mostly setting a precedent, I hope that others will continue to
write docs for more headers.
Ref #218
|
|
|
|
|
|
This reverts commit e1d18e42a8f3a597b9bf5f1bb2ab6c346e4e7983.
Fixes #180
cc @taiyu-len
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
view_visibility enum remains with one constant that is the mask to wlc's view masking
|
|
- replace visibilty mask integers with an enum
- set output's visibilty mask on creation
- added update_visibility to manually update a containers visibility (e.g. when it moved to an invisible workspace)
|
|
|
|
|
|
Basic 'move' functionality.
|
|
Added in basic resizing command.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This was done by hand, so I might have missed things. If anyone knows of
a good C style enforcement tool, let me know.
|
|
|
|
|
|
|
|
|
|
|
|
|