Compare commits

...

70 Commits

Author SHA1 Message Date
mauro 🤙
31c0cf5074 Update zen-browser.js 2024-08-15 22:45:41 +02:00
Mauro Balades
d8d8ffa438 chore: Update DNS thread count in better-fox.js 2024-08-15 22:17:59 +02:00
Mauro Balades
45d43c0666 chore: Update macOS mozconfig to optimize for Nehalem architecture 2024-08-15 20:22:16 +02:00
Mauro Balades
cd62640086 chore: Enable ALSA and PulseAudio support in Linux mozconfig 2024-08-15 19:35:43 +02:00
Mauro Balades
6cf7fe90b8 chore: Remove floating URL bar feature 2024-08-15 19:17:21 +02:00
Mauro Balades
edca28339b chore: Update mozconfig files to enable ALSA support in common mozconfig and Linux mozconfig 2024-08-15 19:07:49 +02:00
Mauro Balades
bd28d7439e chore: Enable WebAssembly SIMD support in common mozconfig and disable unnecessary features in Linux mozconfig 2024-08-15 18:54:09 +02:00
Mauro Balades
f6e486ba17 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-15 18:06:12 +02:00
Mauro Balades
48e0dbe68a Update Zen theme CSS to use CSS variables for element separation 2024-08-15 18:06:05 +02:00
mauro-balades
ae67b53276 🔖 Update version to 1.0.0-a.20 2024-08-15 14:57:19 +00:00
Mauro Balades
48ee6519a5 Update Zen theme CSS to use CSS variables for element separation 2024-08-15 16:52:11 +02:00
Mauro Balades
b607473973 Update Windows mozconfig and vertical-tabs.css 2024-08-15 16:45:32 +02:00
Mauro Balades
c46aa247c7 Update Zen theme CSS to use CSS variables for element separation 2024-08-15 16:26:25 +02:00
Mauro Balades
5a72ca7703 chore: Fixed compact mode 2024-08-15 15:52:46 +02:00
Mauro Balades
7e00a28ba9 chore: Update Zen theme CSS to use CSS variables for element separation 2024-08-15 15:35:53 +02:00
mauro 🤙
b590535343 Merge pull request #272 from gunir/patch-2
Disable Reader Mode's parse on load
2024-08-15 15:34:22 +02:00
Gunir
6309853dd6 Disable Reader Mode's parse on load (costs extra CPU after page load, Reader Mode works fine just lazier)
Disable Reader Mode's parse on load (costs extra CPU after page load, Reader Mode works fine just lazier)
2024-08-15 20:31:16 +07:00
Mauro Balades
b584bb2d4e chore: Update Zen theme CSS to use CSS variables for element separation 2024-08-15 14:26:05 +02:00
Mauro Balades
e0712d80a4 chore: Update Zen theme CSS to use CSS variables for element separation 2024-08-14 23:26:13 +02:00
Mauro Balades
bc291c99c3 chore: Update Zen theme CSS to use CSS variables for element separation 2024-08-14 22:27:52 +02:00
Mauro Balades
6c802b75fa chore: Update Zen theme CSS to use CSS variables for element separation 2024-08-14 21:01:56 +02:00
Mauro Balades
797d3c1766 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-14 20:14:49 +02:00
Mauro Balades
844a329be5 chore: Update macOS mozconfig and Zen theme CSS 2024-08-14 20:14:41 +02:00
mauro-balades
fb6cbc0e23 🔖 Update version to 1.0.0-a.19 2024-08-14 14:24:39 +00:00
Mauro Balades
e64d8a4fd2 chore: Update Zen theme CSS to add context menu option for changing tab(s) to workspace 2024-08-14 15:56:18 +02:00
Mauro Balades
8c90f378d7 chore: Add welcome.css to Zen theme styles 2024-08-14 14:32:05 +02:00
mauro 🤙
7a0d962e62 Merge pull request #255 from zen-browser/styles-rewrite
chore: Update Zen theme CSS to improve dialog dimensions and browser …
2024-08-14 14:07:35 +02:00
Mauro Balades
92f3db6633 chore: Update Zen theme CSS to improve dialog dimensions and browser gradient 2024-08-14 14:06:53 +02:00
mauro 🤙
d5abc0dd48 Merge pull request #254 from zen-browser/styles-rewrite
Styles rewrite
2024-08-14 13:38:34 +02:00
Mauro Balades
36e7fdad8b Remove unused CSS files related to Zen theme 2024-08-14 13:37:40 +02:00
Mauro Balades
194056007a Fixed pinned tabs 2024-08-14 13:14:37 +02:00
Mauro Balades
3bfbcf64e3 chore: Update CSS display properties for Zen styles 2024-08-14 13:06:43 +02:00
Mauro Balades
5f9f555083 chore: Added third party code 2024-08-14 10:42:04 +02:00
Mauro Balades
5cd5db6b3e Added !important to in-content colors 2024-08-14 10:37:33 +02:00
Mauro Balades
b596d7b466 Remove unused CSS files related to Zen theme 2024-08-14 10:08:41 +02:00
Mauro Balades
d2d3d39464 Remove unused CSS files related to Zen theme 2024-08-13 21:58:52 +02:00
Mauro Balades
4087d82922 Remove unused CSS files related to Zen theme 2024-08-13 21:57:35 +02:00
Mauro Balades
5a9c4a6666 Remove unused CSS files related to Zen theme 2024-08-13 21:03:35 +02:00
Mauro Balades
33ef14c3d8 Remove unused CSS files related to Zen theme 2024-08-13 19:17:29 +02:00
Mauro Balades
ad9c9c6141 Remove unused CSS files related to Zen theme 2024-08-13 18:23:28 +02:00
Mauro Balades
19ccd0760a Remove unused CSS files related to Zen theme 2024-08-13 18:19:30 +02:00
Mauro Balades
e474815d7e Remove unused CSS files related to Zen theme 2024-08-13 16:43:15 +02:00
Mauro Balades
8cdc29f1e8 Remove unused CSS files related to Zen theme 2024-08-13 16:39:46 +02:00
Mauro Balades
a08c1567eb chore: Lock telemetry and experiment preferences 2024-08-13 16:35:19 +02:00
mauro 🤙
bc7df76629 Merge pull request #239 from Pdzly/main
feat: Add warning for changing the languages requested
2024-08-13 15:02:47 +02:00
rooki
c049059911 chore: reverted the formatting 2024-08-13 09:58:01 +02:00
rooki
8c0082bcf0 chore: Moved warning directly into html 2024-08-13 09:11:14 +02:00
rooki
db4a9b41cc feat: Add warning for changing the languages requested 2024-08-13 08:46:53 +02:00
mauro-balades
f85794b47d 🔖 Update version to 1.0.0-a.18 2024-08-12 08:22:57 +00:00
Mauro Balades
83dcaa3e54 feat: Add preference for dimming pending tabs in Zen browser theme 2024-08-12 10:22:10 +02:00
Mauro Balades
af75d67b30 chore: Refactor Zen theme modifier, fix notification deck placement, and update tab styling 2024-08-12 10:18:00 +02:00
Mauro Balades
cedd505a09 chore: Refactor Zen theme modifier and fix notification deck placement 2024-08-12 09:41:22 +02:00
Mauro Balades
1a450ebc72 chore: Update flatpak configuration and install scripts 2024-08-11 20:09:08 +02:00
mauro-balades
a395fe34d0 🔖 Update version to 1.0.0-a.17 2024-08-11 15:09:41 +00:00
Mauro Balades
e604372a9f chore: Remove unnecessary device flag in flatpak configuration 2024-08-11 17:08:49 +02:00
Mauro Balades
d5e8babaf2 chore: Update pane title for Looks And Feel in Zen preferences 2024-08-11 17:05:43 +02:00
Mauro Balades
650337f9b5 chore: Update tab styling in Zen browser theme 2024-08-11 17:01:31 +02:00
Mauro Balades
aa4d950be1 Update bytecode cache strategy for experimental Zen features 2024-08-11 16:55:47 +02:00
Mauro Balades
c2dd526195 chore: Remove annoying top border in Windows browser theme 2024-08-11 16:17:43 +02:00
mauro 🤙
5df2cce01c Merge pull request #220 from GunGunGun/patch-1
Update zen-browser.js to enable Browser Toolbox by default
2024-08-11 16:16:02 +02:00
Mauro Balades
aba58af1da Fix default user agent and min width for compact mode 2024-08-11 16:12:59 +02:00
Gun
c6455e86ef Update zen-browser.js to enable Browser Toolbox by default
Update zen-browser.js to enable Browser Toolbox by default
2024-08-11 21:02:58 +07:00
Mauro Balades
c57db962f8 chore: Update Zen browser components submodule commit reference and improve flatpak configuration and fixed tabs not fully closing 2024-08-11 13:37:46 +02:00
mauro 🤙
bd449faf05 Merge pull request #213 from Samueru-sama/main
`alpha.yml` include zsync file in release
2024-08-11 11:15:29 +02:00
mauro 🤙
cf3f673c35 Update alpha.yml 2024-08-11 09:24:43 +02:00
Samuel
27386c608e alpha.yml Use full path for zsync file 2024-08-10 22:00:51 -04:00
Samuel
14b7d97579 alpha.yml Add zsync files to uploads 2024-08-10 19:58:09 -04:00
Samuel
16b5521087 alpha.yml include zsync file in release 2024-08-10 19:34:29 -04:00
mauro 🤙
903f73f7d5 Fixed flatpak file 2024-08-10 18:35:43 +00:00
mauro 🤙
f4e3bfdb9e Delete io.github.zen_browser.zen.yml 2024-08-10 20:30:03 +02:00
73 changed files with 2219 additions and 2349 deletions

3
.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
*-c.patch linguist-language=C++
*-cpp.patch linguist-language=C++

View File

@@ -300,6 +300,12 @@ jobs:
name: zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage
path: ./dist/zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage
- name: Upload artifact (ZSync)
uses: actions/upload-artifact@v4
with:
name: zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage.zsync
path: ./dist/zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage.zsync
release:
if: ${{ github.event.inputs.create_release == 'true' }}
permissions: write-all
@@ -360,7 +366,9 @@ jobs:
zen.linux-generic.tar.bz2
zen.linux-specific.tar.bz2
zen-generic.AppImage
zen-generic.AppImage.zsync
zen-specific.AppImage
zen-specific.AppImage.zsync
zen.win-generic.zip
zen.win-specific.zip
linux.mar

View File

