Compare commits
76 Commits
squircles-
...
twilight
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8813c5174e | ||
|
|
47824d8bca | ||
|
|
bf91ffddf3 | ||
|
|
1a293fc5ff | ||
|
|
786a377ada | ||
|
|
12e2781668 | ||
|
|
5ace391a61 | ||
|
|
31f5762efd | ||
|
|
c27a26eee4 | ||
|
|
46ff0020bb | ||
|
|
869c2eb8b2 | ||
|
|
721e121ebe | ||
|
|
07ede1b96b | ||
|
|
48879fb6a0 | ||
|
|
855c36280b | ||
|
|
31ef8d2ec9 | ||
|
|
a5ae4077cf | ||
|
|
d6acd4deb8 | ||
|
|
5f7283531f | ||
|
|
ab836eb762 | ||
|
|
22cc24e9f8 | ||
|
|
4f41aab3fa | ||
|
|
8b98469936 | ||
|
|
d16992f5b2 | ||
|
|
9f6fbc5e57 | ||
|
|
aebc2c9660 | ||
|
|
23d9487ca7 | ||
|
|
bd4f9788cc | ||
|
|
40a843200f | ||
|
|
22cad83c8f | ||
|
|
c4b4aa6287 | ||
|
|
2c9358ca07 | ||
|
|
d35fcabf92 | ||
|
|
e387652c8b | ||
|
|
6f612d62cf | ||
|
|
48badb83cf | ||
|
|
6600e60498 | ||
|
|
c058950119 | ||
|
|
7cf0e05f70 | ||
|
|
f2460549e0 | ||
|
|
290aa09f89 | ||
|
|
be2a44dab9 | ||
|
|
b5c889ab01 | ||
|
|
84bf229944 | ||
|
|
2dbd80f539 | ||
|
|
7990bfefad | ||
|
|
d457e6fc76 | ||
|
|
d2ee1507d9 | ||
|
|
c76066c99b | ||
|
|
0e8646d592 | ||
|
|
3708b86e58 | ||
|
|
1475d3daee | ||
|
|
988056e59c | ||
|
|
b79d6a7347 | ||
|
|
1c83609b8c | ||
|
|
4605b4f3ca | ||
|
|
dd9c57a1d2 | ||
|
|
06a03cd4ca | ||
|
|
bf6f0b19fd | ||
|
|
da04a7a629 | ||
|
|
d16ae38b28 | ||
|
|
f0976bc582 | ||
|
|
527b8a39f8 | ||
|
|
64cadfe37a | ||
|
|
5527aaebe9 | ||
|
|
8dfffc6ac0 | ||
|
|
302331bc7d | ||
|
|
d2477b5f8a | ||
|
|
e353d48af8 | ||
|
|
3a5a0be013 | ||
|
|
1f6233c1e1 | ||
|
|
4824404636 | ||
|
|
23697a8930 | ||
|
|
1e624ae580 | ||
|
|
8eaceb49cf | ||
|
|
459a37fc59 |
15
.github/workflows/staler.yml
vendored
@@ -1,15 +0,0 @@
|
|||||||
name: 'Close stale issues and PRs'
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '30 1 * * *'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
stale:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/stale@v9
|
|
||||||
with:
|
|
||||||
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
|
|
||||||
days-before-stale: 65
|
|
||||||
days-before-close: 10
|
|
||||||
2
l10n
1916
pnpm-lock.yaml
generated
Normal file
@@ -102,16 +102,10 @@ pref('zen.rice.share.notice.accepted', false);
|
|||||||
#ifdef XP_MACOSX
|
#ifdef XP_MACOSX
|
||||||
pref('zen.theme.border-radius', 10); // In pixels
|
pref('zen.theme.border-radius', 10); // In pixels
|
||||||
#else
|
#else
|
||||||
#ifdef XP_WIN
|
|
||||||
pref('zen.theme.border-radius', 12); // In pixels
|
|
||||||
#else
|
|
||||||
pref('zen.theme.border-radius', 8); // In pixels
|
pref('zen.theme.border-radius', 8); // In pixels
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
pref('zen.theme.color-prefs.use-workspace-colors', true);
|
pref('zen.theme.color-prefs.use-workspace-colors', true);
|
||||||
pref('zen.theme.color-prefs.amoled', false);
|
|
||||||
pref('zen.theme.color-prefs.colorful', false);
|
|
||||||
|
|
||||||
pref('zen.view.compact.hide-tabbar', true);
|
pref('zen.view.compact.hide-tabbar', true);
|
||||||
pref('zen.view.compact.hide-toolbar', false);
|
pref('zen.view.compact.hide-toolbar', false);
|
||||||
@@ -124,6 +118,7 @@ pref('zen.view.compact.animate-sidebar', true);
|
|||||||
|
|
||||||
pref('zen.urlbar.replace-newtab', true);
|
pref('zen.urlbar.replace-newtab', true);
|
||||||
pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float
|
pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float
|
||||||
|
pref('zen.urlbar.wait-to-clear', 45000); // in ms (default 45s)
|
||||||
|
|
||||||
#ifdef XP_MACOSX
|
#ifdef XP_MACOSX
|
||||||
// Disable for macos in the meantime until @HarryHeres finds a solution for hight DPI screens
|
// Disable for macos in the meantime until @HarryHeres finds a solution for hight DPI screens
|
||||||
@@ -132,6 +127,10 @@ pref('zen.view.experimental-rounded-view', false);
|
|||||||
pref('zen.view.experimental-rounded-view', true);
|
pref('zen.view.experimental-rounded-view', true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef XP_WIN
|
||||||
|
pref('zen.widget.windows.acrylic', true);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Glance
|
// Glance
|
||||||
pref('zen.glance.enabled', true);
|
pref('zen.glance.enabled', true);
|
||||||
pref('zen.glance.hold-duration', 300); // in ms
|
pref('zen.glance.hold-duration', 300); // in ms
|
||||||
@@ -160,7 +159,6 @@ pref('zen.view.hide-window-controls', true);
|
|||||||
pref('zen.view.experimental-no-window-controls', false);
|
pref('zen.view.experimental-no-window-controls', false);
|
||||||
|
|
||||||
pref('zen.tabs.dim-pending', true);
|
pref('zen.tabs.dim-pending', true);
|
||||||
pref('zen.tabs.newtab-on-middle-click', true);
|
|
||||||
|
|
||||||
pref('zen.keyboard.shortcuts.enabled', true);
|
pref('zen.keyboard.shortcuts.enabled', true);
|
||||||
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
||||||
@@ -174,7 +172,7 @@ pref('zen.tab-unloader.excluded-urls', "example.com,example.org");
|
|||||||
|
|
||||||
pref('zen.pinned-tab-manager.debug', false);
|
pref('zen.pinned-tab-manager.debug', false);
|
||||||
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
||||||
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'switch');
|
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'unload-switch');
|
||||||
|
|
||||||
// TODO: Check this out!
|
// TODO: Check this out!
|
||||||
pref("browser.profiles.enabled", false);
|
pref("browser.profiles.enabled", false);
|
||||||
@@ -186,7 +184,6 @@ pref('zen.sidebar.close-on-blur', true);
|
|||||||
pref('zen.sidebar.max-webpanels', 8);
|
pref('zen.sidebar.max-webpanels', 8);
|
||||||
|
|
||||||
// Zen Split View
|
// Zen Split View
|
||||||
pref('zen.splitView.working', false);
|
|
||||||
pref('zen.splitView.min-resize-width', 7);
|
pref('zen.splitView.min-resize-width', 7);
|
||||||
pref('zen.splitView.change-on-hover', false);
|
pref('zen.splitView.change-on-hover', false);
|
||||||
pref('zen.splitView.rearrange-hover-size', 24);
|
pref('zen.splitView.rearrange-hover-size', 24);
|
||||||
@@ -384,6 +381,7 @@ pref("browser.urlbar.quicksuggest.enabled", false);
|
|||||||
pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||||
pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||||
pref("browser.urlbar.groupLabels.enabled", false);
|
pref("browser.urlbar.groupLabels.enabled", false);
|
||||||
|
pref("browser.urlbar.keepPanelOpenDuringImeComposition", true); // IMPORTANT: Fixes closing the urlbar when on some languages
|
||||||
pref("browser.formfill.enable", false);
|
pref("browser.formfill.enable", false);
|
||||||
pref("security.insecure_connection_text.enabled", true);
|
pref("security.insecure_connection_text.enabled", true);
|
||||||
pref("security.insecure_connection_text.pbmode.enabled", true);
|
pref("security.insecure_connection_text.pbmode.enabled", true);
|
||||||
@@ -431,7 +429,7 @@ pref("browser.aboutwelcome.enabled", false);
|
|||||||
|
|
||||||
// ---- Experimental settings to try make zen faster
|
// ---- Experimental settings to try make zen faster
|
||||||
pref("gfx.canvas.accelerated.cache-items", 32768);
|
pref("gfx.canvas.accelerated.cache-items", 32768);
|
||||||
pref("gfx.canvas.accelerated.cache-size", 4096);
|
pref("gfx.canvas.accelerated.cache-size", 256);
|
||||||
pref("gfx.content.skia-font-cache-size", 80);
|
pref("gfx.content.skia-font-cache-size", 80);
|
||||||
|
|
||||||
pref("media.memory_cache_max_size", 1048576);
|
pref("media.memory_cache_max_size", 1048576);
|
||||||
|
|||||||
@@ -3,11 +3,9 @@
|
|||||||
var ZenStartup = {
|
var ZenStartup = {
|
||||||
init() {
|
init() {
|
||||||
this.openWatermark();
|
this.openWatermark();
|
||||||
window.SessionStore.promiseInitialized.then(() => {
|
|
||||||
this._changeSidebarLocation();
|
this._changeSidebarLocation();
|
||||||
this._zenInitBrowserLayout();
|
this._zenInitBrowserLayout();
|
||||||
this._initSearchBar();
|
this._initSearchBar();
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_zenInitBrowserLayout() {
|
_zenInitBrowserLayout() {
|
||||||
@@ -33,8 +31,6 @@
|
|||||||
|
|
||||||
this._initSidebarScrolling();
|
this._initSidebarScrolling();
|
||||||
|
|
||||||
gZenUIMigration.init();
|
|
||||||
|
|
||||||
gZenCompactModeManager.init();
|
gZenCompactModeManager.init();
|
||||||
ZenWorkspaces.init();
|
ZenWorkspaces.init();
|
||||||
gZenVerticalTabsManager.init();
|
gZenVerticalTabsManager.init();
|
||||||
@@ -87,8 +83,7 @@
|
|||||||
_initSidebarScrolling() {
|
_initSidebarScrolling() {
|
||||||
// Disable smooth scroll
|
// Disable smooth scroll
|
||||||
const canSmoothScroll = Services.prefs.getBoolPref('zen.startup.smooth-scroll-in-tabs', false);
|
const canSmoothScroll = Services.prefs.getBoolPref('zen.startup.smooth-scroll-in-tabs', false);
|
||||||
const workspaceIndicator = document.getElementById('zen-current-workspace-indicator');
|
const tabsWrapper = document.getElementById('zen-tabs-wrapper');
|
||||||
const tabsWrapper = document.getElementById('zen-browser-tabs-wrapper');
|
|
||||||
gBrowser.tabContainer.addEventListener('wheel', (event) => {
|
gBrowser.tabContainer.addEventListener('wheel', (event) => {
|
||||||
if (canSmoothScroll) return;
|
if (canSmoothScroll) return;
|
||||||
event.preventDefault(); // Prevent the smooth scroll behavior
|
event.preventDefault(); // Prevent the smooth scroll behavior
|
||||||
@@ -97,13 +92,14 @@
|
|||||||
// Detect overflow and underflow
|
// Detect overflow and underflow
|
||||||
const observer = new ResizeObserver((_) => {
|
const observer = new ResizeObserver((_) => {
|
||||||
const tabContainer = gBrowser.tabContainer;
|
const tabContainer = gBrowser.tabContainer;
|
||||||
const isVertical = tabContainer.getAttribute('orient') === 'vertical';
|
// const isVertical = tabContainer.getAttribute('orient') === 'vertical';
|
||||||
let contentSize = tabsWrapper.getBoundingClientRect()[isVertical ? 'height' : 'width'];
|
// let contentSize = tabsWrapper.getBoundingClientRect()[isVertical ? 'height' : 'width'];
|
||||||
// NOTE: This should be contentSize > scrollClientSize, but due
|
// NOTE: This should be contentSize > scrollClientSize, but due
|
||||||
// to how Gecko internally rounds in those cases, we allow for some
|
// to how Gecko internally rounds in those cases, we allow for some
|
||||||
// minor differences (the internal Gecko layout size is 1/60th of a
|
// minor differences (the internal Gecko layout size is 1/60th of a
|
||||||
// pixel, so 0.02 should cover it).
|
// pixel, so 0.02 should cover it).
|
||||||
let overflowing = contentSize - tabContainer.arrowScrollbox.scrollClientSize > 0.02;
|
//let overflowing = contentSize - tabContainer.arrowScrollbox.scrollClientSize > 0.02;
|
||||||
|
let overflowing = true; // cheatign the system, because we want to always show make the element overflowing
|
||||||
|
|
||||||
window.requestAnimationFrame(() => {
|
window.requestAnimationFrame(() => {
|
||||||
tabContainer.arrowScrollbox.toggleAttribute('overflowing', overflowing);
|
tabContainer.arrowScrollbox.toggleAttribute('overflowing', overflowing);
|
||||||
|
|||||||
@@ -8,14 +8,13 @@ var gZenUIManager = {
|
|||||||
document.addEventListener('popuphidden', this.onPopupHidden.bind(this));
|
document.addEventListener('popuphidden', this.onPopupHidden.bind(this));
|
||||||
XPCOMUtils.defineLazyPreferenceGetter(this, 'sidebarHeightThrottle', 'zen.view.sidebar-height-throttle', 500);
|
XPCOMUtils.defineLazyPreferenceGetter(this, 'sidebarHeightThrottle', 'zen.view.sidebar-height-throttle', 500);
|
||||||
XPCOMUtils.defineLazyPreferenceGetter(this, 'contentElementSeparation', 'zen.theme.content-element-separation', 0);
|
XPCOMUtils.defineLazyPreferenceGetter(this, 'contentElementSeparation', 'zen.theme.content-element-separation', 0);
|
||||||
|
XPCOMUtils.defineLazyPreferenceGetter(this, 'urlbarWaitToClear', 'zen.urlbar.wait-to-clear', 0);
|
||||||
|
|
||||||
ChromeUtils.defineLazyGetter(this, 'motion', () => {
|
ChromeUtils.defineLazyGetter(this, 'motion', () => {
|
||||||
return ChromeUtils.importESModule('chrome://browser/content/zen-vendor/motion.min.mjs', { global: 'current' });
|
return ChromeUtils.importESModule('chrome://browser/content/zen-vendor/motion.min.mjs', { global: 'current' });
|
||||||
});
|
});
|
||||||
|
|
||||||
new ResizeObserver(gZenCommonActions.throttle(this.updateTabsToolbar.bind(this), this.sidebarHeightThrottle)).observe(
|
new ResizeObserver(this.updateTabsToolbar.bind(this)).observe(document.getElementById('TabsToolbar'));
|
||||||
document.getElementById('TabsToolbar')
|
|
||||||
);
|
|
||||||
|
|
||||||
new ResizeObserver(
|
new ResizeObserver(
|
||||||
gZenCommonActions.throttle(
|
gZenCommonActions.throttle(
|
||||||
@@ -26,14 +25,16 @@ var gZenUIManager = {
|
|||||||
|
|
||||||
SessionStore.promiseAllWindowsRestored.then(() => {
|
SessionStore.promiseAllWindowsRestored.then(() => {
|
||||||
this._hasLoadedDOM = true;
|
this._hasLoadedDOM = true;
|
||||||
|
this.updateTabsToolbar();
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener('TabClose', this.onTabClose.bind(this));
|
window.addEventListener('TabClose', this.onTabClose.bind(this));
|
||||||
|
this.tabsWrapper.addEventListener('scroll', this.saveScrollbarState.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
updateTabsToolbar() {
|
updateTabsToolbar() {
|
||||||
// Set tabs max-height to the "toolbar-items" height
|
// Set tabs max-height to the "toolbar-items" height
|
||||||
const tabs = document.getElementById('zen-browser-tabs-wrapper');
|
const tabs = this.tabsWrapper;
|
||||||
// Remove tabs so we can accurately calculate the height
|
// Remove tabs so we can accurately calculate the height
|
||||||
// without them affecting the height of the toolbar
|
// without them affecting the height of the toolbar
|
||||||
for (const tab of gBrowser.tabs) {
|
for (const tab of gBrowser.tabs) {
|
||||||
@@ -60,7 +61,7 @@ var gZenUIManager = {
|
|||||||
if (this._tabsWrapper) {
|
if (this._tabsWrapper) {
|
||||||
return this._tabsWrapper;
|
return this._tabsWrapper;
|
||||||
}
|
}
|
||||||
this._tabsWrapper = document.getElementById('zen-browser-tabs-wrapper');
|
this._tabsWrapper = document.getElementById('zen-tabs-wrapper');
|
||||||
return this._tabsWrapper;
|
return this._tabsWrapper;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -68,10 +69,13 @@ var gZenUIManager = {
|
|||||||
this._scrollbarState = this.tabsWrapper.scrollTop;
|
this._scrollbarState = this.tabsWrapper.scrollTop;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
restoreScrollbarState() {
|
||||||
|
this.tabsWrapper.scrollTop = this._scrollbarState;
|
||||||
|
},
|
||||||
|
|
||||||
onTabClose(event) {
|
onTabClose(event) {
|
||||||
this.updateTabsToolbar();
|
this.updateTabsToolbar();
|
||||||
this.tabsWrapper.scrollTop = this._scrollbarState;
|
this.restoreScrollbarState();
|
||||||
this._scrollbarState = 0;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
openAndChangeToTab(url, options) {
|
openAndChangeToTab(url, options) {
|
||||||
@@ -143,16 +147,30 @@ var gZenUIManager = {
|
|||||||
this.__currentPopupTrackElement = null;
|
this.__currentPopupTrackElement = null;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
get newtabButtons() {
|
||||||
|
return document.querySelectorAll('#tabs-newtab-button');
|
||||||
|
},
|
||||||
|
|
||||||
_prevUrlbarLabel: null,
|
_prevUrlbarLabel: null,
|
||||||
_lastSearch: '',
|
_lastSearch: '',
|
||||||
|
_clearTimeout: null,
|
||||||
|
_lastTab: null,
|
||||||
|
|
||||||
handleNewTab(werePassedURL, searchClipboard, where) {
|
handleNewTab(werePassedURL, searchClipboard, where) {
|
||||||
const shouldOpenURLBar =
|
const shouldOpenURLBar =
|
||||||
Services.prefs.getBoolPref('zen.urlbar.replace-newtab') && !werePassedURL && !searchClipboard && where === 'tab';
|
Services.prefs.getBoolPref('zen.urlbar.replace-newtab') && !werePassedURL && !searchClipboard && where === 'tab';
|
||||||
if (shouldOpenURLBar) {
|
if (shouldOpenURLBar) {
|
||||||
|
if (this._clearTimeout) {
|
||||||
|
clearTimeout(this._clearTimeout);
|
||||||
|
}
|
||||||
|
this._lastTab = gBrowser.selectedTab;
|
||||||
|
this._lastTab._visuallySelected = false;
|
||||||
this._prevUrlbarLabel = gURLBar._untrimmedValue;
|
this._prevUrlbarLabel = gURLBar._untrimmedValue;
|
||||||
gURLBar._zenHandleUrlbarClose = this.handleUrlbarClose.bind(this);
|
gURLBar._zenHandleUrlbarClose = this.handleUrlbarClose.bind(this);
|
||||||
gURLBar.setAttribute('zen-newtab', true);
|
gURLBar.setAttribute('zen-newtab', true);
|
||||||
|
for (const button of this.newtabButtons) {
|
||||||
|
button.setAttribute('in-urlbar', true);
|
||||||
|
}
|
||||||
document.getElementById('Browser:OpenLocation').doCommand();
|
document.getElementById('Browser:OpenLocation').doCommand();
|
||||||
gURLBar.search(this._lastSearch);
|
gURLBar.search(this._lastSearch);
|
||||||
return true;
|
return true;
|
||||||
@@ -160,16 +178,28 @@ var gZenUIManager = {
|
|||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
clearUrlbarData() {
|
||||||
|
this._prevUrlbarLabel = null;
|
||||||
|
this._lastSearch = '';
|
||||||
|
},
|
||||||
|
|
||||||
handleUrlbarClose(onSwitch) {
|
handleUrlbarClose(onSwitch) {
|
||||||
gURLBar._zenHandleUrlbarClose = null;
|
gURLBar._zenHandleUrlbarClose = null;
|
||||||
gURLBar.removeAttribute('zen-newtab');
|
gURLBar.removeAttribute('zen-newtab');
|
||||||
|
this._lastTab._visuallySelected = true;
|
||||||
|
this._lastTab = null;
|
||||||
|
for (const button of this.newtabButtons) {
|
||||||
|
button.removeAttribute('in-urlbar');
|
||||||
|
}
|
||||||
if (onSwitch) {
|
if (onSwitch) {
|
||||||
this._prevUrlbarLabel = null;
|
this.clearUrlbarData();
|
||||||
this._lastSearch = '';
|
|
||||||
} else {
|
} else {
|
||||||
this._lastSearch = gURLBar._untrimmedValue;
|
this._lastSearch = gURLBar._untrimmedValue;
|
||||||
|
this._clearTimeout = setTimeout(() => {
|
||||||
|
this.clearUrlbarData();
|
||||||
|
}, this.urlbarWaitToClear);
|
||||||
}
|
}
|
||||||
gURLBar.setURI(this._prevUrlbarLabel, false, false, false, true);
|
gURLBar.setURI(this._prevUrlbarLabel, onSwitch, false, false, !onSwitch);
|
||||||
gURLBar.handleRevert();
|
gURLBar.handleRevert();
|
||||||
if (gURLBar.focused) {
|
if (gURLBar.focused) {
|
||||||
gURLBar.view.close({ elementPicked: onSwitch });
|
gURLBar.view.close({ elementPicked: onSwitch });
|
||||||
@@ -213,27 +243,11 @@ var gZenVerticalTabsManager = {
|
|||||||
window.addEventListener('customizationstarting', this._preCustomize.bind(this));
|
window.addEventListener('customizationstarting', this._preCustomize.bind(this));
|
||||||
window.addEventListener('aftercustomization', this._postCustomize.bind(this));
|
window.addEventListener('aftercustomization', this._postCustomize.bind(this));
|
||||||
|
|
||||||
window.addEventListener('DOMContentLoaded', updateEvent, { once: true });
|
this._updateEvent();
|
||||||
|
|
||||||
const tabs = document.getElementById('tabbrowser-tabs');
|
|
||||||
|
|
||||||
XPCOMUtils.defineLazyPreferenceGetter(this, 'canOpenTabOnMiddleClick', 'zen.tabs.newtab-on-middle-click', true);
|
|
||||||
|
|
||||||
if (!this.isWindowsStyledButtons) {
|
if (!this.isWindowsStyledButtons) {
|
||||||
document.documentElement.setAttribute('zen-window-buttons-reversed', true);
|
document.documentElement.setAttribute('zen-window-buttons-reversed', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tabs) {
|
|
||||||
tabs.addEventListener('mouseup', this.openNewTabOnTabsMiddleClick.bind(this));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
openNewTabOnTabsMiddleClick(event) {
|
|
||||||
if (event.button === 1 && event.target.id === 'tabbrowser-tabs' && this.canOpenTabOnMiddleClick) {
|
|
||||||
document.getElementById('cmd_newNavigatorTabNoEvent').doCommand();
|
|
||||||
event.stopPropagation();
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleExpand() {
|
toggleExpand() {
|
||||||
@@ -400,6 +414,11 @@ var gZenVerticalTabsManager = {
|
|||||||
|
|
||||||
gBrowser.tabContainer.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal');
|
gBrowser.tabContainer.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal');
|
||||||
gBrowser.tabContainer.arrowScrollbox.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal');
|
gBrowser.tabContainer.arrowScrollbox.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal');
|
||||||
|
// on purpose, we set the orient to horizontal, because the arrowScrollbox is vertical
|
||||||
|
gBrowser.tabContainer.arrowScrollbox.scrollbox.setAttribute(
|
||||||
|
'orient',
|
||||||
|
isVerticalTabs && ZenWorkspaces.workspaceEnabled ? 'horizontal' : 'vertical'
|
||||||
|
);
|
||||||
|
|
||||||
const buttonsTarget = document.getElementById('zen-sidebar-top-buttons-customization-target');
|
const buttonsTarget = document.getElementById('zen-sidebar-top-buttons-customization-target');
|
||||||
if (isRightSide) {
|
if (isRightSide) {
|
||||||
@@ -553,6 +572,7 @@ var gZenVerticalTabsManager = {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
|
gZenUIManager.updateTabsToolbar();
|
||||||
this._isUpdating = false;
|
this._isUpdating = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
||||||
index 63100defacf66c6b3232b9e0a783a5fd14e3a46a..eb7ed966628a595847b850f981418d425b78f14b 100644
|
index 63100defacf66c6b3232b9e0a783a5fd14e3a46a..22b79b021ff0baab4dac602447a124308208c828 100644
|
||||||
--- a/browser/base/content/browser-init.js
|
--- a/browser/base/content/browser-init.js
|
||||||
+++ b/browser/base/content/browser-init.js
|
+++ b/browser/base/content/browser-init.js
|
||||||
@@ -162,13 +162,15 @@ var gBrowserInit = {
|
@@ -162,13 +162,15 @@ var gBrowserInit = {
|
||||||
@@ -19,12 +19,11 @@ index 63100defacf66c6b3232b9e0a783a5fd14e3a46a..eb7ed966628a595847b850f981418d42
|
|||||||
if (isVerticalTabs) {
|
if (isVerticalTabs) {
|
||||||
// Show the vertical tabs toolbar
|
// Show the vertical tabs toolbar
|
||||||
setToolbarVisibility(
|
setToolbarVisibility(
|
||||||
@@ -287,6 +289,11 @@ var gBrowserInit = {
|
@@ -287,6 +289,10 @@ var gBrowserInit = {
|
||||||
gPrivateBrowsingUI.init();
|
gPrivateBrowsingUI.init();
|
||||||
BrowserSearch.init();
|
BrowserSearch.init();
|
||||||
BrowserPageActions.init();
|
BrowserPageActions.init();
|
||||||
+
|
+
|
||||||
+Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenUIMigration.mjs", window);
|
|
||||||
+Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
|
+Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
|
||||||
+Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
|
+Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
index 00391af141d9015fe5839534e5e6b22a91ba65d9..b68767d0fef6cea2756376bbcfe00603d5d1a655 100644
|
index a0a382643a2f74b6d789f3641ef300eed202d5e9..7a2be5fe6cdecb771ce3326008085ae402a465de 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
@@ -40,20 +40,18 @@ index 00391af141d9015fe5839534e5e6b22a91ba65d9..b68767d0fef6cea2756376bbcfe00603
|
|||||||
<tabs id="tabbrowser-tabs"
|
<tabs id="tabbrowser-tabs"
|
||||||
is="tabbrowser-tabs"
|
is="tabbrowser-tabs"
|
||||||
aria-multiselectable="true"
|
aria-multiselectable="true"
|
||||||
@@ -50,6 +50,12 @@
|
@@ -50,6 +50,10 @@
|
||||||
tooltip="tabbrowser-tab-tooltip"
|
tooltip="tabbrowser-tab-tooltip"
|
||||||
orient="horizontal"
|
orient="horizontal"
|
||||||
stopwatchid="FX_TAB_CLICK_MS">
|
stopwatchid="FX_TAB_CLICK_MS">
|
||||||
+<html:div id="zen-essentials-container" skipintoolbarset="true"></html:div>
|
+<html:div id="zen-essentials-container" skipintoolbarset="true"></html:div>
|
||||||
+<hbox id="zen-current-workspace-indicator" skipintoolbarset="true">
|
+<hbox id="zen-current-workspace-indicator-container"></hbox>
|
||||||
+ <hbox id="zen-current-workspace-indicator-icon"></hbox>
|
+<html:div id="zen-tabs-wrapper">
|
||||||
+ <hbox id="zen-current-workspace-indicator-name"></hbox>
|
+<html:div id="zen-browser-tabs-container">
|
||||||
+</hbox>
|
|
||||||
+<html:div id="zen-browser-tabs-wrapper">
|
|
||||||
<hbox class="tab-drop-indicator" hidden="true"/>
|
<hbox class="tab-drop-indicator" hidden="true"/>
|
||||||
# If the name (tabbrowser-arrowscrollbox) or structure of this changes
|
# If the name (tabbrowser-arrowscrollbox) or structure of this changes
|
||||||
# significantly, there is an optimization in
|
# significantly, there is an optimization in
|
||||||
@@ -57,7 +63,7 @@
|
@@ -57,7 +61,7 @@
|
||||||
# the current structure that we may want to revisit.
|
# the current structure that we may want to revisit.
|
||||||
<html:div id="vertical-pinned-tabs-container" tabindex="-1"></html:div>
|
<html:div id="vertical-pinned-tabs-container" tabindex="-1"></html:div>
|
||||||
<html:div id="vertical-pinned-tabs-container-separator"></html:div>
|
<html:div id="vertical-pinned-tabs-container-separator"></html:div>
|
||||||
@@ -62,15 +60,16 @@ index 00391af141d9015fe5839534e5e6b22a91ba65d9..b68767d0fef6cea2756376bbcfe00603
|
|||||||
<tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="" fadein=""/>
|
<tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="" fadein=""/>
|
||||||
<hbox id="tabbrowser-arrowscrollbox-periphery">
|
<hbox id="tabbrowser-arrowscrollbox-periphery">
|
||||||
<toolbartabstop/>
|
<toolbartabstop/>
|
||||||
@@ -75,6 +81,7 @@
|
@@ -75,6 +79,8 @@
|
||||||
tooltip="dynamic-shortcut-tooltip"
|
tooltip="dynamic-shortcut-tooltip"
|
||||||
data-l10n-id="tabs-toolbar-new-tab"/>
|
data-l10n-id="tabs-toolbar-new-tab"/>
|
||||||
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
|
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
|
||||||
|
+</html:div>
|
||||||
+</html:div>
|
+</html:div>
|
||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
<toolbarbutton id="new-tab-button"
|
<toolbarbutton id="new-tab-button"
|
||||||
@@ -100,11 +107,12 @@
|
@@ -100,11 +106,12 @@
|
||||||
#include private-browsing-indicator.inc.xhtml
|
#include private-browsing-indicator.inc.xhtml
|
||||||
<toolbarbutton id="content-analysis-indicator"
|
<toolbarbutton id="content-analysis-indicator"
|
||||||
class="toolbarbutton-1 content-analysis-indicator-icon"/>
|
class="toolbarbutton-1 content-analysis-indicator-icon"/>
|
||||||
@@ -86,7 +85,7 @@ index 00391af141d9015fe5839534e5e6b22a91ba65d9..b68767d0fef6cea2756376bbcfe00603
|
|||||||
<toolbar id="nav-bar"
|
<toolbar id="nav-bar"
|
||||||
class="browser-toolbar chromeclass-location"
|
class="browser-toolbar chromeclass-location"
|
||||||
data-l10n-id="navbar-accessible"
|
data-l10n-id="navbar-accessible"
|
||||||
@@ -487,10 +495,12 @@
|
@@ -490,10 +497,12 @@
|
||||||
consumeanchor="PanelUI-button"
|
consumeanchor="PanelUI-button"
|
||||||
data-l10n-id="appmenu-menu-button-closed2"/>
|
data-l10n-id="appmenu-menu-button-closed2"/>
|
||||||
</toolbaritem>
|
</toolbaritem>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
||||||
index 64ded8fb2c08f1dbfec8fe08ab427a24b53f1169..69009d53d7242c26f777ac2e0bb1897ff27ad916 100644
|
index 64ded8fb2c08f1dbfec8fe08ab427a24b53f1169..9e1e888554279b6e1df3bc1cb907afd2ccb330ca 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.js
|
--- a/browser/base/content/navigator-toolbox.js
|
||||||
+++ b/browser/base/content/navigator-toolbox.js
|
+++ b/browser/base/content/navigator-toolbox.js
|
||||||
@@ -8,7 +8,7 @@
|
@@ -8,7 +8,7 @@
|
||||||
@@ -11,3 +11,19 @@ index 64ded8fb2c08f1dbfec8fe08ab427a24b53f1169..69009d53d7242c26f777ac2e0bb1897f
|
|||||||
const widgetOverflow = document.getElementById("widget-overflow");
|
const widgetOverflow = document.getElementById("widget-overflow");
|
||||||
|
|
||||||
function onPopupShowing(event) {
|
function onPopupShowing(event) {
|
||||||
|
@@ -187,6 +187,7 @@ document.addEventListener(
|
||||||
|
#reload-button ,
|
||||||
|
#urlbar-go-button,
|
||||||
|
#reader-mode-button,
|
||||||
|
+ #zen-tabs-wrapper,
|
||||||
|
#picture-in-picture-button,
|
||||||
|
#shopping-sidebar-button,
|
||||||
|
#urlbar-zoom-button,
|
||||||
|
@@ -208,6 +209,7 @@ document.addEventListener(
|
||||||
|
case "vertical-tabs-newtab-button":
|
||||||
|
case "tabs-newtab-button":
|
||||||
|
case "new-tab-button":
|
||||||
|
+ case "zen-tabs-wrapper":
|
||||||
|
gBrowser.handleNewTabMiddleClick(element, event);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
:root:is([inDOMFullscreen='true'], [chromehidden~='location'], [chromehidden~='toolbar']) {
|
:root:is([inDOMFullscreen='true'], [chromehidden~='location'], [chromehidden~='toolbar']) {
|
||||||
#navigator-toolbox,
|
#navigator-toolbox,
|
||||||
#zen-sidebar-splitter {
|
#zen-sidebar-splitter {
|
||||||
display: none;
|
visibility: collapse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
&[animating='true']::after {
|
&[animating='true']::after {
|
||||||
background: var(--zen-main-browser-background-old);
|
background: var(--zen-main-browser-background-old);
|
||||||
backdrop-filter: blur(5px);
|
backdrop-filter: blur(5px);
|
||||||
animation: zen-main-app-wrapper-animation 0.5s ease forwards;
|
animation: zen-main-app-wrapper-animation 0.2s ease forwards;
|
||||||
transition: 0s;
|
transition: 0s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,11 +42,13 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
transition:
|
transition:
|
||||||
left 0.25s ease,
|
left 0.15s ease,
|
||||||
right 0.25s ease;
|
right 0.15s ease,
|
||||||
|
opacity 1.5s ease;
|
||||||
top: 0;
|
top: 0;
|
||||||
bottom: var(--zen-element-separation);
|
bottom: var(--zen-element-separation);
|
||||||
padding: 0 var(--zen-compact-float) !important;
|
padding: 0 var(--zen-compact-float) !important;
|
||||||
|
opacity: 0;
|
||||||
|
|
||||||
:root[zen-single-toolbar='true'] & {
|
:root[zen-single-toolbar='true'] & {
|
||||||
top: var(--zen-element-separation);
|
top: var(--zen-element-separation);
|
||||||
@@ -112,7 +114,11 @@
|
|||||||
|
|
||||||
& #urlbar[open][zen-floating-urlbar='true'] {
|
& #urlbar[open][zen-floating-urlbar='true'] {
|
||||||
--zen-urlbar-offset: var(--zen-sidebar-width);
|
--zen-urlbar-offset: var(--zen-sidebar-width);
|
||||||
transition: left 0.1s ease;
|
transition: left 0.05s ease;
|
||||||
|
|
||||||
|
#navigator-toolbox:has(&) {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +239,9 @@
|
|||||||
transition:
|
transition:
|
||||||
left 0.3s var(--zen-compact-mode-func),
|
left 0.3s var(--zen-compact-mode-func),
|
||||||
right 0.3s var(--zen-compact-mode-func);
|
right 0.3s var(--zen-compact-mode-func);
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
&:not([supress-primary-adjustment='true']) {
|
||||||
left: -1px;
|
left: -1px;
|
||||||
:root[zen-right-side='true'] & {
|
:root[zen-right-side='true'] & {
|
||||||
right: -1px;
|
right: -1px;
|
||||||
@@ -246,6 +254,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (-moz-bool-pref: 'zen.view.compact.hide-toolbar') {
|
@media (-moz-bool-pref: 'zen.view.compact.hide-toolbar') {
|
||||||
&:not([zen-single-toolbar='true']) {
|
&:not([zen-single-toolbar='true']) {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
--tab-min-height: 10px !important;
|
--tab-min-height: 10px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#vertical-pinned-tabs-container-separator {
|
.vertical-pinned-tabs-container-separator {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Other UI Elements */
|
/* Other UI Elements */
|
||||||
#zen-current-workspace-indicator {
|
.zen-current-workspace-indicator {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -87,17 +87,6 @@
|
|||||||
width: -moz-available !important;
|
width: -moz-available !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sharing-icon,
|
|
||||||
#identity-icon,
|
|
||||||
.urlbar-icon,
|
|
||||||
#permissions-granted-icon,
|
|
||||||
#tracking-protection-icon,
|
|
||||||
#tracking-protection-icon-box,
|
|
||||||
#blocked-permissions-container > .blocked-permission-icon {
|
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#identity-icon-box,
|
#identity-icon-box,
|
||||||
#identity-permission-box {
|
#identity-permission-box {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
@@ -128,7 +117,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#vertical-pinned-tabs-container-separator {
|
.vertical-pinned-tabs-container-separator {
|
||||||
background: light-dark(rgba(1, 1, 1, 0.075), rgba(255, 255, 255, 0.1));
|
background: light-dark(rgba(1, 1, 1, 0.075), rgba(255, 255, 255, 0.1));
|
||||||
margin: 8px auto;
|
margin: 8px auto;
|
||||||
border: none;
|
border: none;
|
||||||
@@ -137,8 +126,7 @@
|
|||||||
width: 98%;
|
width: 98%;
|
||||||
transition: margin 0.2s ease-in-out, background 0.2s ease-in-out, max-height 0.2s ease-in-out;
|
transition: margin 0.2s ease-in-out, background 0.2s ease-in-out, max-height 0.2s ease-in-out;
|
||||||
|
|
||||||
#vertical-pinned-tabs-container:not(:has(tab:not([hidden]))) + &,
|
#vertical-pinned-tabs-container .zen-workspace-tabs-section[hide-separator] & {
|
||||||
#tabbrowser-tabs:not(:has(#tabbrowser-arrowscrollbox tab:not([hidden]))) & {
|
|
||||||
max-height: 0;
|
max-height: 0;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
@@ -252,6 +240,7 @@
|
|||||||
padding-inline-start: 0 !important;
|
padding-inline-start: 0 !important;
|
||||||
overflow-y: unset !important; /* DO NOT CHANGE THIS: Firefox renders badly workspace changes */
|
overflow-y: unset !important; /* DO NOT CHANGE THIS: Firefox renders badly workspace changes */
|
||||||
overflow-x: clip;
|
overflow-x: clip;
|
||||||
|
overflow-clip-margin: var(--zen-toolbox-padding);
|
||||||
|
|
||||||
--tab-inner-inline-margin: 0;
|
--tab-inner-inline-margin: 0;
|
||||||
|
|
||||||
@@ -260,25 +249,18 @@
|
|||||||
|
|
||||||
--tab-block-margin: 2px;
|
--tab-block-margin: 2px;
|
||||||
--tab-selected-bgcolor: light-dark(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.12));
|
--tab-selected-bgcolor: light-dark(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.12));
|
||||||
|
--tab-selected-shadow: 0 1px 1px 1px light-dark(rgba(0, 0, 0, 0.09), rgba(0, 0, 0, 0.1)) !important;
|
||||||
grid-gap: 0 !important;
|
grid-gap: 0 !important;
|
||||||
|
|
||||||
&[overflow]::after,
|
&[overflow]::after,
|
||||||
#vertical-tabs-newtab-button {
|
#vertical-tabs-newtab-button,
|
||||||
|
#vertical-pinned-tabs-container-separator { /* notice #vertical-pinned-tabs-container-separator is an ID */
|
||||||
/* Hide separator they give us, eww */
|
/* Hide separator they give us, eww */
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
& .tabbrowser-tab {
|
& .tabbrowser-tab {
|
||||||
transition: scale 0.07s ease;
|
transition: scale 0.07s ease;
|
||||||
#tabbrowser-tabs &:not([zen-essential='true']) {
|
|
||||||
#tabbrowser-tabs[dont-animate-tabs] & {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:is([selected], [multiselected], [visuallyselected]) .tab-background {
|
|
||||||
box-shadow: 0 1px 1px 1px light-dark(rgba(0, 0, 0, 0.09), rgba(0, 0, 0, 0.1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
scale: 0.98;
|
scale: 0.98;
|
||||||
@@ -383,20 +365,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-browser-tabs-wrapper {
|
#zen-tabs-wrapper {
|
||||||
min-height: fit-content;
|
min-height: fit-content;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow-x: hidden;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zen-browser-tabs-container {
|
||||||
|
overflow-x: clip !important; /* might break custom css with new design, so let's force it */
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
#vertical-pinned-tabs-container {
|
#vertical-pinned-tabs-container {
|
||||||
padding-inline-end: 0 !important;
|
padding-inline-end: 0 !important;
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: fit-content !important;
|
min-height: fit-content !important;
|
||||||
overflow: visible;
|
overflow-x: clip;
|
||||||
|
overflow-y: visible;
|
||||||
max-height: unset !important;
|
max-height: unset !important;
|
||||||
|
|
||||||
& .tabbrowser-tab:not(:hover) .tab-background:not([selected]):not([multiselected]) {
|
& .tabbrowser-tab:not(:hover) .tab-background:not([selected]):not([multiselected]) {
|
||||||
@@ -454,7 +441,7 @@
|
|||||||
width: calc(100% - 10px) !important;
|
width: calc(100% - 10px) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
& #zen-current-workspace-indicator-icon[no-icon='true'] {
|
& .zen-current-workspace-indicator-icon[no-icon='true'] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,7 +521,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: var(--toolbarbutton-hover-background) !important;
|
background: var(--toolbarbutton-hover-background);
|
||||||
|
|
||||||
& image,
|
& image,
|
||||||
label {
|
label {
|
||||||
@@ -585,11 +572,11 @@
|
|||||||
#navigator-toolbox:not([zen-sidebar-expanded='true']) {
|
#navigator-toolbox:not([zen-sidebar-expanded='true']) {
|
||||||
max-width: var(--zen-toolbox-max-width) !important;
|
max-width: var(--zen-toolbox-max-width) !important;
|
||||||
min-width: var(--zen-toolbox-max-width) !important;
|
min-width: var(--zen-toolbox-max-width) !important;
|
||||||
& #zen-current-workspace-indicator-name,
|
& .zen-current-workspace-indicator-name,
|
||||||
& .toolbarbutton-text {
|
& .toolbarbutton-text {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
& #zen-current-workspace-indicator {
|
& .zen-current-workspace-indicator {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -901,10 +888,22 @@
|
|||||||
@media (-moz-bool-pref: 'zen.tabs.show-newtab-vertical') {
|
@media (-moz-bool-pref: 'zen.tabs.show-newtab-vertical') {
|
||||||
#tabs-newtab-button {
|
#tabs-newtab-button {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
|
transition: scale 0.1s ease;
|
||||||
& .toolbarbutton-text {
|
& .toolbarbutton-text {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:active,
|
||||||
|
&[open] {
|
||||||
|
scale: 0.98;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[in-urlbar] {
|
||||||
|
background: var(--tab-selected-bgcolor) !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
box-shadow: var(--tab-selected-shadow);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-arrowscrollbox-periphery {
|
#tabbrowser-arrowscrollbox-periphery {
|
||||||
@@ -967,11 +966,7 @@
|
|||||||
|
|
||||||
--tab-selected-bgcolor: light-dark(rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.2));
|
--tab-selected-bgcolor: light-dark(rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.2));
|
||||||
|
|
||||||
&[selected] .tab-background {
|
&:not([visuallyselected], [multiselected="true"]) .tab-background {
|
||||||
box-shadow: 0 1px 1px 1px light-dark(rgba(0, 0, 0, 0.09), rgba(0, 0, 0, 0.1));
|
|
||||||
}
|
|
||||||
|
|
||||||
&:not([selected], [multiselected="true"]) .tab-background {
|
|
||||||
background: var(--zen-toolbar-element-bg);
|
background: var(--zen-toolbar-element-bg);
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
@@ -999,7 +994,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (-moz-bool-pref: 'zen.theme.essentials-favicon-bg') {
|
@media (-moz-bool-pref: 'zen.theme.essentials-favicon-bg') {
|
||||||
&[selected] .tab-background {
|
&[visuallyselected] .tab-background {
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
inset: -50%;
|
inset: -50%;
|
||||||
@@ -1027,7 +1022,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&[selected]:hover .tab-background::before {
|
&[visuallyselected]:hover .tab-background::before {
|
||||||
background: light-dark(rgba(255, 255, 255, 0.80), rgba(68, 64, 64, 0.80));
|
background: light-dark(rgba(255, 255, 255, 0.80), rgba(68, 64, 64, 0.80));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1142,3 +1137,10 @@
|
|||||||
#zen-essentials-container .tabbrowser-tab.drag-over-after {
|
#zen-essentials-container .tabbrowser-tab.drag-over-after {
|
||||||
box-shadow: -3px 0 6px -2px var(--toolbarbutton-active-background, rgba(0, 255, 0, 0.2));
|
box-shadow: -3px 0 6px -2px var(--toolbarbutton-active-background, rgba(0, 255, 0, 0.2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Section: tab workspaces stylings */
|
||||||
|
.zen-workspace-tabs-section {
|
||||||
|
position: absolute;
|
||||||
|
transform: translateX(-100%);
|
||||||
|
min-width: 100%;
|
||||||
|
}
|
||||||
|
|||||||
@@ -157,19 +157,24 @@
|
|||||||
--zen-themed-toolbar-bg: light-dark(var(--zen-branding-bg), #161616);
|
--zen-themed-toolbar-bg: light-dark(var(--zen-branding-bg), #161616);
|
||||||
--zen-themed-toolbar-bg-transparent: light-dark(var(--zen-branding-bg), #161616);
|
--zen-themed-toolbar-bg-transparent: light-dark(var(--zen-branding-bg), #161616);
|
||||||
|
|
||||||
|
--zen-workspace-indicator-height: 45px;
|
||||||
|
|
||||||
@media (-moz-windows-mica) or (-moz-platform: macos) {
|
@media (-moz-windows-mica) or (-moz-platform: macos) {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
--zen-themed-toolbar-bg-transparency: 0;
|
--zen-themed-toolbar-bg-transparency: 0;
|
||||||
--zen-themed-toolbar-bg-transparent: light-dark(
|
@media (-moz-bool-pref: 'zen.widget.windows.acrylic') {
|
||||||
rgba(255, 255, 255, var(--zen-themed-toolbar-bg-transparency)),
|
--zen-themed-toolbar-bg-transparency: 15%;
|
||||||
rgba(0, 0, 0, var(--zen-themed-toolbar-bg-transparency))
|
}
|
||||||
|
--zen-themed-toolbar-bg-transparent: color-mix(
|
||||||
|
in srgb,
|
||||||
|
var(--zen-themed-toolbar-bg) calc(100% - var(--zen-themed-toolbar-bg-transparency)),
|
||||||
|
transparent var(--zen-themed-toolbar-bg-transparency)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
|
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
|
||||||
--arrowpanel-background: var(--zen-dialog-background) !important;
|
--arrowpanel-background: var(--zen-dialog-background) !important;
|
||||||
|
|
||||||
--tab-selected-shadow: none !important;
|
|
||||||
--zen-big-shadow: 0 0 9.73px 0px light-dark(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.25));
|
--zen-big-shadow: 0 0 9.73px 0px light-dark(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.25));
|
||||||
|
|
||||||
/* Nativity */
|
/* Nativity */
|
||||||
@@ -213,7 +218,7 @@
|
|||||||
--zen-colors-primary-foreground: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
|
--zen-colors-primary-foreground: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
|
||||||
|
|
||||||
--zen-colors-input-bg: color-mix(in srgb, var(--zen-primary-color) 1%, var(--zen-dark-color-mix-base) 99%);
|
--zen-colors-input-bg: color-mix(in srgb, var(--zen-primary-color) 1%, var(--zen-dark-color-mix-base) 99%);
|
||||||
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 20%, rgb(53, 53, 53) 80%);
|
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 20%, rgb(79, 79, 79) 80%);
|
||||||
--zen-colors-border-contrast: color-mix(in srgb, var(--zen-colors-secondary) 10%, rgba(255, 255, 255, 0.11) 90%);
|
--zen-colors-border-contrast: color-mix(in srgb, var(--zen-colors-secondary) 10%, rgba(255, 255, 255, 0.11) 90%);
|
||||||
|
|
||||||
--zen-dialog-background: var(--zen-dark-color-mix-base);
|
--zen-dialog-background: var(--zen-dark-color-mix-base);
|
||||||
@@ -222,33 +227,3 @@
|
|||||||
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, var(--zen-dark-color-mix-base) 70%);
|
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, var(--zen-dark-color-mix-base) 70%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
@media (-moz-bool-pref: 'zen.theme.color-prefs.amoled') {
|
|
||||||
:root {
|
|
||||||
--zen-dark-color-mix-base: hsl(5 5 5);
|
|
||||||
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 4%, rgb(0, 0, 0) 96%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (-moz-bool-pref: 'zen.theme.color-prefs.colorful') {
|
|
||||||
:root {
|
|
||||||
--zen-in-content-dialog-background: rgb(28, 28, 32);
|
|
||||||
|
|
||||||
--zen-colors-primary: color-mix(in srgb, var(--zen-primary-color) 50%, black 50%);
|
|
||||||
--zen-colors-secondary: color-mix(in srgb, var(--zen-primary-color) 40%, black 60%);
|
|
||||||
--zen-colors-tertiary: color-mix(in srgb, var(--zen-primary-color) 15%, black 85%);
|
|
||||||
|
|
||||||
--zen-colors-hover-bg: color-mix(in srgb, var(--zen-primary-color) 90%, black 10%);
|
|
||||||
--zen-colors-primary-foreground: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
|
|
||||||
|
|
||||||
--zen-colors-input-bg: color-mix(in srgb, var(--zen-primary-color) 10%, black 80%);
|
|
||||||
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 80%, black 20%);
|
|
||||||
|
|
||||||
--zen-dialog-background: color-mix(in srgb, var(--zen-primary-color) 10%, black 90%);
|
|
||||||
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, rgb(15, 15, 15) 92%);
|
|
||||||
|
|
||||||
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, black 70%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#urlbar {
|
#urlbar {
|
||||||
--toolbarbutton-border-radius: 10px;
|
--toolbarbutton-border-radius: 8px;
|
||||||
--urlbarView-separator-color: var(--zen-colors-border);
|
--urlbarView-separator-color: light-dark(hsl(0, 0%, 90%), hsl(0, 0%, 20%));
|
||||||
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
||||||
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
||||||
border-radius: var(--toolbarbutton-border-radius);
|
border-radius: var(--toolbarbutton-border-radius);
|
||||||
@@ -121,15 +121,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout-extend='true'] #urlbar-background {
|
#urlbar[breakout-extend='true'] #urlbar-background {
|
||||||
border: 1px solid var(--zen-colors-border) !important;
|
box-shadow:
|
||||||
box-shadow: var(--zen-big-shadow) !important;
|
inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.1),
|
||||||
|
/* 2. shadow ring 👇 */ 0 0 0 1px hsla(230, 13%, 9%, 0.075),
|
||||||
|
/* 3. multiple soft shadows 👇 */ 0 0.3px 0.4px hsla(230, 13%, 9%, 0.02),
|
||||||
|
0 0.9px 1.5px hsla(230, 13%, 9%, 0.045),
|
||||||
|
0 6.5px 12px hsla(230, 13%, 9%, 0.1) !important;
|
||||||
backdrop-filter: none !important;
|
backdrop-filter: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:root[zen-single-toolbar='true'] {
|
:root[zen-single-toolbar='true'] {
|
||||||
.urlbar-page-action:not([open]),
|
.urlbar-page-action:not([open]),
|
||||||
#tracking-protection-icon-container {
|
#tracking-protection-icon-container {
|
||||||
margin-inline-end: calc(-16px - 2 * var(--urlbar-icon-padding)) !important;
|
margin-inline-end: calc(-14px - 2 * var(--urlbar-icon-padding)) !important;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: all 0.1s ease;
|
transition: all 0.1s ease;
|
||||||
}
|
}
|
||||||
@@ -243,7 +247,7 @@ button.popup-notification-dropmarker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#userContext-indicator {
|
#userContext-indicator {
|
||||||
margin-inline-end: 2px;
|
margin-inline-end: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar:hover:not([breakout-extend='true']) #userContext-icons {
|
#urlbar:hover:not([breakout-extend='true']) #userContext-icons {
|
||||||
@@ -288,7 +292,7 @@ button.popup-notification-dropmarker {
|
|||||||
#urlbar .urlbar-page-action,
|
#urlbar .urlbar-page-action,
|
||||||
#urlbar #tracking-protection-icon-container,
|
#urlbar #tracking-protection-icon-container,
|
||||||
#urlbar:not([breakout-extend='true']) #identity-box:is(:not(.chromeUI), [pageproxystate='invalid']) #identity-icon-box {
|
#urlbar:not([breakout-extend='true']) #identity-box:is(:not(.chromeUI), [pageproxystate='invalid']) #identity-icon-box {
|
||||||
border-radius: 10px !important;
|
border-radius: 8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Extensions or similar */
|
/* Extensions or similar */
|
||||||
@@ -387,13 +391,14 @@ button.popup-notification-dropmarker {
|
|||||||
/* We cant have a transparent background with a backdrop-filter because on normal websites,
|
/* We cant have a transparent background with a backdrop-filter because on normal websites,
|
||||||
the backdrop woudn't work, we would need to apply a clip-path to the site and that's not recommended
|
the backdrop woudn't work, we would need to apply a clip-path to the site and that's not recommended
|
||||||
due to performance issues */
|
due to performance issues */
|
||||||
background-color: light-dark(rgb(247, 247, 247), var(--zen-branding-bg)) !important;
|
background-color: light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 14%)) !important;
|
||||||
|
outline: 1px solid rgba(0, 0, 0, 0.3) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:root[zen-single-toolbar='true'] {
|
:root[zen-single-toolbar='true'] {
|
||||||
#urlbar[open] {
|
#urlbar[open] {
|
||||||
min-width: 40vw;
|
min-width: 35vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
&[zen-right-side='true'] #urlbar[open]:not([zen-floating-urlbar='true']) {
|
&[zen-right-side='true'] #urlbar[open]:not([zen-floating-urlbar='true']) {
|
||||||
@@ -405,12 +410,14 @@ button.popup-notification-dropmarker {
|
|||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
max-width: 45vw;
|
max-width: 45vw;
|
||||||
min-width: 45vw !important;
|
min-width: 45vw !important;
|
||||||
font-size: 1.1em;
|
|
||||||
--urlbar-container-height: 55px !important;
|
--urlbar-container-height: 55px !important;
|
||||||
--urlbar-margin-inline: 10px !important;
|
--urlbar-margin-inline: 10px !important;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
||||||
font-size: 1.15em !important;
|
font-size: 1.15em !important;
|
||||||
|
@media (-moz-platform: macos) {
|
||||||
|
font-size: 1.5em !important;
|
||||||
|
}
|
||||||
top: calc(var(--zen-toolbar-height) * 2) !important;
|
top: calc(var(--zen-toolbar-height) * 2) !important;
|
||||||
|
|
||||||
--zen-urlbar-center: calc(var(--zen-urlbar-offset, 0px) + 28vw);
|
--zen-urlbar-center: calc(var(--zen-urlbar-offset, 0px) + 28vw);
|
||||||
@@ -491,10 +498,9 @@ button.popup-notification-dropmarker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: light-dark(var(--zen-colors-secondary), var(--zen-colors-primary)) !important;
|
.urlbarView-favicon,
|
||||||
|
& {
|
||||||
.urlbarView-favicon {
|
background-color: color-mix(in srgb, var(--zen-branding-bg-reverse) 5%, transparent 95%) !important;
|
||||||
background-color: color-mix(in srgb, var(--zen-branding-bg-reverse) 20%, transparent 80%) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.urlbarView-url,
|
.urlbarView-url,
|
||||||
|
|||||||
@@ -446,11 +446,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Mark workspaces indicator */
|
/* Mark workspaces indicator */
|
||||||
#zen-current-workspace-indicator {
|
#zen-current-workspace-indicator-container {
|
||||||
|
margin-bottom: var(--zen-workspace-indicator-height);
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-current-workspace-indicator {
|
||||||
padding: 15px calc(4px + var(--tab-inline-padding));
|
padding: 15px calc(4px + var(--tab-inline-padding));
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
align-items: center;
|
position: absolute;
|
||||||
position: relative;
|
max-height: var(--zen-workspace-indicator-height);
|
||||||
|
min-height: var(--zen-workspace-indicator-height);
|
||||||
|
gap: 12px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
flex-direction: row !important;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
border-radius: var(--border-radius-medium);
|
border-radius: var(--border-radius-medium);
|
||||||
@@ -459,11 +469,11 @@
|
|||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 6px;
|
top: 4px;
|
||||||
left: 2px;
|
left: 2px;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
width: calc(100% - 4px);
|
width: calc(100% - 4px);
|
||||||
height: calc(100% - 12px);
|
height: calc(100% - 10px);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
@@ -473,38 +483,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& #zen-current-workspace-indicator-icon {
|
& .zen-current-workspace-indicator-icon {
|
||||||
font-size: 14px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-current-workspace-indicator-name {
|
.zen-current-workspace-indicator-name {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
|
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
max-width: calc(100% - var(--zen-toolbox-padding) * 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
& #zen-current-workspace-indicator-icon {
|
|
||||||
min-height: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
& #zen-current-workspace-indicator-icon:not([hidden]) + #zen-current-workspace-indicator-name {
|
|
||||||
padding-left: 24px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media not (-moz-bool-pref: 'zen.workspaces.show-workspace-indicator') {
|
@media not (-moz-bool-pref: 'zen.workspaces.show-workspace-indicator') {
|
||||||
#zen-current-workspace-indicator {
|
#zen-current-workspace-indicator-container {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-current-workspace-indicator[hidden='true'] {
|
#zen-current-workspace-indicator-container[hidden='true'] {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,10 +41,16 @@ var gZenCompactModeManager = {
|
|||||||
|
|
||||||
get preference() {
|
get preference() {
|
||||||
if (!document.documentElement.hasAttribute('zen-compact-mode')) {
|
if (!document.documentElement.hasAttribute('zen-compact-mode')) {
|
||||||
|
window.addEventListener(
|
||||||
|
'MozAfterPaint',
|
||||||
|
() => {
|
||||||
document.documentElement.setAttribute(
|
document.documentElement.setAttribute(
|
||||||
'zen-compact-mode',
|
'zen-compact-mode',
|
||||||
lazyCompactMode.mainAppWrapper.getAttribute('zen-compact-mode')
|
lazyCompactMode.mainAppWrapper.getAttribute('zen-compact-mode')
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
{ once: true }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return lazyCompactMode.mainAppWrapper.getAttribute('zen-compact-mode') === 'true';
|
return lazyCompactMode.mainAppWrapper.getAttribute('zen-compact-mode') === 'true';
|
||||||
},
|
},
|
||||||
@@ -138,6 +144,7 @@ var gZenCompactModeManager = {
|
|||||||
getAndApplySidebarWidth() {
|
getAndApplySidebarWidth() {
|
||||||
let sidebarWidth = this.sidebar.getBoundingClientRect().width;
|
let sidebarWidth = this.sidebar.getBoundingClientRect().width;
|
||||||
if (sidebarWidth > 1) {
|
if (sidebarWidth > 1) {
|
||||||
|
gZenUIManager.restoreScrollbarState();
|
||||||
this.sidebar.style.setProperty('--zen-sidebar-width', `${sidebarWidth}px`);
|
this.sidebar.style.setProperty('--zen-sidebar-width', `${sidebarWidth}px`);
|
||||||
}
|
}
|
||||||
return sidebarWidth;
|
return sidebarWidth;
|
||||||
@@ -155,6 +162,9 @@ var gZenCompactModeManager = {
|
|||||||
if (canAnimate) {
|
if (canAnimate) {
|
||||||
this.sidebar.setAttribute('animate', 'true');
|
this.sidebar.setAttribute('animate', 'true');
|
||||||
}
|
}
|
||||||
|
this.sidebar.style.removeProperty('margin-right');
|
||||||
|
this.sidebar.style.removeProperty('margin-left');
|
||||||
|
this.sidebar.style.removeProperty('transform');
|
||||||
window.requestAnimationFrame(() => {
|
window.requestAnimationFrame(() => {
|
||||||
let sidebarWidth = this.getAndApplySidebarWidth();
|
let sidebarWidth = this.getAndApplySidebarWidth();
|
||||||
if (!canAnimate) {
|
if (!canAnimate) {
|
||||||
@@ -187,10 +197,10 @@ var gZenCompactModeManager = {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this._animating = false;
|
this._animating = false;
|
||||||
this.sidebar.style.removeProperty('transition');
|
this.sidebar.style.removeProperty('transition');
|
||||||
}, 100);
|
});
|
||||||
});
|
});
|
||||||
} else if (canHideSidebar && !isCompactMode) {
|
} else if (canHideSidebar && !isCompactMode) {
|
||||||
document.getElementById('browser').style.overflow = 'hidden';
|
document.getElementById('browser').style.overflow = 'clip';
|
||||||
if (this.sidebarIsOnRight) {
|
if (this.sidebarIsOnRight) {
|
||||||
this.sidebar.style.marginRight = `-${sidebarWidth}px`;
|
this.sidebar.style.marginRight = `-${sidebarWidth}px`;
|
||||||
} else {
|
} else {
|
||||||
@@ -201,7 +211,7 @@ var gZenCompactModeManager = {
|
|||||||
this.sidebar,
|
this.sidebar,
|
||||||
this.sidebarIsOnRight
|
this.sidebarIsOnRight
|
||||||
? {
|
? {
|
||||||
marginRight: 0,
|
marginRight: [`-${sidebarWidth}px`, 0],
|
||||||
transform: ['translateX(100%)', 'translateX(0)'],
|
transform: ['translateX(100%)', 'translateX(0)'],
|
||||||
}
|
}
|
||||||
: { marginLeft: 0 },
|
: { marginLeft: 0 },
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
getTabPosition(tab) {
|
getTabPosition(tab) {
|
||||||
return Math.max(gBrowser._numVisiblePinTabs, tab._tPos) + 1;
|
return Math.max(gBrowser._numVisiblePinTabs, tab._tPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
createBrowserElement(url, currentTab, existingTab = null) {
|
createBrowserElement(url, currentTab, existingTab = null) {
|
||||||
@@ -491,8 +491,6 @@
|
|||||||
index: this.getTabPosition(this.#currentTab),
|
index: this.getTabPosition(this.#currentTab),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.#currentParentTab._visuallySelected = false;
|
|
||||||
|
|
||||||
this.browserWrapper.removeAttribute('style');
|
this.browserWrapper.removeAttribute('style');
|
||||||
this.browserWrapper.removeAttribute('has-finished-animation');
|
this.browserWrapper.removeAttribute('has-finished-animation');
|
||||||
this.browserWrapper.setAttribute('animate-full', true);
|
this.browserWrapper.setAttribute('animate-full', true);
|
||||||
@@ -501,6 +499,7 @@
|
|||||||
this.#currentParentTab.removeAttribute('glance-id');
|
this.#currentParentTab.removeAttribute('glance-id');
|
||||||
gBrowser.selectedTab = this.#currentTab;
|
gBrowser.selectedTab = this.#currentTab;
|
||||||
this.#currentParentTab.linkedBrowser.closest('.browserSidebarContainer').classList.remove('zen-glance-background');
|
this.#currentParentTab.linkedBrowser.closest('.browserSidebarContainer').classList.remove('zen-glance-background');
|
||||||
|
this.#currentParentTab._visuallySelected = false;
|
||||||
this.hideSidebarButtons();
|
this.hideSidebarButtons();
|
||||||
gZenUIManager.motion
|
gZenUIManager.motion
|
||||||
.animate(
|
.animate(
|
||||||
@@ -575,6 +574,7 @@
|
|||||||
DOMContentLoaded: {},
|
DOMContentLoaded: {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
matches: ['https://*/*'],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
this.initCanvas();
|
this.initCanvas();
|
||||||
this.initCustomColorInput();
|
this.initCustomColorInput();
|
||||||
|
|
||||||
ZenWorkspaces.addChangeListeners(this.onWorkspaceChange.bind(this));
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').addListener(this.onDarkModeChange.bind(this));
|
window.matchMedia('(prefers-color-scheme: dark)').addListener(this.onDarkModeChange.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -614,7 +613,7 @@
|
|||||||
// Reactivate the transition after the animation
|
// Reactivate the transition after the animation
|
||||||
appWrapper.removeAttribute('post-animating');
|
appWrapper.removeAttribute('post-animating');
|
||||||
}, 100);
|
}, 100);
|
||||||
}, 500);
|
}, 200);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,10 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (onInit) {
|
||||||
await this._refreshPinnedTabs(newWorkspace, { init: onInit });
|
await this._refreshPinnedTabs(newWorkspace, { init: onInit });
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
log(message) {
|
log(message) {
|
||||||
if (this._canLog) {
|
if (this._canLog) {
|
||||||
@@ -152,7 +154,7 @@
|
|||||||
const pinsToCreate = new Set(pins.map((p) => p.uuid));
|
const pinsToCreate = new Set(pins.map((p) => p.uuid));
|
||||||
|
|
||||||
// First pass: identify existing tabs and remove those without pins
|
// First pass: identify existing tabs and remove those without pins
|
||||||
for (let tab of gBrowser.tabs) {
|
for (let tab of ZenWorkspaces.allStoredTabs) {
|
||||||
const pinId = tab.getAttribute('zen-pin-id');
|
const pinId = tab.getAttribute('zen-pin-id');
|
||||||
if (!pinId) {
|
if (!pinId) {
|
||||||
continue;
|
continue;
|
||||||
@@ -178,10 +180,6 @@
|
|||||||
continue; // Skip pins that already have tabs
|
continue; // Skip pins that already have tabs
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this._shouldShowPin(pin, currentWorkspace, workspaces)) {
|
|
||||||
continue; // Skip pins not relevant to current workspace
|
|
||||||
}
|
|
||||||
|
|
||||||
let params = {
|
let params = {
|
||||||
skipAnimation: true,
|
skipAnimation: true,
|
||||||
allowInheritPrincipal: false,
|
allowInheritPrincipal: false,
|
||||||
@@ -234,6 +232,13 @@
|
|||||||
|
|
||||||
this.log(`Created new pinned tab for pin ${pin.uuid} (isEssential: ${pin.isEssential})`);
|
this.log(`Created new pinned tab for pin ${pin.uuid} (isEssential: ${pin.isEssential})`);
|
||||||
gBrowser.pinTab(newTab);
|
gBrowser.pinTab(newTab);
|
||||||
|
if (!pin.isEssential) {
|
||||||
|
const contaienr = document.querySelector(
|
||||||
|
`#vertical-pinned-tabs-container .zen-workspace-tabs-section[zen-workspace-id="${pin.workspaceUuid}"]`
|
||||||
|
);
|
||||||
|
contaienr.insertBefore(newTab, contaienr.lastChild);
|
||||||
|
}
|
||||||
|
gBrowser.tabContainer._invalidateCachedTabs();
|
||||||
|
|
||||||
newTab.initialize();
|
newTab.initialize();
|
||||||
}
|
}
|
||||||
@@ -244,43 +249,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
gBrowser._updateTabBarForPinnedTabs();
|
gBrowser._updateTabBarForPinnedTabs();
|
||||||
}
|
gZenUIManager.updateTabsToolbar();
|
||||||
|
|
||||||
_shouldShowPin(pin, currentWorkspace, workspaces) {
|
|
||||||
const isEssential = pin.isEssential;
|
|
||||||
const pinWorkspaceUuid = pin.workspaceUuid;
|
|
||||||
const pinContextId = pin.containerTabId ? pin.containerTabId.toString() : '0';
|
|
||||||
const workspaceContextId = currentWorkspace.containerTabId?.toString() || '0';
|
|
||||||
const containerSpecificEssentials = ZenWorkspaces.containerSpecificEssentials;
|
|
||||||
|
|
||||||
// Handle essential pins
|
|
||||||
if (isEssential) {
|
|
||||||
if (!containerSpecificEssentials) {
|
|
||||||
return true; // Show all essential pins when containerSpecificEssentials is false
|
|
||||||
}
|
|
||||||
|
|
||||||
if (workspaceContextId !== '0') {
|
|
||||||
// In workspaces with default container: Show essentials that match the container
|
|
||||||
return pinContextId === workspaceContextId;
|
|
||||||
} else {
|
|
||||||
// In workspaces without a default container: Show essentials that aren't in container-specific workspaces
|
|
||||||
// or have userContextId="0" or no userContextId
|
|
||||||
return (
|
|
||||||
!pinContextId ||
|
|
||||||
pinContextId === '0' ||
|
|
||||||
!workspaces.workspaces.some((workspace) => workspace.containerTabId === parseInt(pinContextId, 10))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// For non-essential pins
|
|
||||||
if (!pinWorkspaceUuid) {
|
|
||||||
// Pins without a workspace belong to all workspaces (if that's your desired behavior)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show if pin belongs to current workspace
|
|
||||||
return pinWorkspaceUuid === currentWorkspace.uuid;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_onPinnedTabEvent(action, event) {
|
_onPinnedTabEvent(action, event) {
|
||||||
@@ -472,6 +441,9 @@
|
|||||||
this._resetTabToStoredState(selectedTab);
|
this._resetTabToStoredState(selectedTab);
|
||||||
}
|
}
|
||||||
if (behavior.includes('unload')) {
|
if (behavior.includes('unload')) {
|
||||||
|
if (selectedTab.hasAttribute('glance-id')) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
gBrowser.explicitUnloadTabs([selectedTab]);
|
gBrowser.explicitUnloadTabs([selectedTab]);
|
||||||
selectedTab.removeAttribute('linkedpanel');
|
selectedTab.removeAttribute('linkedpanel');
|
||||||
}
|
}
|
||||||
@@ -644,7 +616,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
moveToAnotherTabContainerIfNecessary(event, draggedTab) {
|
moveToAnotherTabContainerIfNecessary(event, draggedTab) {
|
||||||
const pinnedTabsTarget = event.target.closest('#vertical-pinned-tabs-container');
|
const pinnedTabsTarget =
|
||||||
|
event.target.closest('#vertical-pinned-tabs-container') || event.target.closest('.zen-current-workspace-indicator');
|
||||||
const essentialTabsTarget = event.target.closest('#zen-essentials-container');
|
const essentialTabsTarget = event.target.closest('#zen-essentials-container');
|
||||||
const tabsTarget = event.target.closest('#tabbrowser-arrowscrollbox');
|
const tabsTarget = event.target.closest('#tabbrowser-arrowscrollbox');
|
||||||
|
|
||||||
@@ -671,7 +644,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Check for normal tabs container
|
// Check for normal tabs container
|
||||||
else if (tabsTarget || event.target.id === 'zen-browser-tabs-wrapper') {
|
else if (tabsTarget || event.target.id === 'zen-tabs-wrapper') {
|
||||||
if (draggedTab.pinned && !draggedTab.hasAttribute('zen-essential')) {
|
if (draggedTab.pinned && !draggedTab.hasAttribute('zen-essential')) {
|
||||||
gBrowser.unpinTab(draggedTab);
|
gBrowser.unpinTab(draggedTab);
|
||||||
moved = true;
|
moved = true;
|
||||||
@@ -713,6 +686,7 @@
|
|||||||
removeTabContainersDragoverClass() {
|
removeTabContainersDragoverClass() {
|
||||||
this.dragIndicator.remove();
|
this.dragIndicator.remove();
|
||||||
this._dragIndicator = null;
|
this._dragIndicator = null;
|
||||||
|
ZenWorkspaces.activeWorkspaceIndicator.removeAttribute('open');
|
||||||
}
|
}
|
||||||
|
|
||||||
get dragIndicator() {
|
get dragIndicator() {
|
||||||
@@ -733,6 +707,12 @@
|
|||||||
const essentialTabsTarget = event.target.closest('#zen-essentials-container');
|
const essentialTabsTarget = event.target.closest('#zen-essentials-container');
|
||||||
const tabsTarget = event.target.closest('#tabbrowser-arrowscrollbox');
|
const tabsTarget = event.target.closest('#tabbrowser-arrowscrollbox');
|
||||||
const targetTab = event.target.closest('.tabbrowser-tab');
|
const targetTab = event.target.closest('.tabbrowser-tab');
|
||||||
|
if (event.target.closest('.zen-current-workspace-indicator')) {
|
||||||
|
this.removeTabContainersDragoverClass();
|
||||||
|
ZenWorkspaces.activeWorkspaceIndicator.setAttribute('open', true);
|
||||||
|
} else {
|
||||||
|
ZenWorkspaces.activeWorkspaceIndicator.removeAttribute('open');
|
||||||
|
}
|
||||||
|
|
||||||
// If there's no valid target tab, nothing to do
|
// If there's no valid target tab, nothing to do
|
||||||
if (!targetTab) {
|
if (!targetTab) {
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ var ZenPinnedTabsStorage = {
|
|||||||
CREATE INDEX IF NOT EXISTS idx_zen_pins_changes_uuid ON zen_pins_changes(uuid)
|
CREATE INDEX IF NOT EXISTS idx_zen_pins_changes_uuid ON zen_pins_changes(uuid)
|
||||||
`);
|
`);
|
||||||
|
|
||||||
await SessionStore.promiseInitialized;
|
|
||||||
this._resolveInitialized();
|
this._resolveInitialized();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,42 +1,46 @@
|
|||||||
{
|
const lazy = {};
|
||||||
const PREF_NAME = 'zen.migration.version';
|
|
||||||
const MIGRATION_VERSION = 1;
|
|
||||||
|
|
||||||
class ZenUIMigration {
|
ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
init() {
|
BrowserWindowTracker: 'resource:///modules/BrowserWindowTracker.sys.mjs',
|
||||||
if (Services.prefs.prefHasUserValue(PREF_NAME)) {
|
});
|
||||||
this._migrate();
|
|
||||||
|
class ZenUIMigration {
|
||||||
|
PREF_NAME = 'zen.migration.version';
|
||||||
|
MIGRATION_VERSION = 1;
|
||||||
|
|
||||||
|
init(isNewProfile, win) {
|
||||||
|
if (!isNewProfile) {
|
||||||
|
this._migrate(win);
|
||||||
}
|
}
|
||||||
this.clearVariables();
|
this.clearVariables();
|
||||||
}
|
}
|
||||||
|
|
||||||
get _migrationVersion() {
|
get _migrationVersion() {
|
||||||
return Services.prefs.getIntPref(PREF_NAME, 0);
|
return Services.prefs.getIntPref(this.PREF_NAME, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
set _migrationVersion(value) {
|
set _migrationVersion(value) {
|
||||||
Services.prefs.setIntPref(PREF_NAME, value);
|
Services.prefs.setIntPref(this.PREF_NAME, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
_migrate() {
|
_migrate(win) {
|
||||||
if (this._migrationVersion < 1) {
|
if (this._migrationVersion < 1) {
|
||||||
this._migrateV1();
|
this._migrateV1(win);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clearVariables() {
|
clearVariables() {
|
||||||
this._migrationVersion = MIGRATION_VERSION;
|
this._migrationVersion = this.MIGRATION_VERSION;
|
||||||
window.gZenUIMigration = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async _migrateV1() {
|
async _migrateV1(win) {
|
||||||
// Introduction of the new URL bar, show a message to the user
|
// Introduction of the new URL bar, show a message to the user
|
||||||
const notification = gNotificationBox.appendNotification(
|
const notification = win.gNotificationBox.appendNotification(
|
||||||
'zen-new-urlbar-notification',
|
'zen-new-urlbar-notification',
|
||||||
{
|
{
|
||||||
label: { 'l10n-id': 'zen-new-urlbar-notification' },
|
label: { 'l10n-id': 'zen-new-urlbar-notification' },
|
||||||
image: 'chrome://browser/skin/notification-icons/persistent-storage-blocked.svg',
|
image: 'chrome://browser/skin/notification-icons/persistent-storage-blocked.svg',
|
||||||
priority: gNotificationBox.PRIORITY_WARNING_HIGH,
|
priority: win.gNotificationBox.PRIORITY_WARNING_HIGH,
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -54,7 +58,6 @@
|
|||||||
);
|
);
|
||||||
notification.persistence = -1;
|
notification.persistence = -1;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
window.gZenUIMigration = new ZenUIMigration();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export var gZenUIMigration = new ZenUIMigration();
|
||||||
|
|||||||
@@ -28,13 +28,22 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
this._resolvePinnedInitialized = resolve;
|
this._resolvePinnedInitialized = resolve;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
promiseSectionsInitialized = new Promise((resolve) => {
|
||||||
|
this._resolveSectionsInitialized = resolve;
|
||||||
|
});
|
||||||
|
|
||||||
|
workspaceIndicatorXUL = `
|
||||||
|
<hbox class="zen-current-workspace-indicator-icon"></hbox>
|
||||||
|
<hbox class="zen-current-workspace-indicator-name"></hbox>
|
||||||
|
`;
|
||||||
|
|
||||||
async waitForPromises() {
|
async waitForPromises() {
|
||||||
await Promise.all([this.promiseDBInitialized, this.promisePinnedInitialized, SessionStore.promiseAllWindowsRestored]);
|
await Promise.all([this.promiseDBInitialized, this.promisePinnedInitialized]);
|
||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
if (!this.shouldHaveWorkspaces) {
|
if (!this.shouldHaveWorkspaces) {
|
||||||
document.getElementById('zen-current-workspace-indicator').setAttribute('hidden', 'true');
|
document.getElementById('zen-current-workspace-indicator-container').setAttribute('hidden', 'true');
|
||||||
console.warn('ZenWorkspaces: !!! ZenWorkspaces is disabled in hidden windows !!!');
|
console.warn('ZenWorkspaces: !!! ZenWorkspaces is disabled in hidden windows !!!');
|
||||||
return; // We are in a hidden window, don't initialize ZenWorkspaces
|
return; // We are in a hidden window, don't initialize ZenWorkspaces
|
||||||
}
|
}
|
||||||
@@ -70,17 +79,25 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
);
|
);
|
||||||
ChromeUtils.defineLazyGetter(this, 'tabContainer', () => document.getElementById('tabbrowser-tabs'));
|
ChromeUtils.defineLazyGetter(this, 'tabContainer', () => document.getElementById('tabbrowser-tabs'));
|
||||||
this._activeWorkspace = Services.prefs.getStringPref('zen.workspaces.active', '');
|
this._activeWorkspace = Services.prefs.getStringPref('zen.workspaces.active', '');
|
||||||
this._delayedStartup();
|
await SessionStore.promiseInitialized;
|
||||||
|
if (!this._hasInitializedTabsStrip) {
|
||||||
|
await this.delayedStartup();
|
||||||
|
}
|
||||||
|
await this.promiseSectionsInitialized;
|
||||||
|
window.addEventListener(
|
||||||
|
'MozAfterPaint',
|
||||||
|
async () => {
|
||||||
|
await SessionStore.promiseAllWindowsRestored;
|
||||||
|
await this.afterLoadInit();
|
||||||
|
},
|
||||||
|
{ once: true }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async _delayedStartup() {
|
async afterLoadInit() {
|
||||||
if (!this.workspaceEnabled) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
await this.waitForPromises();
|
|
||||||
await this.initializeWorkspaces();
|
|
||||||
console.info('ZenWorkspaces: ZenWorkspaces initialized');
|
console.info('ZenWorkspaces: ZenWorkspaces initialized');
|
||||||
|
|
||||||
|
await this.initializeWorkspaces();
|
||||||
if (Services.prefs.getBoolPref('zen.workspaces.swipe-actions', false) && this.workspaceEnabled) {
|
if (Services.prefs.getBoolPref('zen.workspaces.swipe-actions', false) && this.workspaceEnabled) {
|
||||||
this.initializeGestureHandlers();
|
this.initializeGestureHandlers();
|
||||||
this.initializeWorkspaceNavigation();
|
this.initializeWorkspaceNavigation();
|
||||||
@@ -97,6 +114,137 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async delayedStartup() {
|
||||||
|
if (!this.workspaceEnabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this._pinnedTabsResizeObserver = new ResizeObserver(this.onPinnedTabsResize.bind(this));
|
||||||
|
await this.waitForPromises();
|
||||||
|
await this.initializeTabsStripSections();
|
||||||
|
this._resolveSectionsInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
registerPinnedResizeObserver() {
|
||||||
|
if (!this._hasInitializedTabsStrip) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this._pinnedTabsResizeObserver.disconnect();
|
||||||
|
for (let element of document.getElementById('vertical-pinned-tabs-container').children) {
|
||||||
|
if (element.classList.contains('tabbrowser-tab')) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
this._pinnedTabsResizeObserver.observe(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
get activeWorkspaceStrip() {
|
||||||
|
if (!this._hasInitializedTabsStrip) {
|
||||||
|
return gBrowser.tabContainer.arrowScrollbox;
|
||||||
|
}
|
||||||
|
const activeWorkspace = this.activeWorkspace;
|
||||||
|
return document.querySelector(
|
||||||
|
`#tabbrowser-arrowscrollbox .zen-workspace-tabs-section[zen-workspace-id="${activeWorkspace}"]`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
get activeWorkspaceIndicator() {
|
||||||
|
return document.querySelector(
|
||||||
|
`#zen-current-workspace-indicator-container .zen-workspace-tabs-section[zen-workspace-id="${this.activeWorkspace}"]`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
get tabboxChildren() {
|
||||||
|
return this.activeWorkspaceStrip.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
get pinnedTabsContainer() {
|
||||||
|
if (!this.workspaceEnabled || !this._hasInitializedTabsStrip) {
|
||||||
|
return document.getElementById('vertical-pinned-tabs-container');
|
||||||
|
}
|
||||||
|
return document.querySelector(
|
||||||
|
`#vertical-pinned-tabs-container .zen-workspace-tabs-section[zen-workspace-id="${this.activeWorkspace}"]`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async initializeTabsStripSections() {
|
||||||
|
const perifery = document.getElementById('tabbrowser-arrowscrollbox-periphery');
|
||||||
|
const tabs = gBrowser.tabContainer.allTabs;
|
||||||
|
const workspaces = await this._workspaces();
|
||||||
|
for (const workspace of workspaces.workspaces) {
|
||||||
|
this._createWorkspaceTabsSection(workspace, tabs, perifery);
|
||||||
|
}
|
||||||
|
if (tabs.length) {
|
||||||
|
const defaultSelectedContainer = document.querySelector(
|
||||||
|
`#tabbrowser-arrowscrollbox .zen-workspace-tabs-section[zen-workspace-id="${this.activeWorkspace}"]`
|
||||||
|
);
|
||||||
|
// New profile with no workspaces does not have a default selected container
|
||||||
|
if (defaultSelectedContainer) {
|
||||||
|
const pinnedContainer = document.querySelector(
|
||||||
|
`#vertical-pinned-tabs-container .zen-workspace-tabs-section[zen-workspace-id="${this.activeWorkspace}"]`
|
||||||
|
);
|
||||||
|
for (const tab of tabs) {
|
||||||
|
if (tab.pinned) {
|
||||||
|
pinnedContainer.insertBefore(tab, pinnedContainer.lastChild);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// before to the last child (perifery)
|
||||||
|
defaultSelectedContainer.insertBefore(tab, defaultSelectedContainer.lastChild);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
perifery.setAttribute('hidden', 'true');
|
||||||
|
this._hasInitializedTabsStrip = true;
|
||||||
|
this.registerPinnedResizeObserver();
|
||||||
|
this._fixIndicatorsNames(workspaces);
|
||||||
|
}
|
||||||
|
|
||||||
|
_createWorkspaceSection(workspace) {
|
||||||
|
const section = document.createXULElement('vbox');
|
||||||
|
section.className = 'zen-workspace-tabs-section';
|
||||||
|
section.setAttribute('flex', '1');
|
||||||
|
section.setAttribute('zen-workspace-id', workspace.uuid);
|
||||||
|
return section;
|
||||||
|
}
|
||||||
|
|
||||||
|
async _createWorkspaceTabsSection(workspace, tabs, perifery) {
|
||||||
|
const container = gBrowser.tabContainer.arrowScrollbox;
|
||||||
|
const section = this._createWorkspaceSection(workspace);
|
||||||
|
container.appendChild(section);
|
||||||
|
|
||||||
|
const pinnedContainer = document.getElementById('vertical-pinned-tabs-container');
|
||||||
|
const pinnedSection = this._createWorkspaceSection(workspace);
|
||||||
|
this._organizeTabsToWorkspaceSections(workspace, section, pinnedSection, tabs);
|
||||||
|
section.appendChild(perifery.cloneNode(true));
|
||||||
|
pinnedSection.appendChild(
|
||||||
|
window.MozXULElement.parseXULToFragment(`
|
||||||
|
<html:div class="vertical-pinned-tabs-container-separator"></html:div>
|
||||||
|
`)
|
||||||
|
);
|
||||||
|
pinnedContainer.appendChild(pinnedSection);
|
||||||
|
|
||||||
|
const workspaceIndicator = this._createWorkspaceSection(workspace);
|
||||||
|
workspaceIndicator.classList.add('zen-current-workspace-indicator');
|
||||||
|
workspaceIndicator.appendChild(window.MozXULElement.parseXULToFragment(this.workspaceIndicatorXUL));
|
||||||
|
document.getElementById('zen-current-workspace-indicator-container').appendChild(workspaceIndicator);
|
||||||
|
this.initIndicatorContextMenu(workspaceIndicator);
|
||||||
|
}
|
||||||
|
|
||||||
|
_organizeTabsToWorkspaceSections(workspace, section, pinnedSection, tabs) {
|
||||||
|
const workspaceTabs = Array.from(tabs).filter((tab) => tab.getAttribute('zen-workspace-id') === workspace.uuid);
|
||||||
|
for (const tab of workspaceTabs) {
|
||||||
|
if (tab.hasAttribute('zen-essential')) {
|
||||||
|
continue; // Ignore essentials as they need to be in their own section
|
||||||
|
}
|
||||||
|
// remove tab from list
|
||||||
|
tabs.splice(tabs.indexOf(tab), 1);
|
||||||
|
if (tab.pinned) {
|
||||||
|
pinnedSection.appendChild(tab);
|
||||||
|
} else {
|
||||||
|
section.appendChild(tab);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
initializeWorkspaceNavigation() {
|
initializeWorkspaceNavigation() {
|
||||||
this._setupAppCommandHandlers();
|
this._setupAppCommandHandlers();
|
||||||
this._setupSidebarHandlers();
|
this._setupSidebarHandlers();
|
||||||
@@ -245,7 +393,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
const delta = event.delta * 500;
|
const delta = event.delta * 300;
|
||||||
this._swipeState.lastDelta = delta;
|
this._swipeState.lastDelta = delta;
|
||||||
|
|
||||||
if (Math.abs(delta) > 1) {
|
if (Math.abs(delta) > 1) {
|
||||||
@@ -256,9 +404,8 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
const stripWidth = document.getElementById('tabbrowser-tabs').scrollWidth;
|
const stripWidth = document.getElementById('tabbrowser-tabs').scrollWidth;
|
||||||
const translateX = Math.max(-stripWidth, Math.min(delta, stripWidth));
|
const translateX = Math.max(-stripWidth, Math.min(delta, stripWidth));
|
||||||
|
|
||||||
for (const element of this._animateTabsElements) {
|
const currentWorkspace = this.activeWorkspace;
|
||||||
element.style.transform = `translateX(${translateX}px)`;
|
this._organizeWorkspaceStripLocations({ uuid: currentWorkspace }, true, translateX);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async _handleSwipeEnd(event) {
|
async _handleSwipeEnd(event) {
|
||||||
@@ -271,7 +418,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
let rawDirection = moveForward ? 1 : -1;
|
let rawDirection = moveForward ? 1 : -1;
|
||||||
if (this._swipeState.direction) {
|
if (this._swipeState.direction) {
|
||||||
let direction = this.naturalScroll ? -1 : 1;
|
let direction = this.naturalScroll ? -1 : 1;
|
||||||
this.changeWorkspaceShortcut(rawDirection * direction);
|
this.changeWorkspaceShortcut(rawDirection * direction, true);
|
||||||
} else {
|
} else {
|
||||||
this._cancelSwipeAnimation();
|
this._cancelSwipeAnimation();
|
||||||
}
|
}
|
||||||
@@ -396,35 +543,28 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
this._initializeWorkspaceTabContextMenus();
|
this._initializeWorkspaceTabContextMenus();
|
||||||
await this.workspaceBookmarks();
|
await this.workspaceBookmarks();
|
||||||
window.addEventListener('TabBrowserInserted', this.onTabBrowserInserted.bind(this));
|
window.addEventListener('TabBrowserInserted', this.onTabBrowserInserted.bind(this));
|
||||||
|
window.addEventListener('TabOpen', this.updateTabsContainers.bind(this));
|
||||||
let workspaces = await this._workspaces();
|
let workspaces = await this._workspaces();
|
||||||
let activeWorkspace = null;
|
let activeWorkspace = null;
|
||||||
if (workspaces.workspaces.length === 0) {
|
if (workspaces.workspaces.length === 0) {
|
||||||
activeWorkspace = await this.createAndSaveWorkspace('Default Workspace', true, '🏠');
|
activeWorkspace = await this.createAndSaveWorkspace('Default Workspace', true, '🏠');
|
||||||
} else {
|
} else {
|
||||||
activeWorkspace = await this.getActiveWorkspace();
|
activeWorkspace = await this.getActiveWorkspace();
|
||||||
if (!activeWorkspace) {
|
|
||||||
activeWorkspace = workspaces.workspaces.find((workspace) => workspace.default);
|
|
||||||
this.activeWorkspace = activeWorkspace?.uuid;
|
this.activeWorkspace = activeWorkspace?.uuid;
|
||||||
}
|
}
|
||||||
if (!activeWorkspace) {
|
|
||||||
activeWorkspace = workspaces.workspaces[0];
|
|
||||||
this.activeWorkspace = activeWorkspace?.uuid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
if (activeWorkspace) {
|
if (activeWorkspace) {
|
||||||
window.gZenThemePicker = new ZenThemePicker();
|
window.gZenThemePicker = new ZenThemePicker();
|
||||||
await this.changeWorkspace(activeWorkspace, { onInit: true });
|
await this.changeWorkspace(activeWorkspace, { onInit: true });
|
||||||
|
gBrowser.tabContainer._positionPinnedTabs();
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('ZenWorkspaces: Error initializing theme picker', e);
|
console.error('ZenWorkspaces: Error initializing theme picker', e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.initIndicatorContextMenu();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
initIndicatorContextMenu() {
|
initIndicatorContextMenu(indicator) {
|
||||||
const indicator = document.getElementById('zen-current-workspace-indicator');
|
|
||||||
const th = (event) => {
|
const th = (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@@ -636,7 +776,11 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
|
|
||||||
async getActiveWorkspace() {
|
async getActiveWorkspace() {
|
||||||
const workspaces = await this._workspaces();
|
const workspaces = await this._workspaces();
|
||||||
return workspaces.workspaces.find((workspace) => workspace.uuid === this.activeWorkspace) ?? workspaces.workspaces[0];
|
return (
|
||||||
|
workspaces.workspaces.find((workspace) => workspace.uuid === this.activeWorkspace) ??
|
||||||
|
workspaces.workspaces.find((workspace) => workspace.default) ??
|
||||||
|
workspaces.workspaces[0]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
// Workspaces dialog UI management
|
// Workspaces dialog UI management
|
||||||
|
|
||||||
@@ -738,7 +882,6 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
if (!browser.ZenWorkspaces.workspaceEnabled) {
|
if (!browser.ZenWorkspaces.workspaceEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await browser.ZenWorkspaces.updateWorkspaceIndicator();
|
|
||||||
let workspaceList = browser.document.getElementById('PanelUI-zen-workspaces-list');
|
let workspaceList = browser.document.getElementById('PanelUI-zen-workspaces-list');
|
||||||
const createWorkspaceElement = (workspace) => {
|
const createWorkspaceElement = (workspace) => {
|
||||||
let element = browser.document.createXULElement('toolbarbutton');
|
let element = browser.document.createXULElement('toolbarbutton');
|
||||||
@@ -1032,7 +1175,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
if (!this.workspaceEnabled) {
|
if (!this.workspaceEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let target = event.target.closest('#zen-current-workspace-indicator') || document.getElementById('zen-workspaces-button');
|
let target = event.target.closest('.zen-current-workspace-indicator') || document.getElementById('zen-workspaces-button');
|
||||||
let panel = document.getElementById('PanelUI-zen-workspaces');
|
let panel = document.getElementById('PanelUI-zen-workspaces');
|
||||||
await this._propagateWorkspaceData({
|
await this._propagateWorkspaceData({
|
||||||
ignoreStrip: true,
|
ignoreStrip: true,
|
||||||
@@ -1189,13 +1332,25 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
moveTabToWorkspace(tab, workspaceID) {
|
||||||
|
if (tab.getAttribute('zen-workspace-id') === workspaceID) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
tab.setAttribute('zen-workspace-id', workspaceID);
|
||||||
|
const parent = tab.pinned ? '#zen-browser-tabs-pinned ' : '#zen-browser-tabs ';
|
||||||
|
const container = document.querySelector(parent + '.zen-workspace-tabs-section');
|
||||||
|
if (container) {
|
||||||
|
container.insertBefore(tab, container.firstChild);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_prepareNewWorkspace(window) {
|
_prepareNewWorkspace(window) {
|
||||||
document.documentElement.setAttribute('zen-workspace-id', window.uuid);
|
document.documentElement.setAttribute('zen-workspace-id', window.uuid);
|
||||||
let tabCount = 0;
|
let tabCount = 0;
|
||||||
for (let tab of gBrowser.tabs) {
|
for (let tab of gBrowser.tabs) {
|
||||||
const isEssential = tab.getAttribute('zen-essential') === 'true';
|
const isEssential = tab.getAttribute('zen-essential') === 'true';
|
||||||
if (!tab.hasAttribute('zen-workspace-id') && !tab.pinned && !isEssential) {
|
if (!tab.hasAttribute('zen-workspace-id') && !tab.pinned && !isEssential) {
|
||||||
tab.setAttribute('zen-workspace-id', window.uuid);
|
this.moveTabToWorkspace(tab, window.uuid);
|
||||||
tabCount++;
|
tabCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1210,6 +1365,8 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
if (window.uuid) {
|
if (window.uuid) {
|
||||||
tab.setAttribute('zen-workspace-id', window.uuid);
|
tab.setAttribute('zen-workspace-id', window.uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
async saveWorkspaceFromCreate() {
|
async saveWorkspaceFromCreate() {
|
||||||
@@ -1274,36 +1431,20 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
if (!this.workspaceEnabled || this._inChangingWorkspace) {
|
if (!this.workspaceEnabled || this._inChangingWorkspace) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await SessionStore.promiseInitialized;
|
|
||||||
this._inChangingWorkspace = true;
|
this._inChangingWorkspace = true;
|
||||||
try {
|
try {
|
||||||
await this._performWorkspaceChange(window, ...args);
|
await this._performWorkspaceChange(window, ...args);
|
||||||
} finally {
|
} finally {
|
||||||
this._inChangingWorkspace = false;
|
this._inChangingWorkspace = false;
|
||||||
this.tabContainer.removeAttribute('dont-animate-tabs');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_cancelSwipeAnimation() {
|
_cancelSwipeAnimation() {
|
||||||
const existingTransform = this._animateTabsElements[0].style.transform;
|
const currentWorkspace = this.activeWorkspace;
|
||||||
const newTransform = 'translateX(0)';
|
this._animateTabs({ uuid: currentWorkspace }, true);
|
||||||
for (const element of this._animateTabsElements) {
|
|
||||||
gZenUIManager.motion.animate(
|
|
||||||
element,
|
|
||||||
{
|
|
||||||
transform: existingTransform ? [existingTransform, newTransform] : newTransform,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'spring',
|
|
||||||
bounce: 0,
|
|
||||||
duration: 0.12,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async _performWorkspaceChange(window, { onInit = false, alwaysChange = false, explicitAnimationDirection = undefined } = {}) {
|
async _performWorkspaceChange(window, { onInit = false, alwaysChange = false, whileScrolling = false } = {}) {
|
||||||
const previousWorkspace = await this.getActiveWorkspace();
|
const previousWorkspace = await this.getActiveWorkspace();
|
||||||
alwaysChange = alwaysChange || onInit;
|
alwaysChange = alwaysChange || onInit;
|
||||||
|
|
||||||
@@ -1317,105 +1458,130 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
const workspaces = await this._workspaces();
|
const workspaces = await this._workspaces();
|
||||||
|
|
||||||
// Refresh tab cache
|
// Refresh tab cache
|
||||||
|
gBrowser.verticalPinnedTabsContainer = this.pinnedTabsContainer;
|
||||||
|
gBrowser.tabContainer.verticalPinnedTabsContainer = this.pinnedTabsContainer;
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
|
if (!whileScrolling) {
|
||||||
let animationDirection;
|
await this._organizeWorkspaceStripLocations(previousWorkspace);
|
||||||
if (previousWorkspace && !onInit && !this._animatingChange) {
|
|
||||||
animationDirection =
|
|
||||||
explicitAnimationDirection ??
|
|
||||||
(workspaces.workspaces.findIndex((w) => w.uuid === previousWorkspace.uuid) <
|
|
||||||
workspaces.workspaces.findIndex((w) => w.uuid === window.uuid)
|
|
||||||
? 'right'
|
|
||||||
: 'left');
|
|
||||||
}
|
|
||||||
if (animationDirection) {
|
|
||||||
// Animate tabs out of view before changing workspace, therefor we
|
|
||||||
// need to animate in the opposite direction
|
|
||||||
await this._animateTabs(animationDirection === 'left' ? 'right' : 'left', true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// First pass: Handle tab visibility and workspace ID assignment
|
// First pass: Handle tab visibility and workspace ID assignment
|
||||||
const visibleTabs = this._processTabVisibility(window.uuid, containerId, workspaces);
|
this._processTabVisibility(window.uuid, containerId, workspaces);
|
||||||
|
|
||||||
// Second pass: Handle tab selection
|
// Second pass: Handle tab selection
|
||||||
await this._handleTabSelection(window, onInit, visibleTabs, containerId, workspaces, previousWorkspace.uuid);
|
this.tabContainer._invalidateCachedTabs();
|
||||||
|
const tabToSelect = await this._handleTabSelection(window, onInit, containerId, workspaces, previousWorkspace.uuid);
|
||||||
|
|
||||||
// Update UI and state
|
// Update UI and state
|
||||||
await this._updateWorkspaceState(window, onInit);
|
await this._updateWorkspaceState(window, onInit, tabToSelect);
|
||||||
|
}
|
||||||
|
|
||||||
if (animationDirection) {
|
_updateMarginTopPinnedTabs(arrowscrollbox, pinnedContainer) {
|
||||||
await this._animateTabs(animationDirection);
|
if (arrowscrollbox) {
|
||||||
|
arrowscrollbox.style.marginTop = pinnedContainer.getBoundingClientRect().height + 'px';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get _animateTabsElements() {
|
async _organizeWorkspaceStripLocations(workspace, justMove = false, offsetPixels = 0) {
|
||||||
const selector = `#zen-browser-tabs-wrapper`;
|
const workspaces = await this._workspaces();
|
||||||
const extraSelector = `#zen-current-workspace-indicator`;
|
let workspaceIndex = workspaces.workspaces.findIndex((w) => w.uuid === workspace.uuid);
|
||||||
return [...this.tabContainer.querySelectorAll(selector), ...this.tabContainer.querySelectorAll(extraSelector)];
|
if (!justMove) {
|
||||||
|
this._fixIndicatorsNames(workspaces);
|
||||||
|
}
|
||||||
|
for (const otherWorkspace of workspaces.workspaces) {
|
||||||
|
const selector = `.zen-workspace-tabs-section[zen-workspace-id="${otherWorkspace.uuid}"]`;
|
||||||
|
const newTransform = -(workspaceIndex - workspaces.workspaces.indexOf(otherWorkspace)) * 100;
|
||||||
|
for (const container of document.querySelectorAll(selector)) {
|
||||||
|
container.style.transform = `translateX(${newTransform + offsetPixels / 2}%)`;
|
||||||
|
container.style.opacity = offsetPixels ? 1 : !newTransform;
|
||||||
|
if (!offsetPixels && !container.hasAttribute('active')) {
|
||||||
|
container.setAttribute('hidden', 'true');
|
||||||
|
} else {
|
||||||
|
container.removeAttribute('hidden');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async _animateTabs(direction, out = false) {
|
updateWorkspaceIndicator(currentWorkspace, workspaceIndicator) {
|
||||||
this.tabContainer.removeAttribute('dont-animate-tabs');
|
if (!workspaceIndicator) {
|
||||||
const tabsWidth = this.tabContainer.getBoundingClientRect().width;
|
return;
|
||||||
// order by actual position in the children list to animate
|
}
|
||||||
const elements = this._animateTabsElements;
|
const indicatorName = workspaceIndicator.querySelector('.zen-current-workspace-indicator-name');
|
||||||
if (out) {
|
const indicatorIcon = workspaceIndicator.querySelector('.zen-current-workspace-indicator-icon');
|
||||||
const existingTransform = elements[0].style.transform;
|
|
||||||
const newTransform = `translateX(${direction === 'left' ? '-' : ''}${tabsWidth}px)`;
|
if (this.workspaceHasIcon(currentWorkspace)) {
|
||||||
return gZenUIManager.motion.animate(
|
indicatorIcon.removeAttribute('no-icon');
|
||||||
elements,
|
} else {
|
||||||
|
indicatorIcon.setAttribute('no-icon', 'true');
|
||||||
|
}
|
||||||
|
indicatorIcon.textContent = this.getWorkspaceIcon(currentWorkspace);
|
||||||
|
indicatorName.textContent = currentWorkspace.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
_fixIndicatorsNames(workspaces) {
|
||||||
|
for (const workspace of workspaces.workspaces) {
|
||||||
|
const workspaceIndicator = document.querySelector(
|
||||||
|
`#zen-current-workspace-indicator-container .zen-workspace-tabs-section[zen-workspace-id="${workspace.uuid}"]`
|
||||||
|
);
|
||||||
|
this.updateWorkspaceIndicator(workspace, workspaceIndicator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async _animateTabs(newWorkspace, shouldAnimate, tabToSelect = null) {
|
||||||
|
this._animatingChange = true;
|
||||||
|
const animations = [];
|
||||||
|
const workspaces = await this._workspaces();
|
||||||
|
const newWorkspaceIndex = workspaces.workspaces.findIndex((w) => w.uuid === newWorkspace.uuid);
|
||||||
|
for (const element of document.querySelectorAll('.zen-workspace-tabs-section')) {
|
||||||
|
const existingTransform = element.style.transform;
|
||||||
|
const elementWorkspaceId = element.getAttribute('zen-workspace-id');
|
||||||
|
const elementWorkspaceIndex = workspaces.workspaces.findIndex((w) => w.uuid === elementWorkspaceId);
|
||||||
|
const offset = -(newWorkspaceIndex - elementWorkspaceIndex) * 100;
|
||||||
|
const newTransform = `translateX(${offset}%)`;
|
||||||
|
const isCurrent = offset === 0;
|
||||||
|
if (shouldAnimate) {
|
||||||
|
element.removeAttribute('hidden');
|
||||||
|
if (isCurrent) {
|
||||||
|
element.style.opacity = 1;
|
||||||
|
}
|
||||||
|
animations.push(
|
||||||
|
gZenUIManager.motion.animate(
|
||||||
|
element,
|
||||||
{
|
{
|
||||||
transform: existingTransform ? [existingTransform, newTransform] : newTransform,
|
transform: existingTransform ? [existingTransform, newTransform] : newTransform,
|
||||||
|
// -0 to convert to number
|
||||||
|
opacity: !isCurrent ? [!!offset - 0, !offset - 0] : [1, 1],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'spring',
|
type: 'spring',
|
||||||
bounce: 0,
|
bounce: 0,
|
||||||
duration: 0.12,
|
duration: 0.3,
|
||||||
}
|
}
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return gZenUIManager.motion.animate(
|
if (offset === 0) {
|
||||||
elements,
|
element.setAttribute('active', 'true');
|
||||||
{
|
if (tabToSelect != gBrowser.selectedTab) {
|
||||||
transform: [`translateX(${direction === 'left' ? '-' : ''}${tabsWidth}px)`, 'translateX(0px)'],
|
gBrowser.selectedTab = tabToSelect;
|
||||||
},
|
|
||||||
{
|
|
||||||
duration: 0.15,
|
|
||||||
type: 'spring',
|
|
||||||
bounce: 0,
|
|
||||||
}
|
}
|
||||||
);
|
} else {
|
||||||
|
element.removeAttribute('active');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await Promise.all(animations);
|
||||||
|
this._animatingChange = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_processTabVisibility(workspaceUuid, containerId, workspaces) {
|
_processTabVisibility(workspaceUuid, containerId, workspaces) {
|
||||||
const visibleTabs = new Set();
|
|
||||||
const lastSelectedTab = this._lastSelectedWorkspaceTabs[workspaceUuid];
|
|
||||||
|
|
||||||
this.tabContainer.setAttribute('dont-animate-tabs', 'true');
|
|
||||||
for (const tab of gBrowser.tabs) {
|
for (const tab of gBrowser.tabs) {
|
||||||
const tabWorkspaceId = tab.getAttribute('zen-workspace-id');
|
if (!this._shouldShowTab(tab, workspaceUuid, containerId, workspaces)) {
|
||||||
const isEssential = tab.getAttribute('zen-essential') === 'true';
|
|
||||||
|
|
||||||
// Always hide last selected tabs from other workspaces
|
|
||||||
if (lastSelectedTab === tab && tabWorkspaceId !== workspaceUuid && !isEssential) {
|
|
||||||
gBrowser.hideTab(tab, undefined, true);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._shouldShowTab(tab, workspaceUuid, containerId, workspaces)) {
|
|
||||||
gBrowser.showTab(tab);
|
|
||||||
visibleTabs.add(tab);
|
|
||||||
|
|
||||||
// Assign workspace ID if needed
|
|
||||||
if (!tabWorkspaceId && !isEssential) {
|
|
||||||
tab.setAttribute('zen-workspace-id', workspaceUuid);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
gBrowser.hideTab(tab, undefined, true);
|
gBrowser.hideTab(tab, undefined, true);
|
||||||
|
} else if (tab.hasAttribute('zen-essential')) {
|
||||||
|
gBrowser.showTab(tab, undefined, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return visibleTabs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_shouldShowTab(tab, workspaceUuid, containerId, workspaces) {
|
_shouldShowTab(tab, workspaceUuid, containerId, workspaces) {
|
||||||
@@ -1446,7 +1612,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
// For non-essential tabs (both normal and pinned)
|
// For non-essential tabs (both normal and pinned)
|
||||||
if (!tabWorkspaceId) {
|
if (!tabWorkspaceId) {
|
||||||
// Assign workspace ID to tabs without one
|
// Assign workspace ID to tabs without one
|
||||||
tab.setAttribute('zen-workspace-id', workspaceUuid);
|
this.moveTabToWorkspace(tab, workspaceUuid);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1454,7 +1620,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
return tabWorkspaceId === workspaceUuid;
|
return tabWorkspaceId === workspaceUuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
async _handleTabSelection(window, onInit, visibleTabs, containerId, workspaces, previousWorkspaceId) {
|
async _handleTabSelection(window, onInit, containerId, workspaces, previousWorkspaceId) {
|
||||||
const currentSelectedTab = gBrowser.selectedTab;
|
const currentSelectedTab = gBrowser.selectedTab;
|
||||||
const oldWorkspaceId = previousWorkspaceId;
|
const oldWorkspaceId = previousWorkspaceId;
|
||||||
const lastSelectedTab = this._lastSelectedWorkspaceTabs[window.uuid];
|
const lastSelectedTab = this._lastSelectedWorkspaceTabs[window.uuid];
|
||||||
@@ -1465,53 +1631,54 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let tabToSelect = null;
|
let tabToSelect = null;
|
||||||
|
|
||||||
// If current tab is visible in new workspace, keep it
|
|
||||||
if (this._shouldShowTab(currentSelectedTab, window.uuid, containerId, workspaces) && visibleTabs.has(currentSelectedTab)) {
|
|
||||||
tabToSelect = currentSelectedTab;
|
|
||||||
}
|
|
||||||
// Try last selected tab if it is visible
|
// Try last selected tab if it is visible
|
||||||
else if (
|
if (lastSelectedTab && this._shouldShowTab(lastSelectedTab, window.uuid, containerId, workspaces)) {
|
||||||
lastSelectedTab &&
|
|
||||||
this._shouldShowTab(lastSelectedTab, window.uuid, containerId, workspaces) &&
|
|
||||||
visibleTabs.has(lastSelectedTab)
|
|
||||||
) {
|
|
||||||
tabToSelect = lastSelectedTab;
|
tabToSelect = lastSelectedTab;
|
||||||
}
|
}
|
||||||
// Find first suitable tab
|
// Find first suitable tab
|
||||||
else {
|
else {
|
||||||
tabToSelect = Array.from(visibleTabs).find((tab) => !tab.pinned);
|
tabToSelect = gBrowser.visibleTabs.find((tab) => !tab.pinned);
|
||||||
|
if (!tabToSelect && gBrowser.visibleTabs.length) {
|
||||||
|
tabToSelect = gBrowser.visibleTabs[gBrowser.visibleTabs.length - 1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const previousSelectedTab = gBrowser.selectedTab;
|
|
||||||
|
|
||||||
// If we found a tab to select, select it
|
// If we found a tab to select, select it
|
||||||
if (tabToSelect) {
|
if (!onInit && !tabToSelect) {
|
||||||
gBrowser.selectedTab = tabToSelect;
|
|
||||||
this._lastSelectedWorkspaceTabs[window.uuid] = tabToSelect;
|
|
||||||
} else if (!onInit) {
|
|
||||||
// Create new tab if needed and no suitable tab was found
|
// Create new tab if needed and no suitable tab was found
|
||||||
const newTab = this._createNewTabForWorkspace(window);
|
const newTab = this._createNewTabForWorkspace(window);
|
||||||
gBrowser.selectedTab = newTab;
|
tabToSelect = newTab;
|
||||||
this._lastSelectedWorkspaceTabs[window.uuid] = newTab;
|
}
|
||||||
|
if (tabToSelect) {
|
||||||
|
tabToSelect._visuallySelected = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// After selecting the new tab, hide the previous selected tab if it shouldn't be visible in the new workspace
|
// Always make sure we always unselect the tab from the old workspace
|
||||||
if (!this._shouldShowTab(previousSelectedTab, window.uuid, containerId, workspaces)) {
|
if (currentSelectedTab && currentSelectedTab !== tabToSelect) {
|
||||||
gBrowser.hideTab(previousSelectedTab, undefined, true);
|
currentSelectedTab._selected = false;
|
||||||
}
|
}
|
||||||
|
return tabToSelect;
|
||||||
}
|
}
|
||||||
|
|
||||||
async _updateWorkspaceState(window, onInit) {
|
async _updateWorkspaceState(window, onInit, tabToSelect) {
|
||||||
// Update document state
|
// Update document state
|
||||||
document.documentElement.setAttribute('zen-workspace-id', window.uuid);
|
document.documentElement.setAttribute('zen-workspace-id', window.uuid);
|
||||||
|
|
||||||
|
// Recalculate new tab observers
|
||||||
|
gBrowser.tabContainer.observe(null, 'nsPref:changed', 'privacy.userContext.enabled');
|
||||||
|
|
||||||
// Update workspace UI
|
// Update workspace UI
|
||||||
await this._updateWorkspacesChangeContextMenu();
|
await this._updateWorkspacesChangeContextMenu();
|
||||||
document.getElementById('tabbrowser-tabs')._positionPinnedTabs();
|
|
||||||
gZenUIManager.updateTabsToolbar();
|
gZenUIManager.updateTabsToolbar();
|
||||||
await this._propagateWorkspaceData({ clearCache: false });
|
await this._propagateWorkspaceData({ clearCache: false });
|
||||||
|
|
||||||
|
gZenThemePicker.onWorkspaceChange(window);
|
||||||
|
|
||||||
|
document.getElementById('zen-tabs-wrapper').style.scrollbarWidth = 'none';
|
||||||
|
await this._animateTabs(window, !onInit && !this._animatingChange, tabToSelect);
|
||||||
|
await this._organizeWorkspaceStripLocations(window, true);
|
||||||
|
document.getElementById('zen-tabs-wrapper').style.scrollbarWidth = '';
|
||||||
|
|
||||||
// Notify listeners
|
// Notify listeners
|
||||||
if (this._changeListeners?.length) {
|
if (this._changeListeners?.length) {
|
||||||
for (const listener of this._changeListeners) {
|
for (const listener of this._changeListeners) {
|
||||||
@@ -1523,7 +1690,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
this._invalidateBookmarkContainers();
|
this._invalidateBookmarkContainers();
|
||||||
|
|
||||||
// Update workspace indicator
|
// Update workspace indicator
|
||||||
await this.updateWorkspaceIndicator();
|
await this.updateWorkspaceIndicator(window, this.workspaceIndicator);
|
||||||
}
|
}
|
||||||
|
|
||||||
_invalidateBookmarkContainers() {
|
_invalidateBookmarkContainers() {
|
||||||
@@ -1536,22 +1703,6 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async updateWorkspaceIndicator() {
|
|
||||||
// Update current workspace indicator
|
|
||||||
const currentWorkspace = await this.getActiveWorkspace();
|
|
||||||
if (!currentWorkspace) return;
|
|
||||||
const indicatorName = document.getElementById('zen-current-workspace-indicator-name');
|
|
||||||
const indicatorIcon = document.getElementById('zen-current-workspace-indicator-icon');
|
|
||||||
|
|
||||||
if (this.workspaceHasIcon(currentWorkspace)) {
|
|
||||||
indicatorIcon.removeAttribute('no-icon');
|
|
||||||
} else {
|
|
||||||
indicatorIcon.setAttribute('no-icon', 'true');
|
|
||||||
}
|
|
||||||
indicatorIcon.textContent = this.getWorkspaceIcon(currentWorkspace);
|
|
||||||
indicatorName.textContent = currentWorkspace.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
async _updateWorkspacesChangeContextMenu() {
|
async _updateWorkspacesChangeContextMenu() {
|
||||||
const workspaces = await this._workspaces();
|
const workspaces = await this._workspaces();
|
||||||
|
|
||||||
@@ -1576,7 +1727,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_createWorkspaceData(name, isDefault, icon) {
|
_createWorkspaceData(name, isDefault, icon, tabs) {
|
||||||
let window = {
|
let window = {
|
||||||
uuid: gZenUIManager.generateUuidv4(),
|
uuid: gZenUIManager.generateUuidv4(),
|
||||||
default: isDefault,
|
default: isDefault,
|
||||||
@@ -1585,6 +1736,10 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
theme: ZenThemePicker.getTheme([]),
|
theme: ZenThemePicker.getTheme([]),
|
||||||
};
|
};
|
||||||
this._prepareNewWorkspace(window);
|
this._prepareNewWorkspace(window);
|
||||||
|
const perifery = document.querySelector('#tabbrowser-arrowscrollbox-periphery[hidden]');
|
||||||
|
perifery?.removeAttribute('hidden');
|
||||||
|
this._createWorkspaceTabsSection(window, tabs, perifery);
|
||||||
|
perifery.setAttribute('hidden', 'true');
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1592,12 +1747,49 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
if (!this.workspaceEnabled) {
|
if (!this.workspaceEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let workspaceData = this._createWorkspaceData(name, isDefault, icon);
|
// get extra tabs remaning (e.g. on new profiles) and just move them to the new workspace
|
||||||
|
const extraTabs = Array.from(gBrowser.tabContainer.arrowScrollbox.children).filter(
|
||||||
|
(child) => child.tagName === 'tab' && !child.hasAttribute('zen-workspace-id')
|
||||||
|
);
|
||||||
|
let workspaceData = this._createWorkspaceData(name, isDefault, icon, extraTabs);
|
||||||
await this.saveWorkspace(workspaceData);
|
await this.saveWorkspace(workspaceData);
|
||||||
|
this.registerPinnedResizeObserver();
|
||||||
|
let changed = extraTabs.length > 0;
|
||||||
|
if (changed) {
|
||||||
|
gBrowser.tabContainer._invalidateCachedTabs();
|
||||||
|
gBrowser.selectedTab = extraTabs[0];
|
||||||
|
}
|
||||||
await this.changeWorkspace(workspaceData);
|
await this.changeWorkspace(workspaceData);
|
||||||
return workspaceData;
|
return workspaceData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateTabsContainers() {
|
||||||
|
this.onPinnedTabsResize([{ target: this.pinnedTabsContainer }]);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateShouldHideSeparator(arrowScrollbox, pinnedContainer) {
|
||||||
|
const shouldHideSeparator = pinnedContainer.children.length === 1 || arrowScrollbox.children.length === 1;
|
||||||
|
if (shouldHideSeparator) {
|
||||||
|
pinnedContainer.setAttribute('hide-separator', 'true');
|
||||||
|
} else {
|
||||||
|
pinnedContainer.removeAttribute('hide-separator');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onPinnedTabsResize(entries) {
|
||||||
|
if (!this._hasInitializedTabsStrip) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (const entry of entries) {
|
||||||
|
const workspaceId = entry.target.getAttribute('zen-workspace-id');
|
||||||
|
const arrowScrollbox = document.querySelector(
|
||||||
|
`#tabbrowser-arrowscrollbox .zen-workspace-tabs-section[zen-workspace-id="${workspaceId}"]`
|
||||||
|
);
|
||||||
|
this._updateMarginTopPinnedTabs(arrowScrollbox, entry.target);
|
||||||
|
this.updateShouldHideSeparator(arrowScrollbox, entry.target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async onTabBrowserInserted(event) {
|
async onTabBrowserInserted(event) {
|
||||||
let tab = event.originalTarget;
|
let tab = event.originalTarget;
|
||||||
const isEssential = tab.getAttribute('zen-essential') === 'true';
|
const isEssential = tab.getAttribute('zen-essential') === 'true';
|
||||||
@@ -1633,12 +1825,48 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Switch workspace if needed
|
// Switch workspace if needed
|
||||||
if (workspaceID && workspaceID !== activeWorkspace.uuid) {
|
if (workspaceID && workspaceID !== activeWorkspace.uuid && parent.ZenWorkspaces._hasInitializedTabsStrip) {
|
||||||
await parent.ZenWorkspaces.changeWorkspace({ uuid: workspaceID });
|
await parent.ZenWorkspaces.changeWorkspace({ uuid: workspaceID });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
makeSurePinTabIsInCorrectPosition() {
|
||||||
|
if (!this.pinnedTabsContainer) {
|
||||||
|
return 0; // until we initialize the pinned tabs container
|
||||||
|
}
|
||||||
|
const tabsInsidePinTab = Array.from(this.pinnedTabsContainer.parentElement.children).filter(
|
||||||
|
(child) => child.tagName === 'tab'
|
||||||
|
);
|
||||||
|
let changed = false;
|
||||||
|
for (const tab of tabsInsidePinTab) {
|
||||||
|
if (tab.getAttribute('zen-glance-tab') === 'true') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (tab.getAttribute('zen-essential') === 'true') {
|
||||||
|
const container = document.getElementById('zen-essentials-container');
|
||||||
|
container.appendChild(tab);
|
||||||
|
changed = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const workspaceId = tab.getAttribute('zen-workspace-id');
|
||||||
|
if (!workspaceId) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const contaienr = document.querySelector(
|
||||||
|
`#vertical-pinned-tabs-container .zen-workspace-tabs-section[zen-workspace-id="${workspaceId}"]`
|
||||||
|
);
|
||||||
|
contaienr.insertBefore(tab, contaienr.firstChild);
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
if (changed) {
|
||||||
|
gBrowser.tabContainer._invalidateCachedTabs();
|
||||||
|
}
|
||||||
|
// Return the number of essentials INSIDE the pinned tabs container so we can correctly change their parent
|
||||||
|
return Array.from(this.pinnedTabsContainer.children).filter((child) => child.getAttribute('zen-essential') === 'true')
|
||||||
|
.length;
|
||||||
|
}
|
||||||
|
|
||||||
// Context menu management
|
// Context menu management
|
||||||
|
|
||||||
_contextMenuId = null;
|
_contextMenuId = null;
|
||||||
@@ -1735,7 +1963,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
this._emojis = null;
|
this._emojis = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
async changeWorkspaceShortcut(offset = 1) {
|
async changeWorkspaceShortcut(offset = 1, whileScrolling = false) {
|
||||||
// Cycle through workspaces
|
// Cycle through workspaces
|
||||||
let workspaces = await this._workspaces();
|
let workspaces = await this._workspaces();
|
||||||
let activeWorkspace = await this.getActiveWorkspace();
|
let activeWorkspace = await this.getActiveWorkspace();
|
||||||
@@ -1752,7 +1980,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let nextWorkspace = workspaces.workspaces[targetIndex];
|
let nextWorkspace = workspaces.workspaces[targetIndex];
|
||||||
await this.changeWorkspace(nextWorkspace, { explicitAnimationDirection: offset > 0 ? 'right' : 'left' });
|
await this.changeWorkspace(nextWorkspace, { whileScrolling });
|
||||||
}
|
}
|
||||||
|
|
||||||
_initializeWorkspaceTabContextMenus() {
|
_initializeWorkspaceTabContextMenus() {
|
||||||
@@ -1774,7 +2002,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
document.getElementById('tabContextMenu').hidePopup();
|
document.getElementById('tabContextMenu').hidePopup();
|
||||||
const previousWorkspaceID = document.documentElement.getAttribute('zen-workspace-id');
|
const previousWorkspaceID = document.documentElement.getAttribute('zen-workspace-id');
|
||||||
for (let tab of tabs) {
|
for (let tab of tabs) {
|
||||||
tab.setAttribute('zen-workspace-id', workspaceID);
|
this.moveTabToWorkspace(tab, workspaceID);
|
||||||
if (this._lastSelectedWorkspaceTabs[previousWorkspaceID] === tab) {
|
if (this._lastSelectedWorkspaceTabs[previousWorkspaceID] === tab) {
|
||||||
// This tab is no longer the last selected tab in the previous workspace because it's being moved to
|
// This tab is no longer the last selected tab in the previous workspace because it's being moved to
|
||||||
// the current workspace
|
// the current workspace
|
||||||
@@ -1867,4 +2095,43 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
// Return true only if the bookmark is in another workspace and not in the active one
|
// Return true only if the bookmark is in another workspace and not in the active one
|
||||||
return isInOtherWorkspace && !isInActiveWorkspace;
|
return isInOtherWorkspace && !isInActiveWorkspace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Session restore functions
|
||||||
|
get allStoredTabs() {
|
||||||
|
if (!this._hasInitializedTabsStrip) {
|
||||||
|
const children = Array.from(this.tabboxChildren);
|
||||||
|
children.pop(); // Remove the last child which is the new tab button
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
|
||||||
|
const tabs = [];
|
||||||
|
// we need to go through each tab in each container
|
||||||
|
const essentialsContainer = document.getElementById('zen-essentials-container');
|
||||||
|
const pinnedContainers = document.querySelectorAll('#vertical-pinned-tabs-container .zen-workspace-tabs-section');
|
||||||
|
const normalContainers = document.querySelectorAll('#tabbrowser-arrowscrollbox .zen-workspace-tabs-section');
|
||||||
|
const containers = [essentialsContainer, ...pinnedContainers, ...normalContainers];
|
||||||
|
for (const container of containers) {
|
||||||
|
for (const tab of container.children) {
|
||||||
|
if (tab.tagName === 'tab' || tab.tagName == 'tab-group') {
|
||||||
|
tabs.push(tab);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return tabs;
|
||||||
|
}
|
||||||
|
|
||||||
|
get pinnedTabCount() {
|
||||||
|
return this.pinnedTabsContainer.children.length - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
get normalTabCount() {
|
||||||
|
return this.tabboxChildren.length - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
get allWorkspaceTabs() {
|
||||||
|
const currentWorkspace = this.activeWorkspace;
|
||||||
|
return this.allStoredTabs.filter(
|
||||||
|
(tab) => tab.hasAttribute('zen-essential') || tab.getAttribute('zen-workspace-id') === currentWorkspace
|
||||||
|
);
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -1,8 +1,24 @@
|
|||||||
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
||||||
index 2de73e75bf98b21dde9ec05213a66f9e9039200f..04ab3ea4c47d674778e8965654867c4cf0f99161 100644
|
index b888a753a7f23a9800fe04da51a4e6b898314ff2..35eea774e1ea4b1807ec65ebc767f423d81602bd 100644
|
||||||
--- a/browser/components/BrowserGlue.sys.mjs
|
--- a/browser/components/BrowserGlue.sys.mjs
|
||||||
+++ b/browser/components/BrowserGlue.sys.mjs
|
+++ b/browser/components/BrowserGlue.sys.mjs
|
||||||
@@ -4643,6 +4643,7 @@ BrowserGlue.prototype = {
|
@@ -121,6 +121,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
|
WindowsGPOParser: "resource://gre/modules/policies/WindowsGPOParser.sys.mjs",
|
||||||
|
clearTimeout: "resource://gre/modules/Timer.sys.mjs",
|
||||||
|
setTimeout: "resource://gre/modules/Timer.sys.mjs",
|
||||||
|
+ gZenUIMigration: "chrome://browser/content/zen-components/ZenUIMigration.mjs",
|
||||||
|
});
|
||||||
|
|
||||||
|
if (AppConstants.MOZ_UPDATER) {
|
||||||
|
@@ -1951,6 +1952,7 @@ BrowserGlue.prototype = {
|
||||||
|
|
||||||
|
lazy.UrlbarPrefs.updateFirefoxSuggestScenario();
|
||||||
|
|
||||||
|
+ lazy.gZenUIMigration.init(this._isNewProfile, aWindow);
|
||||||
|
// A channel for "remote troubleshooting" code...
|
||||||
|
let channel = new lazy.WebChannel(
|
||||||
|
"remote-troubleshooting",
|
||||||
|
@@ -4761,6 +4763,7 @@ BrowserGlue.prototype = {
|
||||||
},
|
},
|
||||||
|
|
||||||
async _maybeShowDefaultBrowserPrompt() {
|
async _maybeShowDefaultBrowserPrompt() {
|
||||||
@@ -10,7 +26,7 @@ index 2de73e75bf98b21dde9ec05213a66f9e9039200f..04ab3ea4c47d674778e8965654867c4c
|
|||||||
// Highest priority is about:welcome window modal experiment
|
// Highest priority is about:welcome window modal experiment
|
||||||
// Second highest priority is the upgrade dialog, which can include a "primary
|
// Second highest priority is the upgrade dialog, which can include a "primary
|
||||||
// browser" request and is limited in various ways, e.g., major upgrades.
|
// browser" request and is limited in various ways, e.g., major upgrades.
|
||||||
@@ -5169,6 +5170,16 @@ BrowserGlue.prototype = {
|
@@ -5302,6 +5305,16 @@ BrowserGlue.prototype = {
|
||||||
"nsIObserver",
|
"nsIObserver",
|
||||||
"nsISupportsWeakReference",
|
"nsISupportsWeakReference",
|
||||||
]),
|
]),
|
||||||
|
|||||||
@@ -495,19 +495,14 @@ var gZenLooksAndFeel = {
|
|||||||
this._initializeColorPicker(this._getInitialAccentColor());
|
this._initializeColorPicker(this._getInitialAccentColor());
|
||||||
window.zenPageAccentColorChanged = this._handleAccentColorChange.bind(this);
|
window.zenPageAccentColorChanged = this._handleAccentColorChange.bind(this);
|
||||||
gZenMarketplaceManager.init();
|
gZenMarketplaceManager.init();
|
||||||
var onPreferColorSchemeChange = this.onPreferColorSchemeChange.bind(this);
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').addListener(onPreferColorSchemeChange);
|
|
||||||
for (const pref of [kZenExtendedSidebar, kZenSingleToolbar]) {
|
for (const pref of [kZenExtendedSidebar, kZenSingleToolbar]) {
|
||||||
Services.prefs.addObserver(pref, this);
|
Services.prefs.addObserver(pref, this);
|
||||||
}
|
}
|
||||||
this.onPreferColorSchemeChange();
|
|
||||||
window.addEventListener('unload', () => {
|
window.addEventListener('unload', () => {
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').removeListener(onPreferColorSchemeChange);
|
|
||||||
for (const pref of [kZenExtendedSidebar, kZenSingleToolbar]) {
|
for (const pref of [kZenExtendedSidebar, kZenSingleToolbar]) {
|
||||||
Services.prefs.removeObserver(pref, this);
|
Services.prefs.removeObserver(pref, this);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.setDarkThemeListener();
|
|
||||||
this.setCompactModeStyle();
|
this.setCompactModeStyle();
|
||||||
|
|
||||||
this.applySidebarLayout();
|
this.applySidebarLayout();
|
||||||
@@ -550,51 +545,6 @@ var gZenLooksAndFeel = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onPreferColorSchemeChange(event) {
|
|
||||||
const darkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
||||||
let elem = document.getElementById('ZenDarkThemeStyles');
|
|
||||||
if (darkTheme) {
|
|
||||||
elem.removeAttribute('hidden');
|
|
||||||
} else {
|
|
||||||
elem.setAttribute('hidden', 'true');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
setDarkThemeListener() {
|
|
||||||
const chooser = document.getElementById('zen-dark-theme-styles-form');
|
|
||||||
const radios = [...chooser.querySelectorAll('input')];
|
|
||||||
for (let radio of radios) {
|
|
||||||
if (radio.value === 'amoled' && Services.prefs.getBoolPref('zen.theme.color-prefs.amoled')) {
|
|
||||||
radio.checked = true;
|
|
||||||
} else if (radio.value === 'colorful' && Services.prefs.getBoolPref('zen.theme.color-prefs.colorful')) {
|
|
||||||
radio.checked = true;
|
|
||||||
} else if (
|
|
||||||
radio.value === 'default' &&
|
|
||||||
!Services.prefs.getBoolPref('zen.theme.color-prefs.amoled') &&
|
|
||||||
!Services.prefs.getBoolPref('zen.theme.color-prefs.colorful')
|
|
||||||
) {
|
|
||||||
radio.checked = true;
|
|
||||||
}
|
|
||||||
radio.addEventListener('change', (e) => {
|
|
||||||
let value = e.target.value;
|
|
||||||
switch (value) {
|
|
||||||
case 'amoled':
|
|
||||||
Services.prefs.setBoolPref('zen.theme.color-prefs.amoled', true);
|
|
||||||
Services.prefs.setBoolPref('zen.theme.color-prefs.colorful', false);
|
|
||||||
break;
|
|
||||||
case 'colorful':
|
|
||||||
Services.prefs.setBoolPref('zen.theme.color-prefs.amoled', false);
|
|
||||||
Services.prefs.setBoolPref('zen.theme.color-prefs.colorful', true);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Services.prefs.setBoolPref('zen.theme.color-prefs.amoled', false);
|
|
||||||
Services.prefs.setBoolPref('zen.theme.color-prefs.colorful', false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
setCompactModeStyle() {
|
setCompactModeStyle() {
|
||||||
const chooser = document.getElementById('zen-compact-mode-styles-form');
|
const chooser = document.getElementById('zen-compact-mode-styles-form');
|
||||||
const radios = [...chooser.querySelectorAll('input')];
|
const radios = [...chooser.querySelectorAll('input')];
|
||||||
|
|||||||
@@ -68,147 +68,6 @@
|
|||||||
|
|
||||||
<hbox id="zenLooksAndFeelGradientPickerParent"></hbox>
|
<hbox id="zenLooksAndFeelGradientPickerParent"></hbox>
|
||||||
|
|
||||||
<html:div id="ZenDarkThemeStyles">
|
|
||||||
<html:h2 data-l10n-id="zen-dark-theme-styles-header"/>
|
|
||||||
<description class="description-deemphasized" data-l10n-id="zen-dark-theme-styles-description" />
|
|
||||||
<form xmlns="http://www.w3.org/1999/xhtml" autocomplete="off" id="zen-dark-theme-styles-form">
|
|
||||||
<label class="web-appearance-choice">
|
|
||||||
<div class="web-appearance-choice-image-container">
|
|
||||||
<svg width="50%" height="50%" viewBox="0 0 229 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
|
||||||
<g id="Icon-1--Icon-2" serif:id="Icon 1, Icon 2">
|
|
||||||
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
|
||||||
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:transparent"/>
|
|
||||||
</g>
|
|
||||||
<g id="Outline">
|
|
||||||
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
|
||||||
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(0.790162,0,0,0.603645,44.881,47.2089)">
|
|
||||||
<path d="M223.674,3.228L223.674,77.954C223.674,107.819 205.151,132.065 182.335,132.065L5.913,132.065L5.913,41.506C5.913,20.38 19.016,3.228 35.155,3.228L223.674,3.228Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g id="Top-Bar" serif:id="Top Bar">
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-7.8979,-3.64443)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,128.569,-3.64443)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.29333,0,0,1,-30.3604,4.42935)">
|
|
||||||
<path d="M149.424,24.359C149.424,26.626 148,28.467 146.247,28.467L77.764,28.467C76.01,28.467 74.587,26.626 74.587,24.359C74.587,22.091 76.01,20.25 77.764,20.25L146.247,20.25C148,20.25 149.424,22.091 149.424,24.359Z" style="fill:var(--zen-colors-primary);"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g id="Side-Bar" serif:id="Side Bar">
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,20.8338)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,44.7817)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,68.7295)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
<div class="web-appearance-choice-footer">
|
|
||||||
<input type="radio" name="web-appearance" value="amoled" data-l10n-id="preferences-web-appearance-choice-input-auto"
|
|
||||||
/><span data-l10n-id="zen-dark-theme-styles-amoled" />
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
<label class="web-appearance-choice">
|
|
||||||
<div class="web-appearance-choice-image-container">
|
|
||||||
<svg width="50%" height="50%" viewBox="0 0 229 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
|
||||||
<g id="Icon-1--Icon-2" serif:id="Icon 1, Icon 2">
|
|
||||||
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
|
||||||
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:color-mix(in srgb, var(--zen-colors-secondary) 17%, transparent 98%)"/>
|
|
||||||
</g>
|
|
||||||
<g id="Outline">
|
|
||||||
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
|
||||||
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(0.790162,0,0,0.603645,44.881,47.2089)">
|
|
||||||
<path d="M223.674,3.228L223.674,77.954C223.674,107.819 205.151,132.065 182.335,132.065L5.913,132.065L5.913,41.506C5.913,20.38 19.016,3.228 35.155,3.228L223.674,3.228Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g id="Top-Bar" serif:id="Top Bar">
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-7.8979,-3.64443)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,128.569,-3.64443)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.29333,0,0,1,-30.3604,4.42935)">
|
|
||||||
<path d="M149.424,24.359C149.424,26.626 148,28.467 146.247,28.467L77.764,28.467C76.01,28.467 74.587,26.626 74.587,24.359C74.587,22.091 76.01,20.25 77.764,20.25L146.247,20.25C148,20.25 149.424,22.091 149.424,24.359Z" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g id="Side-Bar" serif:id="Side Bar">
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,20.8338)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,44.7817)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,68.7295)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
<div class="web-appearance-choice-footer">
|
|
||||||
<input type="radio" name="web-appearance" value="default" data-l10n-id="preferences-web-appearance-choice-input-light"
|
|
||||||
/><span data-l10n-id="zen-dark-theme-styles-default" />
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
<label class="web-appearance-choice">
|
|
||||||
<div class="web-appearance-choice-image-container">
|
|
||||||
<svg width="50%" height="50%" viewBox="0 0 229 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
|
||||||
<g id="Icon-1--Icon-2" serif:id="Icon 1, Icon 2">
|
|
||||||
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
|
||||||
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:var(--zen-colors-secondary);"/>
|
|
||||||
</g>
|
|
||||||
<g id="Outline">
|
|
||||||
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
|
||||||
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:none;stroke:var(--zen-primary-color);stroke-width:4px;"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(0.790162,0,0,0.603645,44.881,47.2089)">
|
|
||||||
<path d="M223.674,3.228L223.674,77.954C223.674,107.819 205.151,132.065 182.335,132.065L5.913,132.065L5.913,41.506C5.913,20.38 19.016,3.228 35.155,3.228L223.674,3.228Z" style="fill:none;stroke:var(--zen-primary-color);stroke-width:4.78px;"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g id="Top-Bar" serif:id="Top Bar">
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-7.8979,-3.64443)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,128.569,-3.64443)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.29333,0,0,1,-30.3604,4.42935)">
|
|
||||||
<path d="M149.424,24.359C149.424,26.626 148,28.467 146.247,28.467L77.764,28.467C76.01,28.467 74.587,26.626 74.587,24.359C74.587,22.091 76.01,20.25 77.764,20.25L146.247,20.25C148,20.25 149.424,22.091 149.424,24.359Z" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g id="Side-Bar" serif:id="Side Bar">
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,20.8338)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,44.7817)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,68.7295)">
|
|
||||||
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
<div class="web-appearance-choice-footer">
|
|
||||||
<input type="radio" name="web-appearance" value="colorful" data-l10n-id="preferences-web-appearance-choice-input-dark"
|
|
||||||
/><span data-l10n-id="zen-dark-theme-styles-colorful" />
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
</form>
|
|
||||||
</html:div>
|
|
||||||
<html:div data-l10n-id="preferences-web-appearance-footer">
|
<html:div data-l10n-id="preferences-web-appearance-footer">
|
||||||
<html:a id="web-appearance-manage-themes-link" class="text-link" data-l10n-name="themes-link" href="about:addons" target="_blank" />
|
<html:a id="web-appearance-manage-themes-link" class="text-link" data-l10n-name="themes-link" href="about:addons" target="_blank" />
|
||||||
</html:div>
|
</html:div>
|
||||||
|
|||||||
@@ -1,8 +1,20 @@
|
|||||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
index 8125c1afc07f3365a2ad030adaf6a560453d7fe6..2856c5f93bfc9d68b98e09b2f26e3d5266c1f46a 100644
|
index 908743177d9f95e2e6549c689e7a493ca8668701..2dd53f5fdbffb21dfdc8bf68a6771d4ac0acd8be 100644
|
||||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
@@ -3679,6 +3679,7 @@ var SessionStoreInternal = {
|
@@ -2174,9 +2174,10 @@ var SessionStoreInternal = {
|
||||||
|
TelemetryStopwatch.finish(
|
||||||
|
"FX_SESSION_RESTORE_STARTUP_ONLOAD_INITIAL_WINDOW_MS"
|
||||||
|
);
|
||||||
|
-
|
||||||
|
+ aWindow.ZenWorkspaces.delayedStartup().then(() => {
|
||||||
|
// Let everyone know we're done.
|
||||||
|
this._deferredInitialized.resolve();
|
||||||
|
+ });
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(ex => {
|
||||||
|
@@ -3848,6 +3849,7 @@ var SessionStoreInternal = {
|
||||||
aWindow.gBrowser.selectedTab = newTab;
|
aWindow.gBrowser.selectedTab = newTab;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10,3 +22,12 @@ index 8125c1afc07f3365a2ad030adaf6a560453d7fe6..2856c5f93bfc9d68b98e09b2f26e3d52
|
|||||||
// Restore the state into the new tab.
|
// Restore the state into the new tab.
|
||||||
this.restoreTab(newTab, tabState, {
|
this.restoreTab(newTab, tabState, {
|
||||||
restoreImmediately: aRestoreImmediately,
|
restoreImmediately: aRestoreImmediately,
|
||||||
|
@@ -5315,7 +5317,7 @@ var SessionStoreInternal = {
|
||||||
|
}
|
||||||
|
|
||||||
|
let tabbrowser = aWindow.gBrowser;
|
||||||
|
- let tabs = tabbrowser.tabs;
|
||||||
|
+ let tabs = aWindow.ZenWorkspaces.allStoredTabs;
|
||||||
|
/** @type {WindowStateData} */
|
||||||
|
let winData = this._windows[aWindow.__SSi];
|
||||||
|
let tabsData = (winData.tabs = []);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||||
index 1937a01b9940c79782cc2ad002b09ea5938b89e0..0846ab4b3750a556617ff8d4546d9131cda35296 100644
|
index 1937a01b9940c79782cc2ad002b09ea5938b89e0..a702e8c520fad651a98615215f94657b7e1c58eb 100644
|
||||||
--- a/browser/components/sidebar/browser-sidebar.js
|
--- a/browser/components/sidebar/browser-sidebar.js
|
||||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||||
@@ -671,7 +671,7 @@ var SidebarController = {
|
@@ -671,7 +671,7 @@ var SidebarController = {
|
||||||
@@ -11,3 +11,12 @@ index 1937a01b9940c79782cc2ad002b09ea5938b89e0..0846ab4b3750a556617ff8d4546d9131
|
|||||||
[...browser.children].forEach((node, i) => {
|
[...browser.children].forEach((node, i) => {
|
||||||
node.style.order = i + 1;
|
node.style.order = i + 1;
|
||||||
});
|
});
|
||||||
|
@@ -681,7 +681,7 @@ var SidebarController = {
|
||||||
|
// DOM ordering is: sidebar-main | launcher-splitter | sidebar-box | splitter | tabbrowser-tabbox |
|
||||||
|
// Want to display as: | tabbrowser-tabbox | splitter | sidebar-box | launcher-splitter | sidebar-main
|
||||||
|
// So we just swap box and tabbrowser-tabbox ordering and move sidebar-main to the end
|
||||||
|
- let tabbox = document.getElementById("tabbrowser-tabbox");
|
||||||
|
+ let tabbox = document.getElementById("tabbrowser-tabpanels");
|
||||||
|
let boxOrdinal = this._box.style.order;
|
||||||
|
this._box.style.order = tabbox.style.order;
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
||||||
index d41c486c02a6f09dcff5741a59ad8b617294c481..0328460c7eb45d8ffb9de4f9b8d4a7bdd7a5b7b3 100644
|
index d41c486c02a6f09dcff5741a59ad8b617294c481..abaccd1935fc117924c44dd22cae0b322fc6a0c4 100644
|
||||||
--- a/browser/components/tabbrowser/content/tab.js
|
--- a/browser/components/tabbrowser/content/tab.js
|
||||||
+++ b/browser/components/tabbrowser/content/tab.js
|
+++ b/browser/components/tabbrowser/content/tab.js
|
||||||
@@ -37,6 +37,7 @@
|
@@ -37,6 +37,7 @@
|
||||||
</hbox>
|
</hbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
<image class="tab-close-button close-icon" role="button" data-l10n-id="tabbrowser-close-tabs-button" data-l10n-args='{"tabCount": 1}' keyNav="false"/>
|
<image class="tab-close-button close-icon" role="button" data-l10n-id="tabbrowser-close-tabs-button" data-l10n-args='{"tabCount": 1}' keyNav="false"/>
|
||||||
+ <image class="tab-reset-button reset-icon" role="button" data-l10n-id="tabbrowser-reset-tabs-button" data-l10n-args='{"tabCount": 1}' keyNav="false"/>
|
+ <image class="tab-reset-button reset-icon" role="button" data-l10n-id="tabbrowser-unload-tab-button" data-l10n-args='{"tabCount": 1}' keyNav="false"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
</stack>
|
</stack>
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b1c975652 100644
|
index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..5db2380df21f4b25a6c03bfa457b62093051cc9a 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
@@ -406,11 +406,39 @@
|
@@ -406,11 +406,39 @@
|
||||||
@@ -9,7 +9,7 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
+ get _numVisiblePinTabs() {
|
+ get _numVisiblePinTabs() {
|
||||||
+ let i = 0;
|
+ let i = 0;
|
||||||
+ for (let tab of this.tabs) {
|
+ for (let tab of this.tabs) {
|
||||||
+ if (!tab.pinned) {
|
+ if (!tab.pinned && !tab.hasAttribute("zen-glance-tab")) {
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+ if (!tab.hidden) {
|
+ if (!tab.hidden) {
|
||||||
@@ -22,7 +22,7 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
+ get _numZenEssentials() {
|
+ get _numZenEssentials() {
|
||||||
+ let i = 0;
|
+ let i = 0;
|
||||||
+ for (let tab of this.tabs) {
|
+ for (let tab of this.tabs) {
|
||||||
+ if (!tab.hasAttribute("zen-essential")) {
|
+ if (!tab.hasAttribute("zen-essential") && !tab.hasAttribute("zen-glance-tab")) {
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+ if (!tab.hidden) {
|
+ if (!tab.hidden) {
|
||||||
@@ -37,7 +37,7 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
- if (!this.tabs[i].pinned) {
|
- if (!this.tabs[i].pinned) {
|
||||||
+ let i = 0;
|
+ let i = 0;
|
||||||
+ for (let tab of this.tabs) {
|
+ for (let tab of this.tabs) {
|
||||||
+ if (!tab.pinned) {
|
+ if (!tab.pinned && !tab.hasAttribute("zen-glance-tab")) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
+ i++;
|
+ i++;
|
||||||
@@ -49,10 +49,19 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
if (this.tabContainer.verticalMode) {
|
if (this.tabContainer.verticalMode) {
|
||||||
this._handleTabMove(aTab, () =>
|
this._handleTabMove(aTab, () =>
|
||||||
- this.verticalPinnedTabsContainer.appendChild(aTab)
|
- this.verticalPinnedTabsContainer.appendChild(aTab)
|
||||||
+ aTab.hasAttribute("zen-essential") ? document.getElementById("zen-essentials-container").appendChild(aTab) : this.verticalPinnedTabsContainer.appendChild(aTab)
|
+ aTab.hasAttribute("zen-essential") ? document.getElementById("zen-essentials-container").appendChild(aTab) : this.verticalPinnedTabsContainer.insertBefore(aTab, this.verticalPinnedTabsContainer.lastChild)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
this.moveTabTo(aTab, this.pinnedTabCount, { forceStandaloneTab: true });
|
this.moveTabTo(aTab, this.pinnedTabCount, { forceStandaloneTab: true });
|
||||||
|
@@ -828,7 +856,7 @@
|
||||||
|
// the moving of a tab from the vertical pinned tabs container
|
||||||
|
// and back into arrowscrollbox.
|
||||||
|
aTab.removeAttribute("pinned");
|
||||||
|
- this.tabContainer.arrowScrollbox.prepend(aTab);
|
||||||
|
+ ZenWorkspaces.activeWorkspaceStrip.prepend(aTab);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.moveTabTo(aTab, this.pinnedTabCount - 1, {
|
||||||
@@ -1055,6 +1083,8 @@
|
@@ -1055,6 +1083,8 @@
|
||||||
|
|
||||||
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
||||||
@@ -80,16 +89,16 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
oldTab.updateLastAccessed();
|
oldTab.updateLastAccessed();
|
||||||
// if this is the foreground window, update the last-seen timestamps.
|
// if this is the foreground window, update the last-seen timestamps.
|
||||||
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||||
@@ -1477,6 +1511,9 @@
|
@@ -1462,6 +1496,9 @@
|
||||||
newBrowser &&
|
}
|
||||||
gURLBar.getBrowserState(newBrowser).urlbarFocused &&
|
|
||||||
gURLBar.focused;
|
let activeEl = document.activeElement;
|
||||||
+ if (gURLBar._zenHandleUrlbarClose) {
|
+ if (gURLBar._zenHandleUrlbarClose) {
|
||||||
+ gURLBar._zenHandleUrlbarClose(true);
|
+ gURLBar._zenHandleUrlbarClose(true);
|
||||||
+ }
|
+ }
|
||||||
if (!keepFocusOnUrlBar) {
|
// If focus is on the old tab, move it to the new tab.
|
||||||
// Clear focus so that _adjustFocusAfterTabSwitch can detect if
|
if (activeEl == oldTab) {
|
||||||
// some element has been focused and respect that.
|
newTab.focus();
|
||||||
@@ -2387,7 +2424,7 @@
|
@@ -2387,7 +2424,7 @@
|
||||||
|
|
||||||
let panel = this.getPanel(browser);
|
let panel = this.getPanel(browser);
|
||||||
@@ -99,11 +108,13 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
aTab.linkedPanel = uniqueId;
|
aTab.linkedPanel = uniqueId;
|
||||||
|
|
||||||
// Inject the <browser> into the DOM if necessary.
|
// Inject the <browser> into the DOM if necessary.
|
||||||
@@ -2447,7 +2484,7 @@
|
@@ -2446,8 +2483,8 @@
|
||||||
|
// If we transitioned from one browser to two browsers, we need to set
|
||||||
// hasSiblings=false on both the existing browser and the new browser.
|
// hasSiblings=false on both the existing browser and the new browser.
|
||||||
if (this.tabs.length == 2) {
|
if (this.tabs.length == 2) {
|
||||||
this.tabs[0].linkedBrowser.browsingContext.hasSiblings = true;
|
- this.tabs[0].linkedBrowser.browsingContext.hasSiblings = true;
|
||||||
- this.tabs[1].linkedBrowser.browsingContext.hasSiblings = true;
|
- this.tabs[1].linkedBrowser.browsingContext.hasSiblings = true;
|
||||||
|
+ if (this.tabs[0].linkedBrowser.browsingContext) this.tabs[0].linkedBrowser.browsingContext.hasSiblings = true;
|
||||||
+ if (this.tabs[1].linkedBrowser.browsingContext) this.tabs[1].linkedBrowser.browsingContext.hasSiblings = true;
|
+ if (this.tabs[1].linkedBrowser.browsingContext) this.tabs[1].linkedBrowser.browsingContext.hasSiblings = true;
|
||||||
} else {
|
} else {
|
||||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||||
@@ -197,6 +208,17 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
if (select) {
|
if (select) {
|
||||||
tabToSelect = tab;
|
tabToSelect = tab;
|
||||||
}
|
}
|
||||||
|
@@ -3464,8 +3546,8 @@
|
||||||
|
// inserted in the DOM. If the tab is not yet in the DOM,
|
||||||
|
// just insert it in the right place from the start.
|
||||||
|
if (!tab.parentNode) {
|
||||||
|
- tab._tPos = this.pinnedTabCount;
|
||||||
|
- this.tabContainer.insertBefore(tab, this.tabs[this.pinnedTabCount]);
|
||||||
|
+ tab._tPos = this._numVisiblePinTabs;
|
||||||
|
+ this.tabContainer.insertBefore(tab, this.tabs[this._numVisiblePinTabs]);
|
||||||
|
tab.toggleAttribute("pinned", true);
|
||||||
|
this.tabContainer._invalidateCachedTabs();
|
||||||
|
// Then ensure all the tab open/pinning information is sent.
|
||||||
@@ -3729,7 +3811,7 @@
|
@@ -3729,7 +3811,7 @@
|
||||||
// Ensure we have an index if one was not provided.
|
// Ensure we have an index if one was not provided.
|
||||||
if (typeof index != "number") {
|
if (typeof index != "number") {
|
||||||
@@ -282,7 +304,16 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
|
|
||||||
if (closeWindow) {
|
if (closeWindow) {
|
||||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||||
@@ -5465,10 +5558,10 @@
|
@@ -4812,6 +4905,8 @@
|
||||||
|
this.tabs[i]._tPos = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ ZenWorkspaces.updateTabsContainers();
|
||||||
|
+
|
||||||
|
if (!this._windowIsClosing) {
|
||||||
|
if (wasPinned) {
|
||||||
|
this.tabContainer._positionPinnedTabs();
|
||||||
|
@@ -5465,10 +5560,10 @@
|
||||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -295,7 +326,19 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
aTab.selected ||
|
aTab.selected ||
|
||||||
aTab.closing ||
|
aTab.closing ||
|
||||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||||
@@ -5727,6 +5820,9 @@
|
@@ -5706,9 +5801,9 @@
|
||||||
|
|
||||||
|
// Don't allow mixing pinned and unpinned tabs.
|
||||||
|
if (aTab.pinned) {
|
||||||
|
- aIndex = Math.min(aIndex, this.pinnedTabCount - 1);
|
||||||
|
+ aIndex = Math.min(aIndex, this._numVisiblePinTabs - 1);
|
||||||
|
} else {
|
||||||
|
- aIndex = Math.max(aIndex, this.pinnedTabCount);
|
||||||
|
+ aIndex = Math.max(aIndex, this._numVisiblePinTabs);
|
||||||
|
}
|
||||||
|
if (aTab._tPos == aIndex) {
|
||||||
|
return;
|
||||||
|
@@ -5727,6 +5822,9 @@
|
||||||
this.tabContainer.insertBefore(aTab, neighbor);
|
this.tabContainer.insertBefore(aTab, neighbor);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -305,7 +348,16 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
}
|
}
|
||||||
|
|
||||||
moveTabToGroup(aTab, aGroup) {
|
moveTabToGroup(aTab, aGroup) {
|
||||||
@@ -7443,6 +7539,7 @@
|
@@ -5802,7 +5900,7 @@
|
||||||
|
createLazyBrowser,
|
||||||
|
};
|
||||||
|
|
||||||
|
- let numPinned = this.pinnedTabCount;
|
||||||
|
+ let numPinned = this._numVisiblePinTabs;
|
||||||
|
if (aIndex < numPinned || (aTab.pinned && aIndex == numPinned)) {
|
||||||
|
params.pinned = true;
|
||||||
|
}
|
||||||
|
@@ -7443,6 +7541,7 @@
|
||||||
aWebProgress.isTopLevel
|
aWebProgress.isTopLevel
|
||||||
) {
|
) {
|
||||||
this.mTab.setAttribute("busy", "true");
|
this.mTab.setAttribute("busy", "true");
|
||||||
@@ -313,7 +365,7 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||||
gBrowser.syncThrobberAnimations(this.mTab);
|
gBrowser.syncThrobberAnimations(this.mTab);
|
||||||
@@ -8411,7 +8508,7 @@ var TabContextMenu = {
|
@@ -8411,7 +8510,7 @@ var TabContextMenu = {
|
||||||
);
|
);
|
||||||
contextUnpinSelectedTabs.hidden =
|
contextUnpinSelectedTabs.hidden =
|
||||||
!this.contextTab.pinned || !multiselectionContext;
|
!this.contextTab.pinned || !multiselectionContext;
|
||||||
@@ -322,7 +374,7 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
// Move Tab items
|
// Move Tab items
|
||||||
let contextMoveTabOptions = document.getElementById(
|
let contextMoveTabOptions = document.getElementById(
|
||||||
"context_moveTabOptions"
|
"context_moveTabOptions"
|
||||||
@@ -8444,7 +8541,7 @@ var TabContextMenu = {
|
@@ -8444,7 +8543,7 @@ var TabContextMenu = {
|
||||||
let contextMoveTabToStart = document.getElementById("context_moveToStart");
|
let contextMoveTabToStart = document.getElementById("context_moveToStart");
|
||||||
let isFirstTab =
|
let isFirstTab =
|
||||||
tabsToMove[0] == visibleTabs[0] ||
|
tabsToMove[0] == visibleTabs[0] ||
|
||||||
@@ -331,7 +383,7 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..838542e31112c7c3b5e9049da4a2cb6b
|
|||||||
contextMoveTabToStart.disabled = isFirstTab && allSelectedTabsAdjacent;
|
contextMoveTabToStart.disabled = isFirstTab && allSelectedTabsAdjacent;
|
||||||
|
|
||||||
document.getElementById("context_openTabInWindow").disabled =
|
document.getElementById("context_openTabInWindow").disabled =
|
||||||
@@ -8677,6 +8774,7 @@ var TabContextMenu = {
|
@@ -8677,6 +8776,7 @@ var TabContextMenu = {
|
||||||
if (this.contextTab.multiselected) {
|
if (this.contextTab.multiselected) {
|
||||||
gBrowser.removeMultiSelectedTabs();
|
gBrowser.removeMultiSelectedTabs();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||||
index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857a82ff94c 100644
|
index 8aeb244ffca9f48661805f5b7d860b5896055562..3d323615040dcb5e379519878fb7874d5b28de81 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabs.js
|
--- a/browser/components/tabbrowser/content/tabs.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||||
@@ -94,7 +94,7 @@
|
@@ -94,7 +94,7 @@
|
||||||
@@ -16,7 +16,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
if (
|
if (
|
||||||
event.button != 0 ||
|
event.button != 0 ||
|
||||||
- event.target != this.arrowScrollbox ||
|
- event.target != this.arrowScrollbox ||
|
||||||
+ event.target != document.getElementById("zen-browser-tabs-wrapper") ||
|
+ event.target != document.getElementById("zen-tabs-wrapper") ||
|
||||||
event.composedTarget.localName == "toolbarbutton"
|
event.composedTarget.localName == "toolbarbutton"
|
||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
@@ -101,7 +101,25 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
) {
|
) {
|
||||||
delete draggedTab._dragData;
|
delete draggedTab._dragData;
|
||||||
return;
|
return;
|
||||||
@@ -1512,9 +1525,18 @@
|
@@ -1478,7 +1491,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
get newTabButton() {
|
||||||
|
- return this.querySelector("#tabs-newtab-button");
|
||||||
|
+ return ZenWorkspaces.activeWorkspaceStrip.querySelector("#tabs-newtab-button");
|
||||||
|
}
|
||||||
|
|
||||||
|
get verticalMode() {
|
||||||
|
@@ -1498,7 +1511,7 @@
|
||||||
|
if (this.#allTabs) {
|
||||||
|
return this.#allTabs;
|
||||||
|
}
|
||||||
|
- let children = Array.from(this.arrowScrollbox.children);
|
||||||
|
+ let children = Array.from(ZenWorkspaces.tabboxChildren);
|
||||||
|
// remove arrowScrollbox periphery element
|
||||||
|
children.pop();
|
||||||
|
|
||||||
|
@@ -1512,14 +1525,28 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#allTabs = [
|
this.#allTabs = [
|
||||||
@@ -109,19 +127,43 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
+ ...document.getElementById("zen-essentials-container").children, ...this.verticalPinnedTabsContainer.children,
|
+ ...document.getElementById("zen-essentials-container").children, ...this.verticalPinnedTabsContainer.children,
|
||||||
...children,
|
...children,
|
||||||
];
|
];
|
||||||
|
+ const lastPinnedTabIdx = gBrowser.pinnedTabCount;
|
||||||
+ for (let i = 0; i < this.#allTabs.length; i++) {
|
+ for (let i = 0; i < this.#allTabs.length; i++) {
|
||||||
+ // add glance tabs (tabs inside tabs) to the list
|
+ // add glance tabs (tabs inside tabs) to the list
|
||||||
+ const glanceTab = this.#allTabs[i].querySelector("tab[zen-glance-tab]");
|
+ const glanceTab = this.#allTabs[i].querySelector("tab[zen-glance-tab]");
|
||||||
+ if (glanceTab) {
|
+ if (glanceTab) {
|
||||||
+ // insert right after the parent tab
|
+ // insert right after the parent tab
|
||||||
+ this.#allTabs.splice(i + 1, 0, glanceTab);
|
+ this.#allTabs.splice(Math.min(i + 1, lastPinnedTabIdx), 0, glanceTab);
|
||||||
+ i++;
|
+ i++;
|
||||||
|
+ } else if (this.#allTabs[i].classList.contains("vertical-pinned-tabs-container-separator")) {
|
||||||
|
+ // remove the separator from the list
|
||||||
|
+ this.#allTabs.splice(i, 1);
|
||||||
|
+ i--;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
return this.#allTabs;
|
return this.#allTabs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1593,6 +1615,7 @@
|
get allGroups() {
|
||||||
|
- let children = Array.from(this.arrowScrollbox.children);
|
||||||
|
+ let children = Array.from(ZenWorkspaces.tabboxChildren);
|
||||||
|
return children.filter(node => node.tagName == "tab-group");
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1574,10 +1601,8 @@
|
||||||
|
return this.#focusableItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
- let verticalPinnedTabsContainer = document.getElementById(
|
||||||
|
- "vertical-pinned-tabs-container"
|
||||||
|
- );
|
||||||
|
- let children = Array.from(this.arrowScrollbox.children);
|
||||||
|
+ let verticalPinnedTabsContainer = this.verticalPinnedTabsContainer;
|
||||||
|
+ let children = Array.from(ZenWorkspaces.tabboxChildren);
|
||||||
|
|
||||||
|
let focusableItems = [];
|
||||||
|
for (let child of children) {
|
||||||
|
@@ -1593,6 +1618,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#focusableItems = [
|
this.#focusableItems = [
|
||||||
@@ -129,7 +171,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
...verticalPinnedTabsContainer.children,
|
...verticalPinnedTabsContainer.children,
|
||||||
...focusableItems,
|
...focusableItems,
|
||||||
];
|
];
|
||||||
@@ -1617,8 +1640,8 @@
|
@@ -1617,8 +1643,8 @@
|
||||||
#isContainerVerticalPinnedExpanded(tab) {
|
#isContainerVerticalPinnedExpanded(tab) {
|
||||||
return (
|
return (
|
||||||
this.verticalMode &&
|
this.verticalMode &&
|
||||||
@@ -140,7 +182,25 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1816,7 +1839,7 @@
|
@@ -1633,7 +1659,7 @@
|
||||||
|
|
||||||
|
if (node == null) {
|
||||||
|
// We have a container for non-tab elements at the end of the scrollbox.
|
||||||
|
- node = this.arrowScrollbox.lastChild;
|
||||||
|
+ node = ZenWorkspaces.activeWorkspaceStrip.lastChild;
|
||||||
|
}
|
||||||
|
|
||||||
|
node.before(tab);
|
||||||
|
@@ -1733,7 +1759,7 @@
|
||||||
|
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
|
||||||
|
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
|
||||||
|
// Attach the long click popup to all of them.
|
||||||
|
- const newTab = document.getElementById("new-tab-button");
|
||||||
|
+ const newTab = ZenWorkspaces.activeWorkspaceStrip.querySelector("#tabs-newtab-button");
|
||||||
|
const newTab2 = this.newTabButton;
|
||||||
|
const newTabVertical = document.getElementById(
|
||||||
|
"vertical-tabs-newtab-button"
|
||||||
|
@@ -1816,7 +1842,7 @@
|
||||||
let rect = ele => {
|
let rect = ele => {
|
||||||
return window.windowUtils.getBoundsWithoutFlushing(ele);
|
return window.windowUtils.getBoundsWithoutFlushing(ele);
|
||||||
};
|
};
|
||||||
@@ -149,7 +209,12 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
if (tab && rect(tab).width <= this._tabClipWidth) {
|
if (tab && rect(tab).width <= this._tabClipWidth) {
|
||||||
this.setAttribute("closebuttons", "activetab");
|
this.setAttribute("closebuttons", "activetab");
|
||||||
} else {
|
} else {
|
||||||
@@ -1832,6 +1855,7 @@
|
@@ -1828,10 +1854,12 @@
|
||||||
|
|
||||||
|
_handleTabSelect(aInstant) {
|
||||||
|
let selectedTab = this.selectedItem;
|
||||||
|
+ if (!selectedTab) return;
|
||||||
|
if (this.overflowing) {
|
||||||
this.arrowScrollbox.ensureElementIsVisible(selectedTab, aInstant);
|
this.arrowScrollbox.ensureElementIsVisible(selectedTab, aInstant);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +222,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
selectedTab._notselectedsinceload = false;
|
selectedTab._notselectedsinceload = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1843,7 +1867,7 @@
|
@@ -1843,7 +1871,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,7 +231,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
if (!tabs.length) {
|
if (!tabs.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1879,7 +1903,7 @@
|
@@ -1879,7 +1907,7 @@
|
||||||
if (isEndTab && !this._hasTabTempMaxWidth) {
|
if (isEndTab && !this._hasTabTempMaxWidth) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -175,7 +240,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
// Force tabs to stay the same width, unless we're closing the last tab,
|
// Force tabs to stay the same width, unless we're closing the last tab,
|
||||||
// which case we need to let them expand just enough so that the overall
|
// which case we need to let them expand just enough so that the overall
|
||||||
// tabbar width is the same.
|
// tabbar width is the same.
|
||||||
@@ -1894,7 +1918,7 @@
|
@@ -1894,7 +1922,7 @@
|
||||||
let tabsToReset = [];
|
let tabsToReset = [];
|
||||||
for (let i = numPinned; i < tabs.length; i++) {
|
for (let i = numPinned; i < tabs.length; i++) {
|
||||||
let tab = tabs[i];
|
let tab = tabs[i];
|
||||||
@@ -184,25 +249,40 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
if (!isEndTab) {
|
if (!isEndTab) {
|
||||||
// keep tabs the same width
|
// keep tabs the same width
|
||||||
tab.style.transition = "none";
|
tab.style.transition = "none";
|
||||||
@@ -1963,13 +1987,13 @@
|
@@ -1960,16 +1988,15 @@
|
||||||
let verticalTabsContainer = document.getElementById(
|
// Move pinned tabs to another container when the tabstrip is toggled to vertical
|
||||||
"vertical-pinned-tabs-container"
|
// and when session restore code calls _positionPinnedTabs; update styling whenever
|
||||||
);
|
// the number of pinned tabs changes.
|
||||||
- let numPinned = gBrowser.pinnedTabCount;
|
- let verticalTabsContainer = document.getElementById(
|
||||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
- "vertical-pinned-tabs-container"
|
||||||
|
- );
|
||||||
|
+ let verticalTabsContainer = this.verticalPinnedTabsContainer;
|
||||||
|
let numPinned = gBrowser.pinnedTabCount;
|
||||||
|
|
||||||
- if (gBrowser.pinnedTabCount !== verticalTabsContainer.children.length) {
|
- if (gBrowser.pinnedTabCount !== verticalTabsContainer.children.length) {
|
||||||
- let tabs = this.visibleTabs;
|
- let tabs = this.visibleTabs;
|
||||||
+ if (gBrowser.pinnedTabCount !== (verticalTabsContainer.children.length + document.getElementById("zen-essentials-container").children.length)) {
|
+ let count = ZenWorkspaces.makeSurePinTabIsInCorrectPosition();
|
||||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
+ if (gBrowser.pinnedTabCount !== (verticalTabsContainer.children.length - count - 1 + document.getElementById("zen-essentials-container").children.length)) {
|
||||||
|
+ let tabs = this.allTabs.filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
||||||
for (let i = 0; i < numPinned; i++) {
|
for (let i = 0; i < numPinned; i++) {
|
||||||
tabs[i].style.marginInlineStart = "";
|
tabs[i].style.marginInlineStart = "";
|
||||||
- verticalTabsContainer.appendChild(tabs[i]);
|
- verticalTabsContainer.appendChild(tabs[i]);
|
||||||
+ tabs[i].hasAttribute("zen-essential") ? document.getElementById("zen-essentials-container").appendChild(tabs[i]) : verticalTabsContainer.appendChild(tabs[i]);
|
+ tabs[i].hasAttribute("zen-essential") ? document.getElementById("zen-essentials-container").appendChild(tabs[i]) : verticalTabsContainer.insertBefore(tabs[i], verticalTabsContainer.lastChild);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1992,8 +2016,8 @@
|
@@ -1977,9 +2004,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
_resetVerticalPinnedTabs() {
|
||||||
|
- let verticalTabsContainer = document.getElementById(
|
||||||
|
- "vertical-pinned-tabs-container"
|
||||||
|
- );
|
||||||
|
+ let verticalTabsContainer = this.verticalPinnedTabsContainer;
|
||||||
|
|
||||||
|
if (!verticalTabsContainer.children.length) {
|
||||||
|
return;
|
||||||
|
@@ -1992,8 +2017,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_positionPinnedTabs() {
|
_positionPinnedTabs() {
|
||||||
@@ -213,7 +293,15 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
let absPositionHorizontalTabs =
|
let absPositionHorizontalTabs =
|
||||||
this.overflowing && tabs.length > numPinned && numPinned > 0;
|
this.overflowing && tabs.length > numPinned && numPinned > 0;
|
||||||
|
|
||||||
@@ -2074,7 +2098,7 @@
|
@@ -2003,6 +2028,7 @@
|
||||||
|
if (this.verticalMode) {
|
||||||
|
this._updateVerticalPinnedTabs();
|
||||||
|
} else if (absPositionHorizontalTabs) {
|
||||||
|
+ return;
|
||||||
|
let layoutData = this._pinnedTabsLayoutCache;
|
||||||
|
let uiDensity = document.documentElement.getAttribute("uidensity");
|
||||||
|
if (!layoutData || layoutData.uiDensity != uiDensity) {
|
||||||
|
@@ -2074,7 +2100,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +310,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
|
|
||||||
let directionX = screenX > dragData.animLastScreenX;
|
let directionX = screenX > dragData.animLastScreenX;
|
||||||
let directionY = screenY > dragData.animLastScreenY;
|
let directionY = screenY > dragData.animLastScreenY;
|
||||||
@@ -2257,9 +2281,9 @@
|
@@ -2257,9 +2283,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let pinned = draggedTab.pinned;
|
let pinned = draggedTab.pinned;
|
||||||
@@ -235,7 +323,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
pinned ? numPinned : undefined
|
pinned ? numPinned : undefined
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -2502,8 +2526,9 @@
|
@@ -2502,8 +2528,9 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,7 +335,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2668,9 +2693,9 @@
|
@@ -2668,9 +2695,9 @@
|
||||||
function newIndex(aTab, index) {
|
function newIndex(aTab, index) {
|
||||||
// Don't allow mixing pinned and unpinned tabs.
|
// Don't allow mixing pinned and unpinned tabs.
|
||||||
if (aTab.pinned) {
|
if (aTab.pinned) {
|
||||||
@@ -259,7 +347,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2754,7 +2779,7 @@
|
@@ -2754,7 +2781,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_notifyBackgroundTab(aTab) {
|
_notifyBackgroundTab(aTab) {
|
||||||
@@ -268,7 +356,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2772,12 +2797,14 @@
|
@@ -2772,12 +2799,14 @@
|
||||||
selectedTab = {
|
selectedTab = {
|
||||||
left: selectedTab.left,
|
left: selectedTab.left,
|
||||||
right: selectedTab.right,
|
right: selectedTab.right,
|
||||||
@@ -284,7 +372,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
selectedTab,
|
selectedTab,
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
@@ -2794,8 +2821,11 @@
|
@@ -2794,8 +2823,11 @@
|
||||||
delete this._lastTabToScrollIntoView;
|
delete this._lastTabToScrollIntoView;
|
||||||
// Is the new tab already completely visible?
|
// Is the new tab already completely visible?
|
||||||
if (
|
if (
|
||||||
@@ -298,7 +386,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857
|
|||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -2803,21 +2833,29 @@
|
@@ -2803,21 +2835,29 @@
|
||||||
if (this.arrowScrollbox.smoothScroll) {
|
if (this.arrowScrollbox.smoothScroll) {
|
||||||
// Can we make both the new tab and the selected tab completely visible?
|
// Can we make both the new tab and the selected tab completely visible?
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a726c67e873 100644
|
index 50968dc04b527438acf30151f0c2e92f8b45097c..f8587b68ac057bb0f829fc21f08ade6605b14c92 100644
|
||||||
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
@@ -67,6 +67,13 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
@@ -67,6 +67,13 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
@@ -16,7 +16,19 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
const DEFAULT_FORM_HISTORY_NAME = "searchbar-history";
|
const DEFAULT_FORM_HISTORY_NAME = "searchbar-history";
|
||||||
const SEARCH_BUTTON_CLASS = "urlbar-search-button";
|
const SEARCH_BUTTON_CLASS = "urlbar-search-button";
|
||||||
|
|
||||||
@@ -424,6 +431,10 @@ export class UrlbarInput {
|
@@ -348,7 +355,11 @@ export class UrlbarInput {
|
||||||
|
// See _on_select(). HTMLInputElement.select() dispatches a "select"
|
||||||
|
// event but does not set the primary selection.
|
||||||
|
this._suppressPrimaryAdjustment = true;
|
||||||
|
+ this.document.getElementById("navigator-toolbox").setAttribute("supress-primary-adjustment", !this.document.getElementById("navigator-toolbox").hasAttribute("zen-has-hover"));
|
||||||
|
this.inputField.select();
|
||||||
|
+ this.document.ownerGlobal.setTimeout(() => {
|
||||||
|
+ this.document.getElementById("navigator-toolbox").removeAttribute("supress-primary-adjustment");
|
||||||
|
+ }, 100);
|
||||||
|
this._suppressPrimaryAdjustment = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -424,6 +435,10 @@ export class UrlbarInput {
|
||||||
hideSearchTerms = false,
|
hideSearchTerms = false,
|
||||||
isSameDocument = false
|
isSameDocument = false
|
||||||
) {
|
) {
|
||||||
@@ -27,7 +39,20 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
// We only need to update the searchModeUI on tab switch conditionally
|
// We only need to update the searchModeUI on tab switch conditionally
|
||||||
// as we only persist searchMode with ScotchBonnet enabled.
|
// as we only persist searchMode with ScotchBonnet enabled.
|
||||||
if (
|
if (
|
||||||
@@ -1087,7 +1098,11 @@ export class UrlbarInput {
|
@@ -697,8 +712,11 @@ export class UrlbarInput {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ this.document.getElementById("navigator-toolbox").setAttribute("supress-primary-adjustment", !this.document.getElementById("navigator-toolbox").hasAttribute("zen-has-hover"));
|
||||||
|
this.handleNavigation({ event });
|
||||||
|
+ this.document.ownerGlobal.setTimeout(() => {
|
||||||
|
+ this.document.getElementById("navigator-toolbox").removeAttribute("supress-primary-adjustment");
|
||||||
|
+ }, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -1087,7 +1105,11 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!result.payload.providesSearchMode) {
|
if (!result.payload.providesSearchMode) {
|
||||||
@@ -40,7 +65,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.controller.recordSelectedResult(event, result);
|
this.controller.recordSelectedResult(event, result);
|
||||||
@@ -2144,6 +2159,11 @@ export class UrlbarInput {
|
@@ -2144,6 +2166,11 @@ export class UrlbarInput {
|
||||||
|
|
||||||
this.setAttribute("breakout-extend", "true");
|
this.setAttribute("breakout-extend", "true");
|
||||||
|
|
||||||
@@ -52,7 +77,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
// Enable the animation only after the first extend call to ensure it
|
// Enable the animation only after the first extend call to ensure it
|
||||||
// doesn't run when opening a new window.
|
// doesn't run when opening a new window.
|
||||||
if (!this.hasAttribute("breakout-extend-animate")) {
|
if (!this.hasAttribute("breakout-extend-animate")) {
|
||||||
@@ -2163,6 +2183,11 @@ export class UrlbarInput {
|
@@ -2163,6 +2190,11 @@ export class UrlbarInput {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,7 +89,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
this.removeAttribute("breakout-extend");
|
this.removeAttribute("breakout-extend");
|
||||||
this.#updateTextboxPosition();
|
this.#updateTextboxPosition();
|
||||||
}
|
}
|
||||||
@@ -3305,7 +3330,7 @@ export class UrlbarInput {
|
@@ -3305,7 +3337,7 @@ export class UrlbarInput {
|
||||||
} else {
|
} else {
|
||||||
where = lazy.BrowserUtils.whereToOpenLink(event, false, false);
|
where = lazy.BrowserUtils.whereToOpenLink(event, false, false);
|
||||||
}
|
}
|
||||||
@@ -73,7 +98,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
if (where == "current") {
|
if (where == "current") {
|
||||||
where = "tab";
|
where = "tab";
|
||||||
} else if (where == "tab") {
|
} else if (where == "tab") {
|
||||||
@@ -3859,6 +3884,11 @@ export class UrlbarInput {
|
@@ -3859,6 +3891,11 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
_on_click(event) {
|
_on_click(event) {
|
||||||
@@ -85,7 +110,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
if (
|
if (
|
||||||
event.target == this.inputField ||
|
event.target == this.inputField ||
|
||||||
event.target == this._inputContainer ||
|
event.target == this._inputContainer ||
|
||||||
@@ -3930,7 +3960,7 @@ export class UrlbarInput {
|
@@ -3930,7 +3967,7 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +119,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
this.view.autoOpen({ event });
|
this.view.autoOpen({ event });
|
||||||
} else {
|
} else {
|
||||||
if (this._untrimOnFocusAfterKeydown) {
|
if (this._untrimOnFocusAfterKeydown) {
|
||||||
@@ -3970,9 +4000,12 @@ export class UrlbarInput {
|
@@ -3970,9 +4007,12 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
_on_mousedown(event) {
|
_on_mousedown(event) {
|
||||||
@@ -108,7 +133,7 @@ index 50968dc04b527438acf30151f0c2e92f8b45097c..f8e8e9c06613c5d5f33333fd9e128a72
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
event.target != this.inputField &&
|
event.target != this.inputField &&
|
||||||
@@ -3982,8 +4015,8 @@ export class UrlbarInput {
|
@@ -3982,8 +4022,8 @@ export class UrlbarInput {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,24 +51,6 @@ groupbox {
|
|||||||
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
|
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
@media (-moz-bool-pref: 'zen.theme.color-prefs.amoled') {
|
|
||||||
groupbox {
|
|
||||||
background: #141414;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (-moz-bool-pref: 'zen.theme.color-prefs.colorful') {
|
|
||||||
groupbox {
|
|
||||||
background: light-dark(white, color-mix(in srgb, var(--zen-primary-color) 10%, #1b1b1b 90%));
|
|
||||||
}
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--zen-settings-secondary-background: light-dark(#f2f4f4, color-mix(in srgb, var(--zen-colors-tertiary) 70%, #0f0f0f 30%));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subcategory + groupbox,
|
.subcategory + groupbox,
|
||||||
#noFxaAccount,
|
#noFxaAccount,
|
||||||
#hasFxaAccount {
|
#hasFxaAccount {
|
||||||
@@ -182,7 +164,6 @@ groupbox h2 {
|
|||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-dark-theme-styles-form,
|
|
||||||
#zen-compact-mode-styles-form {
|
#zen-compact-mode-styles-form {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
index 96f930638c04c7ddcc8dc1a7fe4dce8b12a325e6..64487674de1afb711258a36757508cd9b741fcd9 100644
|
index 96f930638c04c7ddcc8dc1a7fe4dce8b12a325e6..9e11e715ade485c33ba4c8f719b41002f3008dde 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
@@ -33,7 +33,7 @@
|
@@ -33,7 +33,7 @@
|
||||||
@@ -64,6 +64,15 @@ index 96f930638c04c7ddcc8dc1a7fe4dce8b12a325e6..64487674de1afb711258a36757508cd9
|
|||||||
direction: rtl;
|
direction: rtl;
|
||||||
mask-image: linear-gradient(to right, transparent, black var(--tab-label-mask-size));
|
mask-image: linear-gradient(to right, transparent, black var(--tab-label-mask-size));
|
||||||
}
|
}
|
||||||
|
@@ -1135,7 +1133,7 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#tabbrowser-arrowscrollbox[orient="vertical"] > #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button,
|
||||||
|
+#tabbrowser-arrowscrollbox[orient="vertical"] #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button,
|
||||||
|
#vertical-tabs-newtab-button {
|
||||||
|
appearance: none;
|
||||||
|
min-height: var(--tab-min-height);
|
||||||
@@ -1146,7 +1144,7 @@
|
@@ -1146,7 +1144,7 @@
|
||||||
margin-inline: var(--tab-inner-inline-margin);
|
margin-inline: var(--tab-inner-inline-margin);
|
||||||
|
|
||||||
@@ -73,6 +82,15 @@ index 96f930638c04c7ddcc8dc1a7fe4dce8b12a325e6..64487674de1afb711258a36757508cd9
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
@@ -1170,7 +1168,7 @@
|
||||||
|
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
||||||
|
* we don't want a gap (between tabs), so we have to add some margin.
|
||||||
|
*/
|
||||||
|
-#tabbrowser-arrowscrollbox[orient="vertical"] > #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button {
|
||||||
|
+#tabbrowser-arrowscrollbox[orient="vertical"] #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button {
|
||||||
|
margin-block: var(--tab-block-margin);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1194,7 +1192,6 @@
|
@@ -1194,7 +1192,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="2.25" r="1.5" data-color="color-2"></circle><line x1="7.25" y1="16.5" x2="7.25" y2="6.24"></line><line x1="10.75" y1="6.24" x2="10.75" y2="16.5"></line><path d="M2.75,5.75c1.751,.3,3.86,.531,6.25,.531,1.777,0,3.894-.128,6.25-.531"></path><line x1="7.25" y1="11.25" x2="10.75" y2="11.25"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="2.25" r="1.5" data-color="color-2"></circle><line x1="7.25" y1="16.5" x2="7.25" y2="6.24"></line><line x1="10.75" y1="6.24" x2="10.75" y2="16.5"></line><path d="M2.75,5.75c1.751,.3,3.86,.531,6.25,.531,1.777,0,3.894-.128,6.25-.531"></path><line x1="7.25" y1="11.25" x2="10.75" y2="11.25"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 534 B After Width: | Height: | Size: 572 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.181,3.257c-.221-.865-.998-1.507-1.931-1.507H5.75c-1.105,0-2,.896-2,2v12.5l5.25-3.5,5.25,3.5v-3"></path><line x1="14.25" y1="5.75" x2="14.25" y2="10.75" data-color="color-2"></line><line x1="16.75" y1="8.25" x2="11.75" y2="8.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.181,3.257c-.221-.865-.998-1.507-1.931-1.507H5.75c-1.105,0-2,.896-2,2v12.5l5.25-3.5,5.25,3.5v-3"></path><line x1="14.25" y1="5.75" x2="14.25" y2="10.75" data-color="color-2"></line><line x1="16.75" y1="8.25" x2="11.75" y2="8.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 490 B After Width: | Height: | Size: 528 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="15.25 6.5 9 12.75 2.75 6.5"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="15.25 6.5 9 12.75 2.75 6.5"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 316 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="11.5 15.25 5.25 9 11.5 2.75"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="11.5 15.25 5.25 9 11.5 2.75"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 317 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="6.5 2.75 12.75 9 6.5 15.25"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="6.5 2.75 12.75 9 6.5 15.25"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 316 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 11.5 9 5.25 15.25 11.5"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 11.5 9 5.25 15.25 11.5"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 317 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="5.75" y1="7.25" x2="5.75" y2="13.75"></line><line x1="14.75" y1="5.75" x2="14.75" y2="12.25"></line><path d="m8.6399,3.0186l4.9461-.8246c.61-.102,1.164.368,1.164.986v2.57l-9,1.5"></path><circle cx="3.75" cy="13.75" r="2"></circle><circle cx="12.75" cy="12.25" r="2"></circle><line x1="3.75" y1="1.25" x2="3.75" y2="6.25" data-color="color-2"></line><line x1="6.25" y1="3.75" x2="1.25" y2="3.75" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="5.75" y1="7.25" x2="5.75" y2="13.75"></line><line x1="14.75" y1="5.75" x2="14.75" y2="12.25"></line><path d="m8.6399,3.0186l4.9461-.8246c.61-.102,1.164.368,1.164.986v2.57l-9,1.5"></path><circle cx="3.75" cy="13.75" r="2"></circle><circle cx="12.75" cy="12.25" r="2"></circle><line x1="3.75" y1="1.25" x2="3.75" y2="6.25" data-color="color-2"></line><line x1="6.25" y1="3.75" x2="1.25" y2="3.75" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 692 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M9.25,8.75V1.75s1.303,2.048,3.427,3.573"></path><path d="M5.406,16.13c.268,.078,.551,.12,.844,.12,1.657,0,3-1.343,3-3,0-.293-.042-.577-.12-.844"></path><path d="M7.485,10.515c-.377-.17-.795-.265-1.235-.265-1.657,0-3,1.343-3,3,0,.44,.095,.858,.265,1.235"></path><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M9.25,8.75V1.75s1.303,2.048,3.427,3.573"></path><path d="M5.406,16.13c.268,.078,.551,.12,.844,.12,1.657,0,3-1.343,3-3,0-.293-.042-.577-.12-.844"></path><path d="M7.485,10.515c-.377-.17-.795-.265-1.235-.265-1.657,0-3,1.343-3,3,0,.44,.095,.858,.265,1.235"></path><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 593 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M9.75,13.25V1.75s1.75,2.75,4.5,4.25" data-color="color-2"></path><circle cx="6.75" cy="13.25" r="3"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M9.75,13.25V1.75s1.75,2.75,4.5,4.25" data-color="color-2"></path><circle cx="6.75" cy="13.25" r="3"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 339 B After Width: | Height: | Size: 377 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="2.75" y1="9" x2="15.25" y2="9" data-color="color-2"></line><polyline points="7 13.25 2.75 9 7 4.75"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="2.75" y1="9" x2="15.25" y2="9" data-color="color-2"></line><polyline points="7 13.25 2.75 9 7 4.75"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 380 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M12.25,16.25l-4.75-3.5-4.75,3.5V6.75c0-1.105,.895-2,2-2h5.5c1.105,0,2,.895,2,2v9.5Z"></path><path d="M6.781,2c.287-.159,.617-.25,.969-.25h5.5c1.105,0,2,.895,2,2V13.25" data-color="color-2"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M12.25,16.25l-4.75-3.5-4.75,3.5V6.75c0-1.105,.895-2,2-2h5.5c1.105,0,2,.895,2,2v9.5Z"></path><path d="M6.781,2c.287-.159,.617-.25,.969-.25h5.5c1.105,0,2,.895,2,2V13.25" data-color="color-2"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 426 B After Width: | Height: | Size: 464 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M12.25,16.25l-4.75-3.5-4.75,3.5V6.75c0-1.105,.895-2,2-2h5.5c1.105,0,2,.895,2,2v9.5Z"></path><path d="M6.781,2c.287-.159,.617-.25,.969-.25h5.5c1.105,0,2,.895,2,2V13.25" data-color="color-2"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M12.25,16.25l-4.75-3.5-4.75,3.5V6.75c0-1.105,.895-2,2-2h5.5c1.105,0,2,.895,2,2v9.5Z"></path><path d="M6.781,2c.287-.159,.617-.25,.969-.25h5.5c1.105,0,2,.895,2,2V13.25" data-color="color-2"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 426 B After Width: | Height: | Size: 464 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,16.25l-5.25-3.5-5.25,3.5V3.75c0-1.105,.895-2,2-2h6.5c1.105,0,2,.895,2,2v12.5Z"></path><polyline points="6.497 8 8.106 9.5 11.503 5" data-color="color-2"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,16.25l-5.25-3.5-5.25,3.5V3.75c0-1.105,.895-2,2-2h6.5c1.105,0,2,.895,2,2v12.5Z"></path><polyline points="6.497 8 8.106 9.5 11.503 5" data-color="color-2"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 401 B After Width: | Height: | Size: 439 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M7.285,14.25h6.965c1.105,0,2-.895,2-2V5.75c0-.138-.014-.273-.041-.403"></path><path d="M14.25,3.75h-2.25l-.507-1.351c-.146-.39-.519-.649-.936-.649h-3.114c-.417,0-.79,.259-.936,.649l-.507,1.351H3.75c-1.105,0-2,.895-2,2v6.5c0,1.105,.895,2,2,2"></path><path d="M7.055,10.945c-.498-.498-.805-1.185-.805-1.945,0-1.519,1.231-2.75,2.75-2.75,.759,0,1.447,.308,1.945,.805" data-color="color-2"></path><circle cx="4.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M7.285,14.25h6.965c1.105,0,2-.895,2-2V5.75c0-.138-.014-.273-.041-.403"></path><path d="M14.25,3.75h-2.25l-.507-1.351c-.146-.39-.519-.649-.936-.649h-3.114c-.417,0-.79,.259-.936,.649l-.507,1.351H3.75c-1.105,0-2,.895-2,2v6.5c0,1.105,.895,2,2,2"></path><path d="M7.055,10.945c-.498-.498-.805-1.185-.805-1.945,0-1.519,1.231-2.75,2.75-2.75,.759,0,1.447,.308,1.945,.805" data-color="color-2"></path><circle cx="4.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 805 B After Width: | Height: | Size: 843 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,3.75h-2.25l-.507-1.351c-.146-.39-.519-.649-.936-.649h-3.114c-.417,0-.79,.259-.936,.649l-.507,1.351H3.75c-1.105,0-2,.895-2,2v6.5c0,1.105,.895,2,2,2H14.25c1.105,0,2-.895,2-2V5.75c0-1.105-.895-2-2-2Z"></path><circle cx="9" cy="9" r="2.75" data-color="color-2"></circle><circle cx="4.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,3.75h-2.25l-.507-1.351c-.146-.39-.519-.649-.936-.649h-3.114c-.417,0-.79,.259-.936,.649l-.507,1.351H3.75c-1.105,0-2,.895-2,2v6.5c0,1.105,.895,2,2,2H14.25c1.105,0,2-.895,2-2V5.75c0-1.105-.895-2-2-2Z"></path><circle cx="9" cy="9" r="2.75" data-color="color-2"></circle><circle cx="4.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 660 B |
@@ -3,7 +3,7 @@
|
|||||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
-->
|
-->
|
||||||
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="black" fill-opacity="context-fill-opacity">
|
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="currentColor" fill-opacity="context-fill-opacity">
|
||||||
<defs><clipPath id="a"><path d="M2.1 0 16 13.9V0zM0 .7V16h15.3z"/></clipPath></defs>
|
<defs><clipPath id="a"><path d="M2.1 0 16 13.9V0zM0 .7V16h15.3z"/></clipPath></defs>
|
||||||
<path clip-path="url(#a)" d="M4 1a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4zm0 1h8a2 2 0 0 1 2 2v8c0 .373-.102.72-.28 1.02L9.05 8.432a1.5 1.5 0 0 0-2.101 0l-4.67 4.588a1.988 1.988 0 0 1-.28-1.02V4a2 2 0 0 1 2-2zm6.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm0 1a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1zM8 9.002c.127 0 .252.047.35.143l4.662 4.582A1.99 1.99 0 0 1 12 14H4c-.37 0-.715-.099-1.012-.273L7.65 9.145A.496.496 0 0 1 8 9.002z"/>
|
<path clip-path="url(#a)" d="M4 1a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4zm0 1h8a2 2 0 0 1 2 2v8c0 .373-.102.72-.28 1.02L9.05 8.432a1.5 1.5 0 0 0-2.101 0l-4.67 4.588a1.988 1.988 0 0 1-.28-1.02V4a2 2 0 0 1 2-2zm6.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm0 1a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1zM8 9.002c.127 0 .252.047.35.143l4.662 4.582A1.99 1.99 0 0 1 12 14H4c-.37 0-.715-.099-1.012-.273L7.65 9.145A.496.496 0 0 1 8 9.002z"/>
|
||||||
<path d="M.5 0a.5.5 0 0 0-.354.146.5.5 0 0 0 0 .707l15 15a.5.5 0 0 0 .707 0 .5.5 0 0 0 0-.707l-15-15A.5.5 0 0 0 .499 0z"/>
|
<path d="M.5 0a.5.5 0 0 0-.354.146.5.5 0 0 0 0 .707l15 15a.5.5 0 0 0 .707 0 .5.5 0 0 0 0-.707l-15-15A.5.5 0 0 0 .499 0z"/>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 999 B After Width: | Height: | Size: 1006 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3.762,14.989l6.074-6.075c.781-.781,2.047-.781,2.828,0l2.586,2.586" data-color="color-2"></path><rect x="2.75" y="2.75" width="12.5" height="12.5" rx="2" ry="2"></rect><circle cx="6.25" cy="7.25" r="1.25" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3.762,14.989l6.074-6.075c.781-.781,2.047-.781,2.828,0l2.586,2.586" data-color="color-2"></path><rect x="2.75" y="2.75" width="12.5" height="12.5" rx="2" ry="2"></rect><circle cx="6.25" cy="7.25" r="1.25" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 556 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 9.5 6.5 13.25 15.25 4.5"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 9.5 6.5 13.25 15.25 4.5"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 318 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="9.75 4.75 14 9 9.75 13.25" data-color="color-2"></polyline><polyline points="5 4.75 9.25 9 5 13.25"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="9.75 4.75 14 9 9.75 13.25" data-color="color-2"></polyline><polyline points="5 4.75 9.25 9 5 13.25"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 350 B After Width: | Height: | Size: 388 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,16.25v-.5c0-1.105,.895-2,2-2H14.25c1.105,0,2,.895,2,2v.5"></path><path d="M3.75,11.25c0-.828,.672-1.5,1.5-1.5h7.5c.828,0,1.5,.672,1.5,1.5"></path><polyline points="11.5 4.75 9 7.25 6.5 4.75" data-color="color-2"></polyline><line x1="9" y1="7" x2="9" y2="1.75" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,16.25v-.5c0-1.105,.895-2,2-2H14.25c1.105,0,2,.895,2,2v.5"></path><path d="M3.75,11.25c0-.828,.672-1.5,1.5-1.5h7.5c.828,0,1.5,.672,1.5,1.5"></path><polyline points="11.5 4.75 9 7.25 6.5 4.75" data-color="color-2"></polyline><line x1="9" y1="7" x2="9" y2="1.75" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 562 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14" y1="4" x2="4" y2="14" data-color="color-2"></line><line x1="4" y1="4" x2="14" y2="14"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14" y1="4" x2="4" y2="14" data-color="color-2"></line><line x1="4" y1="4" x2="14" y2="14"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 366 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.75,2.75h7c1.105,0,2,.895,2,2v1.5" data-color="color-2"></path><line x1="11.25" y1="2.75" x2="11.25" y2="6.25" data-color="color-2"></line><line x1="14.75" y1="11.75" x2="14.75" y2="16.75" data-color="color-2"></line><path d="M15.75,9.461v-3.211H6.75V2.75h-2.5c-1.105,0-2,.895-2,2V13.25c0,1.105,.895,2,2,2h5.711"></path><line x1="17.25" y1="14.25" x2="12.25" y2="14.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.75,2.75h7c1.105,0,2,.895,2,2v1.5" data-color="color-2"></path><line x1="11.25" y1="2.75" x2="11.25" y2="6.25" data-color="color-2"></line><line x1="14.75" y1="11.75" x2="14.75" y2="16.75" data-color="color-2"></line><path d="M15.75,9.461v-3.211H6.75V2.75h-2.5c-1.105,0-2,.895-2,2V13.25c0,1.105,.895,2,2,2h5.711"></path><line x1="17.25" y1="14.25" x2="12.25" y2="14.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 630 B After Width: | Height: | Size: 668 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="10.25 12.75 12.75 15.25 15.25 12.75" data-color="color-2"></polyline><polyline points="15.25 5.25 12.75 2.75 10.25 5.25" data-color="color-2"></polyline><line x1="12.75" y1="15" x2="12.75" y2="3" data-color="color-2"></line><rect x="2.75" y="10.25" width="5" height="5" rx="1" ry="1"></rect><rect x="2.75" y="2.75" width="5" height="5" rx="1" ry="1"></rect></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="10.25 12.75 12.75 15.25 15.25 12.75" data-color="color-2"></polyline><polyline points="15.25 5.25 12.75 2.75 10.25 5.25" data-color="color-2"></polyline><line x1="12.75" y1="15" x2="12.75" y2="3" data-color="color-2"></line><rect x="2.75" y="10.25" width="5" height="5" rx="1" ry="1"></rect><rect x="2.75" y="2.75" width="5" height="5" rx="1" ry="1"></rect></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 596 B After Width: | Height: | Size: 634 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M13.368,4.632c-.726-1.694-2.408-2.882-4.368-2.882h0c-2.623,0-4.75,2.127-4.75,4.75v4.75c0,1.105-.895,2-2,2h2.5"></path><path d="M8,13.25h7.75c-1.105,0-2-.895-2-2v-3.5"></path><path d="M10.588,15.185c-.095-.117-.237-.185-.388-.185h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M13.368,4.632c-.726-1.694-2.408-2.882-4.368-2.882h0c-2.623,0-4.75,2.127-4.75,4.75v4.75c0,1.105-.895,2-2,2h2.5"></path><path d="M8,13.25h7.75c-1.105,0-2-.895-2-2v-3.5"></path><path d="M10.588,15.185c-.095-.117-.237-.185-.388-.185h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 757 B After Width: | Height: | Size: 795 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15.75,13.25c-1.105,0-2-.895-2-2V6.5c0-2.623-2.127-4.75-4.75-4.75h0c-2.623,0-4.75,2.127-4.75,4.75v4.75c0,1.105-.895,2-2,2H15.75Z"></path><path d="M10.588,15.185c-.095-.117-.237-.185-.388-.185h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15.75,13.25c-1.105,0-2-.895-2-2V6.5c0-2.623-2.127-4.75-4.75-4.75h0c-2.623,0-4.75,2.127-4.75,4.75v4.75c0,1.105-.895,2-2,2H15.75Z"></path><path d="M10.588,15.185c-.095-.117-.237-.185-.388-.185h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 656 B After Width: | Height: | Size: 694 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="12.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="11.75" cy="12.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="6.25" cy="12.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><path d="M6.25,15.25h-1c-1.105,0-2-.895-2-2v-2.625c0-.897-.728-1.625-1.625-1.625,.897,0,1.625-.728,1.625-1.625v-2.625c0-1.105,.895-2,2-2h1"></path><path d="M11.75,15.25h1c1.105,0,2-.895,2-2v-2.625c0-.897,.728-1.625,1.625-1.625-.897,0-1.625-.728-1.625-1.625v-2.625c0-1.105-.895-2-2-2h-1"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="12.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="11.75" cy="12.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="6.25" cy="12.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><path d="M6.25,15.25h-1c-1.105,0-2-.895-2-2v-2.625c0-.897-.728-1.625-1.625-1.625,.897,0,1.625-.728,1.625-1.625v-2.625c0-1.105,.895-2,2-2h1"></path><path d="M11.75,15.25h1c1.105,0,2-.895,2-2v-2.625c0-.897,.728-1.625,1.625-1.625-.897,0-1.625-.728-1.625-1.625v-2.625c0-1.105-.895-2-2-2h-1"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 873 B After Width: | Height: | Size: 911 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15.25,11.75v1.5c0,1.105-.895,2-2,2H4.75c-1.105,0-2-.895-2-2v-1.5"></path><polyline points="5.5 6.75 9 10.25 12.5 6.75" data-color="color-2"></polyline><line x1="9" y1="10.25" x2="9" y2="2.75" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15.25,11.75v1.5c0,1.105-.895,2-2,2H4.75c-1.105,0-2-.895-2-2v-1.5"></path><polyline points="5.5 6.75 9 10.25 12.5 6.75" data-color="color-2"></polyline><line x1="9" y1="10.25" x2="9" y2="2.75" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 451 B After Width: | Height: | Size: 489 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="6.75" cy="9" r=".5" fill="currentColor" data-color="color-2"></circle><circle cx="6.75" cy="3.75" r=".5" fill="currentColor"></circle><circle cx="6.75" cy="14.25" r=".5" fill="currentColor"></circle><circle cx="11.25" cy="9" r=".5" fill="currentColor" data-color="color-2"></circle><circle cx="11.25" cy="3.75" r=".5" fill="currentColor"></circle><circle cx="11.25" cy="14.25" r=".5" fill="currentColor"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="6.75" cy="9" r=".5" fill="currentColor" data-color="color-2"></circle><circle cx="6.75" cy="3.75" r=".5" fill="currentColor"></circle><circle cx="6.75" cy="14.25" r=".5" fill="currentColor"></circle><circle cx="11.25" cy="9" r=".5" fill="currentColor" data-color="color-2"></circle><circle cx="11.25" cy="3.75" r=".5" fill="currentColor"></circle><circle cx="11.25" cy="14.25" r=".5" fill="currentColor"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 684 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="5.25" y="5.25" width="11" height="11" rx="2" ry="2"></rect><path d="M2.801,11.998L1.772,5.074c-.162-1.093,.592-2.11,1.684-2.272l6.924-1.029c.933-.139,1.81,.39,2.148,1.228" data-color="color-2"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="5.25" y="5.25" width="11" height="11" rx="2" ry="2"></rect><path d="M2.801,11.998L1.772,5.074c-.162-1.093,.592-2.11,1.684-2.272l6.924-1.029c.933-.139,1.81,.39,2.148,1.228" data-color="color-2"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 468 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,6.75v6.5c0,1.105,.895,2,2,2H12.25" data-color="color-2"></path><rect x="4.75" y="2.75" width="11.5" height="9.5" rx="2" ry="2" transform="translate(21 15) rotate(180)"></rect></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,6.75v6.5c0,1.105,.895,2,2,2H12.25" data-color="color-2"></path><rect x="4.75" y="2.75" width="11.5" height="9.5" rx="2" ry="2" transform="translate(21 15) rotate(180)"></rect></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 411 B After Width: | Height: | Size: 449 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="12.75" y1="7.75" x2="16.25" y2="7.75" data-color="color-2"></line><line x1="4" y1="7.75" x2="9.25" y2="7.75" data-color="color-2"></line><circle cx="4" cy="5.5" r="2.25" data-color="color-2"></circle><line x1="5.409" y1="11.659" x2="14" y2="3"></line><circle cx="7" cy="13.25" r="2.25"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="12.75" y1="7.75" x2="16.25" y2="7.75" data-color="color-2"></line><line x1="4" y1="7.75" x2="9.25" y2="7.75" data-color="color-2"></line><circle cx="4" cy="5.5" r="2.25" data-color="color-2"></circle><line x1="5.409" y1="11.659" x2="14" y2="3"></line><circle cx="7" cy="13.25" r="2.25"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 564 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="m13.474,7.25l-.374,7.105c-.056,1.062-.934,1.895-1.997,1.895h-4.205c-1.064,0-1.941-.833-1.997-1.895l-.374-7.105"></path><line x1="2.75" y1="4.75" x2="15.25" y2="4.75" data-color="color-2"></line><path d="m6.75,4.75v-2c0-.552.448-1,1-1h2.5c.552,0,1,.448,1,1v2" data-color="color-2"></path><line x1="7.375" y1="8.75" x2="7.625" y2="13.25" data-color="color-2"></line><line x1="10.625" y1="8.75" x2="10.375" y2="13.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="m13.474,7.25l-.374,7.105c-.056,1.062-.934,1.895-1.997,1.895h-4.205c-1.064,0-1.941-.833-1.997-1.895l-.374-7.105"></path><line x1="2.75" y1="4.75" x2="15.25" y2="4.75" data-color="color-2"></line><path d="m6.75,4.75v-2c0-.552.448-1,1-1h2.5c.552,0,1,.448,1,1v2" data-color="color-2"></path><line x1="7.375" y1="8.75" x2="7.625" y2="13.25" data-color="color-2"></line><line x1="10.625" y1="8.75" x2="10.375" y2="13.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 711 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.25,2.75h-1c-1.105,0-2,.895-2,2V14.25c0,1.105,.895,2,2,2h7.5c1.105,0,2-.895,2-2V4.75c0-1.105-.895-2-2-2h-1"></path><rect x="6.25" y="1.25" width="5.5" height="3" rx="1" ry="1" data-color="color-2"></rect></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.25,2.75h-1c-1.105,0-2,.895-2,2V14.25c0,1.105,.895,2,2,2h7.5c1.105,0,2-.895,2-2V4.75c0-1.105-.895-2-2-2h-1"></path><rect x="6.25" y="1.25" width="5.5" height="3" rx="1" ry="1" data-color="color-2"></rect></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 474 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15,10c-.528-.461-2.7-2.251-6-2.251s-5.472,1.79-6,2.251" data-color="color-2"></path><polyline points="13.375 5.598 15 10 10.47 11.222"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15,10c-.528-.461-2.7-2.251-6-2.251s-5.472,1.79-6,2.251" data-color="color-2"></path><polyline points="13.375 5.598 15 10 10.47 11.222"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 415 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14.75" y1=".75" x2="14.75" y2="5.75" data-color="color-2"></line><line x1="17.25" y1="3.25" x2="12.25" y2="3.25" data-color="color-2"></line><path d="M2.25,5.25c0-1.105,.895-2,2-2"></path><path d="M14.75,13.75c0,1.105-.895,2-2,2"></path><path d="M4.25,15.75c-1.105,0-2-.895-2-2"></path><line x1="7.25" y1="3.25" x2="9.25" y2="3.25"></line><line x1="7.25" y1="15.75" x2="9.75" y2="15.75"></line><line x1="14.75" y1="8.75" x2="14.75" y2="10.75"></line><line x1="2.25" y1="8.25" x2="2.25" y2="10.75"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14.75" y1=".75" x2="14.75" y2="5.75" data-color="color-2"></line><line x1="17.25" y1="3.25" x2="12.25" y2="3.25" data-color="color-2"></line><path d="M2.25,5.25c0-1.105,.895-2,2-2"></path><path d="M14.75,13.75c0,1.105-.895,2-2,2"></path><path d="M4.25,15.75c-1.105,0-2-.895-2-2"></path><line x1="7.25" y1="3.25" x2="9.25" y2="3.25"></line><line x1="7.25" y1="15.75" x2="9.75" y2="15.75"></line><line x1="14.75" y1="8.75" x2="14.75" y2="10.75"></line><line x1="2.25" y1="8.25" x2="2.25" y2="10.75"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 735 B After Width: | Height: | Size: 773 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M11.75,9.247l5.086-5.083c.552-.552,.552-1.448,0-2-.552-.552-1.448-.552-2,0l-5.094,5.096" data-color="color-2"></path><path d="M5.75,11.815c2.162,.65,3.917,.704,5.351-.764,.865-.868,.865-2.276,0-3.145s-2.261-.881-3.133,0c-1.418,1.434-.18,2.795-2.218,3.909Z" data-color="color-2"></path><path d="M16.25,8.284v4.966c0,1.105-.895,2-2,2H3.75c-1.105,0-2-.895-2-2V4.75c0-1.105,.895-2,2-2h6.965"></path><circle cx="4.25" cy="5.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="6.75" cy="5.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M11.75,9.247l5.086-5.083c.552-.552,.552-1.448,0-2-.552-.552-1.448-.552-2,0l-5.094,5.096" data-color="color-2"></path><path d="M5.75,11.815c2.162,.65,3.917,.704,5.351-.764,.865-.868,.865-2.276,0-3.145s-2.261-.881-3.133,0c-1.418,1.434-.18,2.795-2.218,3.909Z" data-color="color-2"></path><path d="M16.25,8.284v4.966c0,1.105-.895,2-2,2H3.75c-1.105,0-2-.895-2-2V4.75c0-1.105,.895-2,2-2h6.965"></path><circle cx="4.25" cy="5.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="6.75" cy="5.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 863 B After Width: | Height: | Size: 901 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3,10c.528-.461,2.7-2.251,6-2.251s5.472,1.79,6,2.251" data-color="color-2"></path><polyline points="4.625 5.598 3 10 7.53 11.222"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3,10c.528-.461,2.7-2.251,6-2.251s5.472,1.79,6,2.251" data-color="color-2"></path><polyline points="4.625 5.598 3 10 7.53 11.222"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 409 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M2.75,15.25s3.599-.568,4.546-1.515c.947-.947,7.327-7.327,7.327-7.327,.837-.837,.837-2.194,0-3.03-.837-.837-2.194-.837-3.03,0,0,0-6.38,6.38-7.327,7.327s-1.515,4.546-1.515,4.546h0Z"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M2.75,15.25s3.599-.568,4.546-1.515c.947-.947,7.327-7.327,7.327-7.327,.837-.837,.837-2.194,0-3.03-.837-.837-2.194-.837-3.03,0,0,0-6.38,6.38-7.327,7.327s-1.515,4.546-1.515,4.546h0Z"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 455 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M8.743,7.769l-.946-.315-.316-.947c-.102-.306-.609-.306-.711,0l-.316,.947-.946,.315c-.153,.051-.257,.194-.257,.356s.104,.305,.257,.356l.946,.315,.316,.947c.051,.153,.194,.256,.355,.256s.305-.104,.355-.256l.316-.947,.946-.315c.153-.051,.257-.194,.257-.356s-.104-.305-.257-.356Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><path d="M15.144,9.976c.52-.995,.856-2.117,.856-3.367,.008-2.12-1.704-3.846-3.826-3.859-1.277,.016-2.464,.66-3.174,1.72-.709-1.061-1.896-1.704-3.173-1.72-2.123,.013-3.834,1.739-3.826,3.859,0,4.826,4.959,7.794,6.529,8.613,.297,.155,.644,.155,.941,0,.114-.059,.249-.133,.395-.214"></path><path d="M15.658,12.99l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><circle cx="12.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M8.743,7.769l-.946-.315-.316-.947c-.102-.306-.609-.306-.711,0l-.316,.947-.946,.315c-.153,.051-.257,.194-.257,.356s.104,.305,.257,.356l.946,.315,.316,.947c.051,.153,.194,.256,.355,.256s.305-.104,.355-.256l.316-.947,.946-.315c.153-.051,.257-.194,.257-.356s-.104-.305-.257-.356Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><path d="M15.144,9.976c.52-.995,.856-2.117,.856-3.367,.008-2.12-1.704-3.846-3.826-3.859-1.277,.016-2.464,.66-3.174,1.72-.709-1.061-1.896-1.704-3.173-1.72-2.123,.013-3.834,1.739-3.826,3.859,0,4.826,4.959,7.794,6.529,8.613,.297,.155,.644,.155,.941,0,.114-.059,.249-.133,.395-.214"></path><path d="M15.658,12.99l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><circle cx="12.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="8.999 4.927 7.75 7 10.5 8.75 8.5 10.75" data-color="color-2"></polyline><path d="M15.2,9.222l-5.48,5.694c-.393,.409-1.048,.409-1.441,0L2.799,9.222c-1.452-1.528-1.389-3.944,.139-5.395,1.528-1.452,3.944-1.389,5.395,.139,.27,.284,.495,.609,.666,.962,1.074-2.212,4.002-2.92,6.007-1.162,.535,.469,.929,1.101,1.11,1.79,.363,1.383-.034,2.738-.916,3.666Z"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="8.999 4.927 7.75 7 10.5 8.75 8.5 10.75" data-color="color-2"></polyline><path d="M15.2,9.222l-5.48,5.694c-.393,.409-1.048,.409-1.441,0L2.799,9.222c-1.452-1.528-1.389-3.944,.139-5.395,1.528-1.452,3.944-1.389,5.395,.139,.27,.284,.495,.609,.666,.962,1.074-2.212,4.002-2.92,6.007-1.162,.535,.469,.929,1.101,1.11,1.79,.363,1.383-.034,2.738-.916,3.666Z"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 632 B |
1
src/browser/themes/shared/zen-icons/expand-sidebar.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="6.25" y1="12.5" x2="6.25" y2="15.25" data-color="color-2"></line><line x1="6.25" y1="2.75" x2="6.25" y2="5.5" data-color="color-2"></line><polyline points="8.75 6.5 6.25 9 8.75 11.5" data-color="color-2"></polyline><line x1="6.25" y1="9" x2="12.75" y2="9" data-color="color-2"></line><rect x="1.75" y="2.75" width="14.5" height="12.5" rx="2" ry="2" transform="translate(18 18) rotate(180)"></rect></g></svg>
|
||||||
|
After Width: | Height: | Size: 666 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M4.25,9.25V3.75c0-1.105,.895-2,2-2h6c1.105,0,2,.895,2,2V13.25c0,1.105-.895,2-2,2H7.25"></path><polyline points="7.24 6.75 11.25 6.75 11.25 10.76" data-color="color-2"></polyline><line x1="11.25" y1="6.75" x2="1.75" y2="16.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M4.25,9.25V3.75c0-1.105,.895-2,2-2h6c1.105,0,2,.895,2,2V13.25c0,1.105-.895,2-2,2H7.25"></path><polyline points="7.24 6.75 11.25 6.75 11.25 10.76" data-color="color-2"></polyline><line x1="11.25" y1="6.75" x2="1.75" y2="16.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 484 B After Width: | Height: | Size: 522 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M2.25,8.75V4.75c0-1.105,.895-2,2-2h1.951c.607,0,1.18,.275,1.56,.748l.603,.752h5.386c1.105,0,2,.895,2,2v2.266"></path><path d="M15.726,8.516c-.117-.993-.952-1.766-1.976-1.766H4.25c-1.105,0-2,.896-2,2v4.5c0,1.104,.895,2,2,2h4.141"></path><circle cx="14" cy="14" r="3.25" data-color="color-2"></circle><line x1="11.702" y1="16.298" x2="16.292" y2="11.708" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M2.25,8.75V4.75c0-1.105,.895-2,2-2h1.951c.607,0,1.18,.275,1.56,.748l.603,.752h5.386c1.105,0,2,.895,2,2v2.266"></path><path d="M15.726,8.516c-.117-.993-.952-1.766-1.976-1.766H4.25c-1.105,0-2,.896-2,2v4.5c0,1.104,.895,2,2,2h4.141"></path><circle cx="14" cy="14" r="3.25" data-color="color-2"></circle><line x1="11.702" y1="16.298" x2="16.292" y2="11.708" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 611 B After Width: | Height: | Size: 649 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.75,8.25c.372,0,.716,.118,1,.317v-2.317c0-1.104-.895-2-2-2h-2.317c.198-.284,.317-.627,.317-1,0-.967-.784-1.75-1.75-1.75s-1.75,.783-1.75,1.75c0,.373,.118,.716,.317,1h-2.317c-1.105,0-2,.896-2,2v2.317c-.284-.198-.628-.317-1-.317-.966,0-1.75,.783-1.75,1.75s.784,1.75,1.75,1.75c.372,0,.716-.118,1-.317v2.317c0,1.104,.895,2,2,2h2.317c-.198-.284-.317-.627-.317-1,0-.967,.784-1.75,1.75-1.75s1.75,.783,1.75,1.75c0,.373-.118,.716-.317,1h2.317c1.105,0,2-.896,2-2v-2.317c-.284,.198-.628,.317-1,.317-.966,0-1.75-.783-1.75-1.75s.784-1.75,1.75-1.75Z"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.75,8.25c.372,0,.716,.118,1,.317v-2.317c0-1.104-.895-2-2-2h-2.317c.198-.284,.317-.627,.317-1,0-.967-.784-1.75-1.75-1.75s-1.75,.783-1.75,1.75c0,.373,.118,.716,.317,1h-2.317c-1.105,0-2,.896-2,2v2.317c-.284-.198-.628-.317-1-.317-.966,0-1.75,.783-1.75,1.75s.784,1.75,1.75,1.75c.372,0,.716-.118,1-.317v2.317c0,1.104,.895,2,2,2h2.317c-.198-.284-.317-.627-.317-1,0-.967,.784-1.75,1.75-1.75s1.75,.783,1.75,1.75c0,.373-.118,.716-.317,1h2.317c1.105,0,2-.896,2-2v-2.317c-.284,.198-.628,.317-1,.317-.966,0-1.75-.783-1.75-1.75s.784-1.75,1.75-1.75Z"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 776 B After Width: | Height: | Size: 814 B |
@@ -3,4 +3,4 @@
|
|||||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
-->
|
-->
|
||||||
<svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="black" fill-opacity="context-fill-opacity"><path d="M14.7498,13.0913c-.0154.9253-.7896,1.6587-1.715,1.6587h-6.956c-.2705,0-.4541-.275-.3505-.5248l.0024-.0057c.4574-1.1044,1.1996-2.0362,2.1473-2.7161.1179-.0846.2601-.1284.4052-.1284h4.7793c.9416,0,1.703.7711,1.6873,1.7163Z"/><path d="M9.9212,1.25c.2705,0,.4541.275.3505.5248l-.0024.0057c-.4574,1.1044-1.1996,2.0362-2.1473,2.7161-.1179.0846-.2601.1284-.4052.1284H2.9653c-.9254,0-1.6996-.7334-1.715-1.6587-.0158-.9452.7457-1.7163,1.6873-1.7163h6.9837Z"/><path d="M2.9372,14.75c-.2152,0-.4339-.0414-.6451-.1289-.861-.3566-1.2699-1.3437-.9132-2.2047.5485-1.3241,1.3346-2.5112,2.3367-3.5283,1.0381-1.0537,2.2623-1.877,3.6387-2.4471,1.8919-.7837,3.3654-2.2571,4.149-4.149.3566-.861,1.3437-1.2698,2.2047-.9132.861.3566,1.2699,1.3437.9132,2.2047-.5485,1.3241-1.3346,2.5112-2.3367,3.5283-1.0381,1.0537-2.2623,1.877-3.6387,2.4471-1.8919.7837-3.3654,2.2571-4.149,4.149-.2691.6498-.8975,1.0421-1.5596,1.0421Z"/></svg>
|
<svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" fill-opacity="context-fill-opacity"><path d="M14.7498,13.0913c-.0154.9253-.7896,1.6587-1.715,1.6587h-6.956c-.2705,0-.4541-.275-.3505-.5248l.0024-.0057c.4574-1.1044,1.1996-2.0362,2.1473-2.7161.1179-.0846.2601-.1284.4052-.1284h4.7793c.9416,0,1.703.7711,1.6873,1.7163Z"/><path d="M9.9212,1.25c.2705,0,.4541.275.3505.5248l-.0024.0057c-.4574,1.1044-1.1996,2.0362-2.1473,2.7161-.1179.0846-.2601.1284-.4052.1284H2.9653c-.9254,0-1.6996-.7334-1.715-1.6587-.0158-.9452.7457-1.7163,1.6873-1.7163h6.9837Z"/><path d="M2.9372,14.75c-.2152,0-.4339-.0414-.6451-.1289-.861-.3566-1.2699-1.3437-.9132-2.2047.5485-1.3241,1.3346-2.5112,2.3367-3.5283,1.0381-1.0537,2.2623-1.877,3.6387-2.4471,1.8919-.7837,3.3654-2.2571,4.149-4.149.3566-.861,1.3437-1.2698,2.2047-.9132.861.3566,1.2699,1.3437.9132,2.2047-.5485,1.3241-1.3346,2.5112-2.3367,3.5283-1.0381,1.0537-2.2623,1.877-3.6387,2.4471-1.8919.7837-3.3654,2.2571-4.149,4.149-.2691.6498-.8975,1.0421-1.5596,1.0421Z"/></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M13.75,5.25c1.105,0,2,.895,2,2v5.5c0,1.105-.895,2-2,2H4.25c-1.105,0-2-.895-2-2V4.75c0-1.105,.895-2,2-2h1.825c.587,0,1.144,.258,1.524,.705l1.524,1.795h4.626Z"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M13.75,5.25c1.105,0,2,.895,2,2v5.5c0,1.105-.895,2-2,2H4.25c-1.105,0-2-.895-2-2V4.75c0-1.105,.895-2,2-2h1.825c.587,0,1.144,.258,1.524,.705l1.524,1.795h4.626Z"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 433 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="9 4.75 9 9 12.25 11.25" data-color="color-2"></polyline><path d="M1.75,9C1.75,4.996,4.996,1.75,9,1.75s7.25,3.246,7.25,7.25-3.246,7.25-7.25,7.25c-3.031,0-5.627-1.86-6.71-4.5"></path><polyline points="1.88 14.695 2.288 11.75 5.232 12.157"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="9 4.75 9 9 12.25 11.25" data-color="color-2"></polyline><path d="M1.75,9C1.75,4.996,4.996,1.75,9,1.75s7.25,3.246,7.25,7.25-3.246,7.25-7.25,7.25c-3.031,0-5.627-1.86-6.71-4.5"></path><polyline points="1.88 14.695 2.288 11.75 5.232 12.157"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 487 B After Width: | Height: | Size: 525 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="15.25" y1="9" x2="2.75" y2="9" data-color="color-2"></line><polyline points="11 4.75 15.25 9 11 13.25"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="15.25" y1="9" x2="2.75" y2="9" data-color="color-2"></line><polyline points="11 4.75 15.25 9 11 13.25"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 383 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 7.25 7.25 7.25 7.25 2.75"></polyline><line x1="7.25" y1="7.25" x2="2.75" y2="2.75"></line><polyline points="10.75 15.25 10.75 10.75 15.25 10.75" data-color="color-2"></polyline><line x1="10.75" y1="10.75" x2="15.25" y2="15.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 7.25 7.25 7.25 7.25 2.75"></polyline><line x1="7.25" y1="7.25" x2="2.75" y2="2.75"></line><polyline points="10.75 15.25 10.75 10.75 15.25 10.75" data-color="color-2"></polyline><line x1="10.75" y1="10.75" x2="15.25" y2="15.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 499 B After Width: | Height: | Size: 537 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="10.75 2.75 15.25 2.75 15.25 7.25"></polyline><line x1="15.25" y1="2.75" x2="10.75" y2="7.25"></line><polyline points="2.75 10.75 2.75 15.25 7.25 15.25" data-color="color-2"></polyline><line x1="2.75" y1="15.25" x2="7.25" y2="10.75" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="10.75 2.75 15.25 2.75 15.25 7.25"></polyline><line x1="15.25" y1="2.75" x2="10.75" y2="7.25"></line><polyline points="2.75 10.75 2.75 15.25 7.25 15.25" data-color="color-2"></polyline><line x1="2.75" y1="15.25" x2="7.25" y2="10.75" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 499 B After Width: | Height: | Size: 537 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M5.526,12.474c-1.226-1.765-2.305-3.736-2.305-5.208C3.221,3.776,6.207,1.75,9,1.75c1.819,0,3.721,.86,4.826,2.424"></path><path d="M14.759,6.776c.013,.16,.02,.323,.02,.49,0,2.622-3.428,6.833-5.004,8.631-.413,.471-1.139,.471-1.551,0-.329-.375-.739-.856-1.181-1.405"></path><path d="M8.752,9.233c-.849-.12-1.502-.85-1.502-1.733,0-.966,.784-1.75,1.75-1.75,.887,0,1.62,.66,1.735,1.516"></path><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M5.526,12.474c-1.226-1.765-2.305-3.736-2.305-5.208C3.221,3.776,6.207,1.75,9,1.75c1.819,0,3.721,.86,4.826,2.424"></path><path d="M14.759,6.776c.013,.16,.02,.323,.02,.49,0,2.622-3.428,6.833-5.004,8.631-.413,.471-1.139,.471-1.551,0-.329-.375-.739-.856-1.181-1.405"></path><path d="M8.752,9.233c-.849-.12-1.502-.85-1.502-1.733,0-.966,.784-1.75,1.75-1.75,.887,0,1.62,.66,1.735,1.516"></path><line x1="2" y1="16" x2="16" y2="2" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 680 B After Width: | Height: | Size: 718 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.779,7.266c0,2.622-3.428,6.833-5.004,8.631-.413,.471-1.139,.471-1.551,0-1.576-1.797-5.004-6.008-5.004-8.631C3.221,3.776,6.207,1.75,9,1.75s5.779,2.026,5.779,5.516Z"></path><circle cx="9" cy="7.5" r="1.75" data-color="color-2"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.779,7.266c0,2.622-3.428,6.833-5.004,8.631-.413,.471-1.139,.471-1.551,0-1.576-1.797-5.004-6.008-5.004-8.631C3.221,3.776,6.207,1.75,9,1.75s5.779,2.026,5.779,5.516Z"></path><circle cx="9" cy="7.5" r="1.75" data-color="color-2"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 467 B After Width: | Height: | Size: 505 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="9" r="7.25"></circle><path d="M6.925,6.619c.388-1.057,1.294-1.492,2.18-1.492,.895,0,1.818,.638,1.818,1.808,0,1.784-1.816,1.468-2.096,3.065" data-color="color-2"></path><path d="M8.791,13.567c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="9" r="7.25"></circle><path d="M6.925,6.619c.388-1.057,1.294-1.492,2.18-1.492,.895,0,1.818,.638,1.818,1.808,0,1.784-1.816,1.468-2.096,3.065" data-color="color-2"></path><path d="M8.791,13.567c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 604 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,9c0,4.004,3.246,7.25,7.25,7.25s7.25-3.246,7.25-7.25S13.004,1.75,9,1.75c-3.031,0-5.627,1.86-6.71,4.5"></path><polyline points="1.88 3.305 2.288 6.25 5.232 5.843"></polyline><polyline points="9 4.75 9 9 12.25 11.25" data-color="color-2"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,9c0,4.004,3.246,7.25,7.25,7.25s7.25-3.246,7.25-7.25S13.004,1.75,9,1.75c-3.031,0-5.627,1.86-6.71,4.5"></path><polyline points="1.88 3.305 2.288 6.25 5.232 5.843"></polyline><polyline points="9 4.75 9 9 12.25 11.25" data-color="color-2"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 482 B After Width: | Height: | Size: 520 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3.145,6.2l5.25-3.99c.358-.272,.853-.272,1.21,0l5.25,3.99c.249,.189,.395,.484,.395,.796v7.254c0,1.105-.895,2-2,2H4.75c-1.105,0-2-.895-2-2V6.996c0-.313,.146-.607,.395-.796Z"></path><path d="M11.652,12.152c-1.464,1.464-3.839,1.464-5.303,0" data-color="color-2"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3.145,6.2l5.25-3.99c.358-.272,.853-.272,1.21,0l5.25,3.99c.249,.189,.395,.484,.395,.796v7.254c0,1.105-.895,2-2,2H4.75c-1.105,0-2-.895-2-2V6.996c0-.313,.146-.607,.395-.796Z"></path><path d="M11.652,12.152c-1.464,1.464-3.839,1.464-5.303,0" data-color="color-2"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 534 B |
@@ -68,11 +68,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#sidebar-button:-moz-locale-dir(ltr):not([positionend]),
|
#sidebar-button:-moz-locale-dir(ltr):not([positionend]),
|
||||||
#sidebar-button:-moz-locale-dir(rtl)[positionend],
|
#sidebar-button:-moz-locale-dir(rtl)[positionend] {
|
||||||
#zen-sidepanel-button {
|
|
||||||
list-style-image: url('chrome://browser/skin/sidebars.svg') !important;
|
list-style-image: url('chrome://browser/skin/sidebars.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zen-sidepanel-button {
|
||||||
|
list-style-image: url('sidebar.svg');
|
||||||
|
}
|
||||||
|
|
||||||
#downloads-button,
|
#downloads-button,
|
||||||
#downloads-indicator-anchor,
|
#downloads-indicator-anchor,
|
||||||
#appMenu-downloads-button,
|
#appMenu-downloads-button,
|
||||||
@@ -390,7 +393,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#zen-expand-sidebar-button {
|
#zen-expand-sidebar-button {
|
||||||
list-style-image: url('move-tab.svg') !important;
|
list-style-image: url('expand-sidebar.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.panel-header > .subviewbutton-back {
|
.panel-header > .subviewbutton-back {
|
||||||
@@ -931,7 +934,7 @@ menuitem[contexttype='fullscreen'][label*='Exit'] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#zen-context-menu-compact-mode {
|
#zen-context-menu-compact-mode {
|
||||||
--menu-image: url('chrome://browser/skin/sidebars.svg');
|
--menu-image: url('sidebar.svg');
|
||||||
}
|
}
|
||||||
|
|
||||||
#context_bookmarkTab,
|
#context_bookmarkTab,
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.587,12.243l5.206-5.2c.391-.391,1.024-.391,1.414,0l3.043,3.043" data-color="color-2"></path><path d="M1.75,6.75v6.5c0,1.105,.895,2,2,2H12.25" data-color="color-2"></path><rect x="4.75" y="2.75" width="11.5" height="9.5" rx="2" ry="2" transform="translate(21 15) rotate(180)"></rect><path d="M8,7c-.551,0-1-.449-1-1s.449-1,1-1,1,.449,1,1-.449,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.587,12.243l5.206-5.2c.391-.391,1.024-.391,1.414,0l3.043,3.043" data-color="color-2"></path><path d="M1.75,6.75v6.5c0,1.105,.895,2,2,2H12.25" data-color="color-2"></path><rect x="4.75" y="2.75" width="11.5" height="9.5" rx="2" ry="2" transform="translate(21 15) rotate(180)"></rect><path d="M8,7c-.551,0-1-.449-1-1s.449-1,1-1,1,.449,1,1-.449,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 701 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M4,15.25l5.836-5.836c.781-.781,2.047-.781,2.828,0l3.086,3.086" data-color="color-2"></path><rect x="2.25" y="4.75" width="13.5" height="10.5" rx="2" ry="2"></rect><line x1="4.75" y1="1.75" x2="13.25" y2="1.75" data-color="color-2"></line><circle cx="5.75" cy="8.25" r="1.25" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M4,15.25l5.836-5.836c.781-.781,2.047-.781,2.828,0l3.086,3.086" data-color="color-2"></path><rect x="2.25" y="4.75" width="13.5" height="10.5" rx="2" ry="2"></rect><line x1="4.75" y1="1.75" x2="13.25" y2="1.75" data-color="color-2"></line><circle cx="5.75" cy="8.25" r="1.25" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 588 B After Width: | Height: | Size: 626 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="m3.762,14.989l6.074-6.075c.781-.781,2.047-.781,2.828,0l2.586,2.586"></path><circle cx="6.25" cy="7.25" r="1.25" stroke-width="0" fill="currentColor"></circle><line x1="14.25" y1="1.25" x2="14.25" y2="6.25" data-color="color-2"></line><path d="m9.461,2.75h-4.711c-1.1046,0-2,.8955-2,2v8.5c0,1.1045.8954,2,2,2h8.5c1.1046,0,2-.8955,2-2v-4.7109"></path><line x1="16.75" y1="3.75" x2="11.75" y2="3.75" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="m3.762,14.989l6.074-6.075c.781-.781,2.047-.781,2.828,0l2.586,2.586"></path><circle cx="6.25" cy="7.25" r="1.25" stroke-width="0" fill="currentColor"></circle><line x1="14.25" y1="1.25" x2="14.25" y2="6.25" data-color="color-2"></line><path d="m9.461,2.75h-4.711c-1.1046,0-2,.8955-2,2v8.5c0,1.1045.8954,2,2,2h8.5c1.1046,0,2-.8955,2-2v-4.7109"></path><line x1="16.75" y1="3.75" x2="11.75" y2="3.75" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 693 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="9" r="7.25"></circle><line x1="9" y1="12.819" x2="9" y2="8.25" data-color="color-2"></line><path d="M9,6.75c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="9" r="7.25"></circle><line x1="9" y1="12.819" x2="9" y2="8.25" data-color="color-2"></line><path d="M9,6.75c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 521 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="14 6.25 16.25 4 14 1.75" data-color="color-2"></polyline><path d="M6.596,2.75h-1.846c-1.105,0-2,.896-2,2V13.25c0,1.104,.895,2,2,2H13.25c1.105,0,2-.896,2-2v-4.846"></path><polyline points="11 6.25 8.75 4 11 1.75" data-color="color-2"></polyline></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="14 6.25 16.25 4 14 1.75" data-color="color-2"></polyline><path d="M6.596,2.75h-1.846c-1.105,0-2,.896-2,2V13.25c0,1.104,.895,2,2,2H13.25c1.105,0,2-.896,2-2v-4.846"></path><polyline points="11 6.25 8.75 4 11 1.75" data-color="color-2"></polyline></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 521 B |
@@ -39,6 +39,7 @@
|
|||||||
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/edit.svg)
|
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/edit.svg)
|
||||||
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/essential-add.svg)
|
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/essential-add.svg)
|
||||||
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/essential-remove.svg)
|
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/essential-remove.svg)
|
||||||
|
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/expand-sidebar.svg)
|
||||||
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/ext-link.svg)
|
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/ext-link.svg)
|
||||||
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/extension-blocked.svg)
|
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/extension-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/extension.svg)
|
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/extension.svg)
|
||||||
@@ -78,6 +79,7 @@
|
|||||||
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/midi.svg)
|
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/midi.svg)
|
||||||
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/move-tab.svg)
|
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/move-tab.svg)
|
||||||
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/new-tab-image.svg)
|
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/new-tab-image.svg)
|
||||||
|
skin/classic/browser/zen-icons/nucleo-copyright-notice.html (../shared/zen-icons/nucleo-copyright-notice.html)
|
||||||
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/open.svg)
|
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/open.svg)
|
||||||
skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/page-portrait.svg)
|
skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/page-portrait.svg)
|
||||||
skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/passwords.svg)
|
skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/passwords.svg)
|
||||||
@@ -108,6 +110,7 @@
|
|||||||
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/send-to-device.svg)
|
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/send-to-device.svg)
|
||||||
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/settings.svg)
|
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/settings.svg)
|
||||||
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/share.svg)
|
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/share.svg)
|
||||||
|
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/sidebar.svg)
|
||||||
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/sidebars-right.svg)
|
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/sidebars-right.svg)
|
||||||
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/source-code.svg)
|
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/source-code.svg)
|
||||||
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/spell-check.svg)
|
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/spell-check.svg)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="5.75" y="2.75" width="4" height="12.5" rx="1" ry="1"></rect><rect x="2.75" y="4.75" width="3" height="10.5" rx="1" ry="1"></rect><rect x="11.235" y="4.719" width="3.5" height="10.5" rx="1" ry="1" transform="translate(-2.382 4.324) rotate(-17.344)"></rect><line x1="10.934" y1="9.272" x2="14.275" y2="8.228"></line><line x1="5.75" y1="7.25" x2="9.75" y2="7.25"></line><line x1="2.75" y1="8.75" x2="5.75" y2="8.75"></line><line x1="1" y1="15.25" x2="17" y2="15.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="5.75" y="2.75" width="4" height="12.5" rx="1" ry="1"></rect><rect x="2.75" y="4.75" width="3" height="10.5" rx="1" ry="1"></rect><rect x="11.235" y="4.719" width="3.5" height="10.5" rx="1" ry="1" transform="translate(-2.382 4.324) rotate(-17.344)"></rect><line x1="10.934" y1="9.272" x2="14.275" y2="8.228"></line><line x1="5.75" y1="7.25" x2="9.75" y2="7.25"></line><line x1="2.75" y1="8.75" x2="5.75" y2="8.75"></line><line x1="1" y1="15.25" x2="17" y2="15.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 759 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M8.5,6.827c-.352,.168-.682,.398-.973,.69l-.01,.01c-1.381,1.381-1.381,3.619,0,5l2.175,2.175c1.381,1.381,3.619,1.381,5,0l.01-.01c1.381-1.381,1.381-3.619,0-5l-.931-.931" data-color="color-2"></path><path d="M9.5,11.173c.352-.168,.682-.398,.973-.69l.01-.01c1.381-1.381,1.381-3.619,0-5l-2.175-2.175c-1.381-1.381-3.619-1.381-5,0l-.01,.01c-1.381,1.381-1.381,3.619,0,5l.931,.931"></path></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M8.5,6.827c-.352,.168-.682,.398-.973,.69l-.01,.01c-1.381,1.381-1.381,3.619,0,5l2.175,2.175c1.381,1.381,3.619,1.381,5,0l.01-.01c1.381-1.381,1.381-3.619,0-5l-.931-.931" data-color="color-2"></path><path d="M9.5,11.173c.352-.168,.682-.398,.973-.69l.01-.01c1.381-1.381,1.381-3.619,0-5l-2.175-2.175c-1.381-1.381-3.619-1.381-5,0l-.01,.01c-1.381,1.381-1.381,3.619,0,5l.931,.931"></path></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 609 B After Width: | Height: | Size: 647 B |
@@ -3,7 +3,6 @@
|
|||||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
-->
|
-->
|
||||||
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="black" fill-opacity="context-fill-opacity">
|
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="currentColor" fill-opacity="context-fill-opacity">
|
||||||
<path d="M2.5 1A2.5 2.5 0 0 0 0 3.5v8A2.5 2.5 0 0 0 2.5 14h11a2.5 2.5 0 0 0 2.5-2.5v-8A2.5 2.5 0 0 0 13.5 1h-11zm0 1h11A1.5 1.5 0 0 1 15 3.5v.3L8 7.92 1 3.803V3.5A1.5 1.5 0 0 1 2.5 2zM15 4.961V11.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5V4.963l6.746 3.969.082.037a.5.5 0 0 0 .426-.037L15 4.961z"/>
|
<path d="M2.5 1A2.5 2.5 0 0 0 0 3.5v8A2.5 2.5 0 0 0 2.5 14h11a2.5 2.5 0 0 0 2.5-2.5v-8A2.5 2.5 0 0 0 13.5 1h-11zm0 1h11A1.5 1.5 0 0 1 15 3.5v.3L8 7.92 1 3.803V3.5A1.5 1.5 0 0 1 2.5 2zM15 4.961V11.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5V4.963l6.746 3.969.082.037a.5.5 0 0 0 .426-.037L15 4.961z"/>
|
||||||
</svg>
|
</svg>
|
||||||
a<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,5.75l6.767,3.733c.301,.166,.665,.166,.966,0l6.767-3.733" data-color="color-2"></path><rect x="1.75" y="3.25" width="14.5" height="11.5" rx="2" ry="2" transform="translate(18 18) rotate(180)"></rect></g></svg>
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 654 B |
@@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="4.25" y="3.25" width="9.5" height="11.5" rx="2" ry="2" transform="translate(18 18) rotate(180)"></rect><line x1="1.25" y1="3.75" x2="1.25" y2="14.25" data-color="color-2"></line><line x1="16.75" y1="3.75" x2="16.75" y2="14.25" data-color="color-2"></line></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="currentColor" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="4.25" y="3.25" width="9.5" height="11.5" rx="2" ry="2" transform="translate(18 18) rotate(180)"></rect><line x1="1.25" y1="3.75" x2="1.25" y2="14.25" data-color="color-2"></line><line x1="16.75" y1="3.75" x2="16.75" y2="14.25" data-color="color-2"></line></g></svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 485 B After Width: | Height: | Size: 523 B |