Age | Commit message (Collapse) | Author |
|
Make seat_get_active_child ignore floating children
|
|
Fix crash when an idle-inhibiting client exits
|
|
When destroying an idle-inhibiting client, idle_inhibit_v1_check_active can get
called from transaction_progress_queue on a view with a null container.
view_is_visible does not handle a view in this state.
|
|
Also renames container to con in one function to prevent ugly line
wrapping.
|
|
seat_get_active_child is used to get the active tiling child in a few
places, such as outputs getting their active workspace and
tabbed/stacked containers getting their visible child. When a workspace
uses a tabbed or stacked layout and contains a focused floating view,
calling seat_get_active_child on the workspace would incorrectly return
the floating view. This changes it so it will return the tiling child.
This fixes the following bug:
* Create layout T[view view] then float one of the views
* Attempt to click the tiling view to give it focus - it wouldn't work
because seat_get_active_child would return the floating view
|
|
Fix crash when unmapping last child of a tabbed workspace
|
|
* Create layout T[view view]
* Move the cursor into the title bar area
* Close both views
Sway would crash because container_at_tabbed would attempt to divide by
zero when there are no children.
The children check isn't needed for the stacked function because it
doesn't divide anything by the number of children.
Fixes #2636.
|
|
ipc: add focus information to root node
|
|
|
|
|
|
Update for swaywm/wlroots#1243
|
|
|
|
|
|
|
|
"Doesn't need an update" my ass...
|
|
Remove redundant container creation in view initialisation
|
|
|
|
bar: remove i3bar_block_free in favour of i3bar_block_unref
|
|
|
|
Allow spaces in background file path
|
|
|
|
wordexp p is now initialized to {0} to prevent a segfault on wordfree
in the failure case.
File paths with single quotes and double quotes are now supported. The
quote can either be wrapped in the other quote or escaped with three
backslashes.
Additionally to make passing file paths with double quotes to swaybg
easier, instead of enclosing the path given to swaybg in quotes, all
spaces, single quotes, and double quotes in the resulting path are now
escaped with a single backslash.
|
|
|
|
|
|
Remove bad assertion in workspace_rejigger
|
|
The assertion can be (rightfully) triggered by creating layout
V[H[view view] view] and moving the top right view to the right.
After removing the assertion I found the container being moved needs its
size reset to prevent it from being sized wrongly after arranging.
|
|
i3bar: count references to blocks
|
|
This prevents blocks from being destroyed before their hotspots are destroyed,
in case it is used for a pending click event that fires between the bar
receiving a new status, which destroys the block, and the bar rendering the new
status, which destroys the hotspot; this problem can be easily produced by
scrolling on a block that immediately causes a new status to be sent, with
multiple outputs
|
|
commands: when moving a container, restore focus properly
|
|
Update textures for cmd_client_* commands
|
|
Don't use handler_context in view_unmap
|
|
Since the `client.{focused,focused_inactive,unfocused,urgent}` commands
change colors, the textures need to be updated otherwise the textures
and the rest of the title bar may utilize different colors.
|
|
Implement tiling drag
|
|
* Make container_add_sibling's `after` argument a boolean.
* Use a constant for drop layout border
* Make thickness an int
* Add button state check
* Move comments in seat_end_move_tiling
|
|
|
|
|
|
|
|
When workspace_wrap_children is called on a workspace which has a
fullscreen child and the fullscreen child is a direct child of the
workspace, sway would crash.
The workspace's fullscreen pointer is unset when the fullscreen
container is detached and applied again when added to a parent, but in
this case the parent hadn't yet been added to the workspace which meant
con->workspace was NULL.
The fix makes container_handle_fullscreen_reparent return if there's no
workspace, and the fullscreen pointer is reapplied in
workspace_wrap_children.
|
|
|
|
|
|
Hold floating_modifier and drag a tiling view to a new location.
|
|
|
|
In preparation for introducing OP_MOVE_TILING.
|
|
Give windows pointer focus immediately
|
|
|
|
|
|
|
|
Fixes #2401 (aka #2558)
Previously, when switching windows, pointer focus was not changed until the pointer was moved. This makes the pointer enter happen immediately, without the side effects of other attempted fixes.
|
|
handle_layer_shell_surface: Do not crash if seat doesn't have focus
|
|
|