Commit Graph

139 Commits

Author SHA1 Message Date
Alexis Rouillard
e00db5886e Merge pull request #4372 from rellimn/fix-menu-hover
Fix module and tray item staying in hover state after opening menu
2025-10-01 14:25:23 +02:00
peelz
0c3e82219f fix: close sni menu on item destruction 2025-09-16 14:03:45 -04:00
rellimn
089b9a20fc Fix module and tray item staying in hover state after opening menu
Fixes #3980
2025-08-12 20:51:35 +02:00
Alex
79c30e77a7 fix: lint 2025-08-08 08:42:17 +02:00
Alexis Rouillard
b0983e9c37 Merge pull request #3833 from Bahnschrift/master 2025-08-08 08:26:21 +02:00
peelz
b4d95b405c style: clang-format 2025-07-20 22:40:29 -04:00
Alexis Rouillard
71b01fe58f Merge pull request #4161 from blackxored/feat/electron-tray-hack
feat: add a way to override electron app tray icons
2025-07-20 18:55:01 +02:00
Bahnschrift
800c4b56cc Merge remote-tracking branch 'source/master' 2025-06-18 18:42:23 +10:00
Adrian Perez
81fb0daad2 feat: add a way to override electron app tray icons 2025-06-03 16:13:41 -07:00
Edwin Cheng
0340760e12 Use load_symbolic for gtk icon instead of load_icon. 2025-05-07 16:57:54 +08:00
Austin Horstman
55f52c3457 treewide: clang and nix format 2025-04-15 14:56:28 -05:00
Kaosu
d1998de47a add setCustomIcon and try to apply such when ID is known 2025-02-16 14:22:10 +01:00
Kaosu
78d5c3ef3a init custom icons from config per tray 2025-02-16 14:21:34 +01:00
Pol Rivero
0992bf1b87 Escape tray tooltip text
Fix errors when the tooltip set by the tray apps contains markup characters
2025-01-10 16:41:33 +01:00
Bahnschrift
cf64b2c88c fix: un-hide tray when new icons are added 2024-12-19 12:29:58 +11:00
Bahnschrift
622f22d6b5 fix: hide tray when there are no non-passive icons 2024-12-19 12:09:31 +11:00
Aleksei Bavshin
0006e4713a fix(tray): revert ustring formatting changes
This reverts commit a4d31ab10d.
2024-09-14 07:38:41 -07:00
Alex
a4d31ab10d fix: sni item fmt 2024-09-13 09:40:35 +02:00
Alexis Rouillard
496dd05e14 Merge pull request #3443 from yangyingchao/master
fix #3442
2024-07-17 22:38:22 +02:00
yangyingchao
b65ca334a8 fix #3442 2024-07-16 09:07:39 +08:00
Kefu Chai
b71dfce1f7 Fix build with fmt11
Since fmt 11.0.0, formatter:format() is required to be const. Mark
all of the specializations as const to be compatible with fmt 11.

