Age | Commit message (Collapse) | Author |
|
|
|
|
|
This is a feature that can't work the same as i3, because there is no
real window classes in wayland. This way, we avoid null titles as much
as possible.
|
|
Merge the main rendering paths of all containers to make focus setting a bit
simpler and easier to follow.
|
|
|
|
Replace `update_view_border()` with `update_container_border()`. The latter
should handle both the case where the container is a view or if the container
has children.
|
|
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.
|
|
When titlebar is hidden, top border of the topmost view inside
tabbed/stacked container will not be drawn. This is changed in layout.c
On the other hand, top border should be drawn sometimes, for example
when titlebar is hidden on a view that is not the topmost inside
tabbed/stacked container. This is changed in border.c
|
|
Whenever a stacked or tabbed container has focused, paint the titlebars of all
its child windows to be focused as well to indicate the parent stack/tab
container has the focus.
|
|
title
|
|
where needed
|
|
Borders are now drawn correctly (same behavior as i3) for tabbed and
stacked containers, when the children have 'border none' set.
|
|
Requires Cloudef/wlc@80bf003
Fix #623
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Makes any tabbed/stacked layout a container to separate from floating
windows which may be attached to a workspace.
|
|
|
|
|
|
|
|
Plug two memory leaks introduced in the border drawing code.
|
|
|
|
This fixes floating borders when moving outside of the output. Not sure what
happens with dual screen as I only have 1 monitor
|
|
|
|
|
|
|
|
|
|
|
|
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).
|