This commit introduces a new feature: pinned tab management. It allows users to pin tabs and define whether to reset pinned tabs on close.
- Adds a new `ZenPinnedTabManager` component to manage pinned tabs.
- Updates `zen-assets.inc.xhtml` and `zen-assets.jar.inc.mn` to include the new component.
- Modifies the `ZenStartup.mjs` file to initialize the new manager.
- Introduces a new preference `zen.pinned-tab-manager.reset-pinned-tab-on-close-shortcut` to control the behavior of pinned tabs on close.
- Updates the settings UI to reflect the new pinned tab management functionality.
- Refactors related preferences from `zen.tab-unloader.*` to `zen.pinned-tab-manager.*`.
This feature enhances Zen's tab management capabilities by providing users with more control over their pinned tabs.
This commit adds the ZenGradientGenerator module to the zen-assets.jar and zen-styles directories. The ZenGradientGenerator is responsible for generating gradients used in the Zen theme. This addition will enhance the visual appearance of the theme.
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.