Add AppIndicator/SNI support for wxTaskBarIcon on GTK/Wayland (PR #26715)

5 views
Skip to first unread message

ykne

unread,
Jul 21, 2026, 9:38:42 AM (yesterday) Jul 21
to wx-...@googlegroups.com, Subscribed

Summary

  • Adds AppIndicator/StatusNotifierItem support to wxTaskBarIcon on GTK so tray icons work under Wayland, where the legacy X11 tray protocol isn't available.
  • New --with-appindicator configure option / wxUSE_APPINDICATOR CMake option; detects ayatana-appindicator3-0.1 first, falling back to appindicator3-0.1.
  • New wxTaskBarIcon::SetSNIIconName()/SetSNIIconThemePath() (GTK only) for setting a named icon via the SNI backend.
  • The persistent menu the AppIndicator protocol requires is obtained via the existing GetPopupMenu()/CreatePopupMenu() virtuals rather than a new method, since GetPopupMenu() already has the right "kept alive, not destroyed" semantics.

Test plan

  • configure regenerated with autoconf 2.69 (matching the version that produced the checked-in script), verified byte-reproducible.
  • Full build (make -j4) succeeds with zero warnings/errors against real libayatana-appindicator3-devel headers (Fedora), producing libwx_gtk3u_core-3.3.so linked against -layatana-appindicator3.
  • Manually verified a tray icon appears under a Wayland session (e.g. GNOME) and existing X11 tray behavior is unaffected.

You can view, comment on, or merge this pull request online at:

  https://github.com/wxWidgets/wxWidgets/pull/26715

Commit Summary

  • 152e57b Add AppIndicator/SNI support for system tray on Wayland

File Changes

(11 files)

Patch Links:


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26715@github.com>

ykne

unread,
Jul 21, 2026, 9:47:44 AM (yesterday) Jul 21
to wx-...@googlegroups.com, Push

@ykne pushed 1 commit.

  • 71ff6c9 Add AppIndicator/SNI support for system tray on Wayland


View it on GitHub or unsubscribe.


Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26715/before/152e57bb1d76d337f93d44cd9298d84e6b476cf8/after/71ff6c9c79a16fdbe8a7e7897f282f856d3f5597@github.com>

ykne

unread,
Jul 21, 2026, 9:25:50 PM (22 hours ago) Jul 21
to wx-...@googlegroups.com, Subscribed
ykne left a comment (wxWidgets/wxWidgets#26715)

FYI: 4 checks are currently failing/cancelled, but they look unrelated to this change:

  • wxMac Universal C++14: the build itself succeeds (26,734/26,735 assertions pass); the one failure is Window::Refresh in controls/windowtest.cpp:611, a repaint-timing assertion unrelated to taskbar/AppIndicator code.
  • Ubuntu 18.04 wxQt, MSW/MSVC wxQt 5.15, MSW/MSVC wxQt 6.10: all show cancelled, not failure — each ran for ~6 hours before hitting the job timeout, hanging specifically at the GUI/Xvfb testing step after configure/build/non-GUI tests all passed. This PR doesn't touch any Qt-related files.

I don't have permission to re-run jobs on this repo — could a maintainer re-run these when convenient?


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26715/c5040790652@github.com>

Reply all
Reply to author
Forward
0 new messages