#77 closed enhancement (fixed)
missing tray icons - forward notification area
Reported by: | ammoled | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | minor | Milestone: | 0.8 |
Component: | client | Version: | |
Keywords: | Cc: |
Description
XPRA does not display the tray icons of attached applications such as xchat.
Attachments (7)
Change History (21)
comment:1 Changed 8 years ago by
Milestone: | current → future |
---|---|
Owner: | changed from Antoine Martin to Antoine Martin |
Status: | new → accepted |
comment:2 Changed 8 years ago by
This is a very difficult problem to solve - I am not even sure it can be solved:
- there are at least two main implementations of "tray icons" on *nix: gtk's "
StatusIcon
" and Ubuntu's "appindicator
" (see #43 for an example of how much of a mess it is to try to support them all) - none of these support overriding at present (and afaik none use dbus..), so the code would have duplicated in each case
Pointers welcome.
comment:3 Changed 8 years ago by
Looks like I was wrong about them not using dbus, so we may be able to do something after all (as was done for #22), some more pointers:
- gtk.StatusIcon (pygtk docs)
- appindicators
- KDE Plasma NewSystemTray
- system trays (A Seigo blog entry)
comment:4 Changed 8 years ago by
Or even by implementing the raw X11 specification: docking a tray icon - although this is probably more difficult (we would need a fake area to dock into then we need to implement XEmbed).
comment:5 Changed 7 years ago by
Summary: | Missing Tray Icons → missing tray icons - forward notification area |
---|---|
Type: | defect → enhancement |
comment:6 Changed 7 years ago by
Changed 7 years ago by
Attachment: | tray-area.patch added |
---|
adds a hardcoded area for tray icons to dock into - ugly hack for now
Changed 7 years ago by
Attachment: | tray-area-v3.patch added |
---|
we can almost click on the forwarded icon too
comment:7 Changed 7 years ago by
It is mostly working as it is, but with some limitations we should address:
- missing transparency: we set
_NET_SYSTEM_TRAY_VISUAL
to the 32-bit visual - but somehow the docking requests we receive are for 24-bit visual windows, not sure why. - gtk.StatusIcon only gives us two events for mouse clicks: activate and popup-menu so we end up simulating a button press and release on the remote tray area. By implementing the system tray using raw X11 calls we ought to be able to get more useful events to forward, the win32 implementation can probably supply the same too in
OnTaskbarNotify
. We can then use theStatusIcon
version as fallback for platforms without native support (ie: osx or pure-python builds). - we should avoid the round-trip via a pixmap backing to get the pixbuf
- detect when we lose the tray selection and cleanup
- support balloon messages
Changed 7 years ago by
Attachment: | window-backing-depth.patch added |
---|
adds the ability to handle 32-bit window backing
comment:8 Changed 7 years ago by
We probably also need to split this code into a separate executable so that we can exit/upgrade xpra without losing the trays.
comment:12 Changed 6 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:13 Changed 6 years ago by
win32 native code in use as of r4640 - which allows us to do things other implementations cannot do: hovering events, etc
comment:14 Changed 6 years ago by
Milestone: | future → 0.8 |
---|---|
Version: | 0.0.7.22 |
(setting correct milestone the work was completed in)
and it may never do