This change is implemented in the same spirit of 7725f6ed5a.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-07-16 08:46:55 +08:00
Lars-Ragnar A. Haugen
8e8ce0c6bc feat(#3182): style tray icon on hover (#3203) 2024-05-06 10:47:25 +02:00
Aleksei Bavshin
d590d508ca feat: add module class to the root elements of the modules
Previously, the only way to select all the module labels was with the
following kind of selector:
```css
.modules-left > widget > label,
.modules-center > widget > label,
.modules-right > widget > label {
    /* ... */
}
```
(and a matching block for the `box` containers).

Now, this can be expressed as
```css
label.module, box.module {
    /* ... */
}
```
2024-02-14 22:41:13 -08:00
Aleksei Bavshin
2f555a6936 refactor(bar): use Gtk enums for position and orientation
Ensure that the position and the corresponding CSS class on window are
always set.
2024-02-14 22:11:21 -08:00
Joshua Manchester
95ffc291f6 fix: hide tray event box instead of box 2024-01-14 15:06:06 +00:00
akliuxingyuan
335a736eed tray: load_icon use request_size directly 2023-11-01 22:26:52 +08:00
Tamino Bauknecht
68dfd6aa3a scope_guard/modules: Rename scope_guard to ScopeGuard
Using pascal case for the class name keeps it more consistent with the
majority of the other class names.
2023-10-24 17:51:38 +02:00
Tamino Bauknecht
dd1de3efbf Revert "Revert "Fix potential memory leaks""
This reverts commit 2d33c20231 and
reapplies various patches for memory leaks.
The reason for the revert was a bug for a maximum duration interval
which caused sleep_for() to cause unpredictable behavior.
2023-10-24 17:51:38 +02:00
Alexis Rouillard
2d33c20231 Revert "Fix potential memory leaks" 2023-10-22 09:44:46 +02:00
Tamino Bauknecht
a0b63d6b1e modules: use scope_exit for deletion to make code more robust 2023-10-21 11:51:18 +02:00
Cherser-s
65dfabc430 sni: fix passing relative coordinates to dbus methods
Doesn't correctly handle the case with both margin and width/height being set at the same time.
2023-08-25 20:37:16 +03:00
Jan Palus
c8237437d2 Explicitly cast ustring to string when passing to fmt
don't rely on implicit conversion which is no longer present in fmt
10.1.0

Fixes #2403
2023-08-15 20:57:07 +02:00
Alexis Rouillard
5ef6636237 Merge pull request #2265 from tengyifei/master
Partially revert 3af1853260 to fix use-after-free
2023-07-04 22:59:45 +02:00
André Aparício
a1cd0acac5 Fix random segfault on GTK icon functions
The segfaults were happening on GTK icon theme functions, which are
called via the C++ interface functions such as Gtk::IconTheme::has_icon.

There are multiple modules and threads using this functions on the default
icon theme by calling Gtk::IconTheme::get_default(), which returns the same
object for all callers, and was causing concurrent access to the same internal
data structures on the GTK lib. Even a seemingly read-only function such as
has_icon can cause writes due to the internal icon cache being updated.

To avoid this issues, a program wide global mutex must be used to ensure
a single thread is accessing the default icon theme instance.

This commit implements wrappers for the existing IconTheme function calls,
ensuring the global lock is held while calling the underling GTK functions.
2023-07-03 22:32:24 +01:00
Yifei Teng
cd49eef229 Partially revert 3af1853260 to fix use-after-free
After upgrading to the latest release of Waybar the bar will crash
whenever I close the laptop lid. After some debugging I believe it is
because the watching added by watch_name is not being correctly canceled
using unwatch_name. After the Tray object and Host object are destroyed,
additional callbacks will become use-after-free.

Looks like commit 3af1853260 removed the
unwatch_name. I'm not sure why it did that, but it seemed dangerous.

Additionally, bus_name_id_ is created by own_name. According to that
function's documentation, the correct inverse operation is unown_name.
2023-06-30 23:25:24 -07:00
Viktar Lukashonak
a9779c2aa2 Happy Linter
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-06 23:06:11 +03:00
Viktar Lukashonak
3af1853260 Tray module cause error g_bus_unwatch_name()
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-06 23:02:36 +03:00
Alex
2111865efe refactor: remove warning 2022-12-01 08:45:12 +01:00
asas1asas200
4a929240df style(lint): fix some files lint 2022-08-31 15:51:50 +08:00
akliuxingyuan
0d27949f0a scale icons for HiDPI monitor 2022-08-30 23:13:38 +08:00
Alex
bcee4e15d3 fix: lint files 2022-08-18 15:22:25 +02:00
Alex
c2ab2e6d19 Merge pull request #1627 from datMaffin/master
sni: Use the pixmap if for the given icon name an icon could not be found
2022-08-04 10:04:48 +02:00
Marvin Dostal
95b5348c24 sni: change missing icon in theme logging from info to trace 2022-08-03 17:34:34 +02:00
Marvin Dostal
04d66de866 sni: remove unnecesary parameter 2022-07-17 22:20:24 +02:00
Marvin Dostal
699f732146 sni: Remove unnecessary getIconByName call 2022-07-17 22:15:14 +02:00
Marvin Dostal
f437bf96e3 sni: Prefer system icons over pixmap 2022-07-17 22:15:12 +02:00
Marvin Dostal
fc9a390977 sni: Use the given pixmap even if there is a name given 2022-07-17 22:14:57 +02:00
Aleksei Bavshin
24a8332b62 fix: adapt to fmt 9.0.0 breaking changes 2022-07-13 22:36:32 -07:00
Alex
f2fcadbf62 refactor: lint 2022-04-06 08:37:19 +02:00
Alex Maystrenko
d4da04a750 move Glib ustring format helper to utils
this formatter is useful for other modules
which want to print Glib exceptions messages
2022-02-05 21:26:48 +01:00