mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.41k stars 1.12k forks source link

Mumble Server Tray Icon on Linux #5913

Closed trymeouteh closed 2 years ago

trymeouteh commented 2 years ago

Context

Add a tray icon to mumble server (murmur) when the server is running.

Description

The mumble server (murmur) on Windows has a tray icon for when the server is running and if you are running multiple servers, it does show a tray icon for each server.

Please add a tray icon for the mumble server (murmur) on Linux to allow users to easily shutdown the server by right clicking on the tray icon. This will be useful if you run multiple servers.

Mumble component

Server

OS-specific?

Yes

Additional information

Would be great to also have the server name listed in the tray icon also https://github.com/mumble-voip/mumble/issues/5914

Krzmbrzl commented 2 years ago

If this is implemented, it should be disabled by default and should be explicitly requested via e.g. a CLI flag. Otherwise, I don't think it'd suit the expected behavior for servers on Linux.

Furthermore, I'm not sure whether it is a good idea to bring any UI component into the server as that requires all sorts of additional dependencies (Qt wise) that we don't really need. Plus, I don't know whether these dependencies might create issues when running the server on a non-UI host (e.g. on an actual server).

The fact that the Windows version has a tray icon (and some other UI components) is mostly due to Windows not having a usable command line and also due to it not having a non-UI server.

@davidebeatrici what is your take on this?

davidebeatrici commented 2 years ago

Your take is spot on.

On UNIX servers it's uncommon to see desktop environments, as a result there are pretty much no GUI libraries installed. Implementing the tray icon would imply bringing in a lot of heavy dependencies.

On Windows (Server) the GUI is guaranteed to be present and spawning a tray icon doesn't cost us anything, since we already have Qt's UI components in our build environment for the client.

Ideally what we should do, achieving consistency on all platforms, is releasing some sort of RPC client as a separate binary.
As a bonus, that would allow to manage remote servers.

Krzmbrzl commented 2 years ago

some sort of RPC client as a separate binary.

Yeah, I was thinking about something like this as well. Some kind of "server manager" that lists currently running servers and allows you to configure them.

Krzmbrzl commented 2 years ago

5924