@@ -62,6 +62,12 @@ npm start
- [Erlend](https://havn.blog) (For making the logo)
- [ptr1337](https://github.com/ptr1337) (AUR Packages and optimization flags)
## Third Party Code
Zen coudn't be in its current state without the help of these amazing projects!
- Zen's default preferences are based on [BetterFox](https://github.com/yokoffing/Betterfox)
## License
[MPL LICENSE](/LICENSE)

View File

@@ -34,6 +34,8 @@ if test "$ZEN_RELEASE"; then
ac_add_options --disable-jprof
ac_add_options --enable-rust-simd
ac_add_options --enable-wasm-simd
mk_add_options MOZ_PARALLEL_COMPILE=1
ac_add_options --enable-proxy-bypass-protection
@@ -43,9 +45,9 @@ if test "$ZEN_RELEASE"; then
ac_add_options --disable-crashreporter
ac_add_options --disable-geckodriver
ac_add_options --disable-rust-tests
ac_add_options --disable-default-browser-agent
ac_add_options --disable-vtune
# Done by vlad, if something fails, it's his fault
ac_add_options --disable-default-browser-agent
if ! test "$ZEN_DISABLE_LTO"; then
export MOZ_LTO=1
@@ -79,11 +81,12 @@ fi
ac_add_options --enable-unverified-updates
ac_add_options --enable-sandbox
ac_add_options --enable-raw
ac_add_options --enable-webrtc
ac_add_options --enable-jxl
ac_add_options --enable-av1
ac_add_options --enable-eme=widevine
ac_add_options --disable-eme
ac_add_options --allow-addon-sideload
ac_add_options --with-unsigned-addon-scopes=app,system

View File

@@ -13,6 +13,9 @@ if test "$ZEN_RELEASE"; then
ac_add_options --enable-linker=lld
ac_add_options --disable-elf-hack
ac_add_options --disable-gpsd
ac_add_options --disable-necko-wifi
ac_add_options --enable-install-strip
ac_add_options --enable-strip
export STRIP_FLAGS="--strip-debug --strip-unneeded"
@@ -46,6 +49,10 @@ if test "$ZEN_RELEASE"; then
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64-v3 -C target-feature=+sse4.1 -C target-feature=+avx2 -C codegen-units=1"
fi
export VERBOSE=1
export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
fi
ac_add_options --target=x86_64-pc-linux
ac_add_options --enable-alsa
ac_add_options --enable-pulseaudio

View File

@@ -33,3 +33,4 @@ else
export RUSTFLAGS="-C target-feature=+v8.3a -C codegen-units=1 -Ctarget-cpu=apple-m1"
fi
export VERBOSE=1
export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"

View File

@@ -31,8 +31,6 @@ ac_add_options --target=x86_64-pc-windows-msvc
ac_add_options --disable-maintenance-service
ac_add_options --disable-bits-download
ac_add_options --without-wasm-sandboxed-libraries
if test "$SURFER_COMPAT" = "true"; then
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize"

View File

@@ -27,20 +27,20 @@ modules:
build-commands:
- mv zen /app/
- install -Dm0755 metadata/launch-script.sh ${FLATPAK_DEST}/bin/launch-script.sh
- install -Dm0644 metadata/policies.json ${FLATPAK_DEST}/bin/distribution/policies.json
- install -Dm0644 metadata/icons/io.github.zen_browser.zen.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
- install -Dm0644 metadata/io.github.zen_browser.zen.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- install -Dm0644 metadata/io.github.zen_browser.zen.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- install -Dm0755 metadata/launch-script.sh ${{FLATPAK_DEST}}/bin/launch-script.sh
- install -Dm0644 metadata/policies.json ${{FLATPAK_DEST}}/bin/distribution/policies.json
- install -Dm0644 metadata/icons/io.github.zen_browser.zen.png ${{FLATPAK_DEST}}/share/icons/hicolor/256x256/apps/${{FLATPAK_ID}}.png
- install -Dm0644 metadata/io.github.zen_browser.zen.metainfo.xml ${{FLATPAK_DEST}}/share/metainfo/${{FLATPAK_ID}}.metainfo.xml
- install -Dm0644 metadata/io.github.zen_browser.zen.desktop ${{FLATPAK_DEST}}/share/applications/${{FLATPAK_ID}}.desktop
sources:
- type: archive
url: https://github.com/zen-browser/desktop/releases/download/1.0.0-a.16/zen.linux-generic.tar.bz2
sha256: 229e45dc80a2a99707fdd15c49f71260830a3c902c6be88f9d1a51fca861c478
url: https://github.com/zen-browser/desktop/releases/download/{version}/zen.linux-generic.tar.bz2
sha256: {linux_sha256}
strip-components: 0
- type: archive
url: https://github.com/zen-browser/flatpak/releases/latest/download/archive.tar
sha256: b019e8fb33045606a59ce5606b0a8ef01ead97d7e8edbce9fb1d436493a37aab
sha256: {flatpak_sha256}
strip-components: 0
dest: metadata

View File

@@ -21,7 +21,7 @@
* SECTION: FASTFOX *
****************************************************************************/
/** GENERAL ***/
pref("content.notify.interval", 100000);
pref("content.notify.interval", 100000); // (.10s); alt=500000 (.50s)
/** GFX ***/
pref("gfx.canvas.accelerated.cache-items", 4096);
@@ -32,9 +32,9 @@ pref("gfx.content.skia-font-cache-size", 20);
pref("browser.cache.jsbc_compression_level", 3);
/** MEDIA CACHE ***/
pref("media.memory_cache_max_size", 65536);
pref("media.cache_readahead_limit", 7200);
pref("media.cache_resume_threshold", 3600);
pref("media.memory_cache_max_size", 512000); // alt=512000; also in Securefox (inactive there)
pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback
pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds)
/** IMAGE CACHE ***/
pref("image.mem.decode_bytes_at_a_time", 32768);
@@ -45,6 +45,8 @@ pref("network.http.max-persistent-connections-per-server", 10);
pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
pref("network.http.pacing.requests.enabled", false);
pref("network.dnsCacheExpiration", 3600);
pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
pref("network.websocket.max-connections", 400); // default=200
pref("network.ssl_tokens_cache_capacity", 10240);
/** EXPERIMENTAL ***/
@@ -113,27 +115,27 @@ pref("permissions.manager.defaultsUrl", "");
pref("webchannel.allowObject.urlWhitelist", "");
/** TELEMETRY ***/
pref("datareporting.policy.dataSubmissionEnabled", false);
pref("datareporting.healthreport.uploadEnabled", false);
pref("toolkit.telemetry.unified", false);
pref("toolkit.telemetry.enabled", false);
pref("toolkit.telemetry.server", "data:,");
pref("toolkit.telemetry.archive.enabled", false);
pref("toolkit.telemetry.newProfilePing.enabled", false);
pref("toolkit.telemetry.shutdownPingSender.enabled", false);
pref("toolkit.telemetry.updatePing.enabled", false);
pref("toolkit.telemetry.bhrPing.enabled", false);
pref("toolkit.telemetry.firstShutdownPing.enabled", false);
pref("toolkit.telemetry.coverage.opt-out", true);
pref("toolkit.coverage.opt-out", true);
pref("toolkit.coverage.endpoint.base", "");
pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
pref("browser.newtabpage.activity-stream.telemetry", false);
pref("datareporting.policy.dataSubmissionEnabled", false, locked);
pref("datareporting.healthreport.uploadEnabled", false, locked);
pref("toolkit.telemetry.unified", false, locked);
pref("toolkit.telemetry.enabled", false, locked);
pref("toolkit.telemetry.server", "data:,", locked);
pref("toolkit.telemetry.archive.enabled", false, locked);
pref("toolkit.telemetry.newProfilePing.enabled", false, locked);
pref("toolkit.telemetry.shutdownPingSender.enabled", false, locked);
pref("toolkit.telemetry.updatePing.enabled", false, locked);
pref("toolkit.telemetry.bhrPing.enabled", false, locked);
pref("toolkit.telemetry.firstShutdownPing.enabled", false, locked);
pref("toolkit.telemetry.coverage.opt-out", true, locked);
pref("toolkit.coverage.opt-out", true, locked);
pref("toolkit.coverage.endpoint.base", "", locked);
pref("browser.newtabpage.activity-stream.feeds.telemetry", false, locked);
pref("browser.newtabpage.activity-stream.telemetry", false, locked);
/** EXPERIMENTS ***/
pref("app.shield.optoutstudies.enabled", false);
pref("app.normandy.enabled", false);
pref("app.normandy.api_url", "");
pref("app.shield.optoutstudies.enabled", false, locked);
pref("app.normandy.enabled", false, locked);
pref("app.normandy.api_url", "", locked);
/** CRASH REPORTS ***/
pref("breakpad.reportURL", "");
@@ -150,7 +152,7 @@ pref("dom.private-attribution.submission.enabled", false);
* SECTION: PESKYFOX *
****************************************************************************/
/** MOZILLA UI ***/
pref("browser.privatebrowsing.vpnpromourl", "");
pref("browser.privatebrowsing.vpnpromourl", "", locked);
pref("extensions.getAddons.showPane", false);
pref("extensions.htmlaboutaddons.recommendations.enabled", false);
pref("browser.discovery.enabled", false);

View File

@@ -63,16 +63,19 @@ pref('zen.welcomeScreen.seen', false);
pref('zen.tabs.vertical', true);
pref('zen.tabs.vertical.right-side', false);
pref('zen.theme.accent-color', "#aac7ff");
pref('zen.theme.border-radius', 10); // In pixels
pref('zen.theme.toolbar-themed', true);
pref('zen.theme.pill-button', false);
pref('zen.theme.floating-urlbar', false);
pref('zen.view.compact', false);
pref('zen.view.compact.hide-toolbar', false);
pref('zen.view.sidebar-expanded', false);
pref('zen.view.sidebar-expanded.show-button', true);
pref('zen.view.sidebar-expanded.max-width', 400);
pref('zen.keyboard.shortcuts', "{}");
pref('zen.keyboard.shortcuts.enabled', true);
pref('zen.keyboard.shortcuts', ""); // Empty string means default shortcuts
pref('zen.keyboard.shortcuts.disable-firefox', false);
pref('zen.tabs.dim-pending', true);
pref('zen.themes.data', "{}");
// Pref to enable the new profiles (TODO: Check this out!)
//pref("browser.profiles.enabled", true);
@@ -89,7 +92,7 @@ pref('zen.splitView.working', false);
pref('zen.workspaces.enabled', true);
// Zen Watermark
pref('zen.watermark.enabled', true);
pref('zen.watermark.enabled', true, sticky);
// Smooth scrolling
pref('apz.overscroll.enabled', true); // not DEFAULT on Linux
@@ -117,6 +120,10 @@ pref('browser.migrate.opera.enabled', true);
pref('xpinstall.signatures.required', false);
// Experimental Zen Features
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
pref('dom.script_loader.bytecode_cache.strategy', 2);
#include better-fox.js
// Betterfox overrides (Stay below the include directive)
@@ -131,3 +138,13 @@ pref("network.dns.disablePrefetchFromHTTPS", false);
pref("network.predictor.enable-hover-on-ssl", true);
pref("network.http.speculative-parallel-limit", 10);
pref("network.http.rcwn.enabled", false);
// Enable Browser Toolbox, Ctrl+Shift+Alt+I for debugging and modifying UI
pref("devtools.debugger.remote-enabled", true);
pref("devtools.chrome.enabled", true);
// Disable firefox's revamp
pref("sidebar.revamp", false, locked);
pref("sidebar.verticalTabs", false, locked);

View File

@@ -0,0 +1,106 @@
var ZenStartup = {
init() {
this._changeSidebarLocation();
this._zenInitBrowserLayout();
},
_zenInitBrowserLayout() {
if (this.__hasInitBrowserLayout) return;
this.__hasInitBrowserLayout = true;
this.openWatermark();
console.info("ZenThemeModifier: init browser layout");
const kNavbarItems = [
"nav-bar",
"PersonalToolbar"
];
const kNewContainerId = "zen-appcontent-navbar-container";
let newContainer = document.getElementById(kNewContainerId);
for (let id of kNavbarItems) {
const node = document.getElementById(id);
console.assert(node, "Could not find node with id: " + id);
if (!node) continue;
newContainer.appendChild(node);
}
// Fix notification deck
document.getElementById("zen-appcontent-navbar-container")
.appendChild(document.getElementById("tab-notification-deck-template"));
gZenVerticalTabsManager.init();
gZenCompactModeManager.init();
gZenKeyboardShortcuts.init();
function throttle(f, delay) {
let timer = 0;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => f.apply(this, args), delay);
}
}
new ResizeObserver(throttle(
this._updateTabsToolbar.bind(this), 1000
)).observe(document.getElementById("tabbrowser-tabs"));
this.closeWatermark();
},
_updateTabsToolbar() {
// Set tabs max-height to the "toolbar-items" height
const toolbarItems = document.getElementById("tabbrowser-tabs");
const tabs = document.getElementById("tabbrowser-arrowscrollbox");
tabs.style.maxHeight = '0px'; // reset to 0
const toolbarRect = toolbarItems.getBoundingClientRect();
// -5 for the controls padding
tabs.style.maxHeight = toolbarRect.height - 5 + "px";
console.info("ZenThemeModifier: set tabs max-height to", toolbarRect.height + "px");
},
openWatermark() {
if (!Services.prefs.getBoolPref("zen.watermark.enabled", false)) {
return;
}
const watermark = window.MozXULElement.parseXULToFragment(`
<html:div id="zen-watermark">
<image src="chrome://branding/content/about-logo.png" />
</html:div>
`);
document.body.appendChild(watermark);
},
closeWatermark() {
const watermark = document.getElementById("zen-watermark");
if (watermark) {
watermark.setAttribute("hidden", "true");
}
},
_changeSidebarLocation() {
const kElementsToAppend = [
"sidebar-splitter",
"sidebar-box",
"navigator-toolbox",
];
const wrapper = document.getElementById("zen-tabbox-wrapper");
const appWrapepr = document.getElementById("zen-sidebar-box-container");
for (let id of kElementsToAppend) {
const elem = document.getElementById(id);
if (elem) {
wrapper.prepend(elem);
}
}
appWrapepr.setAttribute("hidden", "true");
// Set a splitter to navigator-toolbox
const splitter = document.createXULElement("splitter");
splitter.setAttribute("id", "zen-sidebar-splitter");
splitter.setAttribute("orient", "horizontal");
splitter.setAttribute("resizebefore", "sibling");
splitter.setAttribute("resizeafter", "none");
const titlebar = document.getElementById("navigator-toolbox");
titlebar.insertAdjacentElement("afterend", splitter);
},
};
ZenStartup.init();

View File

@@ -1,12 +1,13 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
index a79a9734619f89639c15087fe28e9615354a7209..edaef604d33d76b570571e1bbb2ebc590e045d87 100644
index f8d49ac2a3a62f389ea44b07a26fcb102abc0b24..c29415e10c776ebc435f33e55f8afb71f0dcf22a 100644
--- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js
@@ -237,6 +237,9 @@ var gBrowserInit = {
@@ -237,6 +237,10 @@ var gBrowserInit = {
gPrivateBrowsingUI.init();
BrowserSearch.init();
BrowserPageActions.init();
+
+ Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
+
if (gToolbarKeyNavEnabled) {

View File

@@ -1,32 +0,0 @@
diff --git a/browser/base/content/browser-siteProtections.js b/browser/base/content/browser-siteProtections.js
index 5364aa74cd938141e85e3a3333e8d1fa58ea3ae4..5cd1748a883b19caa2977c1047d51b9551686bf4 100644
--- a/browser/base/content/browser-siteProtections.js
+++ b/browser/base/content/browser-siteProtections.js
@@ -1904,9 +1904,14 @@ var gProtectionsHandler = {
// the information contained there would mostly be broken and/or
// irrelevant anyway.
this._trackingProtectionIconContainer.hidden = true;
+ // ZEN: We make a clear distinction between native UI and websites for security reasons.
+ // we can remove the separator for websites that dont need it, like "about:*" pages, where
+ // they are safe to use.
+ this._nativeSeparatorForWebsitesContainer.hidden = true;
return;
}
this._trackingProtectionIconContainer.hidden = false;
+ this._nativeSeparatorForWebsitesContainer.hidden = false;
// Check whether the user has added an exception for this site.
this.hasException = ContentBlockingAllowList.includes(
@@ -2882,4 +2887,12 @@ var gProtectionsHandler = {
return messageEl;
},
+
+ get _nativeSeparatorForWebsitesContainer() {
+ delete this._nativeSeparatorForWebsitesContainer;
+ return (this._nativeSeparatorForWebsitesContainer = document.getElementById(
+ "zen-website-and-native-separator"
+ ));
+ },
+
};

View File

@@ -1,17 +1,17 @@
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 3063370347db9e2812ad30205e585c849e44c91e..be74d9e624b8220cb9bd009bae31fb513c4ec73f 100644
index 481ebbee437250c71e9bd10c4fb6fc0c31314925..3bb046a4635fad831cc447e29516ee5ed407a3f2 100644
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -139,6 +139,8 @@
@@ -138,6 +138,8 @@
window.addEventListener("DOMContentLoaded",
gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true });
</script>
+#include zen-locales.inc.xhtml
+#include zen-scripts.inc.xhtml
+#include zen-assets.inc.xhtml
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
# All sets except for popupsets (commands, keys, and stringbundles)
@@ -160,9 +162,12 @@
@@ -159,9 +161,12 @@
</vbox>
</html:template>
@@ -27,10 +27,3 @@ index 3063370347db9e2812ad30205e585c849e44c91e..be74d9e624b8220cb9bd009bae31fb51
<html:template id="customizationPanel">
<box id="customization-container" flex="1" hidden="true"><![CDATA[
@@ -176,5 +181,6 @@
<!-- Put it at the very end to make sure it's not covered by anything. -->
<html:div id="fullscr-toggler" hidden="hidden"/>
+#include zen-watermark.inc.xhtml
</html:body>
</html>

View File

@@ -0,0 +1,35 @@
<!-- Styles used all over the browser -->
<linkset>
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-theme.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-animations.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-sidebar.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-buttons.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-toolbar.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-tabs.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-browser-ui.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-panel-ui.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-single-components.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-browser-container.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-urlbar.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-workspaces.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-decks.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-profile-dialog.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-sidebar-panels.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-popup.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-compact-mode.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/skin/zen-icons/icons.css" />
</linkset>
<!-- Scripts used all over the browser -->
<script type="text/javascript">
window.addEventListener("DOMContentLoaded", async () => {
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenSidebarManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaces.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenViewSplitter.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenProfileDialogUI.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs");
}, { once: true });
</script>

View File

@@ -0,0 +1,40 @@
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
content/browser/ZenStartup.mjs (content/ZenStartup.mjs)
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
content/browser/zen-components/ZenViewSplitter.mjs (content/zen-components/src/ZenViewSplitter.mjs)
content/browser/zen-components/ZenWorkspaces.mjs (content/zen-components/src/ZenWorkspaces.mjs)
content/browser/zen-components/ZenSidebarManager.mjs (content/zen-components/src/ZenSidebarManager.mjs)
content/browser/zen-components/ZenProfileDialogUI.mjs (content/zen-components/src/ZenProfileDialogUI.mjs)
content/browser/zen-components/ZenKeyboardShortcuts.mjs (content/zen-components/src/ZenKeyboardShortcuts.mjs)
content/browser/zen-components/ZenThemeBuilder.mjs (content/zen-components/src/ZenThemeBuilder.mjs)
content/browser/zen-styles/zen-theme.css (content/zen-styles/zen-theme.css)
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
content/browser/zen-styles/zen-tabs.css (content/zen-styles/zen-tabs.css)
content/browser/zen-styles/zen-tabs/vertical-tabs.css (content/zen-styles/zen-tabs/vertical-tabs.css)
content/browser/zen-styles/zen-browser-ui.css (content/zen-styles/zen-browser-ui.css)
content/browser/zen-styles/zen-animations.css (content/zen-styles/zen-animations.css)
content/browser/zen-styles/zen-panel-ui.css (content/zen-styles/zen-panel-ui.css)
content/browser/zen-styles/zen-single-components.css (content/zen-styles/zen-single-components.css)
content/browser/zen-styles/zen-sidebar.css (content/zen-styles/zen-sidebar.css)
content/browser/zen-styles/zen-toolbar.css (content/zen-styles/zen-toolbar.css)
content/browser/zen-styles/zen-decks.css (content/zen-styles/zen-decks.css)
content/browser/zen-styles/zen-browser-container.css (content/zen-styles/zen-browser-container.css)
content/browser/zen-styles/zen-workspaces.css (content/zen-styles/zen-workspaces.css)
content/browser/zen-styles/zen-profile-dialog.css (content/zen-styles/zen-profile-dialog.css)
content/browser/zen-styles/zen-urlbar.css (content/zen-styles/zen-urlbar.css)
content/browser/zen-styles/zen-popup.css (content/zen-styles/zen-popup.css)
content/browser/zen-styles/zen-sidebar-panels.css (content/zen-styles/zen-sidebar-panels.css)
content/browser/zen-styles/zen-panels/bookmarks.css (content/zen-styles/zen-panels/bookmarks.css)
content/browser/zen-styles/zen-panels/extensions.css (content/zen-styles/zen-panels/extensions.css)
content/browser/zen-styles/zen-panels/print.css (content/zen-styles/zen-panels/print.css)
content/browser/zen-styles/zen-panels/welcome.css (content/zen-styles/zen-panels/welcome.css)
content/browser/zen-styles/zen-compact-mode.css (content/zen-styles/zen-compact-mode.css)
# Actors
content/browser/zen-components/actors/ZenThemeMarketplaceParent.sys.mjs (content/zen-components/src/actors/ZenThemeMarketplaceParent.sys.mjs)
content/browser/zen-components/actors/ZenThemeMarketplaceChild.sys.mjs (content/zen-components/src/actors/ZenThemeMarketplaceChild.sys.mjs)

View File

@@ -1,10 +0,0 @@
<script type="text/javascript">
window.addEventListener("DOMContentLoaded", async () => {
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenSidebarManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaces.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenViewSplitter.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenProfileDialogUI.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs");
}, { once: true });
</script>

View File

@@ -1,9 +0,0 @@
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
content/browser/zen-components/ZenViewSplitter.mjs (content/zen-components/src/ZenViewSplitter.mjs)
content/browser/zen-components/ZenWorkspaces.mjs (content/zen-components/src/ZenWorkspaces.mjs)
content/browser/zen-components/ZenSidebarManager.mjs (content/zen-components/src/ZenSidebarManager.mjs)
content/browser/zen-components/ZenProfileDialogUI.mjs (content/zen-components/src/ZenProfileDialogUI.mjs)
content/browser/zen-components/ZenKeyboardShortcuts.mjs (content/zen-components/src/ZenKeyboardShortcuts.mjs)
content/browser/zen-components/ZenThemeBuilder.mjs (content/zen-components/src/ZenThemeBuilder.mjs)

View File

@@ -0,0 +1,109 @@
@keyframes zen-jello-animation {
0% {
transform: scale3d(0.8, 0.8, 0.8);
}
60% {
transform: scale3d(1.02, 1.02, 1.02);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
@keyframes zen-jello-out-animation {
0% {
transform: scale3d(1, 1, 1);
}
60% {
transform: scale3d(1.02, 1.02, 1.02);
}
99% {
opacity: 0;
transform: scale3d(0.8, 0.8, 0.8);
}
100% {
-moz-window-transform: none;
transform: none;
}
}
@keyframes zen-slide-in {
from {
transform: translateX(-10px);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes zen-zoom-in {
from {
transform: scale(0.5);
opacity: 0;
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes zen-deck-fadeIn {
0% {
transform: scale(0.9);
opacity: 0;
}
100% {
transform: scale(1);
opacity: 1;
}
}
@keyframes zen-sidebar-panel-animation {
0% {
opacity: 0;
transform: scale3d(0.9, 0.9, 0.9);
}
100% {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
@keyframes zen-sidebar-panel-animation-2 {
0% {
opacity: 0;
transform: translateX(-50px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes zen-sidebar-panel-animation-reverse {
0% {
opacity: 1;
transform: translateX(0);
}
99% {
opacity: 0;
transform: translateX(-50px);
}
100% {
display: none !important;
}
}

View File

@@ -0,0 +1,16 @@
:root:not([inDOMFullscreen="true"]):not([chromehidden~="location"]):not([chromehidden~="toolbar"]) {
& #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
width: -moz-available;
margin: 0 var(--zen-element-separation) var(--zen-element-separation) 0;
box-shadow: 0 0 0 1px var(--zen-colors-border);
& browser {
clip-path: inset(0px 0px 0px round var(--zen-browser-border-radius) 0);
}
&, & browser {
border-radius: var(--zen-browser-border-radius);
}
}
}

View File

@@ -0,0 +1,35 @@
#navigator-toolbox,
#browser,
#appcontent,
#tabbrowser-tabpanels {
background: transparent !important;
}
#browser {
width: 100%;
}
html#main-window > body {
background: var(--zen-main-browser-background) !important;
}
:not([inDOMFullscreen="true"]) #appcontent {
overflow: hidden;
}
:not([inDOMFullscreen="true"]) #appcontent,
#sidebar-box {
/** Sidebar is already hidden in full screen mode */
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
border: none;
}
#zen-main-app-wrapper {
background: var(--zen-main-browser-background);
}
#tabbrowser-tabbox {
display: flex;
flex-direction: row;
}

View File

@@ -25,9 +25,19 @@ button:active {
html|button:not(:is(
.tab-button, .ghost-button,
.button-toggle, .button-edit,
.button-add
)) {
.button-add,
)),
xul|button:is(
.expander-down
) {
transition: .2s;
min-width: unset !important;
border-radius: 6px !important;
min-width: 80px !important;
}
@media (-moz-bool-pref: "zen.theme.pill-button") {
:host(:is(.anonymous-content-host, notification-message)),
:root {
--zen-button-border-radius: 20px;
}
}

View File

@@ -0,0 +1,151 @@
/* All overrides for compact mode go here */
@media not (-moz-bool-pref: "zen.view.compact") {
#sidebar-box {
margin-top: 0 !important;
}
}
@media (-moz-bool-pref: "zen.view.compact") {
:root[sizemode="fullscreen"],
#navigator-toolbox[inFullscreen]{ margin-top: 0 !important; }
#navigator-toolbox {
--zen-compact-toolbox-margin-single: 15px;
--zen-compact-toolbox-margin: var(--zen-compact-toolbox-margin-single);
position: absolute;
display: block;
transition: 200ms ease-in-out !important;
transform: translateX(calc(-100% + var(--zen-compact-toolbox-margin-single) + 2px));
opacity: 0;
line-height: 0;
z-index: 1;
height: 100%;
margin: 0;
padding: var(--zen-compact-toolbox-margin);
padding-top: calc(var(--zen-compact-toolbox-margin-single) - var(--zen-element-separation));
& #titlebar {
border: 1px solid var(--zen-colors-border);
background: var(--zen-colors-tertiary) !important;
padding: 0 5px;
border-radius: var(--zen-panel-radius);
}
}
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
width: fit-content !important;
}
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
min-width: calc(var(--zen-navigation-toolbar-min-width) + var(--zen-compact-toolbox-margin-single) * 2) !important;
}
}
#zen-sidebar-web-panel-wrapper:not(:has(#zen-sidebar-web-panel[hidden="true"])),
#sidebar-box:not([positionend="true"]) {
margin-right: 0 !important;
margin-left: var(--zen-sidebar-web-panel-spacing) !important;
}
#sidebar-box[positionend="true"] {
margin-left: 0 !important;
margin-right: var(--zen-sidebar-web-panel-spacing) !important;
}
#sidebar-splitter {
margin: 0 !important;
}
@media not (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
#navigator-toolbox {
/* Remove the top margin */
--zen-compact-toolbox-margin: calc(var(--zen-compact-toolbox-margin-single) / 3) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single);
}
#zen-sidebar-web-panel-wrapper,
#sidebar-box {
margin-top: 0 !important;
}
}
#navigator-toolbox:hover,
#navigator-toolbox:focus-within,
#navigator-toolbox[zen-user-show],
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
transition-delay: 33ms !important;
transform: none !important;
opacity: 1;
}
#navigator-toolbox > *{ line-height: normal; pointer-events: auto }
#navigator-toolbox,
#navigator-toolbox > *{
-moz-appearance: none !important;
}
#zen-sidebar-splitter {
display: none !important;
}
/* Don't apply transform before window has been fully created */
:root:not([sessionrestored]) #navigator-toolbox{ transform:none !important }
:root[customizing] #navigator-toolbox{
position: relative !important;
transform: none !important;
opacity: 1 !important;
}
#navigator-toolbox[inFullscreen] > #PersonalToolbar,
#PersonalToolbar[collapsed="true"]{ display: none }
:root:not([inDOMFullscreen="true"]) #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
margin-left: var(--zen-element-separation) !important;
}
@media (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
#zen-appcontent-navbar-container {
--urlbar-height: unset;
transition: .2s ease-in-out;
transform: translateY(calc(-100% + 5px));
opacity: 0;
position: absolute;
width: 100%;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
border-bottom: 1px solid var(--zen-colors-border);
top: 0;
background: var(--zen-colors-tertiary);
z-index: 2;
transition: .2s ease-in-out;
}
#zen-appcontent-navbar-container:hover,
#zen-appcontent-navbar-container:focus-within,
#zen-appcontent-navbar-container[zen-user-show],
#mainPopupSet:has(> #appMenu-popup:hover) ~ #zen-appcontent-navbar-container,
#zen-appcontent-navbar-container:has(*[open="true"]) {
transform: translateY(0);
opacity: 1;
}
:root:not([inDOMFullscreen="true"]) #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
margin-top: var(--zen-element-separation);
}
#titlebar {
padding-top: 5px !important;
}
#zen-sidebar-web-panel-wrapper {
margin-top: 10px !important;
}
}
}

