aboutsummaryrefslogtreecommitdiffstats
path: root/swaybar/tray
Commit message (Collapse)AuthorAge
* cairo: Replace <cairo/cairo.h> by <cairo.h>Libravatar Issam E. Maghni2021-05-10
| | | | | | | 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.
* swaybar: silence missing IconThemePath messageLibravatar Pi-Yueh Chuang2021-03-17
| | | | | | | | | | IconThemePath is not a standard property in XDG's StatusNotifierItem specification, so missing this property should not be logged as an error. This patch changes the log level to SWAY_DEBUG when swaybar queries the value of IconThemePath so that swaybar won't log the returned message as an error if IconThemePath does not exist. Closes: https://github.com/swaywm/sway/issues/6092
* tray: track SNI callbacksLibravatar Ian Fan2020-03-30
| | | | | | This removes any pending messages once the item is destroyed. Furthermore, this installs SNI event calbacks asynchronously in order to prevent sd-bus from bypassing pending messages.
* tray: tidy codeLibravatar Ian Fan2020-03-30
| | | | This includes some refactoring and fixing a small memory leak.
* tray: allow themes to inherit from multiple themesLibravatar Ian Fan2020-03-30
|
* tray: better errors when parsing index.themeLibravatar Ian Fan2020-03-30
|
* swaybar: fix i3bar relative coordinates when scaling is usedLibravatar Hristo Venev2020-02-10
| | | | | | | | | | | | 24e8ba048aef4751c6fa1d5982ee634f921e6cf6 did not take scaling into account. The hotspot size used pixel coordinates, the absolute coordinates were logical, and the relative coordinates were completely wrong. This commit makes all coordinates use logical values. If `"float_event_coords":true` is sent in the handshake message, coordinates are sent as floating-point values. The "scale" field is an integer containing the scale value.
* Avoid calling strcmp on nullptrLibravatar Till Hofmann2020-02-10
| | | | | | | The function group_handler may get a nullptr as `new_group`. If that's the case, return true, as if `new_group` was the empty string. Also make the conversion to bool explicit when calling `strcmp`.
* Amend typosLibravatar Jason2019-11-23
|
* swaybar: fix typo in the loop over pixmapsLibravatar Konstantin Pospelov2019-10-23
| | | | Fixes #4665.
* swaybar: do not retry search for tray iconsLibravatar Konstantin Pospelov2019-10-21
| | | | | | | | | In case a tray icon cannot be found or does not have a desirable size, swaybar retries the search again and again, which increases load on disk and CPU. This commit solves it by storing target_size for each icon, so that swaybar does not search for an icon of some size if it already tried to. Fixes #3789.
* Add icon_theme_path to find_icon() search if setLibravatar Ben Brown2019-09-04
| | | | find_icon() will search in theme appropriate subdirs.
* Fix memory leaksLibravatar Antonin Décimo2019-08-12
|
* Validate icon_struct in read_theme_fileLibravatar Maxime “pep” Buquet2019-04-20
| | | | | | | | | | The read_theme_file function used to return an invalid icon_struct in some cases, for example when an empty index.theme file was read. This makes sure the struct we're returning is always valid as per the Icon Theme specification. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
* Fix a crash in swaybar when an icon dir is not readableLibravatar Alex Maese2019-03-30
|
* swaybar: fix loading of malformed icon themeLibravatar Stephan Hilb2019-03-13
| | | | | | | If the icon index.theme contained a key-value pair without a preceding group header, entry_handler() would be called with a zero pointer and lead to a segfault. Set the error flag and break on such malformed files.
* Fix size_t temporary underflow in log_loaded_themesLibravatar emersion2019-03-11
| | | | | | | `len` will underflow but will overflow right after, so it's not as bad as it may appear. Still better not to under/overflow at all. Fixes https://github.com/swaywm/sway/issues/3862
* stringop.c: remove unused functionsLibravatar Ian Fan2019-03-11
| | | | The only use of `join_list` in swaybar/tray/icon.c has been rewritten.
* tray: fix pixmap colorsLibravatar Ian Fan2019-02-28
| | | | by converting from network byte order to host byte order
* tray: fix memory leaksLibravatar Ian Fan2019-02-16
|
* tray: when a service is lost, remove all matching itemsLibravatar Ian Fan2019-02-16
| | | | | Before, only the first matching item would be removed, which could leave stale items.
* tray: use correct parameter to set bus slot to floatingLibravatar Ian Fan2019-02-15
| | | | | Counter-intuitively, `sd_bus_slot_set_floating` expects 0 to set it to floating.
* Fix #3445: swaybar tray inerited thems not processedLibravatar Stefan Schick2019-02-01
|
* Merge pull request #3500 from progandy/validate_pixmapsLibravatar Drew DeVault2019-01-23
|\ | | | | swaybar: fix crash with some tray icon pixmaps
| * swaybar: fix crash with some tray icon pixmapsLibravatar progandy2019-01-23
| | | | | | | | | | | | Discard pixmaps for icons where width and height are 0 or not equal. Fixes #3487
* | Fix tray icon updatesLibravatar Lukas Lihotzki2019-01-23
|/ | | | | Apparently, IconThemePath needs to be reread on NewIcon signal. This fixes tray icon updates in electron apps with libappindicator-gtk3.
* Fix dead stores found by scan-buildLibravatar M Stoeckl2019-01-22
| | | | | | | | In addition to removing unused code, two minor problems are fixed: (1) `resize set` and `resize adjust` did not error when given too many arguments. (2) `orientation` was incorrectly overridden to be 'U' for scroll events in the swaybar tray `handle_click` function.
* swaybar: fix setting floating watcher slotsLibravatar Ian Fan2019-01-21
|
* 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.
* Fix memory leaks in swaybarLibravatar M Stoeckl2019-01-19
|
* bar_cmd_tray_bind: Use mouse button helpersLibravatar Brian Ashworth2019-01-16
| | | | | | | | | | | | | | | | This modifies `bar_cmd_tray_bindsym` to use `get_mouse_bindsym` for parsing mouse buttons. This also introduces `bar_cmd_tray_bindcode`, which will use `get_mouse_bindcode` for parsing mouse buttons. Like with sway bindings, the two commands are encapsulated in a single file to maximize shared code. This also modifies tray bindings to work off of events codes rather than x11 buttons, which allows for any mouse buttons to be used. For `get_bar_config`, `event_code` has been added to the `tray_bindings` section and will include to event code for the button. If the event code can be mapped to a x11 button, `input_code` will still be the x11 button number. Otherwise, `input_code` will be `0`.
* swaybar: allow identifiers for output and trayLibravatar Brian Ashworth2019-01-13
| | | | | | | | | | This allows `bar output` and `bar tray_output` to specify an output identifier. Output names should still work as well. This parses the output identifier from the xdg_output description, which wlroots currently sets to `make model serial (name)`. Since this could change in the future, all identifier comparisons are guarded by NULL-checks in case the description cannot be parsed to an identifier.
* 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'
* swaybar: use KDE's SNI IconThemePath propertyLibravatar Ian Fan2018-12-31
|
* swaybar: handle new and lost StatusNotifierWatcherLibravatar Ian Fan2018-12-31
|
* swaybar: draw a sad face if SNI has no iconLibravatar Ian Fan2018-12-31
|
* swaybar: set bar dirty on SNI eventLibravatar Ian Fan2018-12-31
|
* swaybar: implement mouse events for trayLibravatar Ian Fan2018-12-31
|
* swaybar: implement tray renderingLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierItem to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierHost to trayLibravatar Ian Fan2018-12-31
|
* swaybar: implement icon themes and lookup for trayLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierWatcher to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add skeleton dbus code to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add tray interfaceLibravatar Ian Fan2018-12-31
|
* Start port of swaybar to layer shellLibravatar Drew DeVault2018-03-29
| | | | | | This starts up the event loop and wayland display and shims out the basic top level rendering concepts. Also includes some changes to incorporate pango into the 1.x codebase properly.
* Prevent crash if DBus connection is NULLLibravatar Calvin Lee2017-08-12
| | | | Fixes #1307
* Fix memory leaks in swaybar trayLibravatar Calvin Lee2017-07-16
|