vikingowl 548adb6bbb feat: initial implementation of xembed-sni-proxy
Lightweight Rust binary that bridges XEmbed tray icons (Wine/Proton)
to StatusNotifierItem D-Bus objects for Waybar on Wayland compositors.

- Claim _NET_SYSTEM_TRAY_S0 selection and handle dock requests
- Per-icon container with MANUAL composite redirect (invisible on XWayland)
- Pixel capture via get_image with BGRA→ARGB conversion
- SNI D-Bus interface with IconPixmap, Activate, ContextMenu
- Minimal com.canonical.dbusmenu stub for Waybar right-click support
- XTest fake_input click injection (works on XWayland unlike send_event)
- Dynamic icon size detection from client geometry
- Graceful shutdown with selection release and proxy cleanup
2026-03-02 15:00:26 +01:00
Description
No description provided
66 KiB
Languages
Rust 100%