Version: Xpra gtk2 client version 2.1.3-r17247 64-bit Platform: Debian Stretch / Devuan Ascii Kernel: Linux 4.9.0-3-amd64 [Debian version: 4.9.30-2+deb9u5 (2017-09-19)]
I'm not sure whether you want to deal with the idiosyncrasies of every minor window manager, but ...
When using xpra in an i3wm environment, the "raise windows' menu item of the xpra system tray menu does not raise the xpra client window. However, it does change focus to that window.
The command-line one-liner to perform this for a single xpra "session info" window in i3wm would be
i3-msg -t command '[class="Xpra"] focus floating move scratchpad move workspace current'
A convenient command-line way to get a specific X-window identifier for any window is to use the
xprop command and click the 'X' cursor on the target window.
We use gtk.Window.present(): The present() method presents a window to the user. This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences. If the window is hidden, this method calls the the gtk.Widget.show() method as well. This method should be used when the user tries to open a window that's already open. Say for example the preferences dialog is currently open, and the user chooses Preferences from the menu a second time; use the present() method to move the already-open dialog where the user can see it.
If that doesn't do what is required, then it's likely that the window manager decided not to honour the request as it was intended. We can't force it.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1703