View File

@@ -0,0 +1,120 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
/** Zen Decks - ONLY USED FOR SPLIT VIEWS, DO NOT USE THIS CLASS FOR ANY OTHER PURPOSE **/
#tabbrowser-tabpanels[zen-split-view="true"] {
display: flex;
flex-direction: row;
}
#tabbrowser-tabpanels[zen-split-view="true"] > *:not([zen-split="true"]) {
flex: 0;
margin: 0;
}
#tabbrowser-tabpanels[zen-split-view="true"] > [zen-split="true"] {
flex: 1;
margin-right: 5px;
}
#tabbrowser-tabpanels[zen-split-view="true"] > [zen-split-anim="true"] {
animation: zen-deck-fadeIn 0.2s forwards;
}
#tabbrowser-tabpanels[zen-split-view="true"] .browserSidebarContainer[zen-split-active="true"] {
box-shadow: 0 0 0 2px var(--zen-primary-color) !important;
}
#tabbrowser-tabpanels:has(> [zen-split="true"]) {
display: grid;
grid-gap: 5px;
}
#zen-split-views-box:not([hidden="true"]) {
display: flex !important;
}
/* Split view panel */
#zenSplitViewModifierViewDefault {
min-width: 180px;
min-height: 180px;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 10px;
padding: 15px;
}
#zenSplitViewModifierViewDefault > vbox {
display: flex;
align-items: center;
flex-direction: column;
cursor: pointer;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview {
border-radius: 5px;
border: 1px solid var(--zen-colors-border);
width: 100px;
height: 70px;
overflow: hidden;
padding: 5px;
user-select: none;
font-weight: 500;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.active {
box-shadow: 0 0 0 2px var(--zen-primary-color);
border-width: 0px;
}
#zenSplitViewModifierViewDefault p {
margin-top: 5px;
margin-bottom: 0;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview box {
background-color: var(--zen-colors-secondary);
border-radius: 3px;
width: 100%;
height: 100%;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.hsep {
display: flex;
flex-direction: column;
justify-content: space-between;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.hsep box:last-child {
margin-top: 5px;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.vsep box:last-child {
margin-left: 5px;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid {
display: grid;
grid-template-areas: "a b" "c b";
gap: 5px;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid box:nth-child(1) {
grid-area: a;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid box:nth-child(2) {
grid-area: b;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid box:nth-child(3) {
grid-area: c;
}

View File

@@ -0,0 +1,8 @@
panel[type="arrow"][animate][animate="open"] {
animation: zen-jello-animation 0.2s ease-in-out;
}
panel[type="arrow"][animate][animate="cancel"] {
animation: zen-jello-out-animation 0.2s ease-in-out;
}

View File

@@ -0,0 +1,65 @@
#zenEditBookmarkPanelFaviconContainer {
border: 1px solid var(--input-border-color);
width: 100px;
height: 100px;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
margin: 16px;
background: light-dark(#fff, rgba(255,255,255,.1));
}
#editBookmarkPanel::part(content) {
display: flex;
flex-direction: row;
}
#zenEditBookmarkPanelFavicon {
width: 20px;
height: 20px;
}
#editBookmarkPanel .panel-header {
min-height: 0;
padding-bottom: 0;
padding-top: 16px;
}
#editBMPanel_namePicker {
width: -moz-available;
}
label.editBMPanel_folderRow,
label.editBMPanel_nameRow {
min-width: 60px;
}
hbox.editBMPanel_folderRow {
width: -moz-available;
}
.zenEditBMPanel_fieldContainer:not(:first-child) {
margin-top: 10px;
}
.zenEditBMPanel_fieldContainer {
align-items: center;
}
#editBookmarkPanelBottomContent {
display: none;
}
:host(:not([native])) #label-box {
font-weight: 500;
}
#editBMPanel_folderMenuList::part(icon) {
margin-right: 10px;
}
/* Bookmarks in toolbar */
#PersonalToolbar {
background: transparent;
}

View File

@@ -0,0 +1,69 @@
#unified-extensions-manage-extensions {
padding-left: 20px;
}
panelview .unified-extensions-item-action-button {
padding: 5px 20px;
}
#unified-extensions-description {
padding: 0 20px;
margin: 0;
}
.unified-extensions-item {
padding: 0;
}
#unified-extensions-view {
--uei-icon-size: 16px;
.unified-extensions-item {
margin-block: 0;
border-radius: var(--arrowpanel-menuitem-border-radius);
> .unified-extensions-item-action-button {
.unified-extensions-item-message-deck {
display: none;
}
&:hover {
background-color: initial;
}
}
> .unified-extensions-item-menu-button {
list-style-image: url("chrome://global/skin/icons/more.svg");
padding: 0;
> .toolbarbutton-icon {
padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline);
border: none;
opacity: 0;
}
&:hover {
> .toolbarbutton-icon {
background-color: initial;
}
&:active {
color: var(--button-primary-hover-bgcolor);
}
}
}
&:hover {
background-color: var(--panel-item-hover-bgcolor);
> .unified-extensions-item-menu-button > .toolbarbutton-icon {
opacity: 1;
}
}
&:has(> .unified-extensions-item-action-button:not([disabled]):hover:active) {
background-color: var(--panel-item-active-bgcolor);
}
}
}

View File

@@ -0,0 +1,7 @@
.printDialogBox {
max-width: 90vw;
}
.printSettingsBrowser {
min-width: 350px;
}

View File

@@ -0,0 +1,30 @@
/* Zen Welcome idalog override */
.dialogBox:not(.spotlightBox) {
border: 1px solid var(--zen-dialog-border-color);
}
#window-modal-dialog:not([zen-dialog-welcome-element="true"]) .dialogBox:not(.spotlightBox) {
transform: translateY(-9px);
}
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogBox:not(.spotlightBox) {
margin: 0 !important;
}
#window-modal-dialog[zen-dialog-welcome-element="true"],
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogOverlay,
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogFrame,
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogBox {
width: 100% !important;
height: 100% !important;
max-height: none !important;
max-width: none !important;
}
#window-modal-dialog[zen-dialog-welcome-element="true"] {
--zen-welcome-dialog-space: 7px;
margin: 0 auto !important;
max-width: calc(100% - calc(var(--zen-welcome-dialog-space) * 2)) !important;
max-height: calc(100% - calc(var(--zen-welcome-dialog-space) * 2)) !important;
margin-top: var(--zen-welcome-dialog-space) !important;
}

View File

