xpra icon
Bug tracker and wiki

Opened 8 months ago

Closed 3 months ago

#2729 closed defect (fixed)

right clicks on tray menus for applications running over Xpra don't work

Reported by: darkpenguin Owned by: Antoine Martin
Priority: critical Milestone: 4.1
Component: client Version: 3.0.x
Keywords: tray menu Cc:

Description

I use Xpra to run applications that use tray icons. Right-clicking those tray icons is supposed to pop up a context menu, but when I click their tray icons, nothing happens.

However, left-clicking those icons works as expected.

To get a more specific test case:

  • Host system: MATE on Debian Buster amd64
  • Create a Docker container with Debian Buster
  • Install openssh-server and Xpra there, connect to it from your host
  • Install and launch something with tray icons (say, BiglyBT and uTorrent in Wine, to get a good variety)
  • Left-clicking their tray icons does what it's supposed to do (for me, show/hide the window)
  • Right-clicking their tray icons is supposed to bring up a context menu, but instead, it has no effect.

I have tried this on Xpra 3.0.4 , and the problem is still there.

(Please fix the ticket tags if they are wrong - I have no idea what to put there.)

Change History (10)

comment:1 Changed 8 months ago by Antoine Martin

Milestone: 4.04.1
Status: newassigned

I'm not sure if that's fixable.
Tray icon support on Linux is an awful mess, it's possible that the tray icon implementation we use with your DE does not provide right click events.
Maybe another does, or maybe not.

If you can, please post the client's -d tray log output, and right click once on a tray icon.

comment:2 Changed 8 months ago by Antoine Martin

Summary: Tray menus for applications running over Xpra don't workright clicks on tray menus for applications running over Xpra don't work

comment:3 Changed 8 months ago by darkpenguin

I'm trying again, and now I can't even get it to run. Apparently, this time I'm doing something wrong... I'll try this again if I don't give up.

I know that tray icons are a problem, so I didn't have much hope for this - but I wanted to help reporting and diagnosing it, in case it turns out that I was wrong and this is actually simple.

comment:4 Changed 7 months ago by Antoine Martin

Owner: changed from Antoine Martin to darkpenguin
Status: assignednew

Can you provide a screenshot, or logs?
Do I need docker to reproduce this bug at all? And ssh?
Can't you reproduce the problem with just a local session?

comment:5 Changed 7 months ago by darkpenguin

No, you don't need Docker - that is simply the easiest way for me to launch a "completely clean system" without even starting a virtual machine.

Yes, I can reproduce it with a local session.

  • Boot https://cdimage.debian.org/debian-cd/10.3.0-live/amd64/iso-hybrid/debian-live-10.3.0-amd64-mate.iso in a virtual machine or on a test machine (just to make sure we're exactly on the same system)
  • sudo apt-get update; sudo apt-get install xpra qbittorrent (I know xpra in the repos is a little outdated, but I've confirmed this on 3.0.4, and this is easier to show)
  • Try launching qbittorrent normally: left-clicking its tray icon hides the main window, right-clicking the tray icon pops up a menu. Choose "Exit" from that menu.
  • xpra start :10 --start=/usr/bin/qbittorrent
  • xpra attach :10
  • Right-click qbittorrent's tray icon: nothing happens

comment:6 Changed 7 months ago by Antoine Martin

Owner: changed from darkpenguin to Antoine Martin
Priority: majorcritical
Status: newassigned

comment:7 Changed 7 months ago by darkpenguin

I can post the log, but it's 33 Kb long, and I don't see a way to do a spoiler here...

comment:8 Changed 7 months ago by Antoine Martin

I can post the log, but it's 33 Kb long, and I don't see a way to do a spoiler here...

No worries, if it's that easy to reproduce, I'll take it from here.

comment:9 Changed 4 months ago by Antoine Martin

Problem confirmed.
What's weird is that we already have an undocumented hack for swapping the left and right buttons when using the StatusIcon implementation: just hold shift whilst pressing the button.
But this hack doesn't help either!?

And both buttons work with a win32 client, the menu shows up.
So at least I can try to manually inspect the difference in the packets.

comment:10 Changed 3 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed

Well, this bug wins the prize for the dumbest bit of code I've written: a right click should use button number 3, not 2... That's all there was to it.
Sorry it's taken so long.

Fixed in r27457.

Note: See TracTickets for help on using tickets.