diff --git a/src/serena/agent.py b/src/serena/agent.py index 221b2cdf..efe4fc18 100644 --- a/src/serena/agent.py +++ b/src/serena/agent.py @@ -270,7 +270,8 @@ class DashboardManager: case "Windows": return cls.WEBVIEW case "Darwin": - return cls.TRAY_MANAGER + # TODO: Switch to TRAY_MANAGER once support is tested + return cls.BROWSER case _: return cls.BROWSER @@ -314,7 +315,6 @@ class DashboardManager: self._port = port self._mode = mode - self._mode = self.Mode.TRAY_MANAGER self._dashboard_viewer_process: multiprocessing.Process | None = None self._tray_manager_lock = threading.Lock() diff --git a/src/serena/dashboard.py b/src/serena/dashboard.py index d295d22a..3b4186f0 100644 --- a/src/serena/dashboard.py +++ b/src/serena/dashboard.py @@ -1172,8 +1172,10 @@ class SerenaDashboardTrayManager: """ :return: whether the current platform supports the tray manager """ - supported_platforms = ["win32", "darwin"] - return sys.platform in supported_platforms + # supported_platforms = ["win32", "darwin"] + # return sys.platform in supported_platforms + # TODO: Enable all platforms for the time being for users to try out (only Windows tested) + return True @classmethod def is_running(cls) -> bool: diff --git a/src/serena/resources/serena_config.template.yml b/src/serena/resources/serena_config.template.yml index 5eb7ca3b..18974358 100644 --- a/src/serena/resources/serena_config.template.yml +++ b/src/serena/resources/serena_config.template.yml @@ -47,16 +47,18 @@ web_dashboard: True web_dashboard_open_on_launch: True # defines the interface (application mode) used for the web dashboard (if enabled). -# If empty/null, use platform-specific default. Otherwise, possible values: +# If empty/null, use platform-dependent default. Otherwise, possible values: # * browser: the dashboard is opened in the default browser (if `web_dashboard_open_on_launch` is true) # This is supported on all platforms. # * app: the dashboard is opened in a separate native-like app window with accompanying tray icon, whose # lifecycle is tied to the Serena process. # If `web_dashboard_open_on_launch` is false, the dashboard can be conveniently accessed via the tray icon. -# This is supported on Windows and macOS. +# This is supported on Windows and macOS, but note that on macOS, where tray icons are very visible, +# this may result in too many icons being displayed when using multi-agent setups. # * tray_manager: use a global tray icon to provide access to the dashboards of all running Serena instances, # opening the dashboard in browser tabs when selected from the tray menu. -# This is supported on Windows and macOS. +# This is EXPERIMENTAL. It is tested on Windows only. We will establish macOS support, but it is yet untested. +# On Linux, this cannot be universally supported, but it may work in some desktop environments. web_dashboard_interface: # the address the web dashboard will listen on (bind address).