Commit graph

5455 commits

Author SHA1 Message Date
Brian Ashworth 8fd3f32c79 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.
2019-01-10 03:07:36 -05:00
Ryan Dwyer 14cab78612 Reset container dimensions when moving into workspace from direction 2019-01-09 11:22:23 -05:00
emersion f9cea7f09b
Merge pull request #3391 from jbeich/freebsd
Simplify FreeBSD build
2019-01-09 14:00:54 +01:00
Jan Beich 0a4c4f3e52 Simplify evdev includes on FreeBSD by relying on up-to-date package
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-09 11:02:05 +00:00
emersion d06782c5e7
Merge pull request #3386 from RedSoxFan/seat-reload-wait
reload: apply seat cfgs after reading entire cfg
2019-01-09 10:01:17 +01:00
emersion 8daea2bfec
Merge pull request #3390 from RedSoxFan/execute-seat
cmd_bind: pass the seat to execute_command
2019-01-09 09:59:09 +01:00
emersion cfdb614e84
Merge pull request #3372 from ianyfan/tray
swaybar: handle SNI signals better
2019-01-09 09:58:09 +01:00
emersion 51bc466e2b
Merge pull request #3389 from RedSoxFan/swap-context-seat
cmd_swap: use handler context seat
2019-01-09 09:54:16 +01:00
emersion ff62425480
Merge pull request #3387 from RedSoxFan/keyboard-timer-before-execute
keyboard: update repeat timer before execution
2019-01-09 09:52:39 +01:00
Brian Ashworth fdc262d402 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.
2019-01-09 01:50:40 -05:00
Brian Ashworth c4122e3975 cmd_swap: use handler context seat
Use the handler context seat instead of the default seat
2019-01-09 01:37:46 -05:00
Brian Ashworth 1feb2ce064 keyboard: update repeat timer before execution
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-09 01:07:29 -05:00
Brian Ashworth f33969358c 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.
2019-01-09 01:06:21 -05:00
Drew DeVault da8f24de1d
Merge pull request #3385 from robertgzr/reset_output_mapping
cursor: allow mapping to all outputs
2019-01-08 20:36:56 -05:00
Robert Günzler 145ac2c571 cursor: allow mapping to all outputs
Running `input "<input>" map_to_output *` resets the mapping to all outputs
2019-01-09 02:33:30 +01:00
Ian Fan f87628e2ab swaybar: improve tray logging 2019-01-08 16:03:16 +00:00
Ian Fan d093c3ac55 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.
2019-01-08 12:18:59 +00:00
Ian Fan b666fc76a6 swaybar: free the right item during tray destruction
Also added a comment to make more obvious the reason for comparing
sni->status[0] == 'N'
2019-01-08 12:17:53 +00:00
emersion 140bc2dd5b
Merge pull request #3275 from ianyfan/remove-readline
Rewrite strip_whitespace and remove readline.c
2019-01-08 10:05:37 +01:00
emersion 353d9ed74f
Merge pull request #3337 from RedSoxFan/fix-seat-cmd-cursor
seat_cmd_cursor: work on seat name provided
2019-01-08 09:44:11 +01:00
emersion 327236a7ab Add data-control-v1 2019-01-07 17:01:53 -05:00
Rouven Czerwinski cc858e605a seat: unhide the cursor if it is warped to focus
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-07 10:30:19 -05:00
Rouven Czerwinski 0b18560952 view: use seat_consider_warp_to_focus in view_unmap
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-07 10:30:19 -05:00
Rouven Czerwinski fde900861a cursor: move unhide and timeout retrieval into separate functions
The unhide and timeout retrieval functions are needed in a later commit. No
functional changes.
2019-01-07 10:30:19 -05:00
emersion bd59602711
Merge pull request #3381 from oscarwcl/swayidle-inhibit-sleep
swayidle: Fix sleep inhibitor not being acquired
2019-01-07 13:34:04 +01:00
Oscar Cowdery Lack 5a24ed2bf2 swayidle: Fix sleep inhibitor not being acquired
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-07 22:55:42 +11:00
emersion 688f4137a5
Merge pull request #3378 from jbeich/master
Unbreak build on 32bit platforms
2019-01-06 13:59:39 +01:00
Jan Beich 4a11d0e470 Use %z for printing size_t
../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-06 12:20:59 +00:00
Drew DeVault 728e5700dd
Merge pull request #3367 from oscarwcl/swaylock-fix-capslock
swaylock: Fix caps lock not updating immediately
2019-01-05 23:45:38 -05:00
Ryan Dwyer 0cc56ebe94 Fix urgency documentation 2019-01-05 23:34:04 -05:00
Drew DeVault bb5b168b6f Update README.md 2019-01-05 15:21:11 -05:00
PlusMinus0 d87cded568 Fixed formulations. 2019-01-04 12:44:03 +01:00
PlusMinus0 1b341834a6 Update sway-output.5.scd
Some more clarifications because it seems scale questions are recurring.
2019-01-04 12:44:03 +01:00
David96 ee50134634 Apply tiling_drag_threshold to all containers 2019-01-03 12:52:37 -05:00
Réouven Assouly 1450a9e9f9 completion: use jq instead of sed for swaybar completion 2019-01-02 21:38:32 -05:00
Réouven Assouly cf00fb2ccc zsh: update completions 2019-01-02 21:38:32 -05:00
Brian Ashworth 5bf4daf263 Implement tiling_drag_threshold
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`.
2019-01-02 23:33:33 +01:00
Oscar Cowdery Lack 76cd3f2642 swaylock: Fix caps lock not updating immediately
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.
2019-01-03 09:28:14 +11:00
Ian Fan 5bef06adfd fixup! stringop.c: rewrite strip_whitespace 2019-01-02 18:47:22 +00:00
Mack Straight a96e86744f Fix fullscreen view rendering crash
See issue #3359 for reproduction details. When a fullscreen view is
unmapped and there's a preceding transaction waiting, there may be
neither a saved buffer or a surface to render. This change matches
the equivalent code in render_view.
2019-01-01 10:08:27 -05:00
Ian Fan bd35879e1c fixup! config.c: re-enable backslash continuation in config file 2019-01-01 09:01:25 +00:00
Ian Fan a9c5158a77 config.c: re-enable backslash continuation in config file 2019-01-01 09:01:25 +00:00
Ian Fan a82b8a3c14 Remove readline.c
All occurrences of read_line have been replaced by getline.
peek_line has been absorbed into detect_brace.
2019-01-01 09:01:25 +00:00
Ian Fan 967566e37f stringop.c: rewrite strip_whitespace 2019-01-01 09:01:24 +00:00
Gaël PORTAY 3b4cf3718b bash: add completion for swaybar 2018-12-31 22:35:57 -05:00
Drew DeVault 3d7c20f062
Merge pull request #3249 from ianyfan/tray
Swaybar tray
2018-12-31 15:43:23 -05:00
Ian Fan 9e31f5d79c swaybar: use KDE's SNI IconThemePath property 2018-12-31 20:40:18 +00:00
Ian Fan 371089f62c swaybar: handle new and lost StatusNotifierWatcher 2018-12-31 20:40:18 +00:00
Ian Fan 8ffb7f0529 swaybar: draw a sad face if SNI has no icon 2018-12-31 20:40:18 +00:00
Ian Fan f33b5c5223 swaybar: do not create tray if hidden 2018-12-31 20:40:18 +00:00