@@ -1,20 +1,20 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
@import url("chrome://browser/content/zen-styles/zen-panels/bookmarks.css");
@import url("chrome://browser/content/zen-styles/zen-panels/extensions.css");
@import url("chrome://browser/content/zen-styles/zen-panels/print.css");
@import url("chrome://browser/content/zen-styles/zen-panels/welcome.css");
:root {
--panel-subview-body-padding: 2px 0 !important;
--arrowpanel-menuitem-border-radius: 5px !important;
--arrowpanel-menuitem-margin: var(--uc-arrowpanel-menuitem-margin-block) var(--uc-arrowpanel-menuitem-margin-inline) !important;
--arrowpanel-menuitem-padding-block: 8px !important;
--arrowpanel-menuitem-padding-inline: 14px !important;
--panel-subview-body-padding: 2px 0;
--arrowpanel-menuitem-border-radius: 5px;
--arrowpanel-menuitem-margin: var(--uc-arrowpanel-menuitem-margin-block) var(--uc-arrowpanel-menuitem-margin-inline);
--arrowpanel-menuitem-padding-block: 8px;
--arrowpanel-menuitem-padding-inline: 14px;
--uc-arrowpanel-menuicon-margin-inline: 14px;
--uc-arrowpanel-menuitem-margin-inline: 4px;
--uc-arrowpanel-menuitem-margin-block: 2px;
--panel-separator-margin-vertical: 2px !important;
--panel-separator-margin-horizontal: 1px !important;
--panel-separator-margin-vertical: 2px;
--panel-separator-margin-horizontal: 1px;
--uc-panel-zoom-button-padding: 8px;
--uc-panel-zoom-button-inline-padding: 9px;
@@ -41,39 +41,45 @@
--uc-contextmenu-separator-vertical: calc(4px - var(--uc-contextmenu-menuitem-border-width));
--uc-contextmenu-separator-horizontal: 0;
--panel-separator-color: var(--zen-colors-border) !important;
--panel-separator-color: var(--zen-colors-border);
--zen-panel-separator-width: 1px;
}
menupopup, panel {
--panel-background: var(--arrowpanel-background);
--panel-border-radius: var(--zen-panel-radius);
}
/* app menu */
.addon-banner-item,
.panel-banner-item {
margin: 2px 4px 2px !important;
padding-inline: 4px 12px !important;
padding-block: var(--arrowpanel-menuitem-padding-block) !important;
border-radius: var(--arrowpanel-menuitem-border-radius) !important;
margin: 2px 4px 2px;
padding-inline: 4px 12px;
padding-block: var(--arrowpanel-menuitem-padding-block);
border-radius: var(--arrowpanel-menuitem-border-radius);
}
#appMenu-fxa-label2 label,
#PanelUI-fxa-menu-syncnow-button label {
margin-block: 0 !important;
margin-block: 0;
}
.widget-overflow-list .toolbarbutton-1:not(.toolbarbutton-combined)>.toolbarbutton-text,
.subviewbutton:not(#appMenu-zoom-controls > .subviewbutton)>.toolbarbutton-icon+.toolbarbutton-text,
#appMenu-fxa-label2>vbox {
padding-inline-start: var(--uc-arrowpanel-menuicon-margin-inline) !important;
padding-inline-start: var(--uc-arrowpanel-menuicon-margin-inline);
}
/* special case menuitems with no icons */
#appMenu-zoom-controls>.toolbarbutton-text,
#fxa-manage-account-button>vbox,
#PanelUI-fxa-menu-syncnow-button>hbox {
padding-inline-start: calc(16px + var(--uc-arrowpanel-menuicon-margin-inline)) !important;
padding-inline-start: calc(16px + var(--uc-arrowpanel-menuicon-margin-inline));
}
.subviewbutton>.toolbarbutton-icon {
width: 15px !important;
width: 15px;
}
/* firefox profile avatar in appmenu */
@@ -89,37 +95,37 @@
/* disable proton account separator */
#appMenu-fxa-separator {
border-image: none !important;
border-image: none;
}
#appMenu-fxa-status2:not([fxastatus]) {
padding-block: 0 !important;
padding-block: 0;
}
#appMenu-fxa-status2:not([fxastatus])>#appMenu-fxa-label2 {
margin-inline-end: calc(var(--arrowpanel-menuitem-padding-inline) * -1) !important;
margin-inline-end: calc(var(--arrowpanel-menuitem-padding-inline) * -1);
}
/* zoom controls */
#appMenu-zoom-controls {
border-top: 1px solid var(--panel-separator-color) !important;
padding-inline: calc(var(--arrowpanel-menuitem-padding-inline) + var(--uc-arrowpanel-menuitem-margin-inline)) var(--uc-arrowpanel-menuitem-margin-inline) !important;
padding-block: var(--uc-panel-zoom-padding-block) !important;
margin: var(--panel-separator-margin-vertical) 0 calc(var(--panel-separator-margin-vertical) * -1) !important;
border-top: 1px solid var(--panel-separator-color);
padding-inline: calc(var(--arrowpanel-menuitem-padding-inline) + var(--uc-arrowpanel-menuitem-margin-inline)) var(--uc-arrowpanel-menuitem-margin-inline);
padding-block: var(--uc-panel-zoom-padding-block);
margin: var(--panel-separator-margin-vertical) 0 calc(var(--panel-separator-margin-vertical) * -1);
}
#appMenu-zoom-controls>.subviewbutton {
padding: var(--uc-panel-zoom-button-padding) var(--uc-panel-zoom-button-inline-padding) !important;
margin: 0 !important;
padding: var(--uc-panel-zoom-button-padding) var(--uc-panel-zoom-button-inline-padding);
margin: 0;
}
#appMenu-zoom-controls>#appMenu-zoomReset-button2 {
padding: var(--uc-panel-zoom-button-padding) calc(var(--uc-panel-zoom-button-padding) / 2) !important;
padding: var(--uc-panel-zoom-button-padding) calc(var(--uc-panel-zoom-button-padding) / 2);
}
/* #appMenu-zoomReduce-button2, */
#appMenu-zoom-controls>#appMenu-fullscreen-button2 {
margin-left: calc((var(--panel-separator-margin-vertical) + var(--uc-arrowpanel-menuitem-margin-block)) * 2 + 1px) !important;
margin-left: calc((var(--panel-separator-margin-vertical) + var(--uc-arrowpanel-menuitem-margin-block)) * 2 + 1px);
}
#appMenu-zoom-controls>#appMenu-fullscreen-button2::before {
@@ -133,65 +139,65 @@
}
#appMenu-zoomReset-button2 {
height: calc(16px + var(--uc-panel-zoom-button-padding) * 2) !important;
min-height: calc(16px + var(--uc-panel-zoom-button-padding) * 2) !important;
height: calc(16px + var(--uc-panel-zoom-button-padding) * 2);
min-height: calc(16px + var(--uc-panel-zoom-button-padding) * 2);
}
#appMenu-zoomReduce-button2:not([disabled], [open], :active):is(:hover),
#appMenu-zoomEnlarge-button2:not([disabled], [open], :active):is(:hover),
#appMenu-fullscreen-button2:not([disabled], [open], :active):is(:hover),
#appMenu-zoomReset-button2:not([disabled], [open], :active):is(:hover) {
background-color: var(--panel-item-hover-bgcolor) !important;
background-color: var(--panel-item-hover-bgcolor);
}
#appMenu-zoomReduce-button2:not([disabled]):is([open], :hover:active),
#appMenu-zoomEnlarge-button2:not([disabled]):is([open], :hover:active),
#appMenu-fullscreen-button2:not([disabled]):is([open], :hover:active),
#appMenu-zoomReset-button2:not([disabled]):is([open], :hover:active) {
background-color: var(--panel-item-active-bgcolor) !important;
background-color: var(--panel-item-active-bgcolor);
}
#appMenu-zoomReset-button2>.toolbarbutton-text,
#appMenu-fullscreen-button2>.toolbarbutton-icon {
background-color: transparent !important;
padding: 0 !important;
background-color: transparent;
padding: 0;
}
.subviewbutton[shortcut]::after {
opacity: 0.7 !important;
opacity: 0.7;
}
#widget-overflow-mainView .panel-subview-body {
padding-bottom: 0 !important;
padding-bottom: 0;
}
.PanelUI-subView>.panel-header+toolbarseparator {
margin-bottom: 0 !important;
margin-bottom: 0;
}
.PanelUI-subView>.panel-header+toolbarseparator+.panel-subview-body {
padding-top: var(--panel-separator-margin-vertical) !important;
padding-top: var(--panel-separator-margin-vertical);
}
#identity-popup-security-button {
margin-bottom: var(--panel-separator-margin-vertical) !important;
margin-bottom: var(--panel-separator-margin-vertical);
}
#permission-popup-mainView-panel-header,
#identity-popup-mainView-panel-header,
#protections-popup-mainView-panel-header,
.panel-header {
min-height: calc((var(--arrowpanel-menuitem-padding-block) + 4px) * 2 + 16px) !important;
min-height: calc((var(--arrowpanel-menuitem-padding-block) + 4px) * 2 + 16px);
}
/* URL bar popup */
.identity-popup-security-connection>hbox>description {
margin-inline-start: 0 !important;
margin-inline-start: 0;
}
.identity-popup-security-connection.identity-button {
margin-inline-end: calc(-1 * (var(--arrowpanel-menuitem-padding-inline) - 10px)) !important;
margin-inline-end: calc(-1 * (var(--arrowpanel-menuitem-padding-inline) - 10px));
}
#identity-popup-mainView-panel-header-span,
@@ -199,42 +205,42 @@
#identity-popup-mainView-panel-header label,
#permission-popup-mainView-panel-header label,
#protections-popup-mainView-panel-header-span {
margin-block: 0 !important;
margin-block: 0;
}
.permission-popup-section {
padding-block: var(--uc-permission-itemcontainer-padding-block) !important;
padding-block: var(--uc-permission-itemcontainer-padding-block);
}
#permission-popup-permissions-content {
padding-inline: var(--uc-permission-item-padding-inline) !important;
padding-inline: var(--uc-permission-item-padding-inline);
}
.permission-popup-permission-item,
#permission-popup-storage-access-permission-list-header {
margin-block: var(--uc-permission-item-margin-block) !important;
margin-block: var(--uc-permission-item-margin-block);
}
.permission-popup-permission-label,
.permission-popup-permission-header-label {
margin-inline-start: var(--uc-arrowpanel-menuicon-margin-inline) !important;
margin-inline-start: var(--uc-arrowpanel-menuicon-margin-inline);
}
#editBookmarkPanel>#editBookmarkHeaderSeparator,
#editBookmarkPanel>.panel-subview-body>#editBookmarkSeparator {
margin-inline: 0 !important;
margin-inline: 0;
}
#identity-popup-mainView > toolbarseparator:first-child,
#unified-extensions-view > toolbarseparator:first-child {
display: none !important;
opacity: 0 !important;
display: none;
opacity: 0;
}
menupopup::part(content),
panel::part(content) {
border: var(--zen-appcontent-border) !important;
border: var(--zen-appcontent-border);
}
menupopup,
@@ -242,143 +248,32 @@ panel {
box-shadow: none;
}
/*toolbarbutton:not(:is(
#appMenu-fxa-label2,
.subviewbutton-iconic,
.zen-sidebar-action-button,
.all-tabs-close-button,
.zen-sidebar-panel-button,
#zen-sidebar-web-panel-pinned,
#PanelUI-zen-profiles-managePrfs,
.bookmark-item,
#urlbar-zoom-button,
.panel-info-button,
)),*/
#PanelUI-zen-profiles menuitem {
/** ADD HERE ALL TYPES OF BUTTONS THAT WANT TO LOOK CHROME LIKE!!! */
margin: 0 !important;
border-radius: 0 !important;
}
.panel-subview-footer-button {
padding-top: 10px !important;
padding-bottom: 10px !important;
}
#PanelUI-zen-profiles menuitem {
padding: 5px !important;
}
#PanelUI-zen-profiles menuitem:last-child {
margin-bottom: 5px !important;
}
panelview .unified-extensions-item-action-button {
padding: 5px 20px !important;
}
#unified-extensions-description {
padding: 0 20px;
margin: 0 !important;
}
.unified-extensions-item {
padding: 0 !important;
}
.panel-subview-footer-button {
--arrowpanel-menuitem-padding-block: 20px !important;
--arrowpanel-menuitem-padding-inline: 15px !important;
}
toolbarseparator, menuseparator {
border-width: var(--zen-panel-separator-width) !important;
}
#appMenu-zoom-controls {
border-top-width: var(--zen-panel-separator-width) !important;
}
#zenEditBookmarkPanelFaviconContainer {
border: 1px solid var(--input-border-color);
width: 100px;
height: 100px;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
margin: 16px;
background: light-dark(#fff, rgba(255,255,255,.1));
}
#editBookmarkPanel::part(content) {
display: flex;
flex-direction: row !important;
}
#zenEditBookmarkPanelFavicon {
width: 20px;
height: 20px;
}
#editBookmarkPanel .panel-header {
min-height: 0 !important;
padding-bottom: 0;
padding-top: 16px;
}
#editBMPanel_namePicker {
width: -moz-available;
}
label.editBMPanel_folderRow,
label.editBMPanel_nameRow {
min-width: 60px;
}
hbox.editBMPanel_folderRow {
width: -moz-available;
}
.zenEditBMPanel_fieldContainer:not(:first-child) {
margin-top: 10px;
}
.zenEditBMPanel_fieldContainer {
align-items: center;
}
#editBookmarkPanelBottomContent {
display: none;
}
:host(:not([native])) #label-box {
font-weight: 500 !important;
}
#editBMPanel_folderMenuList::part(icon) {
margin-right: 10px;
}
/**/
#unified-extensions-manage-extensions {
padding-left: 20px;
padding-top: 10px;
padding-bottom: 10px;
}
#identity-popup-clear-sitedata-footer {
margin-bottom: 0 !important;
padding-top: 0 !important;
margin: 0;
padding: 0;
}
/* Dialog box */
.printDialogBox {
max-width: 90vw !important;
.panel-subview-footer-button {
--arrowpanel-menuitem-padding-block: 20px;
--arrowpanel-menuitem-padding-inline: 15px;
}
.printSettingsBrowser {
min-width: 350px !important;
toolbarseparator, menuseparator {
border-width: var(--zen-panel-separator-width);
}
#appMenu-zoom-controls {
border-top-width: var(--zen-panel-separator-width);
}
#identity-popup-multiView toolbarseparator,
#editBookmarkHeaderSeparator {
display: none;
}
/* Context menu */
@@ -389,57 +284,3 @@ menu, menuitem {
}
}
/** Unified Extensions View */
#unified-extensions-view {
--uei-icon-size: 16px !important;
.unified-extensions-item {
margin-block: 0 !important;
border-radius: var(--arrowpanel-menuitem-border-radius) !important;
> .unified-extensions-item-action-button {
.unified-extensions-item-message-deck {
display: none;
}
&:hover {
background-color: initial !important;
}
}
> .unified-extensions-item-menu-button {
list-style-image: url("chrome://global/skin/icons/more.svg") !important;
padding: 0 !important;
> .toolbarbutton-icon {
padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline) !important;
border: none !important;
opacity: 0;
}
&:hover {
> .toolbarbutton-icon {
background-color: initial !important;
}
&:active {
color: var(--button-primary-hover-bgcolor) !important;
}
}
}
&:hover {
background-color: var(--panel-item-hover-bgcolor);
> .unified-extensions-item-menu-button > .toolbarbutton-icon {
opacity: 1;
}
}
&:has(> .unified-extensions-item-action-button:not([disabled]):hover:active) {
background-color: var(--panel-item-active-bgcolor);
}
}
}

View File

@@ -0,0 +1,169 @@
#PanelUI-zen-profiles {
--menu-panel-width: 19em;
position: relative;
padding-bottom: 5px;
}
#PanelUI-zen-profiles-header {
width: 280px;
height: 130px;
background: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
position: relative;
}
#PanelUI-zen-profiles-user-picture {
background-image: var(--avatar-image-url);
width: 75px;
height: 75px;
border: 4px var(--arrowpanel-background) solid;
background-color: var(--zen-colors-primary-foreground);
border-radius: 50%;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
margin: 0 auto;
transform: translateY(100%);
}
.PanelUI-zen-profiles-item {
position: relative;
display: flex;
padding: 6px 10px;
font: menu;
align-items: center;
}
#PanelUI-zen-profiles-list .PanelUI-zen-profiles-item {
margin-bottom: 2px;
border-radius: 5px;
margin: 2px 5px;
}
#PanelUI-zen-profiles-list > toolbarseparator:first-child {
margin: 5px;
}
.PanelUI-zen-profiles-item:hover {
background: var(--panel-item-hover-bgcolor);
color: inherit;
}
.PanelUI-zen-profiles-item::after {
content: '';
background-image: url("chrome://global/skin/icons/arrow-right.svg");
background-size: 1em;
background-repeat: no-repeat;
background-position: center;
width: 1em;
height: 1em;
margin-left: auto;
pointer-events: none;
top: 50%;
right: 1em;
transform: translateY(-50%);
position: absolute;
}
@media (prefers-color-scheme: dark) {
.PanelUI-zen-profiles-item::after {
filter: invert(1);
}
}
#PanelUI-zen-profiles-list .PanelUI-zen-profiles-item-avatar {
width: 20px;
height: 20px;
border-radius: 5px;
margin: 1px 0.5em 1px 1px;
}
#PanelUI-zen-profiles-list .PanelUI-zen-profiles-item-name {
font-weight: normal;
font-size: 15px;
margin-left: 5px;
}
#PanelUI-zen-profiles-current-info {
--zen-separation-from-content: 35px;
margin-top: calc(var(--zen-separation-from-content) + 30px); /** Ignore the profile picture */
}
#PanelUI-zen-profiles-current-name {
font-size: 1.3em;
font-weight: 600;
line-height: 0.5;
padding: 5px 10px;
border-radius: 5px;
margin: 0 auto;
}
#PanelUI-zen-profiles toolbarbutton::after {
display: none;
}
#PanelUI-zen-profiles toolbarbutton {
padding-left: 16px;
padding-right: 16px;
}
#PanelUI-zen-profiles toolbarbutton:last-child {
margin-bottom: 5px !important;
}
#PanelUI-zen-profiles-current-profile-current {
font-size: 13px;
opacity: 0.5;
margin: 0 auto var(--zen-separation-from-content) auto;
font-size: 15px;
font-weight: 600;
}
#PanelUI-zen-profiles-actions {
color-scheme: dark;
position: absolute;
top: 10px;
right: 10px;
border-radius: 10px !important;
padding: 1px 10px !important;
transition: .1s;
color: light-dark(white, black);
background: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
}
#PanelUI-zen-profiles-managePrfs:hover {
background: var(--panel-item-hover-bgcolor);
}
#PanelUI-zen-profiles-actions toolbarbutton {
cursor: pointer;
padding: 0;
}
#PanelUI-zen-profiles-actions toolbarbutton .toolbarbutton-icon {
width: 14px !important;
}
#PanelUI-zen-profiles-actions toolbarbutton:not(:first-child) {
margin-left: 10px;
}
#PanelUI-zen-profiles-actions toolbarbutton label {
display: none !important;
}
#PanelUI-zen-profiles menuitem {
/** ADD HERE ALL TYPES OF BUTTONS THAT WANT TO LOOK CHROME LIKE!!! */
margin: 0;
border-radius: 0;
}
#PanelUI-zen-profiles menuitem {
padding: 5px;
}
#PanelUI-zen-profiles menuitem:last-child {
margin-bottom: 5px;
}

View File

