dshoreman/nextshot

Tray icon/menu only works in X

dshoreman opened this issue · 1 comments

Tray menu works great in i3, less so on Sway. That is, nothing shows up at all.

Menus aren't supported just yet but theoretically tray icons by themselves should work.

Possible Causes

  • Yad may or may not use KDE's SNI interface which Sway implements
  • I haven't configured my Sway correctly:
    image
    image

Worth Trying

Update: Done some testing, seems both possible causes were true.

Built Sway with tray enabled1 and installed both konversation and qt5-wayland. Ran QT_QPA_PLATFORM=wayland-egl konversation to force it to use the Wayland renderer2. Enabled tray icon in settings, and the icon shows up.

Yad on the other hand still did nothing, and doesn't even register any errors in the Swaybar debug output, so clearly it's not using the SNI3 protocol. Waybar also only worked with Konversation, not Nextshot.

Potential Options

  • Find some other app like Yad that supports custom tray menus
  • Get dirty with Yad and rewrite it for SNI
  • Implement the SNI interface in Bash (if that's even possible)
  • Add a separate nextshot-tray.foo where foo is whatever language makes SNI easiest (but ideally Nextshot should be self-contained as a single script)
  • Try XEmbed SNI Proxy... maybe, just maybe, it could work no dice :(

1 May not have been required, seems to be set to auto in the meson_options.txt file
2 Running without this option resulted in blank UI
3 Status Notifier Item