- Zen Mods: Default value not being loaded on theme install due to zen mods not being always triggered and default values not being in place when reading them (fixes#3887)
- Zen Mods: Fixed string preferences not changing completely by changing the event listener and replacing the throttle with a debounce, so we only listen to the last keydown (fixes#3558)
This commit introduces a new Essentials Toolbar feature to Zen. It provides a more streamlined and organized way for users to access frequently used bookmakrs directly from the sidebar.
- Added `ZenEssentialsToolbar.mjs` to provide the logic for the toolbar.
- Updated the sidebar CSS (`zen-sidebar.css`) to style the Essentials Toolbar.
- Modified `ZenStartup.mjs` to initialize the Essentials Toolbar.
- Made changes to `browserPlacesViews-js.patch` to integrate with existing bookmark functionality.
- Added a new preference `zen.essentials.enabled` to enable/disable the Essentials Toolbar.
- **Preferences**:
- Added a new preference `zen.view.sidebar-expanded.on-hover.paused-for-expand` to manage the paused state of the sidebar hover functionality.
- Updated `zen.view.sidebar-expanded.on-hover` preference handling to ensure proper behavior when toggling the sidebar.
- **ZenUIManager.mjs**:
- Updated `_updateOnHoverVerticalTabs` method to handle the expanded state and remove hover attributes when the sidebar is expanded.
- Refactored `_updateEvent` method to check and handle the expanded state of the sidebar, and to open or close the sidebar accordingly.
- Added `openSidebar` and `closeSidebar` methods to manage the sidebar's expanded state and related attributes.
- Refactored `toggleExpand` method to handle the new `paused-for-expand` preference and ensure proper toggling of the sidebar's expanded state.
- **zen-settings.js**:
- Updated `setCompactModeStyle` method to handle the new `paused-for-expand` preference.
- Ensured that the `paused-for-expand` preference is reset when the sidebar expand strategy is changed.
- **zen-browser.js**:
- Added the new preference `zen.view.sidebar-expanded.on-hover.paused-for-expand` with a default value of `false`.
- **Submodule Updates**:
- Updated `l10n` submodule to the latest commit `dd93803b84f398834049a3f650536fbdbd14cbca`.
- Updated `zen-components` submodule to the latest commit `d853fa8de4167dfd4d1289f4f15792a698c738c3-dirty`.
- **Miscellaneous**:
- Fixed indentation issues in `ZenUIManager.mjs`.
- Removed commented-out code in `ZenUIManager.mjs`.
- Ensured proper formatting and alignment of code blocks.
ISSUE: #2156
This commit introduces a new preference, "zen.workspaces.force-container-workspace", that allows users to control whether container tabs are automatically placed in a dedicated workspace. When enabled, this feature ensures that all tabs from a container are grouped together within a specific workspace.
The following files were modified:
- `src/browser/components/preferences/zen-settings.js`: Added the new preference definition.
- `src/browser/app/profile/zen-browser.js`: Set the default value for the new preference.
- `src/browser/components/preferences/zenTabsManagement.inc.xhtml`: Added a checkbox to control the new preference in the settings UI.
This commit replaces the four separate checkboxes for close shortcut options for pinned tabs with a single menulist. This makes the UI more streamlined and user-friendly, as users can now easily select from a list of available options instead of having to check or uncheck multiple boxes.
The new menulist offers the following options:
- reset-unload-switch: Resets the tab if it was changed, otherwise unloads it.
- unload-switch: Unloads the tab if it was changed, otherwise does nothing.
- reset-switch: Resets the tab if it was changed, otherwise switches to it.
- switch: Switches to the tab.
- reset: Resets the tab.
- close: Closes the tab.
This provides a more comprehensive and flexible set of options for managing pinned tabs, making the experience more intuitive and customizable.
This commit introduces a new option to the pinned tab manager that allows users to restore pinned tabs to their pinned URL and title, even if the current tab has a different URL.
- Adds a new preference `zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url` to control this behavior.
- Updates the tab browser, tab state, and preferences code to support the new option.
- Adds a new UI element in the settings to allow users to enable/disable this feature.
This feature enhances the pinned tab manager by providing more control over how pinned tabs are restored when the browser is restarted.
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.