Age | Commit message (Collapse) | Author |
|
Firstly, a change had to be made to the container_at functions. If you
create layout `T[view H[view view]]` and hover the second tab, the
container_at functions would return the focus_inactive child. They now
return the split container itself. To compensate for this,
dispatch_cursor_button has been adjusted to find the focus_inactive
child before focusing it.
The actual implementation of wheel scrolling is pretty straightforward.
This uses handle_cursor_axis, so I took a similar approach to
handle_cursor_button (ie. creating a dispatch_cursor_axis function).
|
|
swaybar: handle hotplugging
|
|
|
|
swaybar: fix parsing errors when json is sent in parts
|
|
stabilityに関する注記を更新
|
|
|
|
|
|
If the tokener parses incomplete json, it sets its error value to
json_tokener_continue. This means that extra json should be provided,
but the code was providing the entire object again. In the interest of
simplicity, the tokener is reset so that buffer_pos always points to the
start of the current object.
|
|
|
|
|
|
Fix compilation against wlroots without X11 backend
|
|
|
|
Fix segfault in output_render
|
|
|
|
This was the source of numerous bugs, from hotplug events not being
received to segfaults because wl_display_roundtrip was making the
bar process unplug events while blocking in an iteration over all
outputs.
|
|
Don't kill and respawn swaybars on hotplug.
|
|
Fix segfault when executing command without focus
|
|
ipc: add pid information for views in layout tree
|
|
|
|
|
|
Introduce create_output command (for developer use)
|
|
|
|
config: free strings fields when freeing input config
|
|
|
|
Should help with testing hotplugging.
|
|
|
|
Overhaul swaybar protocol handling (+fixes)
|
|
|
|
|
|
This now correctly handles an incoming json infinite array by shifting
most of the heavy listing to the json-c parser, as well as sending
multiple statuses at once. It also removes the struct
i3bar_protocol_state and moves its members into the status_line struct,
allowing the same buffer to be used for both protocols.
|
|
This now uses the getline function to receive the header, replacing
read_line_buffer, which has been deleted since it is otherwise unused.
Furthermore, once the protocol has been determined, the current status
is handled immediately to be shown (though this has not been added for
the i3bar protocol since it has not yet been rewritten to handle this).
|
|
This now uses getline to correctly handle multiple or long statuses. It
also removes the struct text_protocol_state and moves its members into
the status_line struct.
|
|
|
|
|
|
|
|
|
|
|
|
swaybar: use output names instead of output indexes
|
|
|
|
Fix crash moving out of tab container
|
|
|
|
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
|
|
|