aboutsummaryrefslogtreecommitdiff
path: root/swaynag
AgeCommit message (Collapse)Author
2024-02-23Define _POSIX_C_SOURCE globallySimon Ser
See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
2023-11-03swaynag/config.c: fix build against gcc-14 (-Walloc-size)Sergei Trofimovich
`gcc-14` added a new `-Walloc-size` warning that makes sure that size of an individual element matches size of a pointed type: https://gcc.gnu.org/PR71219 `sway` triggers it on `calloc()` calls where member size is used as `1` (instead of member count): swaynag/config.c:169:65: error: allocation of insufficient size '1' for type 'struct swaynag_button' with size '48' [-Werror=alloc-size] 169 | struct swaynag_button *button = calloc(sizeof(struct swaynag_button), 1);
2023-07-31swaynag: Implement wp_cursor_shape_v1Alexander Orzechowski
2023-07-17swaynag: handle wayland-cursor failuresSimon Ser
Same as 92244c87dbb8 ("swaybar: handle wayland-cursor failures") but for swaynag. Closes: https://github.com/swaywm/sway/issues/7671
2023-06-25Use "default" XCursor instead of "left_ptr"Simon Ser
"left_ptr" is the legacy XCursor name. "default" is the cursor spec name.
2023-01-16swaynag: call swaynag_destroy on clean exitManuel Stoeckl
And fix the fallout of the swaynag_destroy having evolved without being tested: * wl_display_disconnect was called too early * `button_close` and `swaynag.details.button_details` needed to be heap allocated, since they are added to swaynag.buttons, and all entries of swaynag.buttons are freed in swaynag_destroy * To keep things simpler, disconnect the lifetime of the 'Toggle details' button text config setting from the button itself.
2022-12-22swaynag: drop swaynag_type.fontSimon Ser
It's too easy to have this go out of sync with font_description.
2022-12-22swaynag: fix NULL font descriptionSimon Ser
The font description was only set if provided on the CLI. It was left NULL for the defaults and when reading from the config file. Closes: https://github.com/swaywm/sway/issues/7186
2022-11-28Fix build on Debian Stablenerdopolis
2022-11-25build: drop intermediate libraries for protocolsSimon Ser
2022-07-01Reuse parsed PangoFontDescriptionHugo Osvaldo Barrera
Avoids parsing the configured font each time text is rendered.
2022-06-05swaynag: move close_button up to fix SIGSEGVGreg Depoire--Ferrer
When swaynag_parse_options encounters '--dismiss-button' (or its shorthand '-s'), it sets the text of the first button in the swaynag.buttons list, which is expected to exist and to be the dismiss button, to the one passed by the user. Commit 4780afb68b4ee2cdf0e4925f40cf885819f8a74a ("swaynag: statically allocate button_close, and move declaration") moved the list initialization to after swaynag_parse_options is called which made that code fail. For example, the command 'swaynag --dismiss-button Dismiss' crashes and 'swaynag --message Message --button Yes "" --dismiss-button Dismiss' shows the wrong buttons. Move it back to before swaynag_parse_options is called.
2022-05-07swaynag: combine consecutive declaration/assignmentsNihal Jere
2022-05-07swaynag: improve robustness when loading configNihal Jere
2022-05-07swaynag: do error checking and rename read_from_stdinNihal Jere
read_from_stdin not only read from stdin, but trimming trailing newlines, so rename it to reflect this.
2022-03-15remove unnecessary strlen callNihal Jere
2022-03-15swaynag: remove redundant status variables in mainNihal Jere
Instead, we just use `status` for all failures.
2022-03-15swaynag: remove unnecessary zero of swaynag structNihal Jere
Global variables are initialized to 0.
2022-03-15swaynag: statically allocate button_close, and move declarationNihal Jere
Every swaynag has a close button, so it doesn't make sense to allocate it dynamically. The declaration is moved later to when it is actually needed.
2022-03-15swaynag: allocate button_details with detailsNihal Jere
They are used together, so it doesn't make sense to allocate them separately.
2022-02-28swaynag: die on all allocation failuresNihal Jere
2022-02-08Remove all sprintf callsSimon Ser
Replace them with snprintf, which ensures buffer overflows won't happen.
2022-01-23swaynag: remove buffer destruction conditionKirill Primak
An address of a variable can never be NULL, so checking it doesn't make sense; and `destroy_buffer()` can operate on already destroyed buffers anyway. Fixes #6780
2021-12-13swaynag: remove xdg-output logicSimon Ser
We can just get the output name from wl_output directly, now that wl_output version 4 exists.
2021-09-13swaynag: fix pointer button events on scaled outputsxdavidwu
sway#6504 simplified rendering code by setting scaling at cairo, but that also changed button position records into ones without scale multiplication, breaking button events. This fixes it by not multiplying scale on events handling as well.
2021-09-13Rename pango_printf to render_textSimon Ser
This avoids using the pango_ prefix, reserved for functions coming from the Pango library.
2021-09-12Simplify swaybar/swaynag scaling codeCaduser2020
Use `cairo_scale` to set the scale factor, removing redundant multiplications by `output->scale`.
2021-06-17swaynag: adds option to set wayland shell layerJames Edwards-Jones
Uses --layer/-y set to overlay|top|bottom|background
2021-05-28details-gackground typo fixsergio
2021-05-10cairo: Replace <cairo/cairo.h> by <cairo.h>Issam E. Maghni
For full context, read https://gitlab.freedesktop.org/cairo/cairo/-/issues/479 TL;DR, cairo’s pc file adds `/cairo` to CFLAGS. So namespace cairo shouldn’t be used.
2021-04-22Use execlp("sh") instead of execl("/bin/sh")Simon Ser
This stops assuming the POSIX shell command is located in /bin.
2021-02-07swaynag: Use position from wl_pointer.enterKenny Levinsen
Only wl_pointer.motion was used to update pointer position, which would cause issues if the pointer was not moved prior to wl_pointer.button. This also fixes touch input through wl_pointer emulation, which fires wl_pointer.button immediately after wl_pointer.enter. Closes: https://github.com/swaywm/sway/issues/5991
2021-02-04Make command line option lists constManuel Stoeckl
2021-02-04Make Wayland request listeners static const when possibleManuel Stoeckl
2021-01-16Changed fprintf(stdout,...) to printf(...) for more readable codeSpizzyCoder
2020-09-14swaynag: add details background optionMustafa Abdul-Kader
Adds a new config option for details background for swaynag issue/#5673
2020-09-04swaynag: adds option to separately specify the text color for buttonsoliver-giersch
2020-07-30Fix incorrect format specifiersAntonin Décimo
2020-06-10swaynag: sway_abort on failure to properly registerLuke Drummond
In case `wl_display_roundtrip` returns an error after registering for events, print a more user-friendly error message and exit. Previously, if the build did not have assertions enabled, this would likely result in a segfault. With assertions enabled, it's not user friendly to terminate with internal implementation information.
2020-06-09swaynag: allow specifying more buttons which execute and dismissGraham Christensen
I don't love -z / -Z, but I figure this patch is far from being accepted for other reasons too.
2020-04-02swaynag: exit on wl_display_roundtrip errorDominique Martinet
fixes loop when sway closes the socket in the middle of querying outputs, see #5138.
2020-03-29swaynag: fix segfault on exit when arguments are not correctDominique Martinet
swaynag_destroy is called on all cleanup cases and needs the lists to be valid, just init them early
2020-01-05swaynag: Add multi-seat supportAndri Yngvason
This also adds cleanup for all seat resources
2019-12-28parse_color: return success + drop fallback colorBrian Ashworth
This is the first in a series of commits to refactor the color handling in sway. This changes parse_color to return whether it was success and no longer uses 0xFFFFFFFF as the fallback color. This also verifies that the string actually contains a valid hexadecimal number along with the length checks. In the process of altering the calls to parse_color, I also took the opportunity to heavily refactor swaybar's ipc_parse_colors function. This allowed for several lines of duplicated code to be removed.
2019-08-31Fix markup syntax in man pagesMartin Michlmayr
2019-06-05check for empty string before calling strtoul() and check errnoDaniel Eklöf
Note: since strtoul() has no real error return code (both 0 and ULONG_MAX may be returned on both success and failure), set errno=0 before calling strtoul().
2019-06-05swaybar/nag: use xcursor theme defined by XCURSOR_THEME/SIZEDaniel Eklöf
If the XCURSOR_THEME and/or XCURSOR_SIZE environment variables are set, use the theme and size they define. If they're not set, use the same defaults as before (system default theme, size=24).
2019-04-25swaybg: split into standalone projectDrew DeVault
The new upstream is https://github.com/swaywm/swaybg This commit also refactors our use of gdk-pixbuf a bit, since the only remaining reverse dependency is swaybar tray support.
2019-04-20swaynag: revamp type configsBrian Ashworth
This revamps the type configs for swaynag. All sizing attributes for swaynag are now `ssize_t` instead of `uint32_t` to allow for a default value of `-1`, which allows for `0` to be a valid value. Additionally, the initialization of the type configs has been changed from a simple calloc to use a new function `swaynag_type_new`. `swaynag_type_new` calloc's the memory, checks for an allocation failure, sets the name, and all sizes to -1. The layering order has also been changed to default, general config, type config, and as highest priority command line arguments. Finally, `swaynag_type_merge` has been modified to handle the layering and sizing changes.
2019-04-14Spawn swaynag as a wayland clientBrian Ashworth
This spawns swaynag as a wayland client similar to how swaybar and swaybg are already done