mirror of
https://github.com/swaywm/sway.git
synced 2025-11-09 13:29:49 -05:00
Allow containers to float
Things worth noting:
* When a fullscreen view unmaps, the check to unset fullscreen on the
workspace has been moved out of view_unmap and into container_destroy,
because containers can be fullscreen too
* The calls to `container_reap_empty_recursive(workspace)` have been
removed from `container_set_floating`. That function reaps upwards so it
wouldn't do anything. I'm probably the one who originally added it...
* My fix (b14bd1b0b1) for the tabbed child
crash has a side effect where when you close a floating container, focus
is not given to the tiled container again. I've removed my fix and
removed the call to `send_cursor_motion` from `seat_set_focus_warp`. We
should consider calling it from somewhere earlier in the call stack.
This commit is contained in:
parent
a2164c6661
commit
08cfba2192
11 changed files with 126 additions and 86 deletions
|
|
@ -298,9 +298,15 @@ static struct cmd_results *move_to_position(struct sway_container *container,
|
|||
}
|
||||
|
||||
static struct cmd_results *move_to_scratchpad(struct sway_container *con) {
|
||||
if (con->type != C_CONTAINER && con->type != C_VIEW) {
|
||||
if (con->type == C_WORKSPACE && con->children->length == 0) {
|
||||
return cmd_results_new(CMD_INVALID, "move",
|
||||
"Only views and containers can be moved to the scratchpad");
|
||||
"Can't move an empty workspace to the scratchpad");
|
||||
}
|
||||
if (con->type == C_WORKSPACE) {
|
||||
// Wrap the workspace's children in a container
|
||||
struct sway_container *workspace = con;
|
||||
con = container_wrap_children(con);
|
||||
workspace->layout = L_HORIZ;
|
||||
}
|
||||
if (con->scratchpad) {
|
||||
return cmd_results_new(CMD_INVALID, "move",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue