xpra icon
Bug tracker and wiki

Opened 8 weeks ago

Closed 8 weeks ago

#1701 closed enhancement (fixed)

multiple system trays are unclear

Reported by: Boruch Owned by: Boruch
Priority: minor Milestone: 2.2
Component: core Version: trunk
Keywords: name tray Cc:

Description

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)]

Running more than one xpra instance yields a separate system tray icon for each; however, I don't see any useful or immediate indication anywhere which system tray belongs to which instance.

The only visual association between a tray and an xpra instance seems to require first selecting the tray menu item "raise windows", which will switch focus to that instance's xpra window, if that's noticeable.

There are two textual indications, but they aren't very useful (to me as a user, at least):

1) there is a tooltip on mouse hover over each tray icon which by default indicates the X display number only.

1.1) One can invoke a server or client with the option "--session-name"; however, once a session has started and client attached, I see no way to name the session, or to rename the session.

2) The same limited information is deep in the system tray menu. Select tray menu item "session info", then select tab "connections", then observe the server / client display. If you remember which is which, that would be useful, I guess, in a very delayed manner. However, on that screen, session names do not appear.

3) When a session is named on the server side, ie. when invoking xpra start, the system tray menu labels its second menu item as "session info". However, when naming the session on the client side, ie. when invoking xpra attach, that menu item is labeled "info: <session-name>", which is much more useful.

Suggestions:

A] Combine all system trays into a single icon, in order to reduce clutter in the system tray, and have the menu cascaded, where the first level indicates the X display --AND-- some other identifier for the instance, such as the session name or the name of the program initially launched.

B] Set a session name by default instead of having it blank. Maybe use the command line of the program launched.

C] Allow renaming live sessions, from the system tray and from the command line.

D] Include session-name in the output of xpra list

E] Include session-name in the display tabs of the "session-info"

Change History (4)

comment:1 Changed 8 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to Boruch

1) there is a tooltip on mouse hover over each tray icon which by default indicates the X display number only.

That also depends on how you connect to the server. For example, if you had connected using tcp, the hostname and port would be shown.

1.1) One can invoke a server or client with the option "--session-name"; however, once a session has started and client attached, I see no way to name the session, or to rename the session.

You can change the session name via the control interface:

$ xpra control :3 name hello
session name set to hello

Or you can change the dbus property "name" of the server using your favourite dbus tool.
Note: this only affects the name in the server, clients already connected will not be notified of this change.

3) When a session is named on the server side, ie. when invoking xpra start, the system tray menu labels its second menu item as "session info". However, when naming the session on the client side, ie. when invoking xpra attach, that menu item is labeled "info: <session-name>", which is much more useful.

Sounds like a bug. I'll take a look.

A] Combine all system trays into a single icon..

That would be incredibly difficult to implement. Every xpra client runs in its own process.
Let's not go there.

B] Set a session name by default instead of having it blank. Maybe use the command line of the program launched.

There could be more than one, but OK. We could do something.

C] Allow renaming live sessions, from the system tray and from the command line.

See above for command line.
Not keen on the system tray: this would require extra server messages, capability checks, etc..

D] Include session-name in the output of xpra list

This is planned. Not for this release.
It will also be shown in "xpra sessions".

E] Include session-name in the display tabs of the "session-info"

Not sure where you mean?

Last edited 8 weeks ago by Antoine Martin (previous) (diff)

comment:2 Changed 8 weeks ago by Boruch

First off, thanks for the detailed and immediate replies and for the tip about renaming sessions. That above the more obvious thanks for developing the software, which looks excellent and might be useful for me personally.

E] Include session-name in the display tabs of the "session-info"

Not sure where you mean?

I was referring to the tabbed window that pops up when selecting from the system tray menu the item "session info".

Before I continue, I should mention that my window manager is i3wm, and my gui windows don't have title bars or other window decorations, so if the "session info" window does have an informative title bar, I wouldn't see it.

Details for the suggestion would be that:

E.1] There should be a heading over the collection of six tabs (or buttons) of that "session info" window, with some session identifier, eg. the session name and connection.

E.2] In the "graphs" tab of that window, clicking of the graph prompts to save the graph as a png, but for that kind of functionality to be useful, the graph needs more environment information, including a session identifier (the graph output should also include at the very least the date, time, endpoint machine IDs, and interface ID. Also, I would prefer the graph data in some text form, eg. csv -- But all that I'm planning on focusing on in another ticket; for here, I wanted to limit myself to session identification).

comment:3 Changed 8 weeks ago by Antoine Martin

3) When a session is named on the server side, ie. when invoking xpra start, the system tray menu labels its second menu item as "session info". However, when naming the session on the client side, ie. when invoking xpra attach, that menu item is labeled "info: <session-name>", which is much more useful.

Fixed in r17505: the menu item's label will be updated after connecting to the server so we can get the actual session-name if the server has one.

B] Set a session name by default instead of having it blank. Maybe use the command line of the program launched.

Done in r17506.

... my window manager is i3wm, and my gui windows don't have title bars or other window decorations, so if the "session info" window does have an informative title bar, I wouldn't see it.

It does have one, so we won't be adding a duplicate line in the window itself, sorry.

Also, I would prefer the graph data in some text form

See ticket:1705#comment:1

... the graph needs more environment information ...

The graphs will need some work for the move to python3 + GTK3: #1568

Created a new ticket for the systray icon: #1707, feel free to subscribe to that one.

Can I close this ticket?

comment:4 Changed 8 weeks ago by Boruch

Resolution: fixed
Status: newclosed

Done. Thanks.

Note: See TracTickets for help on using tickets.