This commit adds Workspaces to the list of data types that can be synced.
This introduces the following changes:
- Adds a new preference `services.sync.engine.workspaces` to control syncing of Workspaces.
- Updates the `syncChooseWhatToSync.js` and `syncChooseWhatToSync.xhtml` files to include the new Workspaces option in the UI.
- Adds relevant localization strings to `preferences-ftl`.
- Updates CSS styling for the Workspaces option.
- Updates `zen-browser.js` to disable Workspace syncing by default.
This change allows users to choose whether to sync their Workspaces across devices.
This commit introduces a new component, `ZenWorkspacesSync`, which enables synchronization of Zen Workspaces across different devices.
- Added `ZenWorkspacesSync` component.
- Updated `zen-assets.inc.xhtml` and `zen-assets.jar.inc.mn` to include the new component.
This feature allows users to maintain consistent workspace configurations on multiple computers, enhancing productivity and seamless workflow.
This commit adds the functionality to open a new tab on middle click in the tab bar. The code changes include adding the preference 'zen.tabs.newtab-on-middle-click' and defining the lazy preference getter 'canOpenTabOnMiddleClick' in the ZenUIManager. The 'openNewTabOnTabsMiddleClick' function now checks if the middle click event occurred on the tab bar and if the preference is enabled before opening a new tab.
Refs: #1887
This commit adds the ability to open a new tab by middle-clicking the tab bar.
The functionality is implemented by adding an event listener for the "mouseup" event on the tab bar and checking if the middle mouse button was clicked. If so, it calls the `BrowserCommands.openTab()` function to open a new tab and prevents the default behavior of the event.
This commit adds the `ZenWorkspacesStorage.mjs` script to the `zen-assets.inc.xhtml` file. This file is responsible for storing and retrieving workspace data.