@@ -4,7 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#zen-sidebar-panels-wrapper {
#zen-sidebar-panels-wrapper {
/*min-height: 500px;*/
display: flex;
align-items: center;
@@ -53,6 +53,7 @@
#zen-sidebar-web-panel-wrapper {
--zen-default-sidebar-width: 300px;
--zen-sidebar-web-panel-spacing: var(--zen-element-separation);
position: relative;
margin-right: 0;
display: flex;
@@ -67,17 +68,12 @@
}
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned="true"]) {
--zen-sidebar-web-panel-spacing: 10px;
margin: var(--zen-appcontent-separator-from-window);
position: absolute;
z-index: 1;
width: -moz-available;
padding: var(--zen-sidebar-web-panel-spacing);
height: calc(100% - 10px);
}
#zen-sidebar-web-panel:not([pinned="true"]) {
--zen-sidebar-web-panel-spacing: calc(10px / 3);
height: calc(100% - var(--zen-element-separation));
}
#zen-sidebar-web-panel {
@@ -126,7 +122,7 @@
#zen-sidebar-web-panel[hidden="true"] #zen-sidebar-web-panel-hsplitter,
#zen-sidebar-web-panel-wrapper[hidden="true"] + #zen-sidebar-web-panel-splitter,
#zen-sidebar-web-panel-wrapper[hidden="true"] + #zen-sidebar-web-panel-hsplitter,
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel:not([pinned="true"])) + #zen-sidebar-web-panel-splitter {
#zen-sidebar-web-panel:not([pinned="true"]) #zen-sidebar-web-panel-hsplitter {
display: none;
margin: 0;
}
@@ -159,46 +155,6 @@
animation: zen-sidebar-panel-animation-reverse 0.2s ease-in-out forwards;
}
@keyframes zen-sidebar-panel-animation {
0% {
opacity: 0;
transform: scale3d(0.9, 0.9, 0.9);
}
100% {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
@keyframes zen-sidebar-panel-animation-2 {
0% {
opacity: 0;
transform: translateX(-50px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes zen-sidebar-panel-animation-reverse {
0% {
opacity: 1;
transform: translateX(0);
}
99% {
opacity: 0;
transform: translateX(-50px);
}
100% {
display: none !important;
}
}
#zen-sidebar-web-header,
#zen-sidebar-panels-wrapper {
width: 100%;
@@ -275,4 +231,4 @@
width: -moz-available;
text-align: center;
display: block;
}
}

View File

@@ -4,8 +4,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
@import url("zen-sidebar-panels.css");
:root {
--sidebar-background-color: var(--toolbar-bgcolor) !important;
--zen-sidebar-box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
@@ -13,26 +11,23 @@
#sidebar-box {
--zen-sidebar-box-border-radius: var(--zen-browser-border-radius);
margin: 10px !important;
border-radius: var(--zen-sidebar-box-border-radius) !important;
margin: var(--zen-element-separation);
border-radius: var(--zen-sidebar-box-border-radius);
overflow: hidden;
transition: .2s;
margin-left: 0 !important;
margin-left: 0;
border: var(--zen-appcontent-border);
box-shadow: none;
margin-top: 0;
}
#sidebar-box[hidden="true"] {
width: 0 !important;
opacity: 0 !important;
width: 0;
opacity: 0;
}
#sidebar-box[positionend="true"] {
order: 1 !important;
}
#sidebar-box:not([positionend ="true"]) {
margin-right: 0 !important;
#sidebar-box:not([positionend="true"]) {
margin-right: 0;
}
#zen-main-app-wrapper:has(#sidebar-box:not([hidden="true"], [positionend="true"])) #TabsToolbar {
@@ -167,13 +162,13 @@
#zen-sidebar-icons-wrapper {
display: flex;
flex-direction: column;
padding: 0 3px;
margin: 0 var(--zen-tabbrowser-padding);
position: relative;
background: transparent !important;
align-items: center;
justify-content: end;
min-height: fit-content;
--zen-sidebar-action-content-separator: 15px;
--zen-sidebar-action-content-separator: calc(10px + var(--zen-tabbrowser-padding));
padding-top: var(--zen-sidebar-action-content-separator);
margin-top: var(--zen-sidebar-action-content-separator);
}
@@ -197,9 +192,23 @@
display: none;
}
:root:not([inDOMFullscreen="true"]) #zen-sidebar-splitter {
display: block;
width: 1px;
opacity: 0;
}
:root[inDOMFullscreen="true"] #zen-sidebar-splitter {
display: none;
}
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
width: 0 !important;
width: 0;
}
#zen-sidebar-splitter {
display: none !important;
}
}
@@ -208,4 +217,4 @@
display: block;
}
}

View File

@@ -0,0 +1,50 @@
/* Screenshots */
#screenshotsPagePanel {
position: absolute !important;
top: 3%;
right: 1.5%;
}
/* Watermark */
#zen-watermark {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--zen-main-browser-background);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
#zen-watermark image {
opacity: .2;
filter: grayscale(100%);
width: 200px;
height: 200px;
}
#zen-watermark[hidden="true"] {
transition: 0.6s;
transition-delay: .5s;
opacity: 0;
pointer-events: none;
}
#zen-workspaces-button .zen-workspace-sidebar-name {
margin-left: 10px;
display: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@media not (-moz-bool-pref: "zen.watermark.enabled") {
#zen-watermark {
display: none;
}
}

View File

@@ -0,0 +1,8 @@
/* Styles for both vertical and horizontal tabs */
/*@import url("chrome://browser/content/zen-styles/zen-tabs/horizontal-tabs.css");*/
@import url("chrome://browser/content/zen-styles/zen-tabs/vertical-tabs.css");
#zen-tabbox-wrapper {
position: relative;
}

View File

@@ -0,0 +1,386 @@
@media (-moz-bool-pref: "zen.tabs.vertical") {
#titlebar {
height: 100%;
}
#navigator-toolbox {
--zen-tabbrowser-padding: 5px;
min-width: 55px;
padding-left: 2px;
margin-top: 0; /* Issue #156 */
}
:root[inFullscreen="true"] #navigator-toolbox {
display: none;
}
#zen-tabbox-wrapper:has(#zen-sidebar-splitter:not([state="dragging"])) #navigator-toolbox {
transition: .3s;
}
#navigator-toolbox toolbar#TabsToolbar {
margin: var(--zen-appcontent-separator-from-window);
overflow: hidden;
transition: .2s;
flex-direction: column;
padding: 5px 0;
margin-right: 0;
-moz-window-dragging: no-drag;
--zen-sidebar-action-button-width: 38px;
padding-bottom: calc(5px + 5px); /* Taking into consideration the padding of the sidebar without being inlined */
}
#TabsToolbar-customization-target {
flex-direction: column;
}
:root[customizing] .customization-target:not(#widget-overflow-fixed-list) {
min-width: 0;
}
toolbarpaletteitem {
justify-content: center;
}
toolbarbutton#scrollbutton-down,
toolbarbutton#scrollbutton-up {
display: none;
}
#toolbar-menubar {
display: none;
}
.tab-label-container {
display: none;
}
.tab-icon-stack > .tab-icon-image,
.tab-icon-stack > .tab-throbber {
width: var(--zen-browser-tab-icon-size);
height: var(--zen-browser-tab-icon-size);
margin-inline-end: 0;
}
.tab-icon-stack .tab-icon-image {
transform: scale(0.5);
opacity: 0;
animation: zen-zoom-in 0.12s ease-in-out 0.3s forwards;
}
.tab-background {
display: none;
}
.tabbrowser-tab {
--zen-browser-tab-icon-size: 18px;
--tab-min-width: 36px;
margin: 0 auto;
border-radius: 8px;
position: relative;
color-scheme: var(--tab-selected-color-scheme);
border: 2px solid transparent;
background: transparent;
padding: 0;
align-items: center;
min-height: var(--tab-min-width); /* Make a box */
animation: zen-slide-in 0.3s;
width: calc(var(--zen-browser-tab-icon-size) + 2px);
transition: .1s background, .1s border-color;
min-width: var(--tab-min-width);
display: flex;
justify-content: center;
align-items: center;
}
@media (-moz-bool-pref: "zen.tabs.dim-pending") {
.tabbrowser-tab[pending]:not(:hover) {
opacity: 0.5;
}
}
.tabbrowser-tab[hidden="true"] {
display: none;
}
.tabbrowser-tab:hover {
background: var(--toolbarbutton-hover-background);
}
.tabbrowser-tab:active,
.zen-sidebar-panel-button:active {
transform: scale(0.9);
}
.tab-stack {
width: 30px;
height: 30px;
min-width: 30px;
min-height: 30px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.tabbrowser-tab:not([fadein]) {
display: none;
}
.tabbrowser-tab:is([multiselected="true"], [selected]) {
background: var(--toolbarbutton-hover-background);
}
#private-browsing-indicator-with-label {
display: none;
}
.tabbrowser-tab::after {/* Containers */
background: var(--identity-tab-color, transparent);
border-radius: 2px;
height: 80%;
width: 2px;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: -2px;
content: '';
pointer-events: none;
}
.tabbrowser-tab {
margin-inline-start: 0;
margin: 0 auto;
}
.tabbrowser-tab[pinned] {
position: relative;
display: flex;
}
#tabbrowser-tabs:has(.tabbrowser-tab[pinned]) .tabbrowser-tab:nth-child(1 of [fadein]:not([pinned]):not([hidden])) {
margin-top: 15px;
position: relative;
overflow: visible;
& .tab-stack::before {
content: '';
position: absolute;
top: -11px;
left: 0;
width: 100%;
height: 1.5px;
border-radius: 1px;
background: var(--zen-colors-border);
}
}
.tab-close-button {
position: absolute;
display: none;
left: 0;
top: 50%;
}
.tabbrowser-tab[open="true"]:hover .tab-close-button {
/* TODO: fix this */
/*display: block;*/
}
.tab-content {
padding: 0;
width: fit-content;
&[pinned] {
padding: 0 !important;
}
}
.toolbar-items > toolbartabstop:first-child {
display: none;
}
#nav-bar > *:not(.titlebar-buttonbox-container) {
padding-top: 5px;
padding-bottom: 5px;
}
#TabsToolbar-customization-target {
height: 100%;
}
#tabbrowser-tabs {
margin-inline-start: 0;
padding-inline-start: 0;
border: none;
/*background: light-dark(rgba(0,0,0,.05), rgba(255,255,255,.05));*/
margin: 0;
border: none;
height: 100%;
padding-inline-start: 0 !important;
margin-inline-start: 0 !important;
}
#tabbrowser-arrowscrollbox {
margin: 3px 0;
}
#alltabs-button stack {
transform: rotate(-90deg);
}
.tab-icon-overlay {
margin-inline-end: 0;
display: none; /* TODO: fix this */
}
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
width: fit-content !important;
}
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
--zen-navigation-toolbar-min-width: 155px;
min-width: var(--zen-navigation-toolbar-min-width) !important;
align-items: start;
transition: .2s;
width: 170px;
border: none;
}
.tab-label-container {
display: block;
}
#titlebar,
#TabsToolbar,
#TabsToolbar .toolbar-items {
width: 100%;
align-items: flex-start;
}
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) {
width: 100% !important;
border-radius: 8px;
}
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button):hover {
background: var(--button-hover-bgcolor);
}
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-text,
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-icon,
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-badge-stack {
background: transparent !important;
}
#tabbrowser-arrowscrollbox-periphery {
margin-top: 5px;
}
#tabbrowser-arrowscrollbox-periphery > toolbarbutton {
display: flex;
justify-content: center;
align-items: center;
}
.tabbrowser-tab {
max-width: unset !important;
&:not([pinned]) {
width: 100%;
&:hover .tab-close-button {
display: block !important;
}
& .tab-content {
position: relative;
width: 100%;
}
& .tab-stack {
justify-content: start;
padding: 10px;
width: 100% !important;
}
& .tab-label-container {
#tabbrowser-tabs:not([secondarytext-unsupported]) & {
display: flex;
align-items: center;
padding-left: 10px;
}
}
}
&:active,
.zen-sidebar-panel-button:active {
transform: scale(0.96) !important;
}
&[pinned] {
margin: 0 !important;
}
}
#tabbrowser-arrowscrollbox::part(scrollbox) {
/* We have the pinned tabs on the top, next to each other,
* and the rest of the tabs are below them. */
display: grid;
grid-template-columns: repeat(auto-fill, minmax(var(--tab-min-height), 1fr));
padding: calc(var(--zen-tabbrowser-padding) / 2);
}
.tabbrowser-tab:not([pinned]),
#tabbrowser-arrowscrollbox-periphery {
grid-column: 1 / -1;
}
.tabbrowser-tab[pinned] {
grid-column: span 1;
min-width: 100%;
}
#zen-sidebar-icons-wrapper {
width: -moz-available;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(37px, 1fr));
transition: .1s;
}
#zen-sidebar-icons-wrapper::before {
width: 100%;
}
}
/* Display the vertical tabs on the right side */
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") and (not (-moz-bool-pref: "zen.view.compact")) {
#navigator-toolbox {
order: 4;
padding-left: 0;
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
padding-left: 5px;
}
}
#zen-sidebar-splitter {
order: 3;
}
#tabbrowser-tabbox {
padding-left: 10px;
}
#tabbrowser-tabpanels .browserSidebarContainer {
margin-right: 0 !important;
}
}
}

View File

@@ -1,27 +1,20 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
@import url("zen-common-shared-ui-override.css");
/* Here, we contain all the theme related variables, for example theme
* colors, border radius, etc.
* We have `--zen-border-radius` and `--zen-primary-color` as variables.
*/
:host(:is(.anonymous-content-host, notification-message)),
:root,
.zenLooksAndFeelColorOption {
/** We also add `.zenLooksAndFeelColorOption` so that it recalculates the colors when the theme changes
* in the preferences page.
*/
* in the preferences page.
*/
/** Primary colors examples:
* - green: #96D785;
* - blue: #0b57d0;
* - yellow: #F8BC48;
*/
/** Primary color will be injected by the theme as `--zen-primary-color` */
--zen-primary-color: #aac7ff; /* This is the default blue color, in case the theme doesn't provide a primary color */
/* Default values */
--zen-border-radius: 7px;
--zen-primary-color: #4a90e2;
/** Zen colors are generated automatically from the primary color */
--zen-colors-primary: color-mix(in srgb, var(--zen-primary-color) 50%, black 50%);
@@ -37,6 +30,8 @@
--zen-dialog-background: var(--zen-colors-tertiary);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, #f1f1f1 92%);
--zen-secondary-btn-color: var(--zen-colors-primary-foreground);
--in-content-primary-button-background: light-dark(
color-mix(in srgb, var(--zen-primary-color) 35%, black 65%),
color-mix(in srgb, var(--zen-primary-color) 35%, white 65%)
@@ -50,7 +45,6 @@
--in-content-primary-button-border-color: transparent !important;
--in-content-primary-button-border-hover: transparent !important;
--in-content-primary-button-border-active: var(--zen-colors-border) !important;
--zen-characteristic-gradient: linear-gradient(135deg, #fac89a 0%, #e290ff 100%);
--in-content-accent-color: var(--zen-colors-primary) !important;
@@ -65,7 +59,6 @@
) !important;
--button-bgcolor: var(--in-content-button-background) !important;
--button-hover-bgcolor: var(--in-content-button-background-hover) !important;
--zen-secondary-btn-color: var(--zen-colors-primary-foreground);
--focus-outline-color: var(--button-bgcolor) !important;
--in-content-button-text-color: var(--zen-secondary-btn-color) !important;
@@ -74,7 +67,7 @@
--button-primary-bgcolor: var(--in-content-primary-button-background) !important;
--button-primary-hover-bgcolor: var(--in-content-primary-button-background-hover) !important;
--button-primary-active-bgcolor: var(--in-content-primary-button-background-active) !important;
--button-primary-color: var(--in-content-primary-button-text-color) !important;
--button-primary-color: var(--in-content-primary-button-text-color) !important;
--in-content-page-background: var(--zen-colors-tertiary) !important;
--zen-in-content-dialog-background: var(--zen-colors-tertiary);
@@ -85,9 +78,42 @@
/* Other colors */
--urlbar-box-bgcolor: var(--zen-urlbar-background) !important;
--toolbar-field-focus-background-color: var(--urlbar-box-bgcolor) !important;
--zen-input-border-color: light-dark(rgb(204, 204, 204), rgb(66, 65, 77)) !important;
--zen-input-border-color: light-dark(rgb(204, 204, 204), rgb(66, 65, 77));
/* Constants */
--zen-element-separation: .5rem;
/* XUL */
--zen-main-browser-background: light-dark(rgb(235, 235, 235), #1b1b1b);
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 50%, white 50%);
--zen-appcontent-border: 1px solid var(--zen-colors-border);
--zen-panel-radius: var(--zen-border-radius);
--zen-browser-border-radius: var(--zen-panel-radius);
--toolbarbutton-border-radius: 6px;
--fp-contextmenu-border-radius: 8px;
--fp-contextmenu-padding: calc(4px - var(--fp-contextmenu-menuitem-border-width)) 0;
--fp-contextmenu-menuitem-border-radius: calc(4px + var(--fp-contextmenu-menuitem-border-width));
--fp-contextmenu-menuitem-padding-block: 6px;
--fp-contextmenu-menuitem-padding-inline: 10px;
--fp-contextmenu-menuitem-border-width: 2px;
--fp-contextmenu-menuicon-margin-inline: 12px;
--fp-contextmenu-menuitem-margin-inline: calc(4px - var(--fp-contextmenu-menuitem-border-width));
--fp-contextmenu-menuitem-margin-block: 0px;
--fp-contextmenu-menuitem-margin: var(--fp-contextmenu-menuitem-margin-block) var(--fp-contextmenu-menuitem-margin-inline);
--fp-contextmenu-separator-vertical: calc(4px - var(--fp-contextmenu-menuitem-border-width));
--fp-contextmenu-separator-horizontal: 0;
--fp-contextmenu-bgcolor: light-dark(Menu, rgb(43 42 51 / 0.95));
--toolbar-bgcolor: transparent;
--input-bgcolor: var(--zen-colors-tertiary) !important;
--input-border-color: var(--zen-input-border-color) !important;
--zen-themed-toolbar-bg: var(--zen-colors-tertiary);
--toolbar-field-background-color: var(--zen-colors-input-bg);
--arrowpanel-background: var(--zen-dialog-background) !important;
}
@media (prefers-color-scheme: dark) {
@@ -106,19 +132,15 @@
--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%, black 92%);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, black 92%);
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, black 70%);
}
}
window#commonDialogWindow {
background-color: var(--zen-in-content-dialog-background) !important;
}
@media (-moz-bool-pref: "zen.theme.pill-button") {
:host(:is(.anonymous-content-host, notification-message)),
@media not (-moz-bool-pref: "zen.theme.toolbar-themed") {
:root {
--zen-button-border-radius: 20px;
--toolbar-bgcolor: light-dark(white, #1b1b1b) !important;
--zen-themed-toolbar-bg: var(--toolbar-bgcolor);
}
}

View File

@@ -0,0 +1,8 @@
#nav-bar {
background: transparent;
}
:root[inDOMFullscreen="true"] #zen-appcontent-navbar-container {
display: none;
}

View File

@@ -0,0 +1,151 @@
/* URL and tool bars */
#urlbar {
--toolbarbutton-border-radius: 999px;
border: transparent;
overflow: hidden;
padding: 1px;
border-radius: var(--toolbarbutton-border-radius);
}
#urlbar[focused="true"][breakout-extend="true"] {
overflow: visible;
}
#urlbar {
border: 1px solid light-dark(rgba(0,0,0,.2), rgba(255,255,255,.2))
}
#searchbar:focus-within {
border-color: transparent !important;
}
#urlbar[focused="true"] {
box-shadow: var(--panel-shadow) !important;
}
#urlbar[focused="true"] > #urlbar-background {
background: var(--zen-dialog-background) !important;
}
#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background,
#searchbar:focus-within {
outline: none !important;
outline-offset: none !important;
outline-color: none !important;
}
#urlbar .urlbar-page-action,
#urlbar #tracking-protection-icon-container,
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI) #identity-icon-box {
border-radius: 999px;
}
#urlbar[breakout-extend="true"] {
--toolbarbutton-border-radius: 6px;
}
#identity-icon-box {
background: var(--zen-colors-secondary) !important;
}
#urlbar:is([focused], [open]) > #urlbar-background, #searchbar:focus-within {
background: var(--urlbar-box-bgcolor);
}
#identity-icon-label {
padding-inline-start: 8px !important;
}
#urlbar #identity-box.chromeUI #identity-icon-box {
border-radius: 5px !important;
}
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI #identity-icon-box {
border-radius: 20px 10px 10px 20px !important;
}
#urlbar .urlbar-page-action,
#urlbar #identity-box #identity-icon-box,
#urlbar #tracking-protection-icon-container {
margin: 0 1px;
}
#urlbar:not([extend="true"]) #identity-box #identity-icon-box { position: relative;}
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI):not(.localResource) #identity-icon-box {
margin-right: 5px;
}
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI):not(.localResource) {
margin-inline-end: 0 !important;
}
.urlbar-page-action {
width: calc(var(--urlbar-min-height) - 5px - 2 * var(--urlbar-container-padding)) !important;
height: calc(var(--urlbar-min-height) - 5px - 2 * var(--urlbar-container-padding)) !important;
padding: 0 !important;
justify-content: center !important;
align-items: center !important;
}
toolbar .toolbarbutton-1:not(.unified-extensions-item-action-button) {
& > .toolbarbutton-icon,
& > .toolbarbutton-badge-stack {
width: calc(2 * var(--toolbarbutton-inner-padding) + 18px) !important;
height: calc(2 * var(--toolbarbutton-inner-padding) + 18px) !important;
}
}
toolbar .zen-sidebar-panel-button {
& > .toolbarbutton-icon,
& > .toolbarbutton-badge-stack {
width: calc(2 * var(--toolbarbutton-inner-padding) + 20px) !important;
height: calc(2 * var(--toolbarbutton-inner-padding) + 20px) !important;
}
}
#identity-permission-box {
margin: 0 5px 0 0 !important;
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])) #identity-icon-box {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
margin-right: 0 !important;
}
#tracking-protection-icon-container,
#page-action-buttons {
order: 2 !important;
}
#notification-popup-box {
border-radius: 999px;
margin-right: 5px;
transition: .2s;
height: 100%;
padding: 7px;
}
button.popup-notification-dropmarker {
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
.panel-footer:has(button.popup-notification-dropmarker:not([hidden="true"])) button.popup-notification-secondary-button {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
.searchbar-engine-one-off-item {
max-width: 20px;
min-width: 20px !important;
justify-content: center;
}
#downloadsHistory {
margin-top: 5px
}

View File

@@ -0,0 +1,184 @@
#zen-workspaces-button {
border: 1px solid var(--zen-colors-border);
border-radius: 50px;
height: calc(var(--zen-sidebar-action-button-width) - 10px) !important;
margin-bottom: .1rem !important;
justify-content: center;
align-items: center;
display: flex;
}
#zen-workspaces-button .zen-workspace-sidebar-name {
margin-left: .1rem;
display: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#zen-workspaces-button .zen-workspace-sidebar-name {
display: block;
}
#zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] {
display: none;
}
#zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] + .zen-workspace-sidebar-name {
margin-left: 0;
}
#zen-workspaces-button {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: flex;
padding: 2px 10px;
width: calc(100% - var(--zen-tabbrowser-padding) * 8) !important;
}
}
/* Workspaces Panel UI */
#PanelUI-zen-workspaces {
--panel-width: 320px;
--panel-padding: 0;
}
#PanelUI-zen-workspaces > panelmultiview {
align-items: flex-start;
}
#PanelUI-zen-workspaces panelmultiview panelview {
position: relative;
padding: 15px;
width: var(--panel-width);
min-height: 150px;
}
#PanelUI-zen-workspaces-create-input {
margin-top: 10px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton {
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
border: 2px solid transparent;
border-radius: 7px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton[selected="true"] {
border-color: var(--zen-colors-secondary);
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-icon {
display: none;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-text {
min-width: unset;
}
#PanelUI-zen-workspaces-create-icons-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
gap: 8px;
}
#PanelUI-zen-workspaces-list {
display: flex;
flex-direction: column;
}
#PanelUI-zen-workspaces-list[empty="true"] {
font-weight: 600;
padding: 10px;
width: 100%;
text-align: start;
opacity: 0.5;
}
#PanelUI-zen-workspaces-current-info toolbarbutton:last-child {
margin-bottom: 0 !important;
}
#PanelUI-zen-workspaces-list toolbarbutton,
#PanelUI-zen-workspaces-current-info toolbarbutton {
padding: 5px;
border-radius: 7px;
margin-left: 0 !important;
margin-right: 0 !important;
display: flex;
align-items: center;
&:first-child {
margin-top: 10px;
}
& .zen-workspace-icon {
width: 30px;
height: 30px;
border-radius: 7px;
margin-right: 10px;
border: 1px solid var(--zen-colors-border);
display: flex;
justify-content: center;
align-items: center;
font-weight: 600;
}
& .zen-workspace-name {
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
& .zen-workspace-actions {
display: none;
margin: 0;
margin-left: auto !important;
}
&:hover .zen-workspace-actions,
& .zen-workspace-actions[active="true"] {
display: flex;
}
}
#PanelUI-zen-workspaces-current-info toolbarbutton:first-child {
margin-bottom: 10px;
margin-top: 5px;
}
#PanelUI-zen-workspaces-view vbox:nth-child(2) {
margin-top: 10px;
}
#PanelUI-zen-workspaces-new {
margin-left: auto;
min-height: 1px !important;
padding: 3px;
border-radius: 4px;
width: 20px;
height: 20px;
}
#PanelUI-zen-workspaces-create-footer {
padding-bottom: 0 !important;
margin-top: 20px;
margin-left: 0;
margin-bottom: 0 !important;
width: 100%;
}
#PanelUI-zen-workspaces-create-footer button[default="true"] {
width: 100%;
}

View File

@@ -1,4 +0,0 @@
<html:div id="zen-watermark">
<image src="chrome://branding/content/about-logo.png" />
</html:div>

View File

