aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-11swaybar: add status_edge_padding commandBrian Ashworth
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.
2019-01-11swaybar: add status_padding commandBrian Ashworth
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.
2019-01-10swaylock: Add caps lock state to indicatorRobinhuett
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.
2019-01-10Merge pull request #3400 from ianyfan/config-braceemersion
config.c: fix brace detection at end of file
2019-01-10config.c: fix brace detection at end of fileIan Fan
2019-01-10Merge pull request #3341 from RedSoxFan/mouse-bindings-improvedIan Fan
Improve mouse button parsing: helpers and bind{code/sym}
2019-01-10Merge pull request #3394 from RedSoxFan/bar-block-renderemersion
swaybar: fix rendering of border and background
2019-01-10Merge pull request #3399 from RedSoxFan/fix-output-destruction-segfaultsemersion
Fix segfaults on output destruction
2019-01-10Fix segfaults on output destructionBrian Ashworth
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.
2019-01-09swaybar: fix rendering of border and backgroundBrian Ashworth
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
2019-01-10Merge pull request #3396 from RedSoxFan/scroll-titlebar-borderemersion
cursor: allow scrolling tabs/stack on title border
2019-01-09cursor: allow scrolling tabs/stack on title borderBrian Ashworth
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.
2019-01-09bind{code,sym}: utilize mouse button helpersBrian Ashworth
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.
2019-01-09Add helpers for improved mouse button parsingBrian Ashworth
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.
2019-01-09Reset container dimensions when moving into workspace from directionRyan Dwyer
2019-01-09Merge pull request #3391 from jbeich/freebsdemersion
Simplify FreeBSD build
2019-01-09Simplify evdev includes on FreeBSD by relying on up-to-date packageJan Beich
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> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-01-09Merge pull request #3386 from RedSoxFan/seat-reload-waitemersion
reload: apply seat cfgs after reading entire cfg
2019-01-09Merge pull request #3390 from RedSoxFan/execute-seatemersion
cmd_bind: pass the seat to execute_command
2019-01-09Merge pull request #3372 from ianyfan/trayemersion
swaybar: handle SNI signals better
2019-01-09Merge pull request #3389 from RedSoxFan/swap-context-seatemersion
cmd_swap: use handler context seat
2019-01-09Merge pull request #3387 from RedSoxFan/keyboard-timer-before-executeemersion
keyboard: update repeat timer before execution
2019-01-09cmd_bind: pass the seat to execute_commandBrian Ashworth
`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.
2019-01-09cmd_swap: use handler context seatBrian Ashworth
Use the handler context seat instead of the default seat
2019-01-09keyboard: update repeat timer before executionBrian Ashworth
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.
2019-01-09reload: apply seat cfgs after reading entire cfgBrian Ashworth
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.
2019-01-08Merge pull request #3385 from robertgzr/reset_output_mappingDrew DeVault
cursor: allow mapping to all outputs
2019-01-09cursor: allow mapping to all outputsRobert Günzler
Running `input "<input>" map_to_output *` resets the mapping to all outputs
2019-01-08swaybar: improve tray loggingIan Fan
2019-01-08swaybar: handle SNI signals betterIan Fan
This fixes a crash caused by callbacks not matching the right sender, and frees old values later, before they are re-assigned.
2019-01-08swaybar: free the right item during tray destructionIan Fan
Also added a comment to make more obvious the reason for comparing sni->status[0] == 'N'
2019-01-08Merge pull request #3275 from ianyfan/remove-readlineemersion
Rewrite strip_whitespace and remove readline.c
2019-01-08Merge pull request #3337 from RedSoxFan/fix-seat-cmd-cursoremersion
seat_cmd_cursor: work on seat name provided
2019-01-07Add data-control-v1emersion
2019-01-07seat: unhide the cursor if it is warped to focusRouven Czerwinski
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.
2019-01-07view: use seat_consider_warp_to_focus in view_unmapRouven Czerwinski
The view_unmap function contained an open coded version of seat_consider_warp_to_focus, replace it with a call to the function.
2019-01-07cursor: move unhide and timeout retrieval into separate functionsRouven Czerwinski
The unhide and timeout retrieval functions are needed in a later commit. No functional changes.
2019-01-07Merge pull request #3381 from oscarwcl/swayidle-inhibit-sleepemersion
swayidle: Fix sleep inhibitor not being acquired
2019-01-07swayidle: Fix sleep inhibitor not being acquiredOscar Cowdery Lack
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.
2019-01-06Merge pull request #3378 from jbeich/masteremersion
Unbreak build on 32bit platforms
2019-01-06Use %z for printing size_tJan Beich
../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__) ^~~~~~~~~~~
2019-01-05Merge pull request #3367 from oscarwcl/swaylock-fix-capslockDrew DeVault
swaylock: Fix caps lock not updating immediately
2019-01-05Fix urgency documentationRyan Dwyer
2019-01-05Update README.mdDrew DeVault
2019-01-04Fixed formulations.PlusMinus0
2019-01-04Update sway-output.5.scdPlusMinus0
Some more clarifications because it seems scale questions are recurring.
2019-01-03Apply tiling_drag_threshold to all containersDavid96
2019-01-02completion: use jq instead of sed for swaybar completionRéouven Assouly
2019-01-02zsh: update completionsRéouven Assouly
2019-01-02Implement tiling_drag_thresholdBrian Ashworth
Implements `tiling_drag_threshold <threshold>` to prevent accidental dragging of tiling containers. If a container (and all of its descendants) are unfocused and the tile bar is pressed, a threshold will be used before actually starting the drag. Once the threshold has been exceeded, the cursor will change to the grab icon and the operation will switch from `OP_MOVE_TILING_THRESHOLD` to `OP_MOVE_TILING`.