Age | Commit message (Collapse) | Author |
|
|
|
This implements the following for floating containers:
* move <direction> <amount>
* move [absolute] position <x> <y>
* move [absolute] position mouse
|
|
|
|
The title and marks textures would have their height set from the
config's computed max font height, but the textures were not regenerated
when the config's max font height changed which made a gap appear.
Rather than making it regenerate the title textures every time the
config font height was changed, I've changed it to just make the
textures the height of the title itself and fill any gap when rendering.
Also, the title_width and marks_width variables have been renamed to
make it more obvious that they are in output-buffer-local coordinates.
Fixes #1936.
|
|
|
|
|
|
Otherwise it repeatedly sets the view's border to the config's default.
|
|
|
|
Fixes floating window input offsets. As discussed on IRC with emersion,
this shouldn't have been done in the first place.
|
|
This reverts commit 97672295ed50d1d6272876c4a3b6b5607cab05c6.
|
|
Rather than allocate a structure and expect callers to free it, take a
pointer to an existing struct as an argument.
This function is no longer called anywhere though.
|
|
|
|
Children can exist when destroying a container, such as when destroying
the last output. Sway is not terminating in that case.
|
|
Emitting the close event needs to happen before
container_output_destroy, because container_output_destroy sets the
sway_output to NULL and sway_output is used in IPC.
|
|
We were freeing the sway_output immediately upon disconnect which left
a dangling pointer in the output's container. It then tried to use the
pointer when the container is freed.
We don't need to store the sway_output in an output's container which is
destroying, so the fix is to set the pointer to NULL and remove the use
in container_free.
Also added an arrange when the output is disconnected for good measure.
|
|
|
|
container_destroy was calling container_reap_empty, which calls
container_destroy and so on. Eventually the original container_destroy
would return a NULL pointer to the caller which caused a crash.
This also fixes an arrange on the wrong container when moving views in
and out of stacks.
|
|
This implements atomic layout updates for when views map, reparent or
unmap.
|
|
* Also fix parts of the rendering where it was rendering the pending
state instead of current.
|
|
|
|
|
|
* The arrange_foo functions are now replaced with arrange_and_commit, or
with manually created transactions and arrange_windows x2.
* The arrange functions are now only called from the highest level
functions rather than from both high level and low level functions.
* Due to the previous point, view_set_fullscreen_raw and
view_set_fullscreen are both merged into one function again.
* Floating and fullscreen are now working with transactions.
|
|
|
|
|
|
|
|
|
|
|
|
`_container_destroy` emits a destroy event, and any listener for this
event should have access to the full container, not a half destroyed
one.
`_container_destroy` also destroys the swayc, so we have to grab a
reference to the sway_workspace so we can free it afterwards.
This also fixes a memory leak where the floating container wasn't freed.
Fixes #2092.
|
|
|
|
|
|
|
|
|
|
|
|
* Attach sticky containers to new workspaces when switching
* Fire the close event *before* we start destroying the workspace to
prevent a crash
Because the sticky container now follows the visible workspace, this
simplifies the rendering and container_at logic.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Add and use lenient_strcat and lenient_strncat functions
* Rename `concatenate_child_titles` function as that's no longer what it
does
* Rename `container_notify_child_title_changed` because we only need to
notify that the tree structure has changed, not titles
* Don't notify parents when a child changes its title
* Update ancestor titles when changing a container's layout
* Eg. create nested tabs and change the inner container to stacking
* No need to store tree presentation in both container->name and
formatted_title
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When moving a container to an output which has a different scale than
the previous, rebuild the title and marks textures at the new scale.
Fixes #1999.
|