@@ -12,6 +12,7 @@
*/
const kZenThemeAccentColorPref = "zen.theme.accent-color";
const kZenThemeBorderRadiusPref = "zen.theme.border-radius";
/**
* ZenThemeModifier controls the application of theme data to the browser,
@@ -32,13 +33,15 @@ var ZenThemeModifier = {
init() {
this._inMainBrowserWindow = window.location.href == "chrome://browser/content/browser.xhtml";
this.listenForEvents();
this.updateExtraBrowserStyles();
this.updateAllThemeBasics();
this._zenInitBrowserLayout();
this._onPrefersColorSchemeChange();
},
listenForEvents() {
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', this._onPrefersColorSchemeChange.bind(this));
Services.prefs.addObserver(kZenThemeAccentColorPref, this.handleEvent.bind(this));
Services.prefs.addObserver(kZenThemeBorderRadiusPref, this.handleEvent.bind(this));
},
handleEvent(event) {
@@ -51,6 +54,12 @@ var ZenThemeModifier = {
*/
updateAllThemeBasics() {
this.updateAccentColor();
this.updateBorderRadius();
},
updateBorderRadius() {
const borderRadius = Services.prefs.getIntPref(kZenThemeBorderRadiusPref, 4);
document.documentElement.style.setProperty("--zen-border-radius", borderRadius + "px");
},
/**
@@ -66,96 +75,8 @@ var ZenThemeModifier = {
}
},
updateExtraBrowserStyles() {
// If we are in the main browser window, we can add some extra styles.
if (!this._inMainBrowserWindow) return;
this._changeSidebarLocation();
},
_changeSidebarLocation() {
const kElementsToAppend = [
"sidebar-splitter",
"sidebar-box",
"navigator-toolbox",
];
const wrapper = document.getElementById("zen-tabbox-wrapper");
const appWrapepr = document.getElementById("zen-sidebar-box-container");
for (let id of kElementsToAppend) {
const elem = document.getElementById(id);
if (elem) {
wrapper.prepend(elem);
}
}
appWrapepr.setAttribute("hidden", "true");
// Set a splitter to navigator-toolbox
const splitter = document.createXULElement("splitter");
splitter.setAttribute("id", "zen-sidebar-splitter");
splitter.setAttribute("orient", "horizontal");
splitter.setAttribute("resizebefore", "sibling");
splitter.setAttribute("resizeafter", "none");
const titlebar = document.getElementById("navigator-toolbox");
titlebar.insertAdjacentElement("afterend", splitter);
},
_zenInitBrowserLayout() {
if (!this._inMainBrowserWindow) return;
if (this.__hasInitBrowserLayout) return;
this.__hasInitBrowserLayout = true;
this.openWatermark();
console.info("ZenThemeModifier: init browser layout");
const kNavbarItems = [
"nav-bar",
"PersonalToolbar"
];
const kSeparatorId = "zen-website-and-native-separator";
const kNewContainerId = "zen-appcontent-navbar-container";
let newContainer = document.getElementById(kNewContainerId);
for (let id of kNavbarItems) {
const node = document.getElementById(id);
console.assert(node, "Could not find node with id: " + id);
if (!node) continue;
newContainer.appendChild(node);
}
// Add the separator
const separator = document.createElement("span");
separator.id = kSeparatorId;
newContainer.appendChild(separator);
gZenVerticalTabsManager.init();
gZenCompactModeManager.init();
_onPrefersColorSchemeChange() {
this._updateZenAvatar();
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', this._onPrefersColorSchemeChange.bind(this));
function throttle(f, delay) {
let timer = 0;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => f.apply(this, args), delay);
}
}
new ResizeObserver(throttle(
this._updateTabsToolbar.bind(this), 1000
)).observe(document.getElementById("tabbrowser-tabs"));
this.closeWatermark();
},
_onPrefersColorSchemeChange(event) {
this._updateZenAvatar();
},
_updateTabsToolbar() {
// Set tabs max-height to the "toolbar-items" height
const toolbarItems = document.getElementById("tabbrowser-tabs");
const tabs = document.getElementById("tabbrowser-arrowscrollbox");
tabs.style.maxHeight = '0px'; // reset to 0
const toolbarRect = toolbarItems.getBoundingClientRect();
// -7 for the controls padding
tabs.style.maxHeight = toolbarRect.height - 7 + "px";
console.info("ZenThemeModifier: set tabs max-height to", toolbarRect.height + "px");
},
_updateZenAvatar() {
@@ -184,23 +105,6 @@ var ZenThemeModifier = {
let scheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? "dark" : "light";
return `${withoutExtension}-${scheme}.svg`;
},
openWatermark() {
if (!Services.prefs.getBoolPref("zen.watermark.enabled", false)) {
return;
}
const watermark = document.getElementById("zen-watermark");
if (watermark) {
watermark.removeAttribute("hidden");
}
},
closeWatermark() {
const watermark = document.getElementById("zen-watermark");
if (watermark) {
watermark.setAttribute("hidden", "true");
}
},
};
if (typeof Services !== "undefined")

View File

@@ -1,12 +1,12 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
index e3eb0e6e5f30152905456a07cfe532fe173375fb..9d356d62421d779f9e16f6761cce97826c7943ed 100644
index c724d243dc62a039d75aaee25cc956193589d9dc..04819ec5e17bd2023dbfb3e9dd812f832d9a7e92 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -105,3 +105,6 @@ browser.jar:
@@ -103,3 +103,6 @@ browser.jar:
# L10n resources and overrides.
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
+
+#include content/zen-avatars/jar.inc.mn
+#include content/zen-scripts.jar.inc.mn
+#include content/zen-assets.jar.inc.mn
\ No newline at end of file

View File

@@ -0,0 +1,12 @@
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
index 4c2637db10b7ad5d253d9588be3610c1ec5ad330..b8445b808cf9dcb54d380ae78172db4bf8250cd4 100644
--- a/browser/components/preferences/main.inc.xhtml
+++ b/browser/components/preferences/main.inc.xhtml
@@ -369,6 +369,7 @@
languages-customize-add.label,
" />
</hbox>
+ <label class="zenLanguageWarning-label"><html:b data-l10n-id="zen-warning-language"/></label>
<checkbox id="useSystemLocale" hidden="true"
data-l10n-id="use-system-locale"

View File

@@ -109,8 +109,8 @@ var gZenCKSSettings = {
const group = data[2];
let fragment = window.MozXULElement.parseXULToFragment(`
<hbox class="zenCKSOption">
<label class="zenCKSOption-label"></label>
<html:input readonly="1" class="zenCKSOption-input"/>
<label class="zenCKSOption-label" for="zenCKSOption-${key}"></label>
<html:input readonly="1" class="zenCKSOption-input" id="zenCKSOption-${key}" />
</hbox>
`);
document.l10n.setAttributes(fragment.querySelector(".zenCKSOption-label"), l10nId);
@@ -164,13 +164,15 @@ var gZenCKSSettings = {
meta: event.metaKey
};
if (event.key === "Tab") {
const shortcutWithoutModifiers = !shortcut.ctrl && !shortcut.alt && !shortcut.shift && !shortcut.meta;
if (event.key === "Tab" && shortcutWithoutModifiers) {
return;
} else if (event.key === "Escape") {
} else if (event.key === "Escape" && shortcutWithoutModifiers) {
this._currentAction = null;
input.blur();
return;
} else if (event.key === "Backspace") {
} else if (event.key === "Backspace" && shortcutWithoutModifiers) {
this._resetCKS(input, this._currentAction);
return;
}
@@ -248,11 +250,6 @@ Preferences.addAll([
type: "bool",
default: true,
},
{
id: "zen.theme.floating-urlbar",
type: "bool",
default: false,
},
{
id: "zen.keyboard.shortcuts.disable-firefox",
type: "bool",

View File

@@ -91,10 +91,6 @@
<label><html:h2 data-l10n-id="zen-look-and-feel-urlbar-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-urlbar-description" />
<checkbox id="zenLooksAndFeelFloatingUrlbar"
data-l10n-id="zen-look-and-feel-floating-urlbar"
preference="zen.theme.floating-urlbar"/>
</groupbox>
</html:template>

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index 2674dc2bebf436529a46d45c52cb56e86b82c03f..06d30b3e33562d8eaa04522d3719728126c59a81 100644
index 6e7a8ca21a20626a0607d860c56e39991b4aa2b8..d998059907f2467b0648c94c54c502278e2b188d 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -3208,6 +3208,11 @@
@@ -3214,6 +3214,11 @@
) {
tabWasReused = true;
tab = this.selectedTab;
@@ -14,7 +14,7 @@ index 2674dc2bebf436529a46d45c52cb56e86b82c03f..06d30b3e33562d8eaa04522d37197281
if (!tabData.pinned) {
this.unpinTab(tab);
} else {
@@ -3257,6 +3262,10 @@
@@ -3263,6 +3268,10 @@
preferredRemoteType,
});
@@ -25,3 +25,11 @@ index 2674dc2bebf436529a46d45c52cb56e86b82c03f..06d30b3e33562d8eaa04522d37197281
if (select) {
tabToSelect = tab;
}
@@ -4150,6 +4159,7 @@
isLastTab ||
aTab.pinned ||
aTab.hidden ||
+ true ||
this._removingTabs.size >
3 /* don't want lots of concurrent animations */ ||
!aTab.hasAttribute(

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01bef0c21b 100644
index e9aa0f03c26dc26e1a2e56d28fadb70e60c8e8ca..9c209752b01bd07a3f38452da4bc8efc7433466c 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -552,19 +552,36 @@
@@ -146,21 +146,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01
children.pop();
this._allTabs = children;
return children;
@@ -1144,10 +1188,13 @@
}
_initializeArrowScrollbox() {
+ this.toggleAttribute("overflow", true);
+
let arrowScrollbox = this.arrowScrollbox;
let previewElement = document.getElementById("tab-preview-panel");
arrowScrollbox.shadowRoot.addEventListener(
"underflow",
event => {
+ return;
// Ignore underflow events:
// - from nested scrollable elements
@@ -1471,11 +1518,11 @@
@@ -1476,11 +1520,11 @@
for (let i = numPinned - 1; i >= 0; i--) {
let tab = tabs[i];
width += layoutData.pinnedTabWidth;
@@ -177,7 +163,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01
tab._pinnedUnscrollable = true;
}
this.style.setProperty(
@@ -1510,19 +1557,30 @@
@@ -1515,19 +1559,30 @@
}
}
@@ -217,7 +203,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01
let pinned = draggedTab.pinned;
let numPinned = gBrowser._numPinnedTabs;
@@ -1531,36 +1589,39 @@
@@ -1536,36 +1591,39 @@
pinned ? numPinned : undefined
);
@@ -268,7 +254,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01
}
draggedTab._dragData.translateX = translateX;
@@ -1593,11 +1654,11 @@
@@ -1598,11 +1656,11 @@
if (tabs[mid] == draggedTab && ++mid > high) {
break;
}
@@ -282,7 +268,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01
tabCenter
) {
low = mid + 1;
@@ -1620,16 +1681,16 @@
@@ -1625,16 +1683,16 @@
for (let tab of tabs) {
if (tab != draggedTab) {
let shift = getTabShift(tab, newIndex);
@@ -302,7 +288,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01
}
return 0;
}
@@ -1701,9 +1762,9 @@
@@ -1706,9 +1764,9 @@
// Slide the relevant tabs to their new position.
for (let t of this._getVisibleTabs()) {

View File

@@ -336,10 +336,23 @@ input[type='checkbox'] {
#searchList.cardGroup {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 15px;
}
#searchList .card {
width: -moz-available !important;
margin: 20px;
padding: 20% 0 !important;
margin: 0;
display: flex;
flex-direction: row;
border-radius: 15px;
& h3 {
text-align: start;
margin: 0;
margin-left: 20px;
}
&.selected {
transform: scale(1.01);
}
}

View File

@@ -1,8 +1,9 @@
pane-zen-looks-title = Looks And Feel
pane-zen-looks-title = Look And Feel
category-zen-looks =
.tooltiptext = { pane-zen-looks-title }
zen-warning-language = Changing the default language could make it easier for Websites to track you.
zen-look-and-feel-colors-header = Pick a theme colour
zen-look-and-feel-colors-description = Make { -brand-short-name } look and feel the way you like
@@ -48,9 +49,6 @@ pane-zen-theme-title = Theme Settings
zen-look-and-feel-urlbar-header = Awesome Bar Settings
zen-look-and-feel-urlbar-description = Customize the look and feel of the Awesome Bar
zen-look-and-feel-floating-urlbar =
.label = Floating URL Bar when focused
zen-vertical-tabs-title = Sidebar and tabs layout
zen-vertical-tabs-header = Vertical Tabs
zen-vertical-tabs-description = Manage your tabs in a vertical layout
@@ -82,6 +80,8 @@ zen-cks-group-open-page-action = Open Page Actions
zen-cks-group-downloads-action = Downloads Actions
zen-cks-group-sidebar-action = Sidebar Actions
zen-cks-group-compact-mode-action = Compact Mode Actions
zen-cks-group-split-view-action = Split View Actions
zen-cks-group-workspace-action = Workspace Actions
open-new-tab = Open New Tab
close-tab = Close Tab
@@ -146,3 +146,8 @@ zen-toggle-web-panels = Toggle Web Panels
zen-toggle-compact-mode = Toggle Compact Mode
zen-toggle-compact-mode-sidebar = Toggle Compact Mode Sidebar
zen-toggle-compact-mode-toolbar = Toggle Compact Mode Toolbar
zen-change-workspace = Cycle Workspaces
zen-split-view-grid = Split View Grid
zen-split-view-vertical = Split View Vertical
zen-split-view-horizontal = Split View Horizontal
zen-split-view-close = Close Split View

View File

@@ -15,3 +15,7 @@ zen-panel-ui-workspaces-create-cancel =
zen-workspaces-panel-context-delete =
.label = Delete Workspace
.accesskey = D
context-zen-change-workspace-tab =
.label = Change Tab(s) To Workspace
.accesskey = C

View File

@@ -1,27 +1,8 @@
diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css
index f2171eb033a1143870f4708c63f565fabb535c4b..a21631e56e74d5d1887554d2752a612887ed20c5 100644
index f2171eb033a1143870f4708c63f565fabb535c4b..4280bc4b0f7cdbd94179fa2111f8001a331ea42b 100644
--- a/browser/themes/shared/browser-shared.css
+++ b/browser/themes/shared/browser-shared.css
@@ -27,6 +27,9 @@
@import url("chrome://browser/skin/UITour.css");
@import url("chrome://browser/skin/formautofill-notification.css");
+@import url("chrome://global/skin/zen-global-shared.css");
+@import url("chrome://browser/skin/zen-browser-shared.css");
+
@namespace html url("http://www.w3.org/1999/xhtml");
:root,
@@ -73,7 +76,7 @@ body {
--short-notification-gradient: #9059FF;
--button-bgcolor: color-mix(in srgb, currentColor 13%, transparent);
- --button-hover-bgcolor: color-mix(in srgb, currentColor 17%, transparent);
+ --button-hover-bgcolor: color-mix(in srgb, currentColor 15%, transparent);
--button-active-bgcolor: color-mix(in srgb, currentColor 30%, transparent);
--button-color: currentColor;
--button-primary-bgcolor: AccentColor;
@@ -179,7 +182,6 @@ body {
@@ -179,7 +179,6 @@ body {
appearance: none;
/* Toolbar / content area border */
@@ -29,7 +10,7 @@ index f2171eb033a1143870f4708c63f565fabb535c4b..a21631e56e74d5d1887554d2752a6128
background-color: var(--toolbox-non-lwt-bgcolor);
color: var(--toolbox-non-lwt-textcolor);
@@ -188,37 +190,13 @@ body {
@@ -188,7 +187,6 @@ body {
transition: background-color var(--inactive-window-transition);
&:-moz-window-inactive {
@@ -37,34 +18,35 @@ index f2171eb033a1143870f4708c63f565fabb535c4b..a21631e56e74d5d1887554d2752a6128
color: var(--toolbox-non-lwt-textcolor-inactive);
}
&[fullscreenShouldAnimate] {
@@ -196,6 +194,31 @@ body {
transition: 0.8s margin-top ease-out;
}
-
- :root[customizing] & {
- border-bottom-style: none;
- }
-
- :root[lwtheme] & {
- background-image: var(--lwt-additional-images);
- background-repeat: var(--lwt-background-tiling);
- background-position: var(--lwt-background-alignment);
- background-color: var(--lwt-accent-color);
- color: inherit;
-
- &:-moz-window-inactive {
- background-color: var(--lwt-accent-color-inactive, var(--lwt-accent-color));
- }
- }
-
- /* When a theme defines both theme_frame and additional_backgrounds, show
- the latter atop the former. */
- :root[lwtheme-image] & {
- background-image: var(--lwt-header-image), var(--lwt-additional-images);
- background-repeat: no-repeat, var(--lwt-background-tiling);
- background-position: right top, var(--lwt-background-alignment);
- }
+
}
.browser-toolbar {
+
+ :root[customizing] & {
+ border-bottom-style: none;
+ }
+
+ :root[lwtheme] & {
+ background-image: var(--lwt-additional-images);
+ background-repeat: var(--lwt-background-tiling);
+ background-position: var(--lwt-background-alignment);
+ background-color: var(--lwt-accent-color);
+ color: inherit;
+
+ &:-moz-window-inactive {
+ background-color: var(--lwt-accent-color-inactive, var(--lwt-accent-color));
+ }
+ }
+
+ /* When a theme defines both theme_frame and additional_backgrounds, show
+ the latter atop the former. */
+ :root[lwtheme-image] & {
+ background-image: var(--lwt-header-image), var(--lwt-additional-images);
+ background-repeat: no-repeat, var(--lwt-background-tiling);
+ background-position: right top, var(--lwt-background-alignment);
+ }
+
:root[customizing] & {
border-bottom-style: none;
}

View File

@@ -49,7 +49,8 @@ groupbox:has(+ .subcategory) {
}
.navigation {
padding: 50px;
padding: 4%;
background: var(--zen-colors-tertiary);
}
groupbox button {

View File

@@ -1,13 +0,0 @@
diff --git a/browser/themes/shared/sidebar.css b/browser/themes/shared/sidebar.css
index a9b3886e1ff4a36c5bd161985719f66a41d95458..242b3ad30785bed1937d9bf99e8abc7427111541 100644
--- a/browser/themes/shared/sidebar.css
+++ b/browser/themes/shared/sidebar.css
@@ -2,6 +2,8 @@
* 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/. */
+@import url("chrome://browser/skin/zen-sidebar.css");
+
@namespace html url("http://www.w3.org/1999/xhtml");
:root {

File diff suppressed because it is too large Load Diff

View File

@@ -1,51 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
/** Zen Decks - ONLY USED FOR SPLIT VIEWS, DO NOT USE THIS CLASS FOR ANY OTHER PURPOSE **/
#tabbrowser-tabpanels[zen-split-view="true"] {
display: flex;
flex-direction: row;
}
#tabbrowser-tabpanels[zen-split-view="true"] > *:not([zen-split="true"]) {
flex: 0;
margin: 0 !important;
}
#tabbrowser-tabpanels[zen-split-view="true"] > [zen-split="true"] {
flex: 1;
margin-right: 5px !important;
}
#tabbrowser-tabpanels[zen-split-view="true"] > [zen-split-anim="true"] {
animation: zen-deck-fadeIn 0.2s forwards;
}
#tabbrowser-tabpanels[zen-split-view="true"] .browserSidebarContainer[zen-split-active="true"] {
box-shadow: 0 0 0 2px var(--zen-primary-color) !important;
}
#tabbrowser-tabpanels:has(> [zen-split="true"]) {
display: grid;
grid-gap: 0 5px !important;
}
@keyframes zen-deck-fadeIn {
0% {
transform: scale(0.9);
opacity: 0;
}
100% {
transform: scale(1);
opacity: 1;
}
}
#zen-split-views-box:not([hidden="true"]) {
display: flex !important;
}

View File

@@ -45,6 +45,10 @@
--menu-image: url("sidebars-right.svg") !important;
}
#context-zen-change-workspace-tab {
--menu-image: url("move-tab.svg") !important;
}
#context-zenSplitLink {
--menu-image: url("link.svg") !important;
}

View File

