aboutsummaryrefslogtreecommitdiffstats
path: root/swaynag/swaynag.c
Commit message (Collapse)AuthorAge
* Replace wlr_log with sway_logLibravatar M Stoeckl2019-01-21
| | | | | | | | | | | | | This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
* Fixes for small existing bugs.Libravatar Connor E2019-01-16
|
* Remove usage of VLAs.Libravatar Connor E2019-01-16
|
* swaynag: remove double free of details buttonLibravatar Brian Ashworth2018-12-17
| | | | | | | | | | | | | | If there are no arguments or invalid arguments given, swaynag will free `swaynag.details.button_details` under the `cleanup` label in main. It then called `swaynag_destroy`, which would attempt to free it again. Since `swaynag.details.button_details` is either freed on line 106 of main (when there is no detailed message) or added to `swaynag.buttons` on line 103 of main, there is no reason to manually free it in `swaynag_destroy`. Although I cannot reproduce a double free on my system, for some reason, it should have actually resulted in a double free in all code paths.
* swaynag: damage the cursor surface on updateLibravatar Brian Ashworth2018-12-15
| | | | | | | When the cursor surface gets updated, it should be damaged. This also bumps up `wl_compositor` to version 4 to be able to use `wl_surface_damage_buffer`.
* Cleanup list codeLibravatar Ian Fan2018-12-09
|
* Implement swaynag -B/--button-no-terminalLibravatar Brian Ashworth2018-11-27
| | | | | | | | | | In `i3 4.16`, `i3-nagbar` introduces the flags `-B/--button-no-terminal` to run the action directly instead of inside a terminal. This implements the flags for swaynag for compatibility. Since swaynag does not use an equivalent to `i3-sensible-terminal`, the flags `-b/--button` only uses a terminal when the environment variable `TERMINAL` is set, otherwise it acts the same as these new flags.
* Replace _XOPEN_SOURCE with _POSIX_C_SOURCELibravatar emersion2018-11-25
| | | | And make sure we don't define both in the same source file.
* More frees.Libravatar Connor E2018-11-13
|
* Sway clients: Exit gracefully when compositor is unavailableLibravatar Ryan Dwyer2018-10-15
|
* swaynag: fix use-after-free in wl_display_dispatchLibravatar Dominique Martinet2018-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When destroying swaynag from within wl_display_dispatch, we cannot disconnect the display as that will free the queue's event_list. Free it after running the loop instead. Fixes this use-after-free: ==7312==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000000110 at pc 0x000000412a9f bp 0x7ffd4e811760 sp 0x7ffd4e811750 READ of size 8 at 0x612000000110 thread T0 #0 0x412a9e in wl_list_empty ../common/list.c:206 #1 0x7f5b58f0d42f in dispatch_queue src/wayland-client.c:1572 #2 0x7f5b58f0d42f in wl_display_dispatch_queue_pending src/wayland-client.c:1815 #3 0x40f465 in swaynag_run ../swaynag/swaynag.c:390 #4 0x407576 in main ../swaynag/main.c:123 #5 0x7f5b58bb9412 in __libc_start_main ../csu/libc-start.c:308 #6 0x404a3d in _start (/opt/wayland/bin/swaynag+0x404a3d) 0x612000000110 is located 208 bytes inside of 320-byte region [0x612000000040,0x612000000180) freed by thread T0 here: #0 0x7f5b594ab480 in free (/lib64/libasan.so.5+0xef480) #1 0x40faff in swaynag_destroy ../swaynag/swaynag.c:454 #2 0x40cbb4 in layer_surface_closed ../swaynag/swaynag.c:82 #3 0x7f5b583e1acd in ffi_call_unix64 (/lib64/libffi.so.6+0x6acd) previously allocated by thread T0 here: #0 0x7f5b594aba50 in __interceptor_calloc (/lib64/libasan.so.5+0xefa50) #1 0x7f5b58f0c902 in wl_display_connect_to_fd src/wayland-private.h:236 (you need a wayland compiled with asan, my wl_list hack, or running with valgrind to see this trace)
* swaynag: destroy old cursor theme when updatedLibravatar Ian Fan2018-08-10
|
* Fix compiler errors.Libravatar Geoff Greer2018-08-05
| | | | | | | - Some platforms don't expose kill() unless _POSIX_C_SOURCE is defined. - fork(), execl(), and setsid() need unistd.h on some platforms. Basically, this fixes some platform-specific build errors.
* Add missing stdlib.h includes to swaynagLibravatar Marien Zwart2018-08-03
|
* swaynag: address some more of sircmpwn's commentsLibravatar Brian Ashworth2018-08-01
| | | | | | | | | | Fixes segfauls for any case where swaynag->outputs was not inititalized including -h/--help, -v/--version, and invalid arguments. Sets sane defaults for colors not given. Any color not given will fallback to the default color values for type error. Adds support for a hidpi cursor
* swaynag: fix hidpiLibravatar Brian Ashworth2018-08-01
|
* swaynag: allow more config optionsLibravatar Brian Ashworth2018-08-01
|
* swaynag: fix output selectionLibravatar Brian Ashworth2018-08-01
|
* swaynag: refactor {sway_,}nagbar to swaynagLibravatar Brian Ashworth2018-08-01