Age | Commit message (Collapse) | Author |
|
Merge the main rendering paths of all containers to make focus setting a bit
simpler and easier to follow.
|
|
The value of `locked_view_focus` is always false. Remove dead code associated
with this variable to simplify things.
|
|
When a workspace is focused, update the borders of all its child containers to
be focused to indicate the workspace container is focused.
|
|
The previous implementation of focus handling assumed that only views can be
focused. Containers can also be focused with a command like `focus parent` or
`focus child`.
Change `set_focused_container()` to handle the case of the given container
being a container with children and update borders accordingly.
|
|
The `focus child` command focuses the child container within the selected
container.
|
|
In `move_focus()`, when given an output, set the focus to the workspace of that
output instead of the output itself.
This fixes a bug that did not allow users to switch between outputs introduced
in afc6ad6.
It also fixes other issues before that commit when a workspace with children
was selected and the user tried to switch focus in the direction of another
output.
|
|
In the `focus parent` command, do not set focus above the workspace level.
These containers are not meant to be focused.
This prevents a crash on repeated `focus parent` commands.
|
|
|
|
|
|
where needed
|
|
|
|
|
|
when creating a new output, move to that output all extant workspaces
that are assigned to that output.
(unrelated) remove comment that was no longer applicable, fix spacing in
an assignment
|
|
|
|
|
|
Makes any tabbed/stacked layout a container to separate from floating
windows which may be attached to a workspace.
|
|
|
|
Fix #587
|
|
|
|
|
|
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).
|
|
Fix #504
|
|
No need to update visibility if the workspace will be destroyed right
after.
|
|
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.
|
|
If there's only one workspace on an output and it's moved to a different
output then active workspace will be NULL.
|
|
|
|
|
|
|
|
|
|
This reverts commit 0796b0c475bb46095d14a5291d62dd8e7d098262.
|
|
|
|
|
|
|
|
|
|
Place mouse at center of focused view when changing to a workspace on a
different output, if option is enabled. (This replicates existing i3
option.)
This can be triggered in multiple ways:
A) via `workspace <name>` which changes output
B) via `focus <direction>` which changes output
C) via `focus output <name>` which (obviously) changes output
|
|
swayc_log works just like sway_log, but appends type and name from given
container to the log output.
|
|
If e.g. a window has a popup open then that will lock the current focus,
making a workspace switch denied.
So don't move the mouse pointer in such cases.
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|