summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* seat_cmd_cursor: utilize mouse button helpersLibravatar Brian Ashworth2019-01-10
| | | | | | | | | | 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`.
* Merge pull request #3400 from ianyfan/config-braceLibravatar emersion2019-01-10
|\ | | | | config.c: fix brace detection at end of file
| * config.c: fix brace detection at end of fileLibravatar Ian Fan2019-01-10
| |
* | Merge pull request #3341 from RedSoxFan/mouse-bindings-improvedLibravatar Ian Fan2019-01-10
|\ \ | | | | | | Improve mouse button parsing: helpers and bind{code/sym}
| * | bind{code,sym}: utilize mouse button helpersLibravatar Brian Ashworth2019-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Add helpers for improved mouse button parsingLibravatar Brian Ashworth2019-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3394 from RedSoxFan/bar-block-renderLibravatar emersion2019-01-10
|\ \ \ | | | | | | | | swaybar: fix rendering of border and background
| * | | swaybar: fix rendering of border and backgroundLibravatar Brian Ashworth2019-01-09
| |/ / | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #3399 from RedSoxFan/fix-output-destruction-segfaultsLibravatar emersion2019-01-10
|\ \ \ | | | | | | | | Fix segfaults on output destruction
| * | | Fix segfaults on output destructionLibravatar Brian Ashworth2019-01-10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3396 from RedSoxFan/scroll-titlebar-borderLibravatar emersion2019-01-10
|\ \ \ | |/ / |/| | cursor: allow scrolling tabs/stack on title border
| * | cursor: allow scrolling tabs/stack on title borderLibravatar Brian Ashworth2019-01-09
|/ / | | | | | | | | | | 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.
* | Reset container dimensions when moving into workspace from directionLibravatar Ryan Dwyer2019-01-09
| |
* | Merge pull request #3391 from jbeich/freebsdLibravatar emersion2019-01-09
|\ \ | |/ |/| Simplify FreeBSD build
| * Simplify evdev includes on FreeBSD by relying on up-to-date packageLibravatar Jan Beich2019-01-09
|/ | | | | | | | | | | | 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> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
* Merge pull request #3386 from RedSoxFan/seat-reload-waitLibravatar emersion2019-01-09
|\ | | | | reload: apply seat cfgs after reading entire cfg
| * reload: apply seat cfgs after reading entire cfgLibravatar Brian Ashworth2019-01-09
| | | | | | | | | | | | | | 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.
* | Merge pull request #3390 from RedSoxFan/execute-seatLibravatar emersion2019-01-09
|\ \ | | | | | | cmd_bind: pass the seat to execute_command
| * | cmd_bind: pass the seat to execute_commandLibravatar Brian Ashworth2019-01-09
| |/ | | | | | | | | | | | | | | | | `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.
* | Merge pull request #3372 from ianyfan/trayLibravatar emersion2019-01-09
|\ \ | | | | | | swaybar: handle SNI signals better
| * | swaybar: improve tray loggingLibravatar Ian Fan2019-01-08
| | |
| * | swaybar: handle SNI signals betterLibravatar Ian Fan2019-01-08
| | | | | | | | | | | | | | | This fixes a crash caused by callbacks not matching the right sender, and frees old values later, before they are re-assigned.
| * | swaybar: free the right item during tray destructionLibravatar Ian Fan2019-01-08
| | | | | | | | | | | | | | | Also added a comment to make more obvious the reason for comparing sni->status[0] == 'N'
* | | Merge pull request #3389 from RedSoxFan/swap-context-seatLibravatar emersion2019-01-09
|\ \ \ | | | | | | | | cmd_swap: use handler context seat
| * | | cmd_swap: use handler context seatLibravatar Brian Ashworth2019-01-09
| | |/ | |/| | | | | | | Use the handler context seat instead of the default seat
* | | Merge pull request #3387 from RedSoxFan/keyboard-timer-before-executeLibravatar emersion2019-01-09
|\ \ \ | |/ / |/| | keyboard: update repeat timer before execution
| * | keyboard: update repeat timer before executionLibravatar Brian Ashworth2019-01-09
|/ / | | | | | | | | | | Since the keyboard can be destroyed by executing a binding (reloading with a different seat attachment config), update the repeat timer before executing the binding.
* | Merge pull request #3385 from robertgzr/reset_output_mappingLibravatar Drew DeVault2019-01-08
|\ \ | |/ |/| cursor: allow mapping to all outputs
| * cursor: allow mapping to all outputsLibravatar Robert Günzler2019-01-09
| | | | | | | | Running `input "<input>" map_to_output *` resets the mapping to all outputs
* | Merge pull request #3275 from ianyfan/remove-readlineLibravatar emersion2019-01-08
|\ \ | | | | | | Rewrite strip_whitespace and remove readline.c
| * | fixup! stringop.c: rewrite strip_whitespaceLibravatar Ian Fan2019-01-02
| | |
| * | fixup! config.c: re-enable backslash continuation in config fileLibravatar Ian Fan2019-01-01
| | |
| * | config.c: re-enable backslash continuation in config fileLibravatar Ian Fan2019-01-01
| | |
| * | Remove readline.cLibravatar Ian Fan2019-01-01
| | | | | | | | | | | | | | | All occurrences of read_line have been replaced by getline. peek_line has been absorbed into detect_brace.
| * | stringop.c: rewrite strip_whitespaceLibravatar Ian Fan2019-01-01
| | |
* | | Merge pull request #3337 from RedSoxFan/fix-seat-cmd-cursorLibravatar emersion2019-01-08
|\ \ \ | | | | | | | | seat_cmd_cursor: work on seat name provided
| * | | seat_cmd_cursor: work on seat name providedLibravatar Brian Ashworth2018-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of simulating events on the current seat, this makes it so seat_cmd_cursor respects the seat name provided by `seat <name> cursor <args>`. It also adds support for simulating events on all seats when the wildcard is given. This also defers the command when reading the config, which allows the user to set the initial position of the cursor when the command is included in the config file.
* | | | Add data-control-v1Libravatar emersion2019-01-07
| | | |
* | | | seat: unhide the cursor if it is warped to focusLibravatar Rouven Czerwinski2019-01-07
| | | | | | | | | | | | | | | | | | | | | | | | Unhide the cursor if container warping is enabled. Also set the image_surface to NULL during view_unmap, otherwise the cursor will try to access the surface which is currently being unmapped.
* | | | view: use seat_consider_warp_to_focus in view_unmapLibravatar Rouven Czerwinski2019-01-07
| | | | | | | | | | | | | | | | | | | | The view_unmap function contained an open coded version of seat_consider_warp_to_focus, replace it with a call to the function.
* | | | cursor: move unhide and timeout retrieval into separate functionsLibravatar Rouven Czerwinski2019-01-07
| | | | | | | | | | | | | | | | | | | | The unhide and timeout retrieval functions are needed in a later commit. No functional changes.
* | | | Merge pull request #3381 from oscarwcl/swayidle-inhibit-sleepLibravatar emersion2019-01-07
|\ \ \ \ | | | | | | | | | | swayidle: Fix sleep inhibitor not being acquired
| * | | | swayidle: Fix sleep inhibitor not being acquiredLibravatar Oscar Cowdery Lack2019-01-07
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Fixes #3377. The sleep lock file descriptor was immediately closed after it was acquired due to the dbus message being freed. Now the fd is duplicated before the message is freed so the inhibitor stays active.
* | | | Merge pull request #3378 from jbeich/masterLibravatar emersion2019-01-06
|\ \ \ \ | | | | | | | | | | Unbreak build on 32bit platforms
| * | | | Use %z for printing size_tLibravatar Jan Beich2019-01-06
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ../sway/desktop/transaction.c:367:17: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat] transaction, transaction->num_waiting); ^~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/wlr/util/log.h:56:72: note: expanded from macro 'wlr_log' _wlr_log(verb, "[%s:%d] " fmt, _wlr_strip_path(__FILE__), __LINE__, ##__VA_ARGS__) ^~~~~~~~~~~ ../sway/desktop/transaction.c:477:5: error: format specifies type 'long' but the argument has type 'unsigned int' [-Werror,-Wformat] transaction->num_configures - transaction->num_waiting + 1, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/wlr/util/log.h:56:72: note: expanded from macro 'wlr_log' _wlr_log(verb, "[%s:%d] " fmt, _wlr_strip_path(__FILE__), __LINE__, ##__VA_ARGS__) ^~~~~~~~~~~ ../sway/desktop/transaction.c:478:5: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat] transaction->num_configures, ms, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/wlr/util/log.h:56:72: note: expanded from macro 'wlr_log' _wlr_log(verb, "[%s:%d] " fmt, _wlr_strip_path(__FILE__), __LINE__, ##__VA_ARGS__) ^~~~~~~~~~~
* | | | Merge pull request #3367 from oscarwcl/swaylock-fix-capslockLibravatar Drew DeVault2019-01-05
|\ \ \ \ | | | | | | | | | | swaylock: Fix caps lock not updating immediately
| * | | | swaylock: Fix caps lock not updating immediatelyLibravatar Oscar Cowdery Lack2019-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially fixes #2788. This change makes it so the lock screen is redrawn whenever the caps lock modifier state changes, rather on relying on the keypress event. This didn't work because caps lock is disabled when the key is released, not pressed, so the caps lock indicator does not go away until the next keypress event.
* | | | | Fix urgency documentationLibravatar Ryan Dwyer2019-01-05
| | | | |
* | | | | Update README.mdLibravatar Drew DeVault2019-01-05
| |_|_|/ |/| | |
* | | | Fixed formulations.Libravatar PlusMinus02019-01-04
| | | |