| Commit message (Collapse) | Author | Age |
... | |
|\ \
| | |
| | | |
Improve mouse button parsing: bar mouse bindings
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This modifies `bar_cmd_bindsym` to use `get_mouse_bindsym` for parsing
mouse buttons. This also introduces `cmd_bar_bindcode`, which will use
`get_mouse_bindcode` for parsing mouse buttons. Like sway bindings, the
two commands are encapsulated in a single file with shared code.
This also modifies swaybar to operate off of event codes rather than x11
button numbers, which allows for any mouse button to be used.
This introduces two new IPC properties:
- For `get_bar_config`, `event_code` has been added to the `bindings`
section and will include to event code for the button. If the event code
can be mapped to a x11 button, `input_code` will still be the x11 button
number. Otherwise, `input_code` will be `0`.
- Likewise for `click_events`, `event` has been added and will include
the event code for the button clicked. If the event code can be mapped
to a x11 button, `button` will still be the x11 button number.
Otherwise, `button` will be `0`.
|
|\ \ \
| | | |
| | | | |
Improve mouse button parsing: seat cursor buttons
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This modifies `seat_cmd_cursor` to utilize `get_mouse_button` when
parsing mouse buttons for the `press` and `release` operations. All x11
buttons, button event names, and button event codes are supported.
For x11 axis buttons, `dispatch_cursor_axis` is used instead of
`dispatch_cursor_button`. However the `press`/`release` state is ignored
and the either axis event is processed. This also removes support for
`left` and `right` in favor of `BTN_LEFT` and `BTN_RIGHT`.
|
|\ \ \
| | | |
| | | | |
Improve mouse button parsing: input scroll_button
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This modifies `input_cmd_scroll_button` to utilize the mouse button
helper `get_mouse_button` when parsing the button. x11 axis buttons are
not supported with this command and `CMD_INVALID` will be returned, but
all other x11 buttons, button event names, and button event codes should
be working
|
|\ \ \
| | | |
| | | | |
Refactor seat operations to use an interface
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This splits each seat operation (drag/move tiling/floating etc) into a
separate file and introduces a struct sway_seatop_impl to abstract the
operation.
The move_tiling_threshold operation has been merged into move_tiling.
The main logic for each operation is untouched aside from variable
renames.
The following previously-static functions have been made public:
* node_at_coords
* container_raise_floating
* render_rect
* premultiply_alpha
* scale_box
|
|\ \ \ \
| | | | |
| | | | | |
reload: reset input configs
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This resets all input options to their defaults on reload. This also
fixes some debug log typos in `input_manager_libinput_config_pointer`.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
swaybar: obey height if given
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
If there is a bar height given, use that as the height rather than as a
minimum height. This matches i3-gaps behavior.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
input events: toggle and ipc get_inputs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add `libinput_send_events` to the IPC output for `get_inputs` to allow
scripting of mode changes.
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Implements toggling input events during runtime. This will not attempt
to toggle to a mode that is not supported by the device.
When toggling the wildcard input, the device specific input configs are
altered. Each device will cycle one supported mode.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
swaybar: adjustable status padding
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This adds the bar subcommand `status_edge_padding <padding>` to set the
padding used when the status line is on the right edge of the bar.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Adds the bar subcommand `status_padding <padding>` which allows setting
the padding used for swaybar. If `status_padding` is set to `0`, blocks
will be able to take up the full height of the bar.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
swaybar: allow identifiers for output and tray
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This allows `bar output` and `bar tray_output` to specify an output
identifier. Output names should still work as well.
This parses the output identifier from the xdg_output description,
which wlroots currently sets to `make model serial (name)`. Since this
could change in the future, all identifier comparisons are guarded by
NULL-checks in case the description cannot be parsed to an identifier.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
config: fix line number with continued lines
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When the config has continued lines, `get_line_with_cont` may read more
than one line of the actual file. When displaying line numbers for error
messages, they should be the line number in the file to make it easy to
find and fix the issue.
|
|/ / / / / / |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
config: do not reset pos when braces found
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
When a brace is found, the config file should not seek back to before
the brace, otherwise the brace will be read multiple times.
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | | |
Implements customization for the indicator as proposed in #2788 with comments from #3367 in mind.
The default behaviour does not change exept for the caps lock text color.
|
|\ \ \ \
| |_|/ /
|/| | | |
config.c: fix brace detection at end of file
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Improve mouse button parsing: helpers and bind{code/sym}
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This modifies `bindcode` and `bindsym` to use `get_mouse_bindcode` and
`get_mouse_bindsym`, respectively, to parse mouse buttons. Additionally,
the `BINDING_MOUSE` type has been split into `BINDING_MOUSECODE` and
`BINDING_MOUSESYM` to match keys and allow for mouse bindcodes to be
used. Between the two commands, all button syms and codes should be
supported, including x11 axis buttons.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The following helper functions have been added to aid with parsing mouse
buttons from a string:
1. `get_mouse_bindsym`: attempts to parse the string as an x11 button
(button[1-9]) or as an event name (ex BTN_LEFT or BTN_SIDE)
2. `get_mouse_bindcode`: attempts to parse the string as an event code
and validates that the event code is a button (starts with `BTN_`).
3. `get_mouse_button`: this is a conveniency function for callers that
do not care whether a bindsym or bindcode are used and attempts to parse
the string as a bindsym and then bindcode.
None of these functions are used in this commit. The sole purpose of
this commit is to make the larger set more granular and easier to
review/manipulate. There will be a series of commits following this one
that will modify any command which uses a mouse button to use these
helpers.
|
|\ \ \ \
| | | | |
| | | | | |
swaybar: fix rendering of border and background
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes the rendering of borders and backgrounds for blocks. This
also makes the following changes:
* both borders and padding are scaled with the output
* both lines and rectangles are rendered without an antialiasing to
avoid bleeding outside the desired area
|
|\ \ \ \
| | | | |
| | | | | |
Fix segfaults on output destruction
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes two causes of segfaulting when an output is destroyed.
The first occurred when an output was never enabled. The issue was that
the destroy signal was never initialized so when it was emitted, sway
segfaulted. This was fixed by moving the initialization into
`output_create` since all outputs, regardless of whether they have ever
been enabled, will be destroyed at some point.
The second occurred when the cursor was on an output that was being
destroyed. The sway output would have already been removed, but if there
are other outputs, a cursor rebase would still occur. Since the
wlr_output still existed and the sway output was destroyed, the cursor
could be over nothing, resulting in a segfault when trying to get the
sway output, which was destroyed.
|
|\ \ \ \
| |/ / /
|/| | | |
cursor: allow scrolling tabs/stack on title border
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
This allows tabbed and stacked containers to be scrolled through when
the cursor is over the border of the title bar. The borders around the
other three edges of the contents should not be affected by this change.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Simplify FreeBSD build
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
evdev-proto is installed by a dependency, so some files have been missed:
In file included from ../sway/input/cursor.c:3:
/usr/local/include/libevdev-1.0/libevdev/libevdev.h:30:10: fatal error: 'linux/input.h' file not found
#include <linux/input.h>
^~~~~~~~~~~~~~~
../swaybar/i3bar.c:3:10: fatal error: 'linux/input-event-codes.h' file not found
#include <linux/input-event-codes.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|\ \
| | |
| | | |
reload: apply seat cfgs after reading entire cfg
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Wait until all seat configs have been read before applying them on
reload. This prevents unnecessary attachment/detachment of input
devices and therefore creation/destruction of seat devices as
individual lines are read.
|
|\ \ \
| | | |
| | | | |
cmd_bind: pass the seat to execute_command
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`seat_execute_command` was incorrectly setting
`config->handler_context.seat` before calling `execute_command`. Since
`execute_command` was being called with a `NULL` seat argument,
`execute_command` was setting `config->handler_context.seat` to the
default seat. This resulted in all bindings being executed on the
default seat and causing undesired behavior for devices on other seats.
|
|\ \ \
| | | |
| | | | |
swaybar: handle SNI signals better
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes a crash caused by callbacks not matching the right sender,
and frees old values later, before they are re-assigned.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Also added a comment to make more obvious the reason for comparing
sni->status[0] == 'N'
|
|\ \ \ \
| | | | |
| | | | | |
cmd_swap: use handler context seat
|
| | |/ /
| |/| |
| | | |
| | | | |
Use the handler context seat instead of the default seat
|