mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-05 19:08:18 +00:00
Compare commits
32 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b94c6c616a | ||
![]() |
9950ebd99e | ||
![]() |
1c4108d961 | ||
![]() |
1be4bbf08b | ||
![]() |
5ba50f2988 | ||
![]() |
e2618e5681 | ||
![]() |
3304259383 | ||
![]() |
d83df429bc | ||
![]() |
191ffd6efe | ||
![]() |
7e0e3f4145 | ||
![]() |
8b56897a11 | ||
![]() |
6a55fecca6 | ||
![]() |
f80a454261 | ||
![]() |
0f97a1cb4d | ||
![]() |
58e049a76f | ||
![]() |
dfa5013a79 | ||
![]() |
22dfa8daec | ||
![]() |
5c5608938d | ||
![]() |
cfd1ef11aa | ||
![]() |
b82530c890 | ||
![]() |
69e5bb552f | ||
![]() |
915350db3c | ||
![]() |
0dfb198609 | ||
![]() |
f1039324cf | ||
![]() |
3ce4bb8ecf | ||
![]() |
005398a20d | ||
![]() |
f45b1ec317 | ||
![]() |
4714cfcc84 | ||
![]() |
c221c8e242 | ||
![]() |
5464da21c4 | ||
![]() |
f2a783fbce | ||
![]() |
bb3ee371a1 |
93
.github/workflows/alpha.yml
vendored
93
.github/workflows/alpha.yml
vendored
@@ -13,6 +13,11 @@ on:
|
||||
required: false
|
||||
default: true
|
||||
type: 'boolean'
|
||||
create_flatpak:
|
||||
description: 'Create a flatpak release (It defaults to creating a release)'
|
||||
required: false
|
||||
default: false
|
||||
type: 'boolean'
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -198,7 +203,7 @@ jobs:
|
||||
# needs: [windows-step-1, build-data]
|
||||
# with:
|
||||
# build-version: ${{ needs.build-data.outputs.version }}
|
||||
# profile-data-path-archive: zen-windows-x86_64-profile-data-and-jarlog.zip
|
||||
# profile-data-path-archive: zen.win64-pgo-stage-1.zip
|
||||
|
||||
windows-step-3:
|
||||
name: Windows build step 3 (build with profile data)
|
||||
@@ -228,16 +233,62 @@ jobs:
|
||||
with:
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
|
||||
distro-flatpak:
|
||||
name: Build flatpak repos
|
||||
needs: [linux]
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||
options: --privileged
|
||||
if: ${{ github.event.inputs.create_release == 'true' || github.event.inputs.create_flatpak == 'true' }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: zen-browser/flatpak
|
||||
token: ${{ secrets.DEPLOY_KEY }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: zen.linux.tar.bz2
|
||||
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
bundle: com.zen.browser.flatpak
|
||||
manifest-path: com.zen.browser.flatpak.yml
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
verbose: true
|
||||
|
||||
- name: Find flatpak bundle
|
||||
run: find .
|
||||
|
||||
- name: Upload flatpak bundle
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: com.zen.browser.flatpak
|
||||
path: com.zen.browser.flatpak
|
||||
|
||||
# - name: Publish to Flathub (beta)
|
||||
# uses: flatpak/flatpak-github-actions/flat-manager@v6.1
|
||||
# with:
|
||||
# flat-manager-url: https://hub.flathub.org/
|
||||
# repository: beta
|
||||
# token: ${{ secrets.FLATHUB_TOKEN }}
|
||||
|
||||
release:
|
||||
if: ${{ github.event.inputs.create_release == 'true' }}
|
||||
permissions: write-all
|
||||
name: Release
|
||||
needs: [build-data, linux, source, windows-step-3, check-release, mac]
|
||||
needs: [build-data, linux, source, windows-step-3, check-release, mac, distro-flatpak]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Update repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Git Pull
|
||||
run: git pull
|
||||
@@ -285,38 +336,4 @@ jobs:
|
||||
zen.installer.exe
|
||||
zen.installer.pretty.exe
|
||||
zen.macos.dmg
|
||||
|
||||
distro-flatpak:
|
||||
name: Build flatpak repos
|
||||
needs: [linux, release]
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||
options: --privileged
|
||||
if: ${{ github.event.inputs.create_release == 'true' }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: zen-browser/flatpak
|
||||
token: ${{ secrets.DEPLOY_KEY }}
|
||||
submodules: recursive
|
||||
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
bundle: org.zen.browser.flatpak
|
||||
manifest-path: org.zen.browser.flatpak.yml
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
verbose: true
|
||||
|
||||
- name: Find flatpak bundle
|
||||
run: find .
|
||||
|
||||
- name: Upload flatpak bundle
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zen.flatpak
|
||||
path: ./org.zen.browser.flatpak
|
||||
|
||||
com.zen.browser.flatpak
|
||||
|
6
.github/workflows/macos-alpha-build.yml
vendored
6
.github/workflows/macos-alpha-build.yml
vendored
@@ -68,7 +68,11 @@ jobs:
|
||||
./mach --no-interactive bootstrap --application-choice browser
|
||||
cd ..
|
||||
|
||||
- name: surfer build
|
||||
- name: build Zen
|
||||
run: sh .github/workflows/src/alpha-build.sh
|
||||
|
||||
- name: Rebuild Zen if failed
|
||||
if: failure()
|
||||
run: sh .github/workflows/src/alpha-build.sh
|
||||
|
||||
- name: Package
|
||||
|
3
.github/workflows/src/alpha-build.sh
vendored
3
.github/workflows/src/alpha-build.sh
vendored
@@ -9,8 +9,7 @@ fi
|
||||
ulimit -n 4096
|
||||
|
||||
# Check if xfvb is installed
|
||||
if ! command -v Xvfb &> /dev/null
|
||||
then
|
||||
if ! command -v Xvfb &> /dev/null; then
|
||||
if ! test "$ZEN_CROSS_COMPILING"
|
||||
then
|
||||
Xvfb :2 -screen 0 1024x768x24 &
|
||||
|
19
.github/workflows/src/windows_mozconfig
vendored
19
.github/workflows/src/windows_mozconfig
vendored
@@ -27,15 +27,14 @@ export WINE="$TOOLS/wine/bin/wine64"
|
||||
ac_add_options --disable-maintenance-service
|
||||
ac_add_options --disable-bits-download
|
||||
|
||||
# if test "$ZEN_GA_GENERATE_PROFILE"; then
|
||||
# mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"
|
||||
# ac_add_options --enable-profile-generate=cross
|
||||
# ac_add_options --without-wasm-sandboxed-libraries
|
||||
# else
|
||||
ac_add_options --disable-profiling
|
||||
# ac_add_options --enable-profile-use=cross
|
||||
# ac_add_options --with-pgo-profile-path=$(echo ~)/artifact/merged.profdata
|
||||
# ac_add_options --with-pgo-jarlog=$(echo ~)/artifact/en-US.log
|
||||
# fi
|
||||
#if test "$ZEN_GA_GENERATE_PROFILE"; then
|
||||
# mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"
|
||||
# ac_add_options --enable-profile-generate=cross
|
||||
#else
|
||||
# ac_add_options --disable-profiling
|
||||
# ac_add_options --enable-profile-use=cross
|
||||
# ac_add_options --with-pgo-profile-path=$(echo ~)/artifact/merged.profdata
|
||||
# ac_add_options --with-pgo-jarlog=$(echo ~)/artifact/en-US.log
|
||||
#fi
|
||||
|
||||
# ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE
|
9
.github/workflows/windows-alpha-build.yml
vendored
9
.github/workflows/windows-alpha-build.yml
vendored
@@ -133,12 +133,11 @@ jobs:
|
||||
- name: Build
|
||||
run: |
|
||||
set -x
|
||||
unset SURFER_PLATFORM
|
||||
export SURFER_PLATFORM="win32"
|
||||
export ZEN_CROSS_COMPILING=1
|
||||
if test ${{ inputs.generate-gpo }}; then
|
||||
#export ZEN_GA_GENERATE_PROFILE=1
|
||||
echo "note: PGO build is disabled"
|
||||
fi
|
||||
# if test ${{ inputs.generate-gpo }}; then
|
||||
# export ZEN_GA_GENERATE_PROFILE=1
|
||||
# fi
|
||||
sh .github/workflows/src/alpha-build.sh
|
||||
|
||||
- name: Package
|
||||
|
1
.github/workflows/windows-profile-build.yml
vendored
1
.github/workflows/windows-profile-build.yml
vendored
@@ -40,6 +40,7 @@ jobs:
|
||||
name: Download artifact
|
||||
with:
|
||||
path: C:\artifact
|
||||
name: zen-windows-x86_64-profile-data-and-jarlog.zip
|
||||
|
||||
- name: Unpack artifact
|
||||
run: |
|
||||
|
@@ -5,7 +5,7 @@ Experience tranquillity while browsing the web without people tracking you!
|
||||
|
||||
# Compatibility
|
||||
|
||||
Zen is currently built using firefox version `128.0.2`!
|
||||
Zen is currently built using firefox version `128.0.3`!
|
||||
|
||||
* Checkout the latest [releases notes](https://get-zen.vercel.app/release-notes)!
|
||||
|
||||
|
@@ -12,9 +12,7 @@ export MOZ_APP_PROFILE=${binName}
|
||||
export MOZ_APP_DISPLAYNAME="${name}"
|
||||
export MOZ_BRANDING_DIRECTORY=${brandingDir}
|
||||
export MOZ_OFFICIAL_BRANDING_DIRECTORY=${brandingDir}
|
||||
export MOZ_MACBUNDLE_ID=${appId}
|
||||
export MOZ_DISTRIBUTION_ID=${appId}
|
||||
export MOZ_MACBUNDLE_NAME="Zen Browser.app"
|
||||
|
||||
# Uncomment if builds are too resource hungry
|
||||
# mk_add_options MOZ_MAKE_FLAGS="-j4"
|
||||
@@ -38,7 +36,8 @@ if test "$ZEN_RELEASE"; then
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --enable-strip
|
||||
ac_add_options --enable-install-strip
|
||||
|
||||
ac_add_options --disable-accessibility
|
||||
|
||||
ac_add_options --enable-rust-simd
|
||||
mk_add_options MOZ_PARALLEL_COMPILE=1
|
||||
mk_add_options MOZ_CRASHREPORTER=0
|
||||
@@ -50,20 +49,16 @@ if test "$ZEN_RELEASE"; then
|
||||
ac_add_options --enable-hardening
|
||||
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-dmd
|
||||
ac_add_options --disable-geckodriver
|
||||
ac_add_options --disable-rust-tests
|
||||
ac_add_options --disable-default-browser-agent
|
||||
|
||||
export MOZ_LTO=thin
|
||||
ac_add_options MOZ_LTO=thin
|
||||
ac_add_options --enable-lto=thin
|
||||
export MOZ_LTO=1
|
||||
ac_add_options MOZ_LTO=1
|
||||
ac_add_options --enable-lto
|
||||
|
||||
if test "$ZEN_CROSS_COMPILING"; then
|
||||
ac_add_options --disable-jemalloc
|
||||
else
|
||||
ac_add_options --enable-jemalloc
|
||||
fi
|
||||
ac_add_options --enable-jemalloc
|
||||
ac_add_options --disable-jprof
|
||||
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
MOZILLA_OFFICIAL=1
|
||||
@@ -80,6 +75,12 @@ if test "$ZEN_RELEASE"; then
|
||||
|
||||
mk_add_options AUTOCLOBBER=1
|
||||
export AUTOCLOBBER=1
|
||||
|
||||
if ! test "$ZEN_CROSS_COMPILING"; then
|
||||
|
||||
# It causes link errors on windows
|
||||
ac_add_options --disable-dmd
|
||||
fi
|
||||
fi
|
||||
|
||||
ac_add_options --enable-unverified-updates
|
||||
@@ -91,6 +92,7 @@ ac_add_options --enable-jxl
|
||||
ac_add_options --enable-av1
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
ac_add_options --allow-addon-sideload
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
|
||||
export MOZ_REQUIRE_SIGNING=
|
||||
|
@@ -1,9 +1,12 @@
|
||||
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"
|
||||
|
||||
# if test "$ZEN_RELEASE"; then
|
||||
# ac_add_options --enable-optimize="-mcpu=apple-m1 -O3 -w"
|
||||
# export RUSTFLAGS="$RUSTFLAGS -Ctarget-cpu=apple-m1"
|
||||
# fi
|
||||
unset MOZ_STDCXX_COMPAT
|
||||
if test "$ZEN_RELEASE"; then
|
||||
export RUSTFLAGS="$RUSTFLAGS -Ctarget-cpu=apple-m1"
|
||||
fi
|
||||
|
||||
ac_add_options --enable-install-strip
|
||||
ac_add_options --target=aarch64-apple-darwin
|
||||
|
||||
export MOZ_MACBUNDLE_ID=${appId}
|
||||
export MOZ_MACBUNDLE_NAME="Zen Browser.app"
|
||||
|
@@ -9,4 +9,5 @@
|
||||
* Welcome Page
|
||||
* Overall performance
|
||||
* Overall stability
|
||||
* Pinning tabs (Grid layout)
|
||||
* Overall UX
|
||||
|
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"homepage": "https://github.com/zen-browser/core#readme",
|
||||
"dependencies": {
|
||||
"@zen-browser/surfer": "^1.1.4"
|
||||
"@zen-browser/surfer": "^1.1.5"
|
||||
}
|
||||
}
|
||||
|
10
pnpm-lock.yaml
generated
10
pnpm-lock.yaml
generated
@@ -9,8 +9,8 @@ importers:
|
||||
.:
|
||||
dependencies:
|
||||
'@zen-browser/surfer':
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.4
|
||||
specifier: ^1.1.5
|
||||
version: 1.1.5
|
||||
|
||||
packages:
|
||||
|
||||
@@ -109,8 +109,8 @@ packages:
|
||||
'@types/node@17.0.45':
|
||||
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
|
||||
|
||||
'@zen-browser/surfer@1.1.4':
|
||||
resolution: {integrity: sha512-fNG/zZfqlEIUVyxLzC07mn+TBVhRwlZJTPMiyckJPo2jqrehGnaOimw23RA6ZgeXCEvu645u9XxWQ7dhkkwnIw==}
|
||||
'@zen-browser/surfer@1.1.5':
|
||||
resolution: {integrity: sha512-8ogIJT3Lw0vyG4gC4g03xrt/nQbFxiPzI1o/3/6FanTzx97C+TdgsWohoKKGvoHj+gqxAwPDfXtqwgCPIYCqrA==}
|
||||
hasBin: true
|
||||
|
||||
ansi-regex@5.0.1:
|
||||
@@ -786,7 +786,7 @@ snapshots:
|
||||
|
||||
'@types/node@17.0.45': {}
|
||||
|
||||
'@zen-browser/surfer@1.1.4':
|
||||
'@zen-browser/surfer@1.1.5':
|
||||
dependencies:
|
||||
'@resvg/resvg-js': 1.4.0
|
||||
async-icns: 1.0.2
|
||||
|
@@ -125,7 +125,6 @@ pref('browser.urlbar.update2.engineAliasRefresh', true);
|
||||
pref('browser.search.suggest.enabled', false);
|
||||
pref('browser.urlbar.suggest.quicksuggest.sponsored', false);
|
||||
pref('browser.urlbar.suggest.quicksuggest.nonsponsored', false);
|
||||
pref('browser.formfill.enable', false);
|
||||
pref('security.insecure_connection_text.enabled', true);
|
||||
pref('security.insecure_connection_text.pbmode.enabled', true);
|
||||
pref('network.IDN_show_punycode', true);
|
||||
@@ -135,14 +134,12 @@ pref('dom.security.https_first', true);
|
||||
pref('dom.security.https_first_schemeless', true);
|
||||
|
||||
/** PASSWORDS ***/
|
||||
pref('signon.rememberSignons', false);
|
||||
pref('signon.formlessCapture.enabled', false);
|
||||
pref('signon.privateBrowsingCapture.enabled', false);
|
||||
pref('network.auth.subresource-http-auth-allow', 1);
|
||||
pref('editor.truncate_user_pastes', false);
|
||||
|
||||
/** ADDRESS + CREDIT CARD MANAGER ***/
|
||||
pref('extensions.formautofill.addresses.enabled', false);
|
||||
pref('extensions.formautofill.creditCards.enabled', false);
|
||||
|
||||
/** MIXED CONTENT + CROSS-SITE ***/
|
||||
@@ -217,15 +214,12 @@ pref('browser.privatebrowsing.vpnpromourl', '');
|
||||
pref('extensions.getAddons.showPane', false);
|
||||
pref('extensions.htmlaboutaddons.recommendations.enabled', false);
|
||||
pref('browser.discovery.enabled', false);
|
||||
pref('browser.shell.checkDefaultBrowser', false);
|
||||
pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons', false);
|
||||
pref(
|
||||
'browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features',
|
||||
false
|
||||
);
|
||||
pref('browser.preferences.moreFromMozilla', false);
|
||||
pref('browser.tabs.tabmanager.enabled', false);
|
||||
pref('browser.aboutConfig.showWarning', false);
|
||||
pref('browser.aboutwelcome.enabled', false);
|
||||
|
||||
/** THEME ADJUSTMENTS ***/
|
||||
@@ -238,12 +232,6 @@ pref('browser.privateWindowSeparation.enabled', false); // WINDOWS
|
||||
pref('cookiebanners.service.mode', 1);
|
||||
pref('cookiebanners.service.mode.privateBrowsing', 1);
|
||||
|
||||
/** FULLSCREEN NOTICE ***/
|
||||
pref('full-screen-api.transition-duration.enter', '0 0');
|
||||
pref('full-screen-api.transition-duration.leave', '0 0');
|
||||
pref('full-screen-api.warning.delay', -1);
|
||||
pref('full-screen-api.warning.timeout', 0);
|
||||
|
||||
/** URL BAR ***/
|
||||
pref('browser.urlbar.suggest.calculator', true);
|
||||
pref('browser.urlbar.unitConversion.enabled', true);
|
||||
|
@@ -18,6 +18,7 @@ pref('browser.display.focus_ring_style', 0);
|
||||
pref('browser.display.focus_ring_width', 0);
|
||||
|
||||
pref('browser.newtabpage.activity-stream.newtabWallpapers.enabled', true);
|
||||
pref('browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled', true);
|
||||
pref('browser.translations.newSettingsUI.enable', true);
|
||||
|
||||
pref("browser.urlbar.trimHttps", true);
|
||||
@@ -33,18 +34,13 @@ pref('browser.urlbar.clipboard.featureGate', true);
|
||||
// new tab page
|
||||
pref('browser.newtabpage.activity-stream.feeds.topsites', false);
|
||||
pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
|
||||
pref("browser.topsites.contile.enabled", false);
|
||||
pref("browser.topsites.contile.enabled", true);
|
||||
|
||||
// Pdf
|
||||
pref('browser.download.open_pdf_attachments_inline', true);
|
||||
pref('pdfjs.enableHighlightEditor', true);
|
||||
pref('pdfjs.enableHighlightFloatingButton', true);
|
||||
|
||||
// UA
|
||||
pref('general.useragent.compatMode.firefox', true);
|
||||
|
||||
pref('layout.css.backdrop-filter.enabled', true);
|
||||
|
||||
pref("alerts.showFavicons", true);
|
||||
pref('browser.toolbars.bookmarks.visibility', 'never');
|
||||
|
||||
|
@@ -8,6 +8,7 @@ var gZenBrowserManagerSidebar = {
|
||||
_hasChangedConfig: true,
|
||||
_splitterElement: null,
|
||||
_hSplitterElement: null,
|
||||
_hasRegisteredPinnedClickOutside: false,
|
||||
_isDragging: false,
|
||||
contextTab: null,
|
||||
|
||||
@@ -106,6 +107,16 @@ var gZenBrowserManagerSidebar = {
|
||||
this.update();
|
||||
this._hasChangedConfig = false;
|
||||
|
||||
// https://stackoverflow.com/questions/11565471/removing-event-listener-which-was-added-with-bind
|
||||
var clickOutsideHandler = this._handleClickOutside.bind(this);
|
||||
if (Services.prefs.getBoolPref("zen.sidebar.floating") && !this._hasRegisteredPinnedClickOutside) {
|
||||
document.addEventListener("mouseup", clickOutsideHandler);
|
||||
this._hasRegisteredPinnedClickOutside = true;
|
||||
} else if (!Services.prefs.getBoolPref("zen.sidebar.floating") && this._hasRegisteredPinnedClickOutside) {
|
||||
document.removeEventListener("mouseup", clickOutsideHandler);
|
||||
this._hasRegisteredPinnedClickOutside = false;
|
||||
}
|
||||
|
||||
const button = document.getElementById("zen-sidepanel-button");
|
||||
if (Services.prefs.getBoolPref("zen.sidebar.enabled")) {
|
||||
button.removeAttribute("hidden");
|
||||
@@ -116,6 +127,25 @@ var gZenBrowserManagerSidebar = {
|
||||
}
|
||||
},
|
||||
|
||||
_handleClickOutside(event) {
|
||||
let sidebar = document.getElementById("zen-sidebar-web-panel");
|
||||
if (!sidebar.hasAttribute("pinned") || !this._currentPanel || this._isDragging) {
|
||||
return;
|
||||
}
|
||||
let target = event.target;
|
||||
const closestSelector = [
|
||||
"#zen-sidebar-web-panel",
|
||||
"#zen-sidebar-panels-wrapper",
|
||||
"#zenWebPanelContextMenu",
|
||||
"#zen-sidebar-web-panel-splitter",
|
||||
"#contentAreaContextMenu"
|
||||
].join(", ");
|
||||
if (target.closest(closestSelector)) {
|
||||
return;
|
||||
}
|
||||
this.close();
|
||||
},
|
||||
|
||||
toggle() {
|
||||
if (!this._currentPanel) {
|
||||
this._currentPanel = this._lastOpenedPanel;
|
||||
|
@@ -29,9 +29,6 @@ var gZenVerticalTabsManager = {
|
||||
//Services.prefs.addObserver('zen.view.sidebar-expanded', this._updateEvent.bind(this));
|
||||
},
|
||||
|
||||
//_updateEvent() {
|
||||
// this._updateExpandButton();
|
||||
//},
|
||||
|
||||
get expanded() {
|
||||
return Services.prefs.getBoolPref('zen.view.sidebar-expanded');
|
||||
|
@@ -5,12 +5,12 @@ var ZenWorkspaces = {
|
||||
if (docElement.getAttribute("chromehidden").includes("toolbar")
|
||||
|| docElement.getAttribute("chromehidden").includes("menubar")
|
||||
|| docElement.hasAttribute("privatebrowsingmode")) {
|
||||
console.log("!!! ZenWorkspaces is disabled in hidden windows !!!");
|
||||
console.warn("ZenWorkspaces: !!! ZenWorkspaces is disabled in hidden windows !!!");
|
||||
return; // We are in a hidden window, don't initialize ZenWorkspaces
|
||||
}
|
||||
console.log("Initializing ZenWorkspaces...");
|
||||
console.log("ZenWorkspaces: Initializing ZenWorkspaces...");
|
||||
await this.initializeWorkspaces();
|
||||
console.log("ZenWorkspaces initialized");
|
||||
console.log("ZenWorkspaces: ZenWorkspaces initialized");
|
||||
},
|
||||
|
||||
get workspaceEnabled() {
|
||||
@@ -57,7 +57,6 @@ var ZenWorkspaces = {
|
||||
}
|
||||
if (this.workspaceEnabled) {
|
||||
let workspaces = await this._workspaces();
|
||||
console.log("Workspaces loaded", workspaces);
|
||||
if (workspaces.workspaces.length === 0) {
|
||||
await this.createAndSaveWorkspace("Default Workspace", true);
|
||||
} else {
|
||||
@@ -101,13 +100,14 @@ var ZenWorkspaces = {
|
||||
json.workspaces = [];
|
||||
}
|
||||
json.workspaces.push(workspaceData);
|
||||
console.log("Saving workspace", workspaceData);
|
||||
console.log("ZenWorkspaces: Saving workspace", workspaceData);
|
||||
await IOUtils.writeJSON(this._storeFile, json);
|
||||
this._workspaceCache = null;
|
||||
},
|
||||
|
||||
async removeWorkspace(windowID) {
|
||||
let json = await this._workspaces();
|
||||
console.log("ZenWorkspaces: Removing workspace", windowID);
|
||||
await this.changeWorkspace(json.workspaces.find(workspace => workspace.uuid !== windowID));
|
||||
this._deleteAllTabsInWorkspace(windowID);
|
||||
json.workspaces = json.workspaces.filter(workspace => workspace.uuid !== windowID);
|
||||
@@ -137,8 +137,12 @@ var ZenWorkspaces = {
|
||||
parentPanel.goBack();
|
||||
},
|
||||
|
||||
workspaceHasIcon(workspace) {
|
||||
return typeof workspace.icon !== "undefined" && workspace.icon !== "";
|
||||
},
|
||||
|
||||
getWorkspaceIcon(workspace) {
|
||||
if (typeof workspace.icon !== "undefined") {
|
||||
if (this.workspaceHasIcon(workspace)) {
|
||||
return workspace.icon;
|
||||
}
|
||||
return workspace.name[0].toUpperCase();
|
||||
@@ -152,7 +156,7 @@ var ZenWorkspaces = {
|
||||
element.className = "subviewbutton";
|
||||
element.setAttribute("tooltiptext", workspace.name);
|
||||
element.setAttribute("zen-workspace-id", workspace.uuid);
|
||||
element.setAttribute("context", "zenWorkspaceActionsMenu");
|
||||
//element.setAttribute("context", "zenWorkspaceActionsMenu");
|
||||
let childs = window.MozXULElement.parseXULToFragment(`
|
||||
<div class="zen-workspace-icon">
|
||||
${this.getWorkspaceIcon(workspace)}
|
||||
@@ -164,13 +168,14 @@ var ZenWorkspaces = {
|
||||
<image class="toolbarbutton-icon" id="zen-workspace-actions-menu-icon"></image>
|
||||
</toolbarbutton>
|
||||
`);
|
||||
childs.querySelector(".zen-workspace-actions").addEventListener("command", (event) => {
|
||||
childs.querySelector(".zen-workspace-actions").addEventListener("command", ((event) => {
|
||||
let button = event.target;
|
||||
this._contextMenuId = button.closest("toolbarbutton[zen-workspace-id]").getAttribute("zen-workspace-id");
|
||||
const popup = button.ownerDocument.getElementById(
|
||||
"zenWorkspaceActionsMenu"
|
||||
);
|
||||
popup.openPopup(button, "after_end");
|
||||
});
|
||||
}).bind(this));
|
||||
element.appendChild(childs);
|
||||
element.onclick = (async () => {
|
||||
if (event.target.closest(".zen-workspace-actions")) {
|
||||
@@ -252,7 +257,7 @@ var ZenWorkspaces = {
|
||||
${activeWorkspace.name}
|
||||
</div>
|
||||
`;
|
||||
if (typeof activeWorkspace.icon === "undefined") {
|
||||
if (!this.workspaceHasIcon(activeWorkspace)) {
|
||||
button.querySelector(".zen-workspace-sidebar-icon").setAttribute("no-icon", "true");
|
||||
}
|
||||
}
|
||||
@@ -323,22 +328,14 @@ var ZenWorkspaces = {
|
||||
return;
|
||||
}
|
||||
let firstTab = undefined;
|
||||
// Get the number of tabs that are hidden before we start hiding them
|
||||
let numShownTabs = gBrowser.tabs.reduce((acc, tab) => {
|
||||
return (tab.getAttribute("zen-workspace-id") === window.uuid) ? acc + 1 : acc;
|
||||
}, 0);
|
||||
let workspaces = await this._workspaces();
|
||||
for (let workspace of workspaces.workspaces) {
|
||||
workspace.used = workspace.uuid === window.uuid;
|
||||
}
|
||||
this.unsafeSaveWorkspaces(workspaces);
|
||||
if (numShownTabs === gBrowser.tabs.length-1) {
|
||||
// If all tabs are hidden, we need to create a new tab
|
||||
// to show the workspace
|
||||
this._createNewTabForWorkspace(window);
|
||||
}
|
||||
console.log("ZenWorkspaces: Changing workspace to", window.uuid);
|
||||
for (let tab of gBrowser.tabs) {
|
||||
if (tab.getAttribute("zen-workspace-id") === window.uuid) {
|
||||
if (tab.getAttribute("zen-workspace-id") === window.uuid && !tab.pinned) {
|
||||
if (!firstTab) {
|
||||
firstTab = tab;
|
||||
gBrowser.selectedTab = firstTab;
|
||||
@@ -346,6 +343,9 @@ var ZenWorkspaces = {
|
||||
gBrowser.showTab(tab);
|
||||
}
|
||||
}
|
||||
if (typeof firstTab === "undefined") {
|
||||
this._createNewTabForWorkspace(window);
|
||||
}
|
||||
for (let tab of gBrowser.tabs) {
|
||||
if (tab.getAttribute("zen-workspace-id") !== window.uuid) {
|
||||
gBrowser.hideTab(tab);
|
||||
@@ -394,14 +394,9 @@ var ZenWorkspaces = {
|
||||
// Context menu management
|
||||
|
||||
_contextMenuId: null,
|
||||
async updateContextMenu(event) {
|
||||
let target = event.target;
|
||||
let workspace = target.closest("[zen-workspace-id]");
|
||||
if (!workspace) {
|
||||
return;
|
||||
}
|
||||
_contextMenuId = workspace.getAttribute("zen-workspace-id");
|
||||
document.querySelector(`#PanelUI-zen-workspaces [zen-workspace-id="${_contextMenuId}"] .zen-workspace-actions`).setAttribute("active", "true");
|
||||
async updateContextMenu(_) {
|
||||
console.assert(this._contextMenuId, "No context menu ID set");
|
||||
document.querySelector(`#PanelUI-zen-workspaces [zen-workspace-id="${this._contextMenuId}"] .zen-workspace-actions`).setAttribute("active", "true");
|
||||
const workspaces = await this._workspaces();
|
||||
let deleteMenuItem = document.getElementById("context_zenDeleteWorkspace");
|
||||
if (workspaces.workspaces.length <= 1) {
|
||||
@@ -412,7 +407,7 @@ var ZenWorkspaces = {
|
||||
},
|
||||
|
||||
onContextMenuClose() {
|
||||
let target = document.querySelector(`#PanelUI-zen-workspaces [zen-workspace-id="${_contextMenuId}"] .zen-workspace-actions`);
|
||||
let target = document.querySelector(`#PanelUI-zen-workspaces [zen-workspace-id="${this._contextMenuId}"] .zen-workspace-actions`);
|
||||
if (target) {
|
||||
target.removeAttribute("active");
|
||||
}
|
||||
@@ -420,7 +415,7 @@ var ZenWorkspaces = {
|
||||
},
|
||||
|
||||
async contextDelete() {
|
||||
await this.removeWorkspace(_contextMenuId);
|
||||
await this.removeWorkspace(this._contextMenuId);
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -127,7 +127,7 @@
|
||||
</panel>
|
||||
|
||||
<menupopup id="zenWorkspaceActionsMenu"
|
||||
onpopupshowing="ZenWorkspaces.updateContextMenu(event);"
|
||||
onpopupshowing="ZenWorkspaces.updateContextMenu(this);"
|
||||
onpopuphidden="ZenWorkspaces.onContextMenuClose();">
|
||||
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete();" data-l10n-id="zen-workspaces-panel-context-delete"/>
|
||||
</menupopup>
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||
index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf457da3500c 100644
|
||||
index 3b97732d8035f07a2308f76f235702c70a5fa388..edbc1ad66a84fd17b1674ff7852cdf01bef0c21b 100644
|
||||
--- a/browser/components/tabbrowser/content/tabs.js
|
||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||
@@ -552,19 +552,36 @@
|
||||
@@ -130,7 +130,23 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
for (let tab of movingTabs) {
|
||||
tab.toggleAttribute("tabdrop-samewindow", true);
|
||||
tab.style.transform = "translateX(" + newTranslateX + "px)";
|
||||
@@ -1144,10 +1179,13 @@
|
||||
@@ -1081,6 +1116,15 @@
|
||||
return this._allTabs;
|
||||
}
|
||||
let children = Array.from(this.arrowScrollbox.children);
|
||||
+ // Zen: We also need to exclude subgroups
|
||||
+ // Zen: For example: tab-group(tab1, tab2), tab3, tab-group(tab4)
|
||||
+ // Zen: In this case, we need to get [tab1, tab2, tab3, tab4]
|
||||
+ // Zen: NOTE: There should be no tab-group inside of a tab-group
|
||||
+ for (let i = 0; i < children.length; i++) {
|
||||
+ if (children[i].classList.contains("zen-tab-group")) {
|
||||
+ children.splice(i, 1, ...children[i].children);
|
||||
+ }
|
||||
+ }
|
||||
children.pop();
|
||||
this._allTabs = children;
|
||||
return children;
|
||||
@@ -1144,10 +1188,13 @@
|
||||
}
|
||||
|
||||
_initializeArrowScrollbox() {
|
||||
@@ -144,7 +160,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
// Ignore underflow events:
|
||||
// - from nested scrollable elements
|
||||
// - for vertical orientation
|
||||
@@ -1471,11 +1509,11 @@
|
||||
@@ -1471,11 +1518,11 @@
|
||||
for (let i = numPinned - 1; i >= 0; i--) {
|
||||
let tab = tabs[i];
|
||||
width += layoutData.pinnedTabWidth;
|
||||
@@ -161,7 +177,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
tab._pinnedUnscrollable = true;
|
||||
}
|
||||
this.style.setProperty(
|
||||
@@ -1510,19 +1548,30 @@
|
||||
@@ -1510,19 +1557,30 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,7 +217,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
|
||||
let pinned = draggedTab.pinned;
|
||||
let numPinned = gBrowser._numPinnedTabs;
|
||||
@@ -1531,36 +1580,39 @@
|
||||
@@ -1531,36 +1589,39 @@
|
||||
pinned ? numPinned : undefined
|
||||
);
|
||||
|
||||
@@ -252,7 +268,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
}
|
||||
|
||||
draggedTab._dragData.translateX = translateX;
|
||||
@@ -1593,11 +1645,11 @@
|
||||
@@ -1593,11 +1654,11 @@
|
||||
if (tabs[mid] == draggedTab && ++mid > high) {
|
||||
break;
|
||||
}
|
||||
@@ -266,7 +282,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
tabCenter
|
||||
) {
|
||||
low = mid + 1;
|
||||
@@ -1620,16 +1672,16 @@
|
||||
@@ -1620,16 +1681,16 @@
|
||||
for (let tab of tabs) {
|
||||
if (tab != draggedTab) {
|
||||
let shift = getTabShift(tab, newIndex);
|
||||
@@ -286,7 +302,7 @@ index 3b97732d8035f07a2308f76f235702c70a5fa388..bed86f3014a239b4e7d50504d4b0bf45
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1701,9 +1753,9 @@
|
||||
@@ -1701,9 +1762,9 @@
|
||||
|
||||
// Slide the relevant tabs to their new position.
|
||||
for (let t of this._getVisibleTabs()) {
|
||||
|
@@ -349,7 +349,9 @@ class Pages {
|
||||
}
|
||||
|
||||
_openWelcomePage() {
|
||||
gZenUIManager.openAndChangeToTab(kWelcomeURL);
|
||||
gZenUIManager.openAndChangeToTab(kWelcomeURL, {
|
||||
inBackground: true,
|
||||
});
|
||||
}
|
||||
|
||||
_displayCurrentPage() {
|
||||
|
@@ -340,7 +340,7 @@ toolbarbutton#scrollbutton-up {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab::after {
|
||||
.tabbrowser-tab::after {/* Containers */
|
||||
background: var(--identity-tab-color, transparent);
|
||||
border-radius: 2px;
|
||||
height: 80%;
|
||||
@@ -362,15 +362,15 @@ toolbarbutton#scrollbutton-up {
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab:nth-last-child(1 of [pinned]) {
|
||||
margin-bottom: 15px !important;
|
||||
#tabbrowser-tabs:has(.tabbrowser-tab[pinned]) .tabbrowser-tab:nth-child(1 of :not([pinned])) {
|
||||
margin-top: 15px !important;
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
|
||||
& .tab-stack::after {
|
||||
& .tab-stack::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -11px;
|
||||
top: -11px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 1.5px;
|
||||
@@ -521,12 +521,6 @@ panelmultiview {
|
||||
#zen-appcontent-navbar-container #nav-bar {
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
transition: .2s;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
max-width: 1px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
#zen-appcontent-navbar-container #nav-bar {
|
||||
@@ -541,7 +535,18 @@ panelmultiview {
|
||||
width: -moz-available;
|
||||
}
|
||||
|
||||
:root:has(
|
||||
#navigator-toolbox {
|
||||
position: absolute;
|
||||
background: var(--zen-main-browser-background) !important;
|
||||
height: 100%;
|
||||
right: calc(100% - 5px);
|
||||
}
|
||||
|
||||
#zen-sidebar-splitter {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
:root:not([inDOMFullscreen="true"]):has(
|
||||
:is(
|
||||
#navigator-toolbox:hover,
|
||||
#navigator-toolbox *[open="true"]:not(tab),
|
||||
@@ -555,20 +560,21 @@ panelmultiview {
|
||||
max-height: unset;
|
||||
overflow: visible;
|
||||
opacity: 1;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
& #navigator-toolbox {
|
||||
border-right: var(--zen-appcontent-border) !important;
|
||||
width: fit-content !important;
|
||||
padding: 5px;
|
||||
padding: 10px;
|
||||
position: unset;
|
||||
right: unset;
|
||||
}
|
||||
|
||||
& #zen-appcontent-navbar-container #nav-bar {
|
||||
border-bottom: var(--zen-appcontent-border) !important;
|
||||
}
|
||||
|
||||
:root:not([inDOMFullscreen="true"]) & #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
|
||||
& #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
|
||||
margin-top: 10px !important;
|
||||
}
|
||||
}
|
||||
@@ -588,6 +594,10 @@ panelmultiview {
|
||||
margin: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
& #zen-sidebar-splitter {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Screenshots */
|
||||
@@ -714,40 +724,69 @@ panelmultiview {
|
||||
}
|
||||
|
||||
.tabbrowser-tab {
|
||||
width: 100%;
|
||||
|
||||
&:hover .tab-close-button {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
& .tab-content {
|
||||
position: relative;
|
||||
&: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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& .tab-stack {
|
||||
justify-content: start;
|
||||
padding: 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(30px, 1fr));
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.tabbrowser-tab:not([pinned]) {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[pinned] {
|
||||
grid-column: span 1;
|
||||
}
|
||||
|
||||
#zen-workspaces-button {
|
||||
width: -moz-available !important;
|
||||
}
|
||||
|
||||
.tab-label-container {
|
||||
|
||||
#tabbrowser-tabs:not([secondarytext-unsupported]) & {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 10px;
|
||||
}
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#zen-sidebar-icons-wrapper {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
|
||||
transition: .1s;
|
||||
}
|
||||
|
||||
|
@@ -356,11 +356,14 @@
|
||||
}
|
||||
|
||||
#PlacesChevron,
|
||||
#urlbar-go-button,
|
||||
#zen-expand-sidebar-button {
|
||||
#urlbar-go-button {
|
||||
list-style-image: url("arrow-right.svg") !important;
|
||||
}
|
||||
|
||||
#zen-expand-sidebar-button {
|
||||
list-style-image: url("move-tab.svg") !important;
|
||||
}
|
||||
|
||||
.panel-header > .subviewbutton-back {
|
||||
list-style-image: url("arrow-left.svg") !important;
|
||||
}
|
||||
|
@@ -246,7 +246,6 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces {
|
||||
|
@@ -53,10 +53,13 @@
|
||||
margin-right: 0;
|
||||
display: flex;
|
||||
pointer-events: none;
|
||||
transition: width 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[hidden="true"]) {
|
||||
display: none;
|
||||
max-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned="true"]) {
|
||||
@@ -144,6 +147,12 @@
|
||||
animation: zen-sidebar-panel-animation-2 0.2s ease-in-out forwards;
|
||||
}
|
||||
|
||||
#zen-sidebar-web-panel[hidden="true"][pinned="true"] {
|
||||
display: flex;
|
||||
pointer-events: none;
|
||||
animation: zen-sidebar-panel-animation-reverse 0.2s ease-in-out forwards;
|
||||
}
|
||||
|
||||
@keyframes zen-sidebar-panel-animation {
|
||||
0% {
|
||||
opacity: 0;
|
||||
@@ -168,6 +177,22 @@
|
||||
}
|
||||
}
|
||||
|
||||
@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%;
|
||||
|
@@ -193,12 +193,6 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
||||
#zen-expand-sidebar-button {
|
||||
display: block; /* TODO? */
|
||||
}
|
||||
}
|
||||
|
||||
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
||||
#navigator-toolbox {
|
||||
width: 0 !important;
|
||||
|
@@ -0,0 +1,16 @@
|
||||
diff --git a/toolkit/mozapps/update/updater/updater-common.build b/toolkit/mozapps/update/updater/updater-common.build
|
||||
index 6c6d0adf6f56b66c06494b95982b4afae52de536..67e381659dba0c6938a12d16fe12bc2f3e2039ae 100644
|
||||
--- a/toolkit/mozapps/update/updater/updater-common.build
|
||||
+++ b/toolkit/mozapps/update/updater/updater-common.build
|
||||
@@ -78,6 +78,11 @@ if link_with_nss:
|
||||
"nss",
|
||||
"signmar",
|
||||
]
|
||||
+ if CONFIG["OS_ARCH"] == "Linux":
|
||||
+ # Zen: --enable-unverified-updates is enabled, the RPATH is not added
|
||||
+ OS_LIBS += [
|
||||
+ "-Wl,-rpath=\\$$ORIGIN",
|
||||
+ ]
|
||||
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
have_progressui = 1
|
@@ -5,7 +5,7 @@
|
||||
"binaryName": "zen",
|
||||
"version": {
|
||||
"product": "firefox",
|
||||
"version": "128.0.2"
|
||||
"version": "128.0.3"
|
||||
},
|
||||
"buildOptions": {
|
||||
"generateBranding": true
|
||||
@@ -27,7 +27,7 @@
|
||||
"brandShortName": "Zen Browser",
|
||||
"brandFullName": "Zen Browser",
|
||||
"release": {
|
||||
"displayVersion": "1.0.0-a.6",
|
||||
"displayVersion": "1.0.0-a.7",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
|
Reference in New Issue
Block a user