@@ -1,395 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
#PanelUI-zen-profiles {
--menu-panel-width: 19em;
position: relative;
padding-bottom: 5px;
}
#PanelUI-zen-profiles-header {
width: 280px;
height: 130px;
background: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
position: relative;
}
#PanelUI-zen-profiles-user-picture {
background-image: var(--avatar-image-url);
width: 75px;
height: 75px;
border: 4px var(--arrowpanel-background) solid;
background-color: var(--zen-colors-primary-foreground);
border-radius: 50%;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
margin: 0 auto;
transform: translateY(100%);
}
.PanelUI-zen-profiles-item {
position: relative;
display: flex;
padding: 6px 10px;
font: menu;
align-items: center;
}
#PanelUI-zen-profiles-list .PanelUI-zen-profiles-item {
margin-bottom: 2px;
border-radius: 5px;
margin: 2px 5px;
}
#PanelUI-zen-profiles-list > toolbarseparator:first-child {
margin: 5px;
}
.PanelUI-zen-profiles-item:hover {
background: var(--panel-item-hover-bgcolor);
color: inherit;
}
.PanelUI-zen-profiles-item::after {
content: '';
background-image: url("chrome://global/skin/icons/arrow-right.svg");
background-size: 1em;
background-repeat: no-repeat;
background-position: center;
width: 1em;
height: 1em;
margin-left: auto;
pointer-events: none;
top: 50%;
right: 1em;
transform: translateY(-50%);
position: absolute;
}
@media (prefers-color-scheme: dark) {
.PanelUI-zen-profiles-item::after {
filter: invert(1);
}
}
#PanelUI-zen-profiles-list .PanelUI-zen-profiles-item-avatar {
width: 20px;
height: 20px;
border-radius: 5px;
margin: 1px 0.5em 1px 1px;
}
#PanelUI-zen-profiles-list .PanelUI-zen-profiles-item-name {
font-weight: normal;
font-size: 15px;
margin-left: 5px;
}
#PanelUI-zen-profiles-current-info {
--zen-separation-from-content: 35px;
margin-top: calc(var(--zen-separation-from-content) + 30px); /** Ignore the profile picture */
}
#PanelUI-zen-profiles-current-name {
font-size: 1.3em;
font-weight: 600;
line-height: 0.5;
padding: 5px 10px;
border-radius: 5px;
margin: 0 auto;
}
#PanelUI-zen-profiles toolbarbutton::after {
display: none;
}
#PanelUI-zen-profiles toolbarbutton {
padding-left: 16px;
padding-right: 16px;
}
#PanelUI-zen-profiles toolbarbutton:last-child {
margin-bottom: 5px !important;
}
#PanelUI-zen-profiles-current-profile-current {
font-size: 13px;
opacity: 0.5;
margin: 0 auto var(--zen-separation-from-content) auto;
font-size: 15px;
font-weight: 600;
}
#PanelUI-zen-profiles-actions {
color-scheme: dark;
position: absolute;
top: 10px;
right: 10px;
border-radius: 10px !important;
padding: 1px 10px !important;
transition: .1s;
color: light-dark(white, black);
background: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
}
#PanelUI-zen-profiles-managePrfs:hover {
background: var(--panel-item-hover-bgcolor);
}
#PanelUI-zen-profiles-actions toolbarbutton {
cursor: pointer;
padding: 0;
}
#PanelUI-zen-profiles-actions toolbarbutton .toolbarbutton-icon {
width: 14px !important;
}
#PanelUI-zen-profiles-actions toolbarbutton:not(:first-child) {
margin-left: 10px;
}
#PanelUI-zen-profiles-actions toolbarbutton label {
display: none !important;
}
/* Split view panel */
#zenSplitViewModifierViewDefault {
min-width: 180px;
min-height: 180px;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 10px;
padding: 15px;
}
#zenSplitViewModifierViewDefault > vbox {
display: flex;
align-items: center;
flex-direction: column;
cursor: pointer;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview {
border-radius: 5px;
border: 1px solid var(--zen-colors-border);
width: 100px;
height: 70px;
overflow: hidden;
padding: 5px;
user-select: none;
font-weight: 500;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.active {
box-shadow: 0 0 0 2px var(--zen-primary-color);
border-width: 0px;
}
#zenSplitViewModifierViewDefault p {
margin-top: 5px;
margin-bottom: 0;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview box {
background-color: var(--zen-colors-secondary);
border-radius: 3px;
width: 100%;
height: 100%;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.hsep {
display: flex;
flex-direction: column;
justify-content: space-between;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.hsep box:last-child {
margin-top: 5px;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.vsep box:last-child {
margin-left: 5px;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid {
display: grid;
grid-template-areas: "a b" "c b";
gap: 5px;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid box:nth-child(1) {
grid-area: a;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid box:nth-child(2) {
grid-area: b;
}
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid box:nth-child(3) {
grid-area: c;
}
/* Workspaces */
#zen-workspaces-button {
border: 1px solid var(--zen-colors-border);
border-radius: 50px;
height: calc(var(--zen-sidebar-action-button-width) - 10px) !important;
margin-bottom: 5px !important;
justify-content: center;
align-items: center;
display: flex;
}
#PanelUI-zen-workspaces {
--panel-width: 320px;
--panel-padding: 0;
}
#PanelUI-zen-workspaces > panelmultiview {
align-items: flex-start;
}
#PanelUI-zen-workspaces panelmultiview panelview {
position: relative;
padding: 15px;
width: var(--panel-width);
min-height: 150px;
}
#PanelUI-zen-workspaces-create-input {
margin-top: 10px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton {
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
border: 2px solid transparent;
border-radius: 7px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton[selected="true"] {
border-color: var(--zen-colors-secondary);
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-icon {
display: none;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-text {
min-width: unset;
}
#PanelUI-zen-workspaces-create-icons-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
gap: 8px;
}
#PanelUI-zen-workspaces-list {
display: flex;
flex-direction: column;
}
#PanelUI-zen-workspaces-list[empty="true"] {
font-weight: 600;
padding: 10px;
width: 100%;
text-align: start;
opacity: 0.5;
}
#PanelUI-zen-workspaces-current-info toolbarbutton:last-child {
margin-bottom: 0 !important;
}
#PanelUI-zen-workspaces-list toolbarbutton,
#PanelUI-zen-workspaces-current-info toolbarbutton {
padding: 5px;
border-radius: 7px;
margin-left: 0 !important;
margin-right: 0 !important;
display: flex;
align-items: center;
&:first-child {
margin-top: 10px;
}
& .zen-workspace-icon {
width: 30px;
height: 30px;
border-radius: 7px;
margin-right: 10px;
border: 1px solid var(--zen-colors-border);
display: flex;
justify-content: center;
align-items: center;
font-weight: 600;
}
& .zen-workspace-name {
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
& .zen-workspace-actions {
display: none;
margin: 0;
margin-left: auto !important;
}
&:hover .zen-workspace-actions,
& .zen-workspace-actions[active="true"] {
display: flex;
}
}
#PanelUI-zen-workspaces-current-info toolbarbutton:first-child {
margin-bottom: 10px;
margin-top: 5px;
}
#PanelUI-zen-workspaces-view vbox:nth-child(2) {
margin-top: 10px;
}
#PanelUI-zen-workspaces-new {
margin-left: auto;
min-height: 1px !important;
padding: 3px;
border-radius: 4px;
width: 20px;
height: 20px;
}
#PanelUI-zen-workspaces-create-footer {
padding-bottom: 0 !important;
margin-top: 20px;
margin-left: 0;
margin-bottom: 0 !important;
width: 100%;
}
#PanelUI-zen-workspaces-create-footer button[default="true"] {
width: 100%;
}

View File

@@ -1,8 +1,3 @@
skin/classic/browser/zen-browser-shared.css (../shared/zen-browser-shared.css)
skin/classic/browser/zen-sidebar.css (../shared/zen-sidebar.css)
skin/classic/browser/zen-panel-ui.css (../shared/zen-panel-ui.css)
skin/classic/browser/zen-sidebar-panels.css (../shared/zen-sidebar-panels.css)
skin/classic/browser/preferences/zen-preferences.css (../shared/preferences/zen-preferences.css)
skin/classic/browser/zen-decks.css (../shared/zen-decks.css)
#include zen-icons/jar.inc.mn

View File

@@ -0,0 +1,13 @@
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
index b5cbdd7d226e4b7c8909688b05763db74f0b87fb..b5247cd4f43a906f72f34169775531e2266cb215 100644
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -47,7 +47,7 @@
}
&[sizemode="normal"] #navigator-toolbox {
- border-top: .5px solid ActiveBorder;
+ /* border-top: .5px solid ActiveBorder; Zen: Remove annoying top border, dont remove */
&:-moz-window-inactive {
border-top-color: InactiveBorder;
}

View File

@@ -0,0 +1,41 @@
diff --git a/dom/script/ScriptLoader.cpp b/dom/script/ScriptLoader.cpp
index e65533af04ea5f42c10477314c594c2c7bbc67b3..df4d63dafb838b67e64a91f26487106a77494516 100644
--- a/dom/script/ScriptLoader.cpp
+++ b/dom/script/ScriptLoader.cpp
@@ -2401,6 +2401,36 @@ void ScriptLoader::CalculateBytecodeCacheFlag(ScriptLoadRequest* aRequest) {
hasFetchCountMin = false;
break;
}
+ case 1: {
+ // 1!
+ hasSourceLengthMin = true;
+ hasFetchCountMin = true;
+ sourceLengthMin = 1024;
+ // If we were to optimize only for speed, without considering the impact
+ // on memory, we should set this threshold to 2. (Bug 900784 comment 120)
+ fetchCountMin = 1;
+ break;
+ }
+ case 2: {
+ // 2!
+ hasSourceLengthMin = true;
+ hasFetchCountMin = true;
+ sourceLengthMin = 1024;
+ // If we were to optimize only for speed, without considering the impact
+ // on memory, we should set this threshold to 2. (Bug 900784 comment 120)
+ fetchCountMin = 2;
+ break;
+ }
+ case 3: {
+ // 3!
+ hasSourceLengthMin = true;
+ hasFetchCountMin = true;
+ sourceLengthMin = 1024;
+ // If we were to optimize only for speed, without considering the impact
+ // on memory, we should set this threshold to 2. (Bug 900784 comment 120)
+ fetchCountMin = 3;
+ break;
+ }
default:
case 0: {
hasSourceLengthMin = true;

View File

@@ -1,12 +0,0 @@
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
index 8b18c945253d00603891cc5f0b989476318e219c..c5368eec8d9a760c19a827fe7a4b9afb4b702976 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -143,3 +143,7 @@ toolkit.jar:
# Third party files
content/global/third_party/d3/d3.js (/third_party/js/d3/d3.js)
content/global/third_party/cfworker/json-schema.js (/third_party/js/cfworker/json-schema.js)
+
+# Zen modules
+ content/global/zen-xul.css
+ content/global/zen-fullscreen-override.css

View File

@@ -1,17 +1,8 @@
diff --git a/toolkit/content/xul.css b/toolkit/content/xul.css
index 908132d598083dd43ee62940f4bac84e49238c92..eb7edf3870032fe796b3fa676de96e1dbb5eea85 100644
index 26c11188d3edcc9806fab7144aa0e22540a32a57..df3dbca06ede3eda1854febe314c38779f754c03 100644
--- a/toolkit/content/xul.css
+++ b/toolkit/content/xul.css
@@ -12,6 +12,8 @@
* browser.css.
*/
+@import url("chrome://global/content/zen-xul.css");
+
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
@@ -485,7 +487,8 @@ deck > *|*:not(:-moz-native-anonymous) {
@@ -485,7 +485,8 @@ deck > *|*:not(:-moz-native-anonymous) {
}
tabpanels > .deck-selected,

View File

@@ -1,16 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
[inDOMFullscreen="true"] #nav-bar,
[inDOMFullscreen="true"] #zen-sidebar-web-panel {
display: none !important;
}
[inDOMFullscreen="true"] #appcontent {
margin: 0 !important;
border-radius: 0 !important;
}

View File

@@ -1,85 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
@import url("zen-fullscreen-override.css");
:root {
--zen-main-browser-background: light-dark(white, #1b1b1b);
--zen-appcontent-border: 1px solid var(--zen-colors-border);
--zen-browser-border-radius: var(--zen-panel-radius);
}
toolbox#navigator-toolbox,
#browser {
background: transparent !important;
}
#browser {
width: 100%;
}
html#main-window > body {
background: var(--zen-main-browser-background) !important;
}
:not([inDOMFullscreen="true"]) #appcontent {
overflow: hidden;
}
#appcontent {
background: var(--toolbar-bgcolor);
}
:not([inDOMFullscreen="true"]) #appcontent,
#sidebar-box {
/** Sidebar is already hidden in full screen mode */
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
border: none;
}
panel[type="arrow"][animate][animate="open"] {
animation: zen-jello-animation 0.2s ease-in-out;
}
panel[type="arrow"][animate][animate="cancel"] {
animation: zen-jello-out-animation 0.2s ease-in-out;
}
@keyframes zen-jello-animation {
0% {
transform: scale3d(0.8, 0.8, 0.8);
}
60% {
transform: scale3d(1.02, 1.02, 1.02);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
@keyframes zen-jello-out-animation {
0% {
transform: scale3d(1, 1, 1);
}
60% {
transform: scale3d(1.02, 1.02, 1.02);
}
99% {
opacity: 0;
transform: scale3d(0.8, 0.8, 0.8);
}
100% {
-moz-window-transform: none;
transform: none;
}
}

View File

@@ -0,0 +1,25 @@
diff --git a/toolkit/modules/ActorManagerParent.sys.mjs b/toolkit/modules/ActorManagerParent.sys.mjs
index 71409e58271802fc506999712519df63eff3b1a6..a136eb21a8abf1697b820ae4ab85224c56b725ec 100644
--- a/toolkit/modules/ActorManagerParent.sys.mjs
+++ b/toolkit/modules/ActorManagerParent.sys.mjs
@@ -666,6 +666,20 @@ if (!Services.prefs.getBoolPref("browser.pagedata.enabled", false)) {
};
}
+JSWINDOWACTORS.ZenThemeMarketplace = {
+ parent: {
+ esModuleURI: "chrome://browser/content/zen-components/actors/ZenThemeMarketplaceParent.sys.mjs",
+ },
+ child: {
+ esModuleURI: "chrome://browser/content/zen-components/actors/ZenThemeMarketplaceChild.sys.mjs",
+ events: {
+ DOMContentLoaded: {},
+ },
+ },
+ matches: ["https://*.zen-browser.app/*"],
+ allFrames: true,
+};
+
if (AppConstants.platform != "android") {
// Note that GeckoView has another implementation in mobile/android/actors.
JSWINDOWACTORS.Select = {

View File

@@ -1,11 +0,0 @@
diff --git a/toolkit/themes/shared/desktop-jar.inc.mn b/toolkit/themes/shared/desktop-jar.inc.mn
index 5907a9773fe608520b0088c1fc40c23a7003530f..535a7fae17f295a3bc97cf807d9c9dd496ec2352 100644
--- a/toolkit/themes/shared/desktop-jar.inc.mn
+++ b/toolkit/themes/shared/desktop-jar.inc.mn
@@ -162,3 +162,5 @@
skin/classic/global/reader/content-width-20.svg (../../shared/reader/content-width-20.svg)
skin/classic/global/tree/sort-asc.svg (../../shared/tree/sort-asc.svg)
skin/classic/global/tree/sort-dsc.svg (../../shared/tree/sort-dsc.svg)
+
+#include zen-desktop.jar.inc.mn
\ No newline at end of file

View File

@@ -1,12 +1,12 @@
diff --git a/toolkit/themes/shared/in-content/common-shared.css b/toolkit/themes/shared/in-content/common-shared.css
index 2b59a0604b4bfefd3bdcfdb9a3964937e9699114..92705331fa12d88e9091310c1f527562931e7132 100644
index 2b59a0604b4bfefd3bdcfdb9a3964937e9699114..d9f5f81158790336c7fa5ad366fd815abfe67087 100644
--- a/toolkit/themes/shared/in-content/common-shared.css
+++ b/toolkit/themes/shared/in-content/common-shared.css
@@ -5,6 +5,8 @@
@import url("chrome://global/skin/design-system/tokens-brand.css");
@import url("chrome://global/skin/design-system/text-and-typography.css");
+@import url("chrome://global/skin/in-content/zen-common-shared.css");
+@import url("chrome://browser/content/zen-styles/zen-theme.css");
+
@namespace html "http://www.w3.org/1999/xhtml";
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";

View File

@@ -1,39 +1,8 @@
diff --git a/toolkit/themes/shared/popup.css b/toolkit/themes/shared/popup.css
index ed230860215c734e6fb903b3660d0c679043e3f3..348436a56cecdf101da66cdec9d64f1bb851ba4d 100644
index ed230860215c734e6fb903b3660d0c679043e3f3..1e54e023c930db04a532b2b125f44e73912f63ad 100644
--- a/toolkit/themes/shared/popup.css
+++ b/toolkit/themes/shared/popup.css
@@ -2,6 +2,8 @@
* 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/. */
+@import url("zen-popup.css");
+
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: menupopup ::::: */
@@ -13,16 +15,16 @@ panel {
color-scheme: light dark;
min-width: 1px;
- --panel-background: Menu;
+ --panel-background: var(--arrowpanel-background);
--panel-color: MenuText;
--panel-padding-block: 4px;
- --panel-padding: var(--panel-padding-block) 0;
- --panel-border-radius: 4px;
- --panel-border-color: ThreeDShadow;
+ --panel-padding: var(--panel-padding-block) 0 5px 0;
+ --panel-border-radius: 10px;
+ --panel-border-color: transparent /* var(--arrowpanel-border-color) */ !important;
--panel-width: initial;
--panel-shadow-margin: 0px;
- --panel-shadow: 0 0 var(--panel-shadow-margin) hsla(0,0%,0%,.2);
+ --panel-shadow: rgba(0, 0, 0, 0.05) 0px 4px 10px;
-moz-window-input-region-margin: var(--panel-shadow-margin);
margin: calc(-1 * var(--panel-shadow-margin));
@@ -30,8 +32,6 @@ panel {
@@ -30,8 +30,6 @@ panel {
--background-color-canvas: var(--panel-background);
@media (-moz-platform: linux) {
@@ -42,7 +11,7 @@ index ed230860215c734e6fb903b3660d0c679043e3f3..348436a56cecdf101da66cdec9d64f1b
@media (prefers-contrast) {
--panel-border-color: color-mix(in srgb, currentColor 60%, transparent);
@@ -43,18 +43,7 @@ panel {
@@ -43,18 +41,7 @@ panel {
--panel-shadow-margin: 4px;
}
@@ -62,7 +31,7 @@ index ed230860215c734e6fb903b3660d0c679043e3f3..348436a56cecdf101da66cdec9d64f1b
&::part(content) {
display: flex;
@@ -193,6 +182,6 @@ panel[type="arrow"] {
@@ -193,6 +180,6 @@ panel[type="arrow"] {
}
&[animating] {

View File

@@ -1,5 +0,0 @@
skin/classic/global/in-content/zen-common-shared.css (../../shared/in-content/zen-common-shared.css)
skin/classic/global/zen-global-shared.css (../../shared/zen-global-shared.css)
skin/classic/global/zen-popup.css (../../shared/zen-popup.css)
skin/classic/global/in-content/zen-common-shared-ui-override.css (../../shared/in-content/zen-common-shared-ui-override.css)

View File

@@ -1,26 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* 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/.
*/
@import url("./in-content/zen-common-shared.css");
:root {
--zen-panel-radius: 9px;
--arrowpanel-background: var(--zen-dialog-background) !important;
--arrowpanel-border-color: var(--zen-dialog-border-color) !important;
--arrowpanel-border-radius: var(--zen-panel-radius) !important;
&:-moz-lwtheme {
color: var(--lwt-text-color);
--link-color: light-dark(rgb(0, 97, 224), rgb(0, 221, 255));
}
}
@media (prefers-color-scheme: dark) {
:root {
--zen-dialog-border-color: rgba(255,255,255,.1);
}
}

View File

@@ -27,7 +27,7 @@
"brandShortName": "Zen Browser",
"brandFullName": "Zen Browser",
"release": {
"displayVersion": "1.0.0-a.16",
"displayVersion": "1.0.0-a.20",
"github": {
"repo": "zen-browser/desktop"
},