Will Norris 8bf6bb7c24 cmd/systray: WIP of a linux systray app
This adds a systray app for linux, similar to the apps for macOS and
windows. There are already a number of community-developed systray apps,
but most of them are either long abandoned, are built for a specific
desktop environment, or simply wrap the tailscale CLI.

This uses fyne.io/systray (a fork of github.com/getlantern/systray)
which uses newer D-Bus specifications to render the tray icon and menu.
This results in a pretty broad support for modern Desktop Environments.

---

This is a work in progress. Some things are still half-built, this is
just where I stopped to take a break.

 - fast user switching works
 - connect and disconnecting work, and show correct icon (including the
   animated loading icon while connecting)
 - devices menu works, but seems to have issues with really large menus,
   either crashing or rending off-screen with no scroll option.
 - clipboard and notification integration works to copy device IPs
 - exit node menu is built, but currently non-functional (this is where I
   stopped). Exit nodes are not re-rendered when switching profiles.

The code is currently "okay", but certainly needs cleanup, docs, etc.

Signed-off-by: Will Norris <will@tailscale.com>
2024-07-10 14:20:27 -07:00
..
2024-04-16 15:32:38 -07:00
2023-08-03 13:00:45 -07:00
2024-07-08 19:10:44 -07:00
2024-04-16 15:32:38 -07:00
2024-06-05 15:24:04 -07:00
2024-06-05 15:24:04 -07:00