Compare commits
101 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dcd032856b | ||
|
|
bf95bc7078 | ||
|
|
ab2a982bf0 | ||
|
|
5cd1f77e2d | ||
|
|
a17a1da3b8 | ||
|
|
ecbce38f52 | ||
|
|
0693bb7a61 | ||
|
|
7f28047f82 | ||
|
|
d1fffc59cf | ||
|
|
8e799a678f | ||
|
|
a3f1733fd4 | ||
|
|
ea23c3f63d | ||
|
|
7d51ae1f07 | ||
|
|
469604dd28 | ||
|
|
3f77bc972b | ||
|
|
59263eae9e | ||
|
|
251967435d | ||
|
|
a93e50cc54 | ||
|
|
54bdabbf25 | ||
|
|
5b7445fe31 | ||
|
|
09ee6f2097 | ||
|
|
f240fabe77 | ||
|
|
bf6e493f89 | ||
|
|
75a3b82d2c | ||
|
|
9c8b442a46 | ||
|
|
1f3d8b492b | ||
|
|
5013533ad8 | ||
|
|
adc4b956dd | ||
|
|
219d1989d9 | ||
|
|
fa7f986319 | ||
|
|
ce75bc152a | ||
|
|
289e84b75d | ||
|
|
4da5a40419 | ||
|
|
7bf0b42afd | ||
|
|
5488b1d62e | ||
|
|
ef22f08115 | ||
|
|
e8c43f5979 | ||
|
|
e9bbbaf446 | ||
|
|
b932558ad6 | ||
|
|
376c64c892 | ||
|
|
548ed6e0f5 | ||
|
|
df916f1e4a | ||
|
|
847aef5b02 | ||
|
|
17654139ba | ||
|
|
e1974d9f81 | ||
|
|
fcff502d1a | ||
|
|
0e030dcb08 | ||
|
|
aa4e385b6b | ||
|
|
c9488c0384 | ||
|
|
bcf879b801 | ||
|
|
84072192b9 | ||
|
|
d786c6927f | ||
|
|
2a0113408c | ||
|
|
967d0dd730 | ||
|
|
af36549c7e | ||
|
|
6e2ce89d21 | ||
|
|
2d5fed3cd9 | ||
|
|
ba4eef0db9 | ||
|
|
872f7bdcbe | ||
|
|
8f6ca03240 | ||
|
|
35245078c9 | ||
|
|
fd8a55c57c | ||
|
|
8fce658dc1 | ||
|
|
df963fc035 | ||
|
|
ffab4a8c02 | ||
|
|
ebd1910bb8 | ||
|
|
10592ed243 | ||
|
|
3da1da968e | ||
|
|
bb2196900b | ||
|
|
8ef4460f00 | ||
|
|
a1bd202b51 | ||
|
|
3faf5cd404 | ||
|
|
d35abc991e | ||
|
|
7a29340efc | ||
|
|
cf6a346749 | ||
|
|
9f047b7dcf | ||
|
|
7a50336908 | ||
|
|
89efc6cb0a | ||
|
|
5b3b72b9aa | ||
|
|
a6d749a9c8 | ||
|
|
a570a266e5 | ||
|
|
0f5f14defe | ||
|
|
ab9a752286 | ||
|
|
8f06bf21b0 | ||
|
|
eaa099f9cc | ||
|
|
0642ceba40 | ||
|
|
0869fa55bb | ||
|
|
80b8f7b4d8 | ||
|
|
7c18b1d921 | ||
|
|
eec99dc76b | ||
|
|
6663a47d4a | ||
|
|
c654c3f5de | ||
|
|
5e48064497 | ||
|
|
9c8aba3dcd | ||
|
|
c9fe95c00c | ||
|
|
9bfa7b01b5 | ||
|
|
bbf646439a | ||
|
|
a710d5949e | ||
|
|
4abb3d2249 | ||
|
|
6cdc640977 | ||
|
|
aa662910b2 |
@@ -1 +1 @@
|
||||
{type}: {message}, b=({bugId}), c={components}
|
||||
{type}: {message}, b={bugId}, c={components}
|
||||
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -548,7 +548,7 @@ jobs:
|
||||
# If we are on Twilight, we want to just update the Twilight tag's release
|
||||
- name: Update Twilight tag
|
||||
if: ${{ inputs.update_branch == 'twilight' }}
|
||||
uses: softprops/action-gh-release@v2
|
||||
uses: softprops/action-gh-release@v2.2.2
|
||||
with:
|
||||
body_path: release_notes.md
|
||||
files: |
|
||||
@@ -580,7 +580,7 @@ jobs:
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
uses: softprops/action-gh-release@v2.2.2
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
with:
|
||||
token: ${{ secrets.DEPLOY_KEY }}
|
||||
|
||||
9
.github/workflows/linux-release-build.yml
vendored
9
.github/workflows/linux-release-build.yml
vendored
@@ -121,6 +121,11 @@ jobs:
|
||||
./mach --no-interactive bootstrap --application-choice browser
|
||||
cd ..
|
||||
|
||||
- name: Insert API Keys
|
||||
run: |
|
||||
mkdir -p ~/.zen-keys
|
||||
echo "${{ secrets.ZEN_SAFEBROWSING_API_KEY }}" > ~/.zen-keys/safebrowsing.dat
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
@@ -142,6 +147,10 @@ jobs:
|
||||
export ZEN_RELEASE=1
|
||||
npm run package
|
||||
|
||||
- name: Remove API Keys
|
||||
run: |
|
||||
rm -rf ~/.zen-keys
|
||||
|
||||
- name: Rename artifacts
|
||||
run: |
|
||||
mv dist/zen-*.tar.xz "zen.linux-${{ matrix.arch }}.tar.xz"
|
||||
|
||||
9
.github/workflows/macos-release-build.yml
vendored
9
.github/workflows/macos-release-build.yml
vendored
@@ -132,6 +132,11 @@ jobs:
|
||||
- name: Build language packs
|
||||
run: sh scripts/download-language-packs.sh
|
||||
|
||||
- name: Insert API Keys
|
||||
run: |
|
||||
mkdir -p ~/.zen-keys
|
||||
echo "${{ secrets.ZEN_SAFEBROWSING_API_KEY }}" > ~/.zen-keys/safebrowsing.dat
|
||||
|
||||
- name: Build Zen
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
@@ -152,6 +157,10 @@ jobs:
|
||||
export ZEN_RELEASE=1
|
||||
npm run package
|
||||
|
||||
- name: Remove API Keys
|
||||
run: |
|
||||
rm -rf ~/.zen-keys
|
||||
|
||||
- name: Rename artifacts
|
||||
run: |
|
||||
echo "Tarballing DMG"
|
||||
|
||||
140
.github/workflows/src/generate_release_notes.sh
vendored
140
.github/workflows/src/generate_release_notes.sh
vendored
@@ -5,7 +5,7 @@ if [ "$RELEASE_BRANCH" = "release" ]; then
|
||||
RELEASE_TYPE="Stable"
|
||||
|
||||
echo "Fetching release notes from GitHub..."
|
||||
RELEASE_NOTES_JSON=$(curl -s "$RELEASE_NOTES_URL")
|
||||
RELEASE_NOTES_JSON=$(curl -s --retry 5 --retry-delay 5 "$RELEASE_NOTES_URL")
|
||||
|
||||
if [ -z "$RELEASE_NOTES_JSON" ]; then
|
||||
echo "Error: Failed to fetch release notes from GitHub"
|
||||
@@ -18,96 +18,62 @@ else
|
||||
RELEASE_TYPE="Twilight"
|
||||
fi
|
||||
|
||||
cat << EOF > "release_notes.md"
|
||||
# Zen ${RELEASE_TYPE} Release
|
||||
EOF
|
||||
{
|
||||
echo "# Zen ${RELEASE_TYPE} Release"
|
||||
|
||||
if [ "$RELEASE_BRANCH" = "release" ]; then
|
||||
echo "${EXTRA_NOTES}" >> "release_notes.md"
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.features // []) | length > 0' > /dev/null; then
|
||||
cat << EOF >> "release_notes.md"
|
||||
|
||||
## New Features
|
||||
$(echo "$LATEST_RELEASE" | jq -r '.features[] | "- " + .')
|
||||
EOF
|
||||
if [ "$RELEASE_TYPE" = "Twilight" ]; then
|
||||
echo
|
||||
echo "> [!NOTE]"
|
||||
echo "> You're currently in Twilight mode, this means you're downloading the latest experimental features and updates."
|
||||
echo ">"
|
||||
echo "> If you encounter any issues, please report them on the [issues page](https://github.com/zen-browser/desktop/issues)."
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.fixes // []) | length > 0' > /dev/null; then
|
||||
cat << EOF >> "release_notes.md"
|
||||
if [ "$RELEASE_TYPE" = "Stable" ]; then
|
||||
echo "${EXTRA_NOTES}"
|
||||
|
||||
## Fixes
|
||||
EOF
|
||||
echo "$LATEST_RELEASE" | jq -r '.fixes[] | if type=="object" then "- " + .description + " ([#" + (.issue|tostring) + "](" + "https://github.com/zen-browser/desktop/issues/" + (.issue|tostring) + "))" else "- " + . end' >> "release_notes.md"
|
||||
if echo "$LATEST_RELEASE" | jq -e '.security != null and .security != ""' > /dev/null; then
|
||||
echo
|
||||
echo "## Security"
|
||||
echo "[Various security fixes]($(echo "$LATEST_RELEASE" | jq -r '.security'))"
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.features // []) | length > 0' > /dev/null; then
|
||||
echo
|
||||
echo "## New Features"
|
||||
echo "$LATEST_RELEASE" | jq -r '.features[] | "- " + .'
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.fixes // []) | length > 0' > /dev/null; then
|
||||
echo
|
||||
echo "## Fixes"
|
||||
echo "$LATEST_RELEASE" | jq -r '.fixes[] | if type=="object" then "- " + .description + " ([#" + (.issue|tostring) + "](" + "https://github.com/zen-browser/desktop/issues/" + (.issue|tostring) + "))" else "- " + . end'
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.breakingChanges // []) | length > 0' > /dev/null; then
|
||||
echo
|
||||
echo "## Breaking Changes"
|
||||
echo "$LATEST_RELEASE" | jq -r '.breakingChanges[] | if type=="string" then "- " + . else "- " + .description + " [Learn more](" + .link + ")" end'
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.themeChanges // []) | length > 0' > /dev/null; then
|
||||
echo
|
||||
echo "## Theme Changes"
|
||||
echo "$LATEST_RELEASE" | jq -r '.themeChanges[] | "- " + .'
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.changes // []) | length > 0' > /dev/null; then
|
||||
echo
|
||||
echo "## Changes"
|
||||
echo "$LATEST_RELEASE" | jq -r '.changes[] | "- " + .'
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.knownIssues // []) | length > 0' > /dev/null; then
|
||||
echo
|
||||
echo "## Known Issues"
|
||||
echo "$LATEST_RELEASE" | jq -r '.knownIssues[] | "- " + .'
|
||||
fi
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.breakingChanges // []) | length > 0' > /dev/null; then
|
||||
cat << EOF >> "release_notes.md"
|
||||
|
||||
## Breaking Changes
|
||||
EOF
|
||||
echo "$LATEST_RELEASE" | jq -r '.breakingChanges[] | if type=="string" then "- " + . else "- " + .description + " [Learn more](" + .link + ")" end' >> "release_notes.md"
|
||||
fi
|
||||
|
||||
if echo "$LATEST_RELEASE" | jq -e '(.themeChanges // []) | length > 0' > /dev/null; then
|
||||
cat << EOF >> "release_notes.md"
|
||||
|
||||
## Theme Changes
|
||||
$(echo "$LATEST_RELEASE" | jq -r '.themeChanges[] | "- " + .')
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
cat << EOF >> "release_notes.md"
|
||||
|
||||
<details>
|
||||
<summary>File Checksums (SHA-256)</summary>
|
||||
|
||||
\`\`\`
|
||||
EOF
|
||||
|
||||
generate_checksum() {
|
||||
local pattern=$1
|
||||
echo "Generating checksum for $pattern"
|
||||
sha256sum $pattern 2> /dev/null | awk '{sub(".*/", "", $2); print $1 " " $2}' >> "release_notes.md"
|
||||
if [ ${PIPESTATUS[0]} -ne 0 ]; then
|
||||
echo "Warning: No files found matching $pattern, skipping checksum."
|
||||
fi
|
||||
}
|
||||
|
||||
files=(
|
||||
"./zen.source.tar.zst/*"
|
||||
"./zen.linux-x86_64.tar.xz/*"
|
||||
"./zen.linux-aarch64.tar.xz/*"
|
||||
"./zen-x86_64.AppImage/*"
|
||||
"./zen-x86_64.AppImage.zsync/*"
|
||||
"./zen-aarch64.AppImage/*"
|
||||
"./zen-aarch64.AppImage.zsync/*"
|
||||
"./.github/workflows/object/windows-x64-signed-x86_64/zen.win-x86_64.zip"
|
||||
"./zen.win-x86_64.zip/*"
|
||||
"./.github/workflows/object/windows-x64-signed-arm64/zen.win-arm64.zip"
|
||||
"./zen.win-arm64.zip/*"
|
||||
"./linux.mar/*"
|
||||
"./linux-aarch64.mar/*"
|
||||
"./.github/workflows/object/windows-x64-signed-x86_64/windows.mar"
|
||||
"./windows.mar/*"
|
||||
"./.github/workflows/object/windows-x64-signed-arm64/windows-arm64.mar"
|
||||
"./windows-arm64.mar/*"
|
||||
"./macos.mar/*"
|
||||
"./.github/workflows/object/windows-x64-signed-x86_64/zen.installer.exe"
|
||||
"./zen.installer.exe/*"
|
||||
"./.github/workflows/object/windows-x64-signed-arm64/zen.installer-arm64.exe"
|
||||
"./zen.installer-arm64.exe/*"
|
||||
"./zen.macos-universal.dmg/*"
|
||||
)
|
||||
|
||||
for file in "${files[@]}"; do
|
||||
generate_checksum "$file"
|
||||
done
|
||||
|
||||
cat << EOF >> "release_notes.md"
|
||||
\`\`\`
|
||||
</details>
|
||||
EOF
|
||||
} > "release_notes.md"
|
||||
|
||||
echo "Release notes generated: release_notes.md"
|
||||
|
||||
9
.github/workflows/windows-release-build.yml
vendored
9
.github/workflows/windows-release-build.yml
vendored
@@ -226,6 +226,11 @@ jobs:
|
||||
chmod +x ~/artifact/en-US.log
|
||||
chmod +x ~/artifact/merged.profdata
|
||||
|
||||
- name: Insert API Keys
|
||||
run: |
|
||||
mkdir -p ~/.zen-keys
|
||||
echo "${{ secrets.ZEN_SAFEBROWSING_API_KEY }}" > ~/.zen-keys/safebrowsing.dat
|
||||
|
||||
- name: Build
|
||||
if: ${{ !(inputs.generate-gpo && matrix.arch == 'aarch64') }}
|
||||
env:
|
||||
@@ -259,6 +264,10 @@ jobs:
|
||||
ls ./dist
|
||||
ls .
|
||||
|
||||
- name: Remove API Keys
|
||||
run: |
|
||||
rm -rf ~/.zen-keys
|
||||
|
||||
- name: Move package for PGO upload
|
||||
if: ${{ inputs.generate-gpo && matrix.arch == 'x86_64' }}
|
||||
run: |
|
||||
|
||||
@@ -26,7 +26,7 @@ docs/issue-metrics/*.md
|
||||
# We also dont want to format the CSS files that are generated by the build
|
||||
src/zen/tabs/zen-tabs.css
|
||||
src/zen/compact-mode/zen-compact-mode.css
|
||||
src/zen/common/ZenEmojies.mjs
|
||||
src/zen/common/ZenEmojis.mjs
|
||||
|
||||
src/zen/workspaces/zen-workspaces.css
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
||||
|
||||
### Firefox Versions
|
||||
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `139.0.1`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 139.0.1`!
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `139.0.4`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 139.0.4`!
|
||||
|
||||
### Contributing
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
6548d6b52a8969b347101142ed630393332ab274
|
||||
29fd9c19879c6f9bfcf414f47426d8dc00dee1a5
|
||||
@@ -32,6 +32,11 @@ if ! test "$SCCACHE_GHA_ENABLED" = "false"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# add safe browsing key if it exists on a file
|
||||
if test -f "$HOME/.zen-keys/safebrowsing.dat"; then
|
||||
ac_add_options --with-google-safebrowsing-api-keyfile="$HOME/.zen-keys/safebrowsing.dat"
|
||||
fi
|
||||
|
||||
if test "$ZEN_RELEASE"; then
|
||||
|
||||
# TODO: Make this successful in builds
|
||||
@@ -96,10 +101,7 @@ fi
|
||||
|
||||
ac_add_options --enable-unverified-updates
|
||||
|
||||
ac_add_options --enable-raw
|
||||
ac_add_options --enable-webrtc
|
||||
ac_add_options --enable-jxl
|
||||
ac_add_options --enable-av1
|
||||
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
|
||||
|
||||
545
docs/issue-metrics/2025_2025-05-01..2025-05-31.md
Normal file
545
docs/issue-metrics/2025_2025-05-01..2025-05-31.md
Normal file
@@ -0,0 +1,545 @@
|
||||
# Issue Metrics
|
||||
|
||||
| Metric | Average | Median | 90th percentile |
|
||||
| --- | --- | --- | ---: |
|
||||
| Time to first response | 1 day, 12:44:32 | 4:32:48 | 2 days, 6:10:24 |
|
||||
| Time to close | 1 day, 6:45:20 | 4:43:46 | 2 days, 22:21:34 |
|
||||
|
||||
| Metric | Count |
|
||||
| --- | ---: |
|
||||
| Number of items that remain open | 248 |
|
||||
| Number of items closed | 279 |
|
||||
| Total number of items created | 527 |
|
||||
|
||||
| Title | URL | Time to first response | Time to close |
|
||||
| --- | --- | --- | --- |
|
||||
| Engine | https://github.com/zen-browser/desktop/issues/8743 | 0:20:22 | None |
|
||||
| Zen suddenly eats all available memory [Windows 11] | https://github.com/zen-browser/desktop/issues/8742 | None | None |
|
||||
| Some site-specfic buttons on address bar are missing | https://github.com/zen-browser/desktop/issues/8741 | None | 0:12:59 |
|
||||
| Small "currently playing" at the bottom of the tabbar doesn't recognize livestreams. | https://github.com/zen-browser/desktop/issues/8740 | 1:38:39 | None |
|
||||
| URL Bar flickers when toggling compact mode | https://github.com/zen-browser/desktop/issues/8738 | None | None |
|
||||
| Missing bookmarks/pinned tabs icons | https://github.com/zen-browser/desktop/issues/8736 | 0:47:55 | None |
|
||||
| Unable to access iCloud Passwords | https://github.com/zen-browser/desktop/issues/8735 | None | 1:13:00 |
|
||||
| Some Extensions Like Firefox Multi Account Container No Longer Shows Thier Icons In The URL Bar | https://github.com/zen-browser/desktop/issues/8732 | 3:38:32 | 3:38:32 |
|
||||
| Essential Tab Icon Vibrance | https://github.com/zen-browser/desktop/issues/8731 | 0:39:22 | 2:02:27 |
|
||||
| Pinned Extensions not visible after browser restart in Compact Mode | https://github.com/zen-browser/desktop/issues/8730 | 5:05:37 | None |
|
||||
| Essential tabs get out of order when creating a new window | https://github.com/zen-browser/desktop/issues/8729 | None | None |
|
||||
| Zen browser doesn't allow entering TOTP for Proxmox access | https://github.com/zen-browser/desktop/issues/8728 | None | None |
|
||||
| Vertical scrolling in the sidebar slows down when using the trackpad swipe gesture to switch workspaces in 1.12.9b. | https://github.com/zen-browser/desktop/issues/8727 | None | None |
|
||||
| Restoring pinned tabs relegates them to normal tabs area | https://github.com/zen-browser/desktop/issues/8726 | 3:03:01 | None |
|
||||
| Using SHIFT + some key with a modifier doesn't respond as a keyboard shortcut. | https://github.com/zen-browser/desktop/issues/8725 | 5:26:20 | None |
|
||||
| Cant build Zen error 2 | https://github.com/zen-browser/desktop/issues/8723 | 2:31:17 | None |
|
||||
| Pinned extensions sometimes aren't visible in toolbar on startup in single toolbar mode | https://github.com/zen-browser/desktop/issues/8722 | 2:52:31 | None |
|
||||
| Gradient on top of window not displaying correctly | https://github.com/zen-browser/desktop/issues/8721 | 6:16:26 | None |
|
||||
| Missing the Profiles menu item after update to 1.12.9b version | https://github.com/zen-browser/desktop/issues/8720 | None | 0:06:49 |
|
||||
| Search with Google not working inside Glances window. | https://github.com/zen-browser/desktop/issues/8717 | 12:16:58 | None |
|
||||
| Right-Click Menu Icon Not Displaying | https://github.com/zen-browser/desktop/issues/8716 | 0:05:47 | 0:58:20 |
|
||||
| Can't share screen on Google Meet (Mac) | https://github.com/zen-browser/desktop/issues/8715 | None | None |
|
||||
| Profile switcher missing in context menu | https://github.com/zen-browser/desktop/issues/8713 | 0:40:14 | 8:43:33 |
|
||||
| New Tab Hover Menu transparent instead of translucent in maximized window | https://github.com/zen-browser/desktop/issues/8711 | 8:27:38 | 8:27:38 |
|
||||
| Unloaded Tabs dim only the Favicon but not the Text | https://github.com/zen-browser/desktop/issues/8710 | 6:56:56 | None |
|
||||
| Notification push don't work in linux if the page isn't loaded | https://github.com/zen-browser/desktop/issues/8709 | None | None |
|
||||
| Zen Browser's Position Drags Slightly When Clicking its Sidebar on MacOS | https://github.com/zen-browser/desktop/issues/8706 | 13:34:24 | None |
|
||||
| Extensions not opening Before focus to a tab | https://github.com/zen-browser/desktop/issues/8705 | None | None |
|
||||
| Cmd + K (Focus Search) still active after closing it | https://github.com/zen-browser/desktop/issues/8704 | None | None |
|
||||
| 2 video in PIP dont work if you have 2 screen | https://github.com/zen-browser/desktop/issues/8703 | None | None |
|
||||
| SteamVR's Desktop Overlay Cannot Reveal Compact Mode Tabs | https://github.com/zen-browser/desktop/issues/8702 | None | None |
|
||||
| Restore Last Closed Tab(s) right after startup breaks the UI | https://github.com/zen-browser/desktop/issues/8699 | 9:14:56 | None |
|
||||
| Zen Browser doesnt store my tabs and half the features are missing in 1.12.8b | https://github.com/zen-browser/desktop/issues/8697 | 1:41:36 | None |
|
||||
| Restoring Session With Even Number of Windows Results in At Least One Window Not Adhering to Theme Coloring | https://github.com/zen-browser/desktop/issues/8694 | 0:28:05 | 1 day, 3:00:32 |
|
||||
| When in compact mode in Windows and when no tabs are open, the navigation tools of windows to close, minimize and maximize get overlapped and its difficult to use them. | https://github.com/zen-browser/desktop/issues/8692 | None | None |
|
||||
| Pinned tab title not refreshing | https://github.com/zen-browser/desktop/issues/8691 | 6:20:06 | None |
|
||||
| Zen browser doesn't check for duplicate bookmarks when importing them from other accounts | https://github.com/zen-browser/desktop/issues/8690 | 15:49:28 | None |
|
||||
| Cannot add tabs to essentials anymore | https://github.com/zen-browser/desktop/issues/8689 | 2:19:39 | None |
|
||||
| Address/search bar doesn't show search engines, when address is typed, no search is allowed | https://github.com/zen-browser/desktop/issues/8687 | 6:14:49 | None |
|
||||
| Windows Single Sign-On does not seem to work from within Containers | https://github.com/zen-browser/desktop/issues/8686 | 4:55:19 | None |
|
||||
| Spelling selection - added language does'nt show up | https://github.com/zen-browser/desktop/issues/8685 | 10:38:15 | None |
|
||||
| Unable to open Glance windows, shortcut just opens new window regardless of selected activation key. | https://github.com/zen-browser/desktop/issues/8680 | 10:03:54 | 1 day, 16:09:30 |
|
||||
| Pinned tabs don't show an updated version of a website after opening them again | https://github.com/zen-browser/desktop/issues/8679 | None | None |
|
||||
| Dragging a local PDF into Zen Browser fails with “File not found” error | https://github.com/zen-browser/desktop/issues/8670 | 1 day, 3:11:59 | None |
|
||||
| In the compact mode, there are some issues with the automatic hiding of the toolbar. | https://github.com/zen-browser/desktop/issues/8669 | None | None |
|
||||
| Error when opening the app | https://github.com/zen-browser/desktop/issues/8668 | None | None |
|
||||
| Blur not working anymore in maximized windows | https://github.com/zen-browser/desktop/issues/8667 | 0:36:09 | 0:36:09 |
|
||||
| Back and forth arrows confusing | https://github.com/zen-browser/desktop/issues/8666 | 1:03:53 | 1:03:53 |
|
||||
| pop up "Paste" on site | https://github.com/zen-browser/desktop/issues/8664 | 12:27:36 | 12:27:36 |
|
||||
| Zen Browser Forgetting Tab Settings | https://github.com/zen-browser/desktop/issues/8662 | 3:12:47 | None |
|
||||
| Windows taskber preview showing inactive tab | https://github.com/zen-browser/desktop/issues/8657 | None | None |
|
||||
| [BUG] Middle Click not scrolling faster | https://github.com/zen-browser/desktop/issues/8656 | None | 16:39:10 |
|
||||
| Toolbar hides when hovering off a bookmark but still within the toolbar area in Compact Mode | https://github.com/zen-browser/desktop/issues/8655 | 15:06:50 | 15:06:50 |
|
||||
| Different zoom levels, while working with the pdf (drop down) is not visible unless howering over it. | https://github.com/zen-browser/desktop/issues/8653 | 17:36:47 | None |
|
||||
| Sidebar unexpectedly toggles in compact mode when using Raycast focus timer | https://github.com/zen-browser/desktop/issues/8652 | 17:58:22 | 19:09:46 |
|
||||
| Horizontal Scrolling with mouse wheel is not working on Mac | https://github.com/zen-browser/desktop/issues/8649 | 20:58:04 | None |
|
||||
| Zen context menus have inconsistent indentation and toast notification color is too dark in private mode. | https://github.com/zen-browser/desktop/issues/8648 | 21:56:58 | None |
|
||||
| Sidebar stuck open, does not collapse when compact mode turned on. | https://github.com/zen-browser/desktop/issues/8643 | 1 day, 10:21:36 | None |
|
||||
| olk.exe is blocked by MS Defender ASR Security role when opening links from Outlook / MS Teams | https://github.com/zen-browser/desktop/issues/8642 | 3:20:57 | 2 days, 3:44:52 |
|
||||
| Cmd+Shift+C doesn't follow browser.urlbar.decodeURLsOnCopy | https://github.com/zen-browser/desktop/issues/8641 | 5:19:57 | 5:19:57 |
|
||||
| Hi, there is an issue with the sound icon in the shortcuts where it looks like it's beating. | https://github.com/zen-browser/desktop/issues/8640 | 0:31:19 | 6:28:53 |
|
||||
| YouTube locks up during video and does not return and does not refresh | https://github.com/zen-browser/desktop/issues/8638 | None | None |
|
||||
| Google Sheets error report when switching from split screen | https://github.com/zen-browser/desktop/issues/8635 | None | None |
|
||||
| Remove link to Firefox Support | https://github.com/zen-browser/desktop/issues/8634 | 0:25:06 | None |
|
||||
| Can't Open Hisotry Tab In Compact Mode with No Open Tabs | https://github.com/zen-browser/desktop/issues/8632 | 2:46:16 | None |
|
||||
| division by zero, showing incorrectly in the search bar | https://github.com/zen-browser/desktop/issues/8631 | 23:16:38 | 1 day, 0:05:11 |
|
||||
| No option to unpin tab from url bar | https://github.com/zen-browser/desktop/issues/8629 | 1:19:24 | 4:01:02 |
|
||||
| Essential and Pinned Tab Icons Not Displaying Until Clicked | https://github.com/zen-browser/desktop/issues/8628 | 4:06:21 | 4 days, 1:51:29 |
|
||||
| Colors in sidebar seem broken | https://github.com/zen-browser/desktop/issues/8627 | 0:51:23 | 0:51:23 |
|
||||
| [BUG] Compact mode disales also Mini window brokes | https://github.com/zen-browser/desktop/issues/8626 | 0:32:32 | None |
|
||||
| spotify keeps crashing | https://github.com/zen-browser/desktop/issues/8625 | 0:09:38 | 0:09:38 |
|
||||
| [regression] tab bar doesn't follow the currently selected tab. | https://github.com/zen-browser/desktop/issues/8623 | 1:28:05 | None |
|
||||
| can't download on glance page | https://github.com/zen-browser/desktop/issues/8620 | 8:43:05 | None |
|
||||
| Keybinds not working after tab change | https://github.com/zen-browser/desktop/issues/8617 | 13:42:53 | None |
|
||||
| Address bar not visible on 1280x720 screens | https://github.com/zen-browser/desktop/issues/8616 | None | None |
|
||||
| Close button not centered when tabs are on the right | https://github.com/zen-browser/desktop/issues/8615 | None | None |
|
||||
| OpenSearch is not working in Zen Browser | https://github.com/zen-browser/desktop/issues/8614 | None | 0:02:48 |
|
||||
| Switching to an unloaded tab opens a duplicate, instead of actually switching to it. | https://github.com/zen-browser/desktop/issues/8613 | None | 0:51:33 |
|
||||
| Split view tabs' custom red highlight color reset after opening new window | https://github.com/zen-browser/desktop/issues/8610 | 10:05:25 | None |
|
||||
| Audio preview from osu! website not functional | https://github.com/zen-browser/desktop/issues/8608 | 7:14:22 | 7:35:21 |
|
||||
| Zen disables compact mode on startup | https://github.com/zen-browser/desktop/issues/8606 | 8:06:57 | None |
|
||||
| Overflow menu button only appears for automatically added buttons | https://github.com/zen-browser/desktop/issues/8605 | None | None |
|
||||
| Youtube Fullscreen grey rounded shape in each corner | https://github.com/zen-browser/desktop/issues/8604 | None | None |
|
||||
| Cannot higlight a part of URL in adress (or URL) bar | https://github.com/zen-browser/desktop/issues/8603 | 1 day, 15:33:14 | None |
|
||||
| Toggling Sidebar's Width on a Floating Sidebar shows weird 2 frame animation | https://github.com/zen-browser/desktop/issues/8602 | None | None |
|
||||
| Omnibox closes on keyboard layout switch (Wayland / KDE) | https://github.com/zen-browser/desktop/issues/8600 | None | 0:27:49 |
|
||||
| Interaction between Essentials and containers makes tabs disappear | https://github.com/zen-browser/desktop/issues/8599 | 1:14:41 | None |
|
||||
| Unclosable Search Popup in Zen Browser After Update | https://github.com/zen-browser/desktop/issues/8598 | None | 4:16:15 |
|
||||
| MacOS Smooth Scrolling Stutter on HiDPI Resolutions | https://github.com/zen-browser/desktop/issues/8597 | None | 0:01:02 |
|
||||
| When toggling compact mode with tabs on the right side on Windows, the buttons briefly pop up in the wrong place | https://github.com/zen-browser/desktop/issues/8595 | None | None |
|
||||
| Unable to Remove Workspace Container after Update | https://github.com/zen-browser/desktop/issues/8594 | None | 1:32:31 |
|
||||
| Displacement of icons on collapsed bar | https://github.com/zen-browser/desktop/issues/8593 | 1:43:44 | None |
|
||||
| Inconsistent behavior between Windows (x64) and Linux (tar) regarding keyboard shortcuts | https://github.com/zen-browser/desktop/issues/8592 | 6:33:41 | None |
|
||||
| Overflow menu missing in single toolbar mode | https://github.com/zen-browser/desktop/issues/8591 | 4:48:43 | 4:48:43 |
|
||||
| Icons in right click menu out of allignment | https://github.com/zen-browser/desktop/issues/8590 | None | 13:32:10 |
|
||||
| Sites without a background color use the theme gradient as the background | https://github.com/zen-browser/desktop/issues/8589 | 6:05:21 | 6:05:21 |
|
||||
| Multiple home pages do not load on starting the browser with zen.urlbar.replace-newtab set to true | https://github.com/zen-browser/desktop/issues/8588 | None | None |
|
||||
| Switching to WhatsApp Web tab does not focus the message input field | https://github.com/zen-browser/desktop/issues/8587 | 10:55:01 | 2 days, 13:08:21 |
|
||||
| When opening a new window, pinned split screen tabs are split apart / not preserved | https://github.com/zen-browser/desktop/issues/8583 | None | None |
|
||||
| widget.gtk.native-context-menus not being functional (most options) | https://github.com/zen-browser/desktop/issues/8582 | None | None |
|
||||
| Icon Rendering Incorrectly in KDE Plasma 6 Wayland Window Switcher | https://github.com/zen-browser/desktop/issues/8580 | None | None |
|
||||
| spotfy just refuses to work properly | https://github.com/zen-browser/desktop/issues/8577 | 1:39:16 | 1:39:16 |
|
||||
| Compact view not working at all | https://github.com/zen-browser/desktop/issues/8575 | 4:33:12 | 1 day, 0:35:59 |
|
||||
| Gap at the top of every windows | https://github.com/zen-browser/desktop/issues/8574 | 2:50:22 | None |
|
||||
| Private Mode Forced Pinkish-Purple Theme | https://github.com/zen-browser/desktop/issues/8570 | 0:27:34 | 0:27:55 |
|
||||
| Logging into google causing browser to crash | https://github.com/zen-browser/desktop/issues/8569 | None | None |
|
||||
| Streaming websites do not work on Windows beta | https://github.com/zen-browser/desktop/issues/8568 | 0:48:09 | 0:48:09 |
|
||||
| get unchange blue theme after last autoupdate to 1.12.8b | https://github.com/zen-browser/desktop/issues/8567 | 1:26:08 | 1:31:30 |
|
||||
| Customize Toobar: No longer it's possible to drag entries to the url bar. | https://github.com/zen-browser/desktop/issues/8566 | 0:02:19 | 0:02:19 |
|
||||
| Browser window sometimes disappears for less than a second, revealing applications running in the background. | https://github.com/zen-browser/desktop/issues/8565 | None | None |
|
||||
| MMB Paste when setting is OFF | https://github.com/zen-browser/desktop/issues/8564 | None | None |
|
||||
| The sidebar does not change colors in auto-hide mod in compact mode | https://github.com/zen-browser/desktop/issues/8563 | None | None |
|
||||
| Split View: "Save PDF before leaving"-dialogue centered on browser window; covered by other split(s) | https://github.com/zen-browser/desktop/issues/8561 | None | None |
|
||||
| No video with supported format and MIME type found | https://github.com/zen-browser/desktop/issues/8560 | 1:03:42 | 1 day, 0:42:39 |
|
||||
| Floating URL bar appears way off the expected position | https://github.com/zen-browser/desktop/issues/8559 | 11:32:28 | None |
|
||||
| gradient contrast issue when switching theme | https://github.com/zen-browser/desktop/issues/8558 | None | None |
|
||||
| Tab corners aren't rounded on some pages | https://github.com/zen-browser/desktop/issues/8557 | None | None |
|
||||
| Background defaults to Zen theme color, not white | https://github.com/zen-browser/desktop/issues/8554 | 17:48:16 | 1 day, 0:40:19 |
|
||||
| Zen Crashes when handling anything related to audio sharing(discord or call) or video sharing | https://github.com/zen-browser/desktop/issues/8553 | 2 days, 0:42:30 | 4 days, 16:10:53 |
|
||||
| Sidebar titles are not visible | https://github.com/zen-browser/desktop/issues/8552 | 14:31:33 | None |
|
||||
| Gradient persists with zen.theme.gradient=false | https://github.com/zen-browser/desktop/issues/8551 | 8:00:02 | 16:48:52 |
|
||||
| bookmark issue | https://github.com/zen-browser/desktop/issues/8550 | None | None |
|
||||
| Exit button not in corner | https://github.com/zen-browser/desktop/issues/8549 | 0:21:02 | None |
|
||||
| Workspace icons break when resizing window. The icon state persists after the window is maximized | https://github.com/zen-browser/desktop/issues/8548 | None | None |
|
||||
| URL bar flickers when cursor is at specific position | https://github.com/zen-browser/desktop/issues/8547 | None | None |
|
||||
| New tab button disappeared and lost fixed position after reenabling | https://github.com/zen-browser/desktop/issues/8546 | None | None |
|
||||
| Single bar Mode Extension issue | https://github.com/zen-browser/desktop/issues/8545 | 18:47:17 | None |
|
||||
| Deadzone on top right in macOS | https://github.com/zen-browser/desktop/issues/8540 | None | 0:12:33 |
|
||||
| Extensions stopped working | https://github.com/zen-browser/desktop/issues/8538 | None | None |
|
||||
| Add-on Element Overlap | https://github.com/zen-browser/desktop/issues/8537 | None | None |
|
||||
| YouTube UI Rounded corners and theme colour bug | https://github.com/zen-browser/desktop/issues/8536 | 3:15:12 | 3:15:12 |
|
||||
| Loading large JSON files in the built-in viewer, then using the "Save" button results in the downloaded file missing some JSON entries. | https://github.com/zen-browser/desktop/issues/8535 | None | None |
|
||||
| Win10 1809 version:Baidu Apollo Config Center WEB-UI:Text Area Input Mouse focus on position error | https://github.com/zen-browser/desktop/issues/8533 | None | None |
|
||||
| Webpages are flickering/flashing constantly | https://github.com/zen-browser/desktop/issues/8531 | None | None |
|
||||
| Tabs reopen in new windows | https://github.com/zen-browser/desktop/issues/8529 | None | None |
|
||||
| Workspace Default Container Randomised on Update | https://github.com/zen-browser/desktop/issues/8527 | 8:07:54 | None |
|
||||
| Workspace right click not working | https://github.com/zen-browser/desktop/issues/8526 | 8:21:24 | None |
|
||||
| When re-opening a recently closed window, window is opened with and focused on a New Tab page | https://github.com/zen-browser/desktop/issues/8525 | 16:10:13 | None |
|
||||
| Battleye flag | https://github.com/zen-browser/desktop/issues/8524 | 0:30:25 | 0:37:32 |
|
||||
| Close tab action removes Essential | https://github.com/zen-browser/desktop/issues/8523 | 0:48:59 | 1:37:49 |
|
||||
| Update v1.12.7b broke compact tabs | https://github.com/zen-browser/desktop/issues/8522 | 1:17:05 | 1:17:05 |
|
||||
| Patch apply failed for update v1.12.7b | https://github.com/zen-browser/desktop/issues/8521 | None | 1 day, 5:59:24 |
|
||||
| More light middle bar of sidebar for better recognition of icons on tabs | https://github.com/zen-browser/desktop/issues/8520 | 2:58:50 | 2:58:50 |
|
||||
| More pleasant corner in compact mode and collapsed option with hiding of top bar | https://github.com/zen-browser/desktop/issues/8519 | 3:43:41 | 6:46:24 |
|
||||
| sometime alt tab does.t work | https://github.com/zen-browser/desktop/issues/8517 | None | None |
|
||||
| dowload some pdf | https://github.com/zen-browser/desktop/issues/8516 | None | None |
|
||||
| YouTube in full screen mode is laggy/jerky. In Firefox, same video is fine | https://github.com/zen-browser/desktop/issues/8515 | None | None |
|
||||
| iCloud Passwords extension reports "macOS Sonoma or later to be installed" but I am running on Sequoia | https://github.com/zen-browser/desktop/issues/8514 | 0:10:31 | 0:10:31 |
|
||||
| `New background tab opened` notification not issued in some cases | https://github.com/zen-browser/desktop/issues/8511 | None | None |
|
||||
| Unable to see notifications from zen when in single toolbar browser layout, unless hovering over top bar. | https://github.com/zen-browser/desktop/issues/8510 | None | 1:08:12 |
|
||||
| Hiding top bar and tab bar doesnt work in latest version | https://github.com/zen-browser/desktop/issues/8509 | None | 0:14:35 |
|
||||
| Container-specific essentials don't work, even if enable and reboot - Windows ARM - Last update | https://github.com/zen-browser/desktop/issues/8508 | 0:24:00 | None |
|
||||
| Clicking current workspace icon flashes previous workspace's theme colours | https://github.com/zen-browser/desktop/issues/8507 | 2:33:28 | 12:47:45 |
|
||||
| Conflict with Zen Privacy app | https://github.com/zen-browser/desktop/issues/8506 | 2:40:37 | 2:40:37 |
|
||||
| Can not play videos in Udemy and music in Spotify. | https://github.com/zen-browser/desktop/issues/8505 | 1:27:54 | 1:27:54 |
|
||||
| When opening a new window, the order of essential tabs gets out of order (but only in the second window) | https://github.com/zen-browser/desktop/issues/8503 | 5:52:57 | 5:52:57 |
|
||||
| Tab list doesn't retain scroll position after opening the browser | https://github.com/zen-browser/desktop/issues/8502 | 20:46:10 | None |
|
||||
| YouTube player sometimes incorrectly opens in fullscreen mode | https://github.com/zen-browser/desktop/issues/8501 | 11:18:42 | None |
|
||||
| Toolbar items can only be inserted into sidebar as nested in Top Buttons and Bottom Buttons blocks. | https://github.com/zen-browser/desktop/issues/8500 | 8:27:32 | 8:27:32 |
|
||||
| Stupid updates enabled by default and hard to disable | https://github.com/zen-browser/desktop/issues/8499 | 9:19:18 | 9:19:06 |
|
||||
| Gradient in sidebar is broken | https://github.com/zen-browser/desktop/issues/8498 | 9:25:28 | 9:25:28 |
|
||||
| FirebaseError: Messaging: This browser doesn't support the API's required to use the Firebase SDK. | https://github.com/zen-browser/desktop/issues/8497 | None | None |
|
||||
| Weird bar on top of desktop window on macos after 1.12.7b | https://github.com/zen-browser/desktop/issues/8496 | 0:22:14 | 1:19:03 |
|
||||
| Mod Refuses to Uninstall | https://github.com/zen-browser/desktop/issues/8495 | 0:20:53 | 0:20:52 |
|
||||
| Livestream video freezes when focusing other fullscreen window, but audio still works | https://github.com/zen-browser/desktop/issues/8491 | 16:45:00 | None |
|
||||
| Toggle Sidebar button not visible/working | https://github.com/zen-browser/desktop/issues/8489 | 6:25:39 | None |
|
||||
| all Zen UI elements outside the viewport are partially transparent (not blurred) | https://github.com/zen-browser/desktop/issues/8488 | None | 1 day, 8:57:38 |
|
||||
| Top Bar Delay and Partial Display on Hover After Recent Update | https://github.com/zen-browser/desktop/issues/8487 | 1:35:56 | 13:37:40 |
|
||||
| Firefox View icon disapears after restart | https://github.com/zen-browser/desktop/issues/8486 | 1 day, 17:22:21 | None |
|
||||
| Sidebar double click not opens new tab anymore | https://github.com/zen-browser/desktop/issues/8485 | 0:09:42 | 10:01:18 |
|
||||
| When Windows wakes my display from being powered off by the OS, Zen toolbar and sidebar become unresponsive and do not show in compact mode | https://github.com/zen-browser/desktop/issues/8484 | None | None |
|
||||
| Compact mode toolbar dragging issue | https://github.com/zen-browser/desktop/issues/8483 | None | 0:03:29 |
|
||||
| Shift + Alt - unexpectedly closing opened new tab spotlight input | https://github.com/zen-browser/desktop/issues/8481 | 1 day, 12:59:02 | None |
|
||||
| Unable to hide Workspace Indicator | https://github.com/zen-browser/desktop/issues/8480 | 1 day, 10:43:05 | 0:05:56 |
|
||||
| Url bar doesn't popup correctly on compact mode | https://github.com/zen-browser/desktop/issues/8478 | None | 0:06:58 |
|
||||
| [1.12.6b] Initializing a workspace causes a empty workspace until you close out of the browser and reopen it. | https://github.com/zen-browser/desktop/issues/8476 | None | 1:04:58 |
|
||||
| Renaming pinned tab input focus issue (when using Left/Right buttons) | https://github.com/zen-browser/desktop/issues/8475 | None | 2:46:26 |
|
||||
| URL BAR APPEARS WHEN EXITING FULLSCREEN | https://github.com/zen-browser/desktop/issues/8474 | None | 0:29:12 |
|
||||
| Mouse loses functionality in the sidebar and sidebar gets stuck on open im compact mode | https://github.com/zen-browser/desktop/issues/8471 | 11:10:16 | None |
|
||||
| Tabs created by text being dragged into sidebar show container indicator when a workspace is assigned to a container. | https://github.com/zen-browser/desktop/issues/8470 | None | None |
|
||||
| 1Password Extension - Desktop App Integration Setting - Connection Problem Error | https://github.com/zen-browser/desktop/issues/8469 | 2:41:44 | None |
|
||||
| Dragging a tab onto a Glance tab appends its favicon and renders the tab inaccessible | https://github.com/zen-browser/desktop/issues/8465 | 0:31:46 | 22:19:59 |
|
||||
| Screen Sharing Malfunction in Google Meet (Windows) | https://github.com/zen-browser/desktop/issues/8464 | 0:58:42 | None |
|
||||
| Glance causes stutter | https://github.com/zen-browser/desktop/issues/8463 | None | None |
|
||||
| visibility of the search bar with a dark background | https://github.com/zen-browser/desktop/issues/8462 | 2:40:56 | 2:40:56 |
|
||||
| container, workspace and tab synchronization | https://github.com/zen-browser/desktop/issues/8460 | None | None |
|
||||
| It's Dark mode when the Tips Box comes up | https://github.com/zen-browser/desktop/issues/8459 | 1:54:22 | 16:10:29 |
|
||||
| Toolbar doesn't appear on hover after update when using compact mode with hidden bars | https://github.com/zen-browser/desktop/issues/8458 | 0:24:26 | 14:16:08 |
|
||||
| Gradient sometimes lost on startup | https://github.com/zen-browser/desktop/issues/8457 | None | None |
|
||||
| Workspace name visible again after udpate | https://github.com/zen-browser/desktop/issues/8455 | 0:45:18 | 2:35:37 |
|
||||
| Workspaces not visible when compact mode | https://github.com/zen-browser/desktop/issues/8454 | 3:14:43 | None |
|
||||
| Favicon Issue on grok.com Bookmarks | https://github.com/zen-browser/desktop/issues/8453 | None | None |
|
||||
| Ctrl + Shift + C (pick an element from the page) not working in page devtools | https://github.com/zen-browser/desktop/issues/8452 | 3:38:50 | 1 day, 0:04:18 |
|
||||
| Signing in with Google is Not working. | https://github.com/zen-browser/desktop/issues/8451 | 3 days, 18:52:30 | None |
|
||||
| Browser tab switcher only displays 7 tabs even when more are open | https://github.com/zen-browser/desktop/issues/8450 | None | None |
|
||||
| Compact Sidebar is not aligned properly | https://github.com/zen-browser/desktop/issues/8449 | None | 7:19:21 |
|
||||
| TLS error connecting to accounts.microsoft.com | https://github.com/zen-browser/desktop/issues/8448 | None | None |
|
||||
| Weird colored text highlighting in google search titles | https://github.com/zen-browser/desktop/issues/8447 | None | 5:45:04 |
|
||||
| White block at the bottom of every page | https://github.com/zen-browser/desktop/issues/8446 | None | None |
|
||||
| External links launch process hangs for 2 minutes | https://github.com/zen-browser/desktop/issues/8445 | 8:39:25 | None |
|
||||
| Collapse and multi toolbar layouts are shortened vertically | https://github.com/zen-browser/desktop/issues/8444 | None | 4:29:53 |
|
||||
| Audible online player not working | https://github.com/zen-browser/desktop/issues/8443 | 2:35:00 | 2:35:00 |
|
||||
| YouTube views counter display issue. | https://github.com/zen-browser/desktop/issues/8439 | None | None |
|
||||
| The workspaces icons at the bottom twinkle when i resize | https://github.com/zen-browser/desktop/issues/8437 | None | None |
|
||||
| bug extension name/size icon when switch between single toolbar and multiple toolbar | https://github.com/zen-browser/desktop/issues/8436 | None | None |
|
||||
| 1.12.5b can't auto-update on macOS, manual upgrage results in new profile | https://github.com/zen-browser/desktop/issues/8433 | 4:31:18 | 1 day, 20:07:07 |
|
||||
| Gamepad breaks the browser on mac | https://github.com/zen-browser/desktop/issues/8432 | None | 4 days, 20:24:24 |
|
||||
| Suerpins - Broke "Makes pinned tabs look similar to Essentials (icon only in a grid)" | https://github.com/zen-browser/desktop/issues/8431 | 0:56:23 | 4:32:12 |
|
||||
| Browser hangs after closing a tab that was using picture-in-picture. | https://github.com/zen-browser/desktop/issues/8430 | None | None |
|
||||
| Zen Browser is laggy and consumes excessive energy | https://github.com/zen-browser/desktop/issues/8428 | 1 day, 13:37:20 | None |
|
||||
| Pinned tabs appear in incorrect workspace/container after using Ctrl + N or open new window in taskbar | https://github.com/zen-browser/desktop/issues/8427 | None | None |
|
||||
| Glance and Tab Switching not working properly | https://github.com/zen-browser/desktop/issues/8426 | 0:08:15 | None |
|
||||
| Copying Profile from Flatpak to AppImage gives "Older Version" error, even though AppImage is newer. | https://github.com/zen-browser/desktop/issues/8424 | None | None |
|
||||
| Sidebar custom configuration resets between sessions in the app, and instead should persist. | https://github.com/zen-browser/desktop/issues/8422 | None | None |
|
||||
| Blurred fonts on ultrawide monitor full screen | https://github.com/zen-browser/desktop/issues/8421 | 3:59:32 | None |
|
||||
| Allow Drag-and-Drop to Open Tabs in a New Window | https://github.com/zen-browser/desktop/issues/8418 | 0:42:07 | None |
|
||||
| Floating url bar unexpected behaviour (loosing focus and not showing instantly with ctrl+T) | https://github.com/zen-browser/desktop/issues/8417 | None | None |
|
||||
| Reset URL and switch to next tab undesired behaviour | https://github.com/zen-browser/desktop/issues/8416 | 5:53:34 | 1 day, 12:25:32 |
|
||||
| One tab required to remain loaded in every workspace when trying to unload all tabs | https://github.com/zen-browser/desktop/issues/8414 | None | None |
|
||||
| edit : sorry for cloning the issue, the same issue was posted right below this issue by gordonn. | https://github.com/zen-browser/desktop/issues/8413 | None | 0:06:07 |
|
||||
| [Twilight 1.13] Multi toolbar and collapse toolbar modes are misalligned | https://github.com/zen-browser/desktop/issues/8412 | 0:37:08 | 4:32:12 |
|
||||
| Clicking already selected workspace causes incorrect scrollbar size | https://github.com/zen-browser/desktop/issues/8411 | None | None |
|
||||
| Switch to tab indicator thinner in new twilight (not sure if its intentional or not) | https://github.com/zen-browser/desktop/issues/8410 | 0:53:15 | 0:53:15 |
|
||||
| Side Toolbox Flash | https://github.com/zen-browser/desktop/issues/8409 | 3:16:36 | 10 days, 4:38:53 |
|
||||
| Compact-mode toolbox background visibly cuts off on wide/hires screens | https://github.com/zen-browser/desktop/issues/8408 | None | None |
|
||||
| ZenBrowser cannot disable the Save Page shortcut key. | https://github.com/zen-browser/desktop/issues/8406 | None | None |
|
||||
| Bookmark management does not display which workspace it belongs to. | https://github.com/zen-browser/desktop/issues/8405 | None | None |
|
||||
| Zen URL bar insists on showing history even when the option to do so is disabled. | https://github.com/zen-browser/desktop/issues/8404 | 9:21:34 | None |
|
||||
| Ctrl-tab should not cycle through essential tabs | https://github.com/zen-browser/desktop/issues/8403 | 0:39:33 | None |
|
||||
| Extensions being removed? | https://github.com/zen-browser/desktop/issues/8402 | None | None |
|
||||
| Weird bookmark bar showing up | https://github.com/zen-browser/desktop/issues/8401 | None | None |
|
||||
| HDR on Linux doesn't work when zen is windowed | https://github.com/zen-browser/desktop/issues/8400 | 22:32:03 | None |
|
||||
| Compact mode doesnt work | https://github.com/zen-browser/desktop/issues/8397 | 9 days, 16:40:40 | None |
|
||||
| Most of rendering is blurry if window exceeds 4k resolution | https://github.com/zen-browser/desktop/issues/8396 | 8 days, 15:12:32 | None |
|
||||
| Changing keyboard shortcuts, "Conflict with another shortcut" | https://github.com/zen-browser/desktop/issues/8395 | 1:12:32 | None |
|
||||
| Installed mods not showing up in list | https://github.com/zen-browser/desktop/issues/8394 | 6:03:57 | None |
|
||||
| Inconsistent behaviour of expanding sidebar between different OS's and mouse movements | https://github.com/zen-browser/desktop/issues/8393 | None | None |
|
||||
| Holding ⌥ on Mac to select the text inside a link is broken | https://github.com/zen-browser/desktop/issues/8391 | None | None |
|
||||
| Workspace indicator unhideable on Linux | https://github.com/zen-browser/desktop/issues/8390 | 2:00:45 | 2:27:20 |
|
||||
| Tabliss does not load in new window or tab. | https://github.com/zen-browser/desktop/issues/8387 | 9:41:37 | None |
|
||||
| I could'nt use "Better ctrl+Tab panel" mod in desktop. | https://github.com/zen-browser/desktop/issues/8386 | 5:23:01 | None |
|
||||
| Customizing toolbar freeze | https://github.com/zen-browser/desktop/issues/8383 | None | None |
|
||||
| error code SHAK-6007 Crunchyroll playback error | https://github.com/zen-browser/desktop/issues/8382 | 6:10:43 | 6:10:43 |
|
||||
| URL character get double | https://github.com/zen-browser/desktop/issues/8379 | None | None |
|
||||
| Zen browser multiple windows in taskbar | https://github.com/zen-browser/desktop/issues/8376 | 0:03:50 | 0:09:58 |
|
||||
| Essentials are unloaded if Clear search, site and downloaded history at zen close is checked | https://github.com/zen-browser/desktop/issues/8374 | 0:44:41 | 0:44:41 |
|
||||
| Tuxedo OS (Ubuntu 24.04.1) - several errors that might lead into a "Crash Annotation GraphicsCriticalError" after starting Zen | https://github.com/zen-browser/desktop/issues/8373 | 2:10:11 | 2:10:11 |
|
||||
| Selecting all tabs and closing them also removes the pinned tabs | https://github.com/zen-browser/desktop/issues/8371 | None | 5:03:07 |
|
||||
| Invisible text in right click menu | https://github.com/zen-browser/desktop/issues/8369 | None | 5 days, 14:21:42 |
|
||||
| [bug] i18n error, zen-background-tab-opened-toast has not been localized | https://github.com/zen-browser/desktop/issues/8368 | 9:27:59 | 9:27:59 |
|
||||
| Split View flickers when moving split to the right | https://github.com/zen-browser/desktop/issues/8363 | None | 6:33:55 |
|
||||
| Container Specific essentials not working | https://github.com/zen-browser/desktop/issues/8361 | None | 0:05:44 |
|
||||
| Redundunt windows are opening up after launching zen browser | https://github.com/zen-browser/desktop/issues/8360 | 8:38:50 | None |
|
||||
| zen.workspaces.show-workspace-indicator setting ignored | https://github.com/zen-browser/desktop/issues/8356 | 0:05:01 | 0:05:01 |
|
||||
| Seemingly after each update, new icon shows in Dock | https://github.com/zen-browser/desktop/issues/8355 | 12:16:44 | None |
|
||||
| Downloaded language pack not being respected (English GB) | https://github.com/zen-browser/desktop/issues/8354 | 0:35:35 | 1:02:34 |
|
||||
| Can't disable Shortcut suggestions and it won't work if I disable the history | https://github.com/zen-browser/desktop/issues/8352 | 6:39:16 | 6:39:16 |
|
||||
| Arabic language Custom font bug on arch linux | https://github.com/zen-browser/desktop/issues/8350 | None | None |
|
||||
| Incorrect text on report option after deleting extension | https://github.com/zen-browser/desktop/issues/8349 | 15:25:03 | None |
|
||||
| UI padding is not accurate in split tabs | https://github.com/zen-browser/desktop/issues/8347 | None | None |
|
||||
| Cannot add tabs to Essentials panel – nothing happens on click | https://github.com/zen-browser/desktop/issues/8345 | 16:45:06 | 16:59:08 |
|
||||
| New tab doesn't open automatically if essential tabs are closed before regular tabs | https://github.com/zen-browser/desktop/issues/8344 | None | None |
|
||||
| Pressing CTRL key unfocuses URL bar | https://github.com/zen-browser/desktop/issues/8343 | 2:09:34 | None |
|
||||
| URL opacity blinks when leaving compact mode | https://github.com/zen-browser/desktop/issues/8342 | None | None |
|
||||
| Cant Add more Essential tabs | https://github.com/zen-browser/desktop/issues/8341 | None | 2:59:08 |
|
||||
| Sidebar not hidden in all windows on startup when using "Hide Both" in compact view | https://github.com/zen-browser/desktop/issues/8339 | 5:37:43 | 5:37:43 |
|
||||
| No green dot on proton mail | https://github.com/zen-browser/desktop/issues/8337 | 4:15:47 | 4:15:47 |
|
||||
| Mouse Cursor not disapearing while watching YouTube | https://github.com/zen-browser/desktop/issues/8336 | None | 3:07:20 |
|
||||
| Very slow connecting on localhost website | https://github.com/zen-browser/desktop/issues/8334 | None | None |
|
||||
| URL Bar: Can't disable Shortcut suggestions | https://github.com/zen-browser/desktop/issues/8333 | 2:02:02 | 4:12:37 |
|
||||
| New tab does not open in same container as current tab | https://github.com/zen-browser/desktop/issues/8332 | None | 4:02:56 |
|
||||
| Swipe on touchscreen does not scroll, it selects | https://github.com/zen-browser/desktop/issues/8331 | None | None |
|
||||
| The floating bar is no longer displayed... | https://github.com/zen-browser/desktop/issues/8330 | 5:13:17 | 6:33:30 |
|
||||
| Can't change the theme to a dark color, like black | https://github.com/zen-browser/desktop/issues/8329 | 5:15:54 | 6:24:16 |
|
||||
| Secure connection failed | https://github.com/zen-browser/desktop/issues/8328 | None | 1 day, 5:03:14 |
|
||||
| Essentials unload issue | https://github.com/zen-browser/desktop/issues/8326 | 9:04:50 | None |
|
||||
| weird shadow when hightlighting text | https://github.com/zen-browser/desktop/issues/8325 | 10:20:39 | 10:20:39 |
|
||||
| Mouse flickering on Browser MacOS | https://github.com/zen-browser/desktop/issues/8323 | 7 days, 7:55:25 | 7 days, 8:56:46 |
|
||||
| DRM content checked yet can't play embedded videos. | https://github.com/zen-browser/desktop/issues/8320 | 6:30:09 | 6:30:09 |
|
||||
| Issue when opening the New Tab url bar, and selecting a shortcut tab that's already an essential | https://github.com/zen-browser/desktop/issues/8319 | None | None |
|
||||
| "Screenshot Copied" Toast Notification Unreadable | https://github.com/zen-browser/desktop/issues/8317 | 15:44:46 | None |
|
||||
| Can't update to 1.12.4 | https://github.com/zen-browser/desktop/issues/8316 | None | 6:39:21 |
|
||||
| Unable to add tabs to essentials after most recent update | https://github.com/zen-browser/desktop/issues/8315 | None | 2:14:49 |
|
||||
| Transparent dialogs | https://github.com/zen-browser/desktop/issues/8314 | 1:11:28 | 2:29:34 |
|
||||
| Unable to find a supported language | https://github.com/zen-browser/desktop/issues/8313 | 12:40:47 | 19:19:31 |
|
||||
| Rearrange Split View keyboard shortcuts don't work on existing split views | https://github.com/zen-browser/desktop/issues/8310 | 9 days, 1:16:48 | None |
|
||||
| Moving Essential Tab to New Window removes it from Essentials | https://github.com/zen-browser/desktop/issues/8309 | None | None |
|
||||
| Adding new essentials is not working | https://github.com/zen-browser/desktop/issues/8308 | 5:24:00 | 23:11:34 |
|
||||
| Mods get Reset/Removed when Updated | https://github.com/zen-browser/desktop/issues/8306 | 1 day, 1:03:16 | 1 day, 1:03:16 |
|
||||
| Playing songs | https://github.com/zen-browser/desktop/issues/8305 | 2:53:37 | 2:53:37 |
|
||||
| agency | https://github.com/zen-browser/desktop/issues/8304 | 3:31:16 | 1 day, 1:31:52 |
|
||||
| crash | https://github.com/zen-browser/desktop/issues/8303 | 3:41:45 | None |
|
||||
| collapse | https://github.com/zen-browser/desktop/issues/8302 | None | 0:01:39 |
|
||||
| Glitch/flickering sidebar when switching spaces in compact mode. | https://github.com/zen-browser/desktop/issues/8301 | 14 days, 22:19:20 | None |
|
||||
| workspace icons are missing | https://github.com/zen-browser/desktop/issues/8278 | 1:45:25 | None |
|
||||
| URL bar and minize/maximize buttons overlap when the window is horziontally shrinked | https://github.com/zen-browser/desktop/issues/8277 | None | None |
|
||||
| <option> dropdown background same color as text | https://github.com/zen-browser/desktop/issues/8276 | None | 0:02:32 |
|
||||
| Full screen problem on macOS | https://github.com/zen-browser/desktop/issues/8275 | 11 days, 15:53:45 | None |
|
||||
| When opening a Youtube video, cannot interact with certain elements like text, like/dislike, opening desc. and replies | https://github.com/zen-browser/desktop/issues/8273 | 21:55:54 | None |
|
||||
| Media Playback Continues After Unloading a Pinned Tab | https://github.com/zen-browser/desktop/issues/8267 | 13:43:59 | None |
|
||||
| Dark theme weird rendering | https://github.com/zen-browser/desktop/issues/8263 | 1:20:19 | 1:29:02 |
|
||||
| Youtube picture in picture stops working randomly and restarting or opening a new window fixes it. | https://github.com/zen-browser/desktop/issues/8260 | None | None |
|
||||
| Locked urlbar.suggest preferences in about:config | https://github.com/zen-browser/desktop/issues/8259 | 0:41:23 | 6:25:51 |
|
||||
| The search engine selection window is truncated during initial configuration. | https://github.com/zen-browser/desktop/issues/8258 | None | 4:29:43 |
|
||||
| Takes ~3 mins to open a link from vscode | https://github.com/zen-browser/desktop/issues/8257 | 6:14:20 | None |
|
||||
| Mods cannot save settings on install | https://github.com/zen-browser/desktop/issues/8255 | None | 2:21:43 |
|
||||
| Can't smoosh zen windows as small as we used to. | https://github.com/zen-browser/desktop/issues/8254 | 2:38:48 | 2:38:48 |
|
||||
| Normal windows always open in previously used Windows virtual desktop instead of current one | https://github.com/zen-browser/desktop/issues/8252 | 1 day, 10:37:31 | None |
|
||||
| Black Mark and Render Issue | https://github.com/zen-browser/desktop/issues/8251 | None | None |
|
||||
| Fetch requests with `keepalive: true` not showing in the Network panel | https://github.com/zen-browser/desktop/issues/8249 | 0:21:23 | 0:21:23 |
|
||||
| Unable to apply Theme Colors for Incognito mode | https://github.com/zen-browser/desktop/issues/8248 | None | None |
|
||||
| Download animation is shown in multiple windows | https://github.com/zen-browser/desktop/issues/8247 | 0:35:42 | 1 day, 7:54:40 |
|
||||
| Toast Notification is stuck on after opening a folder of bookmarks with middle mouse button when in compact mode | https://github.com/zen-browser/desktop/issues/8246 | 2:29:31 | 19:01:57 |
|
||||
| Restoring session with multiple windows starts every window in a new tab | https://github.com/zen-browser/desktop/issues/8245 | 3:28:19 | 13:58:26 |
|
||||
| I can't choose to never translate from Arabic. | https://github.com/zen-browser/desktop/issues/8244 | None | None |
|
||||
| cannot uncheck shortcuts in adress bar | https://github.com/zen-browser/desktop/issues/8242 | 10:04:15 | 10:04:15 |
|
||||
| Arabic font is not the same as latest default firefox font in the Linux build | https://github.com/zen-browser/desktop/issues/8241 | None | None |
|
||||
| UI scaling issue on linux desktop | https://github.com/zen-browser/desktop/issues/8240 | None | 8 days, 0:09:35 |
|
||||
| Can't close Tab via X on Tab. Only via Hotkey | https://github.com/zen-browser/desktop/issues/8239 | None | 0:01:41 |
|
||||
| Top bar does not hide when activating compact mode | https://github.com/zen-browser/desktop/issues/8237 | 1:13:23 | 1:54:27 |
|
||||
| Top bar auto-hide glitch when interacting with sidebar & bookmarks | https://github.com/zen-browser/desktop/issues/8234 | 22:44:31 | 1 day, 9:51:23 |
|
||||
| Cloudflare captcha not working | https://github.com/zen-browser/desktop/issues/8230 | 2:31:04 | 2:31:04 |
|
||||
| Moving tabs inside tab bar is buggy | https://github.com/zen-browser/desktop/issues/8229 | 2:53:47 | 3:29:02 |
|
||||
| Media Controls are not visible when switched to full screen | https://github.com/zen-browser/desktop/issues/8228 | None | 0:21:20 |
|
||||
| Cant Remove Predefined Site Suggestion from my Search Bar (CTRL+T) | https://github.com/zen-browser/desktop/issues/8227 | 2:31:43 | 4:57:01 |
|
||||
| URL bar loses focus instead of resetting URL | https://github.com/zen-browser/desktop/issues/8226 | 0:41:33 | 0:41:33 |
|
||||
| URL Bar loses focus when deleting last character | https://github.com/zen-browser/desktop/issues/8225 | 0:44:53 | 5 days, 6:37:15 |
|
||||
| Hovering on a compact window to move a tab causes the sidebar to pop in and out | https://github.com/zen-browser/desktop/issues/8224 | None | None |
|
||||
| Zen creates a .mozilla folder in $HOME directory on Linux | https://github.com/zen-browser/desktop/issues/8223 | None | None |
|
||||
| Browser buttons and close window button unresponsive after closing the Zen application | https://github.com/zen-browser/desktop/issues/8219 | 0:48:05 | None |
|
||||
| Cannot drag tabs from top to bottom to reorder a few positions when tabs are on the right | https://github.com/zen-browser/desktop/issues/8218 | None | None |
|
||||
| Downloads Browser Crash | https://github.com/zen-browser/desktop/issues/8217 | None | None |
|
||||
| Google Meet buttons don't working on sidebar | https://github.com/zen-browser/desktop/issues/8215 | 2:40:14 | 2:40:14 |
|
||||
| không thể thêm thẻ thường trú(E) | https://github.com/zen-browser/desktop/issues/8214 | 0:01:54 | 0:01:54 |
|
||||
| Blank screen when first launching Zen | https://github.com/zen-browser/desktop/issues/8213 | None | None |
|
||||
| Cannot access certificate view from URL bar (padlock icon) | https://github.com/zen-browser/desktop/issues/8212 | 12 days, 6:42:18 | 12 days, 7:11:25 |
|
||||
| Syncing workspace tabs not works | https://github.com/zen-browser/desktop/issues/8211 | 15 days, 5:13:05 | None |
|
||||
| zen mods not working | https://github.com/zen-browser/desktop/issues/8208 | None | 0:08:14 |
|
||||
| Workspace switch animation is blocking | https://github.com/zen-browser/desktop/issues/8206 | 9:29:26 | None |
|
||||
| ZEN Mouse Dragging & Resizing (maximize) does not work sometimes | https://github.com/zen-browser/desktop/issues/8205 | 6:20:09 | None |
|
||||
| (Hyprland)Topbar doesn't disappear in compact sidebar | https://github.com/zen-browser/desktop/issues/8204 | None | 2:16:10 |
|
||||
| windows 10 transparency not working. | https://github.com/zen-browser/desktop/issues/8202 | 3:06:24 | 3:06:24 |
|
||||
| Zen not restoring any tab from the already opened tabs from previous session | https://github.com/zen-browser/desktop/issues/8201 | 3:17:29 | 4:43:32 |
|
||||
| website background colour chaning along with the theme colour of side bar | https://github.com/zen-browser/desktop/issues/8200 | 4:58:08 | 4:58:07 |
|
||||
| Containerized Essential dissapear when 'Enable container-specific essentials' feature is switched on | https://github.com/zen-browser/desktop/issues/8199 | 4:32:24 | 4:43:46 |
|
||||
| "New Window" windows don't have the 'Essential' tabs on them anymore | https://github.com/zen-browser/desktop/issues/8197 | 7:03:16 | 1 day, 7:55:21 |
|
||||
| Compact Mode sidebar not showing/opening | https://github.com/zen-browser/desktop/issues/8196 | 7:07:23 | None |
|
||||
| HTML <select> elements blank drop-down | https://github.com/zen-browser/desktop/issues/8195 | 4 days, 4:54:42 | None |
|
||||
| Everything is bright white | https://github.com/zen-browser/desktop/issues/8194 | 1:23:35 | 1:23:35 |
|
||||
| Search with google is pinned for no clear reason | https://github.com/zen-browser/desktop/issues/8193 | 1:10:15 | 1:11:58 |
|
||||
| Popup Window shows side bar with no function in compact mode | https://github.com/zen-browser/desktop/issues/8191 | None | None |
|
||||
| Button to list all tabs is transparent / disappears | https://github.com/zen-browser/desktop/issues/8188 | None | 6:09:10 |
|
||||
| Color contrast on tab bar | https://github.com/zen-browser/desktop/issues/8187 | 5:36:28 | None |
|
||||
| XDG Desktop Portal Termfilechooser doesn't work?! | https://github.com/zen-browser/desktop/issues/8186 | 16:11:53 | 22:30:50 |
|
||||
| Address bar no longer shows 'Search with [engine]' option | https://github.com/zen-browser/desktop/issues/8185 | 0:17:41 | 0:55:52 |
|
||||
| Checkboxes get activated on the Settings page when clicking on empty space along their width. | https://github.com/zen-browser/desktop/issues/8184 | 17:34:27 | 17:34:27 |
|
||||
| Zen blocking keyboard in Deskflow | https://github.com/zen-browser/desktop/issues/8183 | None | None |
|
||||
| Issue with the "Bottom Essentials" Zen Theme | https://github.com/zen-browser/desktop/issues/8177 | 4:02:27 | 4:07:49 |
|
||||
| Dashlane failed connexion | https://github.com/zen-browser/desktop/issues/8176 | None | 5:19:09 |
|
||||
| icons in split tabs shift to the right | https://github.com/zen-browser/desktop/issues/8175 | 0:20:13 | 1 day, 8:21:19 |
|
||||
| Unable to open extensions when there is no tab | https://github.com/zen-browser/desktop/issues/8174 | 6:44:29 | None |
|
||||
| Disable background tab notification by default | https://github.com/zen-browser/desktop/issues/8173 | 2:09:55 | 2:09:55 |
|
||||
| [1.12.3] Mute/unmute icon slightly offset vertically on linux via AUR. | https://github.com/zen-browser/desktop/issues/8172 | None | 6 days, 1:08:02 |
|
||||
| Workspace navigation shortcut not working on pages with conflicting shortcuts | https://github.com/zen-browser/desktop/issues/8171 | None | None |
|
||||
| The popup for the shortcut copy URL looks broken. | https://github.com/zen-browser/desktop/issues/8169 | 3 days, 22:47:53 | 4 days, 23:49:18 |
|
||||
| zen-empty-tab looses the selected="true" value sometimes when switching workspaces. | https://github.com/zen-browser/desktop/issues/8166 | 3:34:23 | None |
|
||||
| In Compact Mode with 'Hide Toolbar' enabled, toolbar does not auto-hide after using the URL bar to open a link | https://github.com/zen-browser/desktop/issues/8164 | 0:35:09 | 5 days, 18:21:46 |
|
||||
| When in fullscreen(F11) bookmarks bar disappear | https://github.com/zen-browser/desktop/issues/8163 | 13 days, 2:22:49 | None |
|
||||
| Lost all tabs after a restart | https://github.com/zen-browser/desktop/issues/8162 | 0:07:51 | None |
|
||||
| Login fails on specific sites (e.g. Keeper, school network) in normal mode on Windows, but works in Incognito | https://github.com/zen-browser/desktop/issues/8161 | None | None |
|
||||
| When too many tabs are open in a private window to fit the tab bar, no scrollbar appears | https://github.com/zen-browser/desktop/issues/8160 | 7:48:44 | 7:48:44 |
|
||||
| Print to PDF not working | https://github.com/zen-browser/desktop/issues/8159 | None | None |
|
||||
| MacOS Text Replacements doesn't work | https://github.com/zen-browser/desktop/issues/8158 | 13 days, 23:41:07 | None |
|
||||
| Zen RAM Consumption is too much (Possible Memory Leak??) | https://github.com/zen-browser/desktop/issues/8157 | None | None |
|
||||
| Can't click on bookmark icons when in compact mode | https://github.com/zen-browser/desktop/issues/8155 | None | 0:04:33 |
|
||||
| Sidebery extension: tabs from other workspaces become inaccessible (since 1.8b+) | https://github.com/zen-browser/desktop/issues/8154 | 1:57:05 | 1:57:05 |
|
||||
| With dual monitor, when dual zen brower windows opened, Essentials' number will reduce to 1 | https://github.com/zen-browser/desktop/issues/8153 | None | None |
|
||||
| Zen switches to irrelevant workspace on startup | https://github.com/zen-browser/desktop/issues/8151 | 0:17:36 | 0:17:36 |
|
||||
| Youtube playback crashes after some time | https://github.com/zen-browser/desktop/issues/8150 | None | None |
|
||||
| Cannot open live editing zen theme | https://github.com/zen-browser/desktop/issues/8148 | None | 0:08:04 |
|
||||
| load in startup not working for the first essenntial tab only | https://github.com/zen-browser/desktop/issues/8147 | 0:14:09 | 3:11:28 |
|
||||
| "New background tab" toast even for foreground tabs | https://github.com/zen-browser/desktop/issues/8146 | 0:35:34 | 3:51:23 |
|
||||
| Compact sidebar keeps popping up flickering when switching to a zen window with focus in macOS | https://github.com/zen-browser/desktop/issues/8145 | None | None |
|
||||
| When tabs on the right enabled, toast notifications appear off the screen | https://github.com/zen-browser/desktop/issues/8143 | None | 5:07:33 |
|
||||
| GPU rendering does not work after crash | https://github.com/zen-browser/desktop/issues/8141 | 8:32:12 | None |
|
||||
| Letterboxing bricks and violates the boundary between the tab bar and the rendering space of website when a website enters full screen mode | https://github.com/zen-browser/desktop/issues/8140 | 0:10:28 | None |
|
||||
| picture in picture disappears when trying to navigate to split tab | https://github.com/zen-browser/desktop/issues/8139 | None | None |
|
||||
| Clicking non-floating urlbar always selects all on mouse up | https://github.com/zen-browser/desktop/issues/8138 | None | 0:18:23 |
|
||||
| Audible media playback doesn't work | https://github.com/zen-browser/desktop/issues/8137 | 1:22:13 | 2:25:29 |
|
||||
| compact mode is not working and cant close the tabs some times in fedora | https://github.com/zen-browser/desktop/issues/8136 | 3:11:39 | 2 days, 0:05:39 |
|
||||
| Cannot freely edit the url in the address bar | https://github.com/zen-browser/desktop/issues/8134 | 0:01:56 | 0:01:56 |
|
||||
| New Tabs open in Essentials | https://github.com/zen-browser/desktop/issues/8133 | 0:35:39 | 5:02:21 |
|
||||
| Developer tools not longer working? | https://github.com/zen-browser/desktop/issues/8132 | 0:37:16 | 1:48:35 |
|
||||
| Black text on dark theme | https://github.com/zen-browser/desktop/issues/8131 | 0:21:09 | 8:18:43 |
|
||||
| Option + Letter Shows Special Characters in Keyboard Shortcuts | https://github.com/zen-browser/desktop/issues/8130 | 8 days, 4:21:07 | None |
|
||||
| Video Call (huddle) in Slack does not work | https://github.com/zen-browser/desktop/issues/8129 | None | None |
|
||||
| Essential and Pinned tabs do not appear or get removed from existing windows | https://github.com/zen-browser/desktop/issues/8127 | 0:37:58 | 0:37:58 |
|
||||
| Sidebar glitch | https://github.com/zen-browser/desktop/issues/8126 | None | 0:02:38 |
|
||||
| No mods have worked since the update | https://github.com/zen-browser/desktop/issues/8125 | 5 days, 5:50:38 | None |
|
||||
| [Twilight 1.12.2] Adding tab to essentials will automatically open that tab in the first workspace | https://github.com/zen-browser/desktop/issues/8123 | None | 1:53:34 |
|
||||
| Unable to open Google/X/Youtube while using VPN | https://github.com/zen-browser/desktop/issues/8121 | 9:23:59 | None |
|
||||
| Zen URL bar not working with Firefox Multi-Account Containers | https://github.com/zen-browser/desktop/issues/8120 | None | None |
|
||||
| Duplicate Workspace Button | https://github.com/zen-browser/desktop/issues/8119 | 23:56:36 | 23:56:36 |
|
||||
| Renamed Tabs Name keep ressetting at random | https://github.com/zen-browser/desktop/issues/8118 | 9:29:18 | 9:29:18 |
|
||||
| Audio Indicator Missing on Inactive Tabs with Minimized Toolbar | https://github.com/zen-browser/desktop/issues/8115 | 2:57:00 | 6:18:33 |
|
||||
| Zen crashes on reopen after closing last tab with `browser.tabs.closeWindowWithLastTab` enabled | https://github.com/zen-browser/desktop/issues/8114 | 2 days, 18:09:03 | 2 days, 21:48:46 |
|
||||
| Local/lan links not opening | https://github.com/zen-browser/desktop/issues/8113 | None | 8 days, 8:42:53 |
|
||||
| Some extensions doesn't pin, and others brake the UI | https://github.com/zen-browser/desktop/issues/8111 | 0:53:20 | None |
|
||||
| Can't close split view | https://github.com/zen-browser/desktop/issues/8110 | 1:03:35 | 1:03:35 |
|
||||
| Closing a tab opened from an essential tab gives blank page | https://github.com/zen-browser/desktop/issues/8107 | 6:06:03 | 2:08:05 |
|
||||
| Cannot reset Jira page added to Essentials | https://github.com/zen-browser/desktop/issues/8106 | None | 2:38:16 |
|
||||
| Custom Color Gradient creates MULTIPLE instances of the same color | https://github.com/zen-browser/desktop/issues/8105 | 13 days, 15:14:54 | None |
|
||||
| Customize toolbar disturbed with system theme | https://github.com/zen-browser/desktop/issues/8104 | None | 2:06:43 |
|
||||
| The vertical TAB bar does not respond to touch input | https://github.com/zen-browser/desktop/issues/8103 | 1 day, 6:09:41 | None |
|
||||
| New tabs appear above pinned tabs | https://github.com/zen-browser/desktop/issues/8101 | 1:16:57 | 6:31:23 |
|
||||
| Could not open any page | https://github.com/zen-browser/desktop/issues/8100 | 2:07:41 | None |
|
||||
| Reload and Cmd+W for Essentials are not working. | https://github.com/zen-browser/desktop/issues/8099 | None | 7:51:14 |
|
||||
| Two kinds of workspace indicators instead of one | https://github.com/zen-browser/desktop/issues/8098 | 3:21:10 | 3:21:10 |
|
||||
| [Twilight 1.12.2] Switching tab to workspace retains a duplicate of the tab in the current workspace | https://github.com/zen-browser/desktop/issues/8095 | None | 2:24:21 |
|
||||
| Browser with a lighter/darker tint when using Auto Theme in comparison to Light/Dark mode only since 1.12b | https://github.com/zen-browser/desktop/issues/8094 | None | 2:25:47 |
|
||||
| [Twilight 1.12.2] Ctrl + k (search with google bar) is placed too low on screen | https://github.com/zen-browser/desktop/issues/8093 | 2:02:16 | 2:34:36 |
|
||||
| [Twilight 1.12.2] Pressing CTRL causes strange behaviour in newtab panel for switch to tab indicator | https://github.com/zen-browser/desktop/issues/8092 | 4:15:13 | 4:15:21 |
|
||||
| crash korean in private mode | https://github.com/zen-browser/desktop/issues/8091 | None | 12 days, 3:00:44 |
|
||||
| toolbar doesnt pop up when opening tabs with middle mouse click | https://github.com/zen-browser/desktop/issues/8090 | 0:39:11 | None |
|
||||
| Dragging tab bugs out when the sidebar is scrollable | https://github.com/zen-browser/desktop/issues/8089 | 13 days, 14:40:15 | 13 days, 20:40:31 |
|
||||
| Essentials: Emulation mode breaks tab | https://github.com/zen-browser/desktop/issues/8088 | 22 days, 0:16:44 | None |
|
||||
| The "Hide the default container indicator in the tab bar" button no longer hides "Default Workspace" | https://github.com/zen-browser/desktop/issues/8087 | 0:12:24 | 14:56:38 |
|
||||
| scrollbars styling with scrollbar-width: thin; leads to unusable scrollbar | https://github.com/zen-browser/desktop/issues/8086 | None | None |
|
||||
| Zen has become unberably laggy | https://github.com/zen-browser/desktop/issues/8081 | 1:29:54 | None |
|
||||
| Select words in URL bar selects full URL not selected word | https://github.com/zen-browser/desktop/issues/8080 | 0:45:24 | 1 day, 13:57:39 |
|
||||
| Hidden Sidebar in Compact Mode Styling Broken after 1.12b update | https://github.com/zen-browser/desktop/issues/8079 | 0:05:13 | 0:15:01 |
|
||||
| Youtube description not opening when clicking on more | https://github.com/zen-browser/desktop/issues/8078 | 4 days, 1:31:56 | 4 days, 2:56:14 |
|
||||
| Unable to access my company's local websites – HTTPS Error with HSTS and No Bypass Option | https://github.com/zen-browser/desktop/issues/8077 | None | 19:34:22 |
|
||||
| Ctrl+Tab missing unloaded tabs | https://github.com/zen-browser/desktop/issues/8076 | 1:38:20 | 3:22:45 |
|
||||
| When Account Button is opened in a collapsed Sibebar, Most Text Doesn't appear (Profile Name, Account Settings options, etc...) | https://github.com/zen-browser/desktop/issues/8075 | None | None |
|
||||
| Find in page. | https://github.com/zen-browser/desktop/issues/8074 | 4:37:54 | 4:37:54 |
|
||||
| Visual glitch / artifact when scrolling past video. | https://github.com/zen-browser/desktop/issues/8073 | 22 days, 7:35:17 | None |
|
||||
| Primary Colour resets after opening every time when System theme - auto is selected | https://github.com/zen-browser/desktop/issues/8072 | 8:42:39 | 8:42:39 |
|
||||
| 'Customize Toolbar' menu transparent when title bar is switched off | https://github.com/zen-browser/desktop/issues/8070 | 12:00:44 | 11 days, 3:51:56 |
|
||||
| Can't turn off workspaces | https://github.com/zen-browser/desktop/issues/8069 | 0:08:06 | 0:08:06 |
|
||||
| URL bar loses focus after clearing text | https://github.com/zen-browser/desktop/issues/8068 | 0:47:48 | 0:47:48 |
|
||||
| Developer tools shortcut not working anymore | https://github.com/zen-browser/desktop/issues/8067 | 0:32:03 | 0:32:03 |
|
||||
| Collapsed Sidebar too small | https://github.com/zen-browser/desktop/issues/8066 | 0:01:19 | 0:01:19 |
|
||||
| Bookmark editor closes immediately if window is at the edge of a display (macOS) | https://github.com/zen-browser/desktop/issues/8065 | 1:40:38 | None |
|
||||
| DRM Proxy Error on Kinopoisk | https://github.com/zen-browser/desktop/issues/8063 | 2:17:49 | 2:25:55 |
|
||||
| Cannot hide Workspace indicator: v1.12.1b | https://github.com/zen-browser/desktop/issues/8062 | 4:47:32 | 4:47:32 |
|
||||
| Search bar double click editing broken when shortcut suggestions are disabled | https://github.com/zen-browser/desktop/issues/8060 | None | 4:09:56 |
|
||||
| Toolbar's New Tab button stops working when removed and re-added | https://github.com/zen-browser/desktop/issues/8059 | 7:20:37 | None |
|
||||
| Essential Tabs not visible | https://github.com/zen-browser/desktop/issues/8057 | 7:46:00 | 7:54:47 |
|
||||
| Deleting the last workspace makes the browser unusable | https://github.com/zen-browser/desktop/issues/8056 | 2:40:09 | 13:11:09 |
|
||||
| Pinned Tab preview new login? | https://github.com/zen-browser/desktop/issues/8055 | None | None |
|
||||
| Compact mode Visual bug | https://github.com/zen-browser/desktop/issues/8053 | 0:08:48 | 0:21:52 |
|
||||
| Ctrl+Left Click with Firefox Containeres don't open a new tab on the container anymore | https://github.com/zen-browser/desktop/issues/8052 | 16:39:47 | None |
|
||||
| YouTube videos are having frame drops when using Wayland in Fedora 42. No frame drops in Librewolf. | https://github.com/zen-browser/desktop/issues/8051 | 3:57:37 | None |
|
||||
| I have already downloaded the Zen Mod, but I can't see the mods I downloaded in the settings. | https://github.com/zen-browser/desktop/issues/8049 | 6 days, 7:12:05 | 7 days, 1:59:01 |
|
||||
| Not working form on page: bohemiahokej.cz | https://github.com/zen-browser/desktop/issues/8048 | 1:42:11 | 1:42:11 |
|
||||
| Can't revert/remove custom sidebar color with `zen.theme.gradient.show-custom-colors` enabled | https://github.com/zen-browser/desktop/issues/8047 | 0:12:06 | 0:12:06 |
|
||||
| Compact mode causes the Windows taskbar to not appear. | https://github.com/zen-browser/desktop/issues/8046 | 0:33:43 | None |
|
||||
| Selects whole url after selecting only fragment | https://github.com/zen-browser/desktop/issues/8045 | None | 0:38:26 |
|
||||
| When URL is changed while URL bar is floating, only the domain is shown | https://github.com/zen-browser/desktop/issues/8042 | 23 days, 8:40:24 | 24 days, 8:18:57 |
|
||||
| Nvidia RTX video super resolution doesn't work in Zen unless in PiP Fullscreen | https://github.com/zen-browser/desktop/issues/8041 | 17:38:25 | None |
|
||||
| Super Resolution doesn't work | https://github.com/zen-browser/desktop/issues/8040 | 5:58:49 | 5:58:49 |
|
||||
| Unable to Load Essentials Tab Content | https://github.com/zen-browser/desktop/issues/8039 | 4:33:58 | 1 day, 7:53:50 |
|
||||
| Critical workflow issue with multilingual users: When emptying the URL bar in 'new tab mode', the browser should not lose focus on the URL bar by default. | https://github.com/zen-browser/desktop/issues/8038 | 22:34:12 | 23:41:42 |
|
||||
| PDFs load slowly | https://github.com/zen-browser/desktop/issues/8037 | 6:45:05 | None |
|
||||
| Sidebar appears narrower than it should, showing only part of the icons within | https://github.com/zen-browser/desktop/issues/8036 | 1:40:47 | 3:16:56 |
|
||||
| YouTube speed-up shortcut (Maj+;) doesn't work | https://github.com/zen-browser/desktop/issues/8035 | 8:02:43 | 8:02:44 |
|
||||
| Conflict between "container-specific essentials" and "enbale container tabs" | https://github.com/zen-browser/desktop/issues/8034 | None | 0:02:34 |
|
||||
| Sidebar and Layout "Collapsed Toolbar" looks weird after new update (icon does not fit/clip thru the frame) | https://github.com/zen-browser/desktop/issues/8033 | None | 4:32:52 |
|
||||
| Cannot scroll through the sidebar to see all of my tabs (in private mode only) | https://github.com/zen-browser/desktop/issues/8032 | 1 day, 3:36:41 | 4 days, 20:23:05 |
|
||||
| Missing Tab Layout Icon After Recent Update | https://github.com/zen-browser/desktop/issues/8030 | 10:23:25 | 1 day, 0:17:56 |
|
||||
| Update failed and not resolved even after redownloadig and reinstalling from website. | https://github.com/zen-browser/desktop/issues/8029 | 0:16:48 | None |
|
||||
| Tab Group disbanding when moved | https://github.com/zen-browser/desktop/issues/8028 | 10:58:02 | 10:58:02 |
|
||||
| Zen offers to update to 1.12.1b but fails because "1.12.1b" is not listed in releases. | https://github.com/zen-browser/desktop/issues/8027 | None | 0:04:20 |
|
||||
| Missing `:empty` pseudo-element state on extension icon's badge | https://github.com/zen-browser/desktop/issues/8025 | None | None |
|
||||
| [1.12b] Pinned tabs and essentials still used old audio indicator | https://github.com/zen-browser/desktop/issues/8023 | 15:43:19 | 15:43:19 |
|
||||
| Zen Won't Update | https://github.com/zen-browser/desktop/issues/8022 | 0:10:55 | 14:31:46 |
|
||||
| Tabs in a Firefox container can not be put into essentials. | https://github.com/zen-browser/desktop/issues/8019 | 0:09:31 | 14:15:02 |
|
||||
| Opened tab jumps up and down when switching workspaces | https://github.com/zen-browser/desktop/issues/8018 | 21:08:38 | 1 day, 15:03:56 |
|
||||
| Can't disable acrylic - mica not available | https://github.com/zen-browser/desktop/issues/8015 | 21:36:33 | 21:36:33 |
|
||||
| [1.12b] Mica context menus sometimes utilizes windows wallpaper instead of browser window | https://github.com/zen-browser/desktop/issues/8014 | 15:09:55 | 2 days, 4:03:37 |
|
||||
| Binding parentheses to switch workspaces does not function properly | https://github.com/zen-browser/desktop/issues/8013 | 24 days, 1:02:10 | None |
|
||||
| Update 1.12b broke auto-hide sidebar formatting | https://github.com/zen-browser/desktop/issues/8012 | 0:01:53 | 0:17:30 |
|
||||
| Vertical Tab bar is smaller in width compared to previous versions, causing tab icons to get cut off. | https://github.com/zen-browser/desktop/issues/8011 | 0:03:09 | 4:00:48 |
|
||||
| [Linux][1.12b] DRM Broken | https://github.com/zen-browser/desktop/issues/8010 | 0:16:39 | 1:38:19 |
|
||||
| I could not open side bar | https://github.com/zen-browser/desktop/issues/8009 | 0:25:19 | 16:55:20 |
|
||||
| 我在商店下载了Zen Mod,但是在设置中加载不出来 | https://github.com/zen-browser/desktop/issues/8006 | 9:33:02 | 23:19:18 |
|
||||
| Mute/Unmute icon on | https://github.com/zen-browser/desktop/issues/8005 | 1 day, 1:31:01 | 17 days, 14:53:41 |
|
||||
| Zen Browser has never been able to access Google, Chrome and FireFox does. | https://github.com/zen-browser/desktop/issues/8004 | 1 day, 1:32:04 | None |
|
||||
| Url bar overflow | https://github.com/zen-browser/desktop/issues/8003 | 0:15:34 | None |
|
||||
| window controls on right do not pop out with sidebar | https://github.com/zen-browser/desktop/issues/8002 | 21:56:50 | 1 day, 0:14:59 |
|
||||
| Alignment issue in compact mode with hidden sidebar | https://github.com/zen-browser/desktop/issues/8000 | 0:02:32 | 4:26:16 |
|
||||
| All my tabs except essenitials cannot be seen or clicked however they still open and work as per normal | https://github.com/zen-browser/desktop/issues/7999 | None | 0:07:12 |
|
||||
| Bring back the old profiles switcher | https://github.com/zen-browser/desktop/issues/7998 | 0:12:46 | 1 day, 21:49:18 |
|
||||
| macOS keyboard shortcut `option+cmd+e` opens `Network tab` of Developer tools instead of switching workspace | https://github.com/zen-browser/desktop/issues/7996 | 1 day, 5:12:44 | 1 day, 5:12:44 |
|
||||
| when typing in the URL bar, the selected results don't show up well | https://github.com/zen-browser/desktop/issues/7995 | 7:58:12 | 1 day, 23:28:05 |
|
||||
| URL doesnt always float even after choosing this option | https://github.com/zen-browser/desktop/issues/7993 | None | 3:05:24 |
|
||||
| [Twilight 1.12] Compact mode sidebar jittering still occurs when newtab panel is opened | https://github.com/zen-browser/desktop/issues/7990 | None | 6:15:39 |
|
||||
| [Twilight 1.12] Compact mode isn't disabled in newtab pannel if the user is hovering on the sidebar berforehand and sidebar jittering occurs | https://github.com/zen-browser/desktop/issues/7988 | None | 0:14:31 |
|
||||
| Favicon Missing in Essentials on Launch | https://github.com/zen-browser/desktop/issues/7987 | 7:50:38 | 4 days, 12:35:25 |
|
||||
| Closing a tab sometimes causes a popping sound | https://github.com/zen-browser/desktop/issues/7986 | None | None |
|
||||
| File Drag and Drop Between Tabs Not Working | https://github.com/zen-browser/desktop/issues/7985 | 11:13:41 | None |
|
||||
| Auto PiP doesn't work (Windows) | https://github.com/zen-browser/desktop/issues/7984 | 0:14:53 | 0:22:59 |
|
||||
| Some websites don't load | https://github.com/zen-browser/desktop/issues/7983 | 1 day, 23:32:20 | 3 days, 0:32:47 |
|
||||
| Annoying notifs and pop-up windows | https://github.com/zen-browser/desktop/issues/7982 | None | 3:58:00 |
|
||||
| Single-Key keyboard shortcuts are taking precedence over input fields | https://github.com/zen-browser/desktop/issues/7980 | 2 days, 1:30:27 | None |
|
||||
| The “Undo tab close” shortcut doesn't seem to work | https://github.com/zen-browser/desktop/issues/7979 | 2 days, 1:41:19 | 4 days, 2:55:52 |
|
||||
| Window controls overlapping over URL Bar UI & extensions icon | https://github.com/zen-browser/desktop/issues/7978 | 25 days, 4:18:00 | None |
|
||||
| Default keyboard shortcuts are overlapping | https://github.com/zen-browser/desktop/issues/7976 | 29 days, 10:30:04 | None |
|
||||
| iCloud Notes show black squares on checklists | https://github.com/zen-browser/desktop/issues/7974 | 6:47:44 | 6:47:47 |
|
||||
| [Twilight 1.12] Compact mode sidebar twitches when hovering | https://github.com/zen-browser/desktop/issues/7973 | 0:30:09 | 12:33:26 |
|
||||
| Essentials disappear when clicking "back to tab" in PIP while in another workspace | https://github.com/zen-browser/desktop/issues/7972 | 2 days, 16:38:14 | 2 days, 16:38:14 |
|
||||
| System sleep/suspend during video playback causes a memory leak | https://github.com/zen-browser/desktop/issues/7970 | None | None |
|
||||
| BitWarden biometrics not working anymore | https://github.com/zen-browser/desktop/issues/7968 | 30 days, 1:15:16 | None |
|
||||
| Appimage does not work on distros that depend on musl instead of glibc | https://github.com/zen-browser/desktop/issues/7967 | 3 days, 19:05:33 | None |
|
||||
| YouTube WebPage not loading | https://github.com/zen-browser/desktop/issues/7966 | None | 2:46:37 |
|
||||
| New Tab Bug - Opens the url of the existing tab even when new url is typed. | https://github.com/zen-browser/desktop/issues/7964 | 3 days, 0:39:48 | None |
|
||||
| PDF rendering issues | https://github.com/zen-browser/desktop/issues/7963 | 0:02:45 | None |
|
||||
| 1Password extension unable to communicate with desktop app, requires password reprompt | https://github.com/zen-browser/desktop/issues/7960 | 0:04:11 | 30 days, 6:03:10 |
|
||||
| Moving a bookmark to another workspace doesn't persist | https://github.com/zen-browser/desktop/issues/7957 | 26 days, 6:50:27 | 26 days, 6:59:41 |
|
||||
| Gradient completely messed up | https://github.com/zen-browser/desktop/issues/7955 | None | 1:01:12 |
|
||||
| URL Bar dosent showing up and fading gradually while typing | https://github.com/zen-browser/desktop/issues/7954 | 26 days, 9:53:46 | None |
|
||||
| URL bar Doesn't Show up on Ctrl+T Despite Behavior set to "Always floating" in Settings | https://github.com/zen-browser/desktop/issues/7953 | 0:37:17 | 7 days, 15:33:13 |
|
||||
| Zen breaking youtube.com | https://github.com/zen-browser/desktop/issues/7952 | 4:30:14 | 4:30:14 |
|
||||
| Zen doesn't open (flatpak) | https://github.com/zen-browser/desktop/issues/7951 | 3 days, 12:35:28 | None |
|
||||
| Compact mode - 1 pixel line on sidebar | https://github.com/zen-browser/desktop/issues/7950 | 1:52:17 | 12:15:36 |
|
||||
| Caching Tab Icon is Too Strict | https://github.com/zen-browser/desktop/issues/7949 | 3 days, 16:10:52 | 3 days, 16:10:52 |
|
||||
|
||||
_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_
|
||||
Search query used to find these items: `repo:zen-browser/desktop is:issue created:2025-05-01..2025-05-31`
|
||||
2
l10n
2
l10n
Submodule l10n updated: d0ffb8e391...706b333373
12
package-lock.json
generated
12
package-lock.json
generated
@@ -3019,9 +3019,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prebuild-install/node_modules/tar-fs": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz",
|
||||
"integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz",
|
||||
"integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chownr": "^1.1.1",
|
||||
@@ -3667,9 +3667,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tar-fs": {
|
||||
"version": "3.0.8",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz",
|
||||
"integrity": "sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==",
|
||||
"version": "3.0.9",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz",
|
||||
"integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"pump": "^3.0.0",
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref("browser.ml.chat.enabled", false);
|
||||
pref("browser.ml.chat.shortcuts", false);
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
// 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/.
|
||||
|
||||
// Restore session on startup
|
||||
pref("browser.startup.page", 3);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
// Common UI changes
|
||||
pref("browser.privatebrowsing.vpnpromourl", "", locked);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
// security: They must enable this themselves, to avoid people downloading malware
|
||||
pref('xpinstall.signatures.required', true);
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.welcome-screen.seen', false, sticky);
|
||||
#ifdef MOZILLA_OFFICIAL
|
||||
pref('zen.welcome-screen.seen', false, sticky);
|
||||
#else
|
||||
pref('zen.welcome-screen.seen', true, sticky);
|
||||
#endif
|
||||
|
||||
pref('zen.tabs.vertical', true);
|
||||
pref('zen.tabs.vertical.right-side', false);
|
||||
@@ -8,135 +15,27 @@ pref('zen.tabs.show-newtab-vertical', true);
|
||||
|
||||
pref('zen.ctrlTab.show-pending-tabs', false);
|
||||
|
||||
pref('zen.theme.accent-color', "#ffb787");
|
||||
pref('zen.theme.content-element-separation', 8); // In pixels
|
||||
pref('zen.theme.gradient', true);
|
||||
pref('zen.theme.gradient.show-custom-colors', false);
|
||||
pref('zen.theme.essentials-favicon-bg', true);
|
||||
|
||||
pref('zen.view.show-newtab-button-border-top', false);
|
||||
pref('zen.view.show-newtab-button-top', true);
|
||||
|
||||
pref('zen.mediacontrols.enabled', true);
|
||||
|
||||
// Exposure:
|
||||
pref('zen.haptic-feedback.enabled', true);
|
||||
|
||||
pref('zen.mods.auto-update-days', 20); // In days
|
||||
#include features/mods.inc
|
||||
#include features/theme.inc
|
||||
#include features/compact-mode.inc
|
||||
#include features/urlbar.inc
|
||||
#include features/glance.inc
|
||||
#include features/view.inc
|
||||
#include features/downloads.inc
|
||||
#include features/workspaces.inc
|
||||
#include features/split-view.inc
|
||||
#include features/kbs.inc
|
||||
|
||||
// Section: Watermark
|
||||
#ifdef MOZILLA_OFFICIAL
|
||||
pref('zen.mods.auto-update', true);
|
||||
pref('zen.rice.api.url', 'https://share.zen-browser.app', locked);
|
||||
pref('zen.injections.match-urls', 'https://zen-browser.app/*,https://share.zen-browser.app/*', locked);
|
||||
pref('zen.watermark.enabled', true, sticky);
|
||||
#else
|
||||
pref('zen.mods.auto-update', false);
|
||||
pref('zen.rice.api.url', "http://localhost", locked);
|
||||
pref('zen.injections.match-urls', 'http://localhost/*', locked);
|
||||
#endif
|
||||
|
||||
pref('zen.rice.share.notice.accepted', false);
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.theme.border-radius', 10); // In pixels
|
||||
#else
|
||||
pref('zen.theme.border-radius', 8); // In pixels
|
||||
#endif
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.theme.acrylic-elements', false);
|
||||
#else
|
||||
pref('zen.theme.acrylic-elements', false);
|
||||
#endif
|
||||
|
||||
pref('zen.theme.color-prefs.use-workspace-colors', true);
|
||||
|
||||
pref('zen.view.compact.hide-tabbar', true);
|
||||
pref('zen.view.compact.hide-toolbar', false);
|
||||
pref('zen.view.compact.toolbar-flash-popup', false);
|
||||
pref('zen.view.compact.toolbar-flash-popup.duration', 800);
|
||||
pref('zen.view.compact.toolbar-hide-after-hover.duration', 1000);
|
||||
pref('zen.view.compact.color-toolbar', true);
|
||||
pref('zen.view.compact.color-sidebar', true);
|
||||
pref('zen.view.compact.animate-sidebar', true);
|
||||
pref('zen.view.compact.show-sidebar-and-toolbar-on-hover', true);
|
||||
pref('zen.view.compact.show-background-tab-toast', true);
|
||||
|
||||
pref('zen.urlbar.replace-newtab', true);
|
||||
pref('zen.urlbar.show-protections-icon', false);
|
||||
pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float
|
||||
pref('zen.urlbar.wait-to-clear', 45000); // in ms (default 45s)
|
||||
pref('zen.urlbar.show-domain-only-in-sidebar', true);
|
||||
pref('zen.urlbar.hide-one-offs', true);
|
||||
pref('zen.urlbar.enable-overrides', false);
|
||||
|
||||
// Glance
|
||||
pref('zen.glance.enabled', true);
|
||||
pref('zen.glance.hold-duration', 300); // in ms
|
||||
pref('zen.glance.open-essential-external-links', true);
|
||||
pref('zen.glance.activation-method', 'alt'); // ctrl, alt, shift, none, hold
|
||||
|
||||
pref('zen.view.sidebar-height-throttle', 200); // in ms
|
||||
pref('zen.view.sidebar-expanded.max-width', 500);
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.view.mac.show-three-dot-menu', false);
|
||||
pref('zen.widget.mac.mono-window-controls', true);
|
||||
#endif
|
||||
pref('zen.view.use-single-toolbar', true);
|
||||
pref('zen.view.sidebar-expanded', true);
|
||||
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
||||
pref('zen.view.experimental-force-window-controls-left', false);
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.view.grey-out-inactive-windows', false);
|
||||
#else
|
||||
pref('zen.view.grey-out-inactive-windows', true);
|
||||
#endif
|
||||
|
||||
pref('zen.view.hide-window-controls', true);
|
||||
pref('zen.view.experimental-no-window-controls', false);
|
||||
|
||||
pref('zen.keyboard.shortcuts.enabled', true);
|
||||
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
||||
pref('zen.keyboard.shortcuts.disable-mainkeyset-clear', false); // for debugging
|
||||
|
||||
pref('zen.themes.updated-value-observer', false);
|
||||
|
||||
pref('zen.pinned-tab-manager.debug', false);
|
||||
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
||||
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'reset-unload-switch');
|
||||
|
||||
#ifdef MOZILLA_OFFICIAL
|
||||
pref('zen.watermark.enabled', true, sticky);
|
||||
#else
|
||||
pref('zen.watermark.enabled', false, sticky);
|
||||
pref('zen.watermark.enabled', false, sticky);
|
||||
#endif
|
||||
|
||||
// Startup flags
|
||||
pref('zen.startup.smooth-scroll-in-tabs', true);
|
||||
|
||||
// Zen Workspaces
|
||||
pref('zen.workspaces.continue-where-left-off', false);
|
||||
pref('zen.workspaces.hide-default-container-indicator', true);
|
||||
pref('zen.workspaces.force-container-workspace', false);
|
||||
pref('zen.workspaces.open-new-tab-if-last-unpinned-tab-is-closed', false);
|
||||
pref('zen.workspaces.swipe-actions', true);
|
||||
pref('zen.workspaces.wrap-around-navigation', true);
|
||||
pref('zen.workspaces.natural-scroll', false);
|
||||
pref('zen.workspaces.scroll-modifier-key','ctrl'); // can be ctrl, alt, shift, or a meta key
|
||||
pref('services.sync.engine.workspaces', false);
|
||||
pref('zen.workspaces.container-specific-essentials-enabled', false);
|
||||
|
||||
#ifdef MOZILLA_OFFICIAL
|
||||
pref('zen.workspaces.debug', false);
|
||||
#else
|
||||
pref('zen.workspaces.debug', true);
|
||||
#endif
|
||||
|
||||
// Zen Split View
|
||||
pref('zen.splitView.enable-tab-drop', true);
|
||||
pref('zen.splitView.min-resize-width', 7);
|
||||
pref('zen.splitView.rearrange-hover-size', 24);
|
||||
|
||||
// Zen Download Animations
|
||||
pref('zen.downloads.download-animation', true);
|
||||
pref('zen.downloads.download-animation-duration', 1000); // ms
|
||||
|
||||
14
src/browser/app/profile/features/compact-mode.inc
Normal file
14
src/browser/app/profile/features/compact-mode.inc
Normal file
@@ -0,0 +1,14 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.view.compact.hide-tabbar', true);
|
||||
pref('zen.view.compact.hide-toolbar', false);
|
||||
pref('zen.view.compact.toolbar-flash-popup', false);
|
||||
pref('zen.view.compact.toolbar-flash-popup.duration', 800);
|
||||
pref('zen.view.compact.toolbar-hide-after-hover.duration', 1000);
|
||||
pref('zen.view.compact.color-toolbar', true);
|
||||
pref('zen.view.compact.color-sidebar', true);
|
||||
pref('zen.view.compact.animate-sidebar', true);
|
||||
pref('zen.view.compact.show-sidebar-and-toolbar-on-hover', true);
|
||||
pref('zen.view.compact.show-background-tab-toast', true);
|
||||
6
src/browser/app/profile/features/downloads.inc
Normal file
6
src/browser/app/profile/features/downloads.inc
Normal file
@@ -0,0 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.downloads.download-animation', true);
|
||||
pref('zen.downloads.download-animation-duration', 1000); // ms
|
||||
9
src/browser/app/profile/features/glance.inc
Normal file
9
src/browser/app/profile/features/glance.inc
Normal file
@@ -0,0 +1,9 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.glance.enabled', true);
|
||||
pref('zen.glance.enable-contextmenu-search', true);
|
||||
pref('zen.glance.hold-duration', 300); // in ms
|
||||
pref('zen.glance.open-essential-external-links', true);
|
||||
pref('zen.glance.activation-method', 'alt'); // ctrl, alt, shift, none, hold
|
||||
7
src/browser/app/profile/features/kbs.inc
Normal file
7
src/browser/app/profile/features/kbs.inc
Normal file
@@ -0,0 +1,7 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.keyboard.shortcuts.enabled', true);
|
||||
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
||||
pref('zen.keyboard.shortcuts.disable-mainkeyset-clear', false); // for debugging
|
||||
19
src/browser/app/profile/features/mods.inc
Normal file
19
src/browser/app/profile/features/mods.inc
Normal file
@@ -0,0 +1,19 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.mods.updated-value-observer', false);
|
||||
|
||||
pref('zen.mods.auto-update-days', 20); // In days
|
||||
|
||||
#ifdef MOZILLA_OFFICIAL
|
||||
pref('zen.mods.auto-update', true);
|
||||
pref('zen.rice.api.url', 'https://share.zen-browser.app', locked);
|
||||
pref('zen.injections.match-urls', 'https://zen-browser.app/*,https://share.zen-browser.app/*', locked);
|
||||
#else
|
||||
pref('zen.mods.auto-update', false);
|
||||
pref('zen.rice.api.url', "http://localhost", locked);
|
||||
pref('zen.injections.match-urls', 'http://localhost/*', locked);
|
||||
#endif
|
||||
|
||||
pref('zen.rice.share.notice.accepted', false);
|
||||
7
src/browser/app/profile/features/split-view.inc
Normal file
7
src/browser/app/profile/features/split-view.inc
Normal file
@@ -0,0 +1,7 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.splitView.enable-tab-drop', true);
|
||||
pref('zen.splitView.min-resize-width', 7);
|
||||
pref('zen.splitView.rearrange-hover-size', 24);
|
||||
22
src/browser/app/profile/features/theme.inc
Normal file
22
src/browser/app/profile/features/theme.inc
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.theme.accent-color', "#ffb787");
|
||||
pref('zen.theme.content-element-separation', 8); // In pixels
|
||||
pref('zen.theme.gradient', true);
|
||||
pref('zen.theme.gradient.show-custom-colors', false);
|
||||
pref('zen.theme.essentials-favicon-bg', true);
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.theme.border-radius', 10); // In pixels
|
||||
#else
|
||||
pref('zen.theme.border-radius', 8); // In pixels
|
||||
#endif
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.theme.acrylic-elements', false);
|
||||
#else
|
||||
pref('zen.theme.acrylic-elements', false);
|
||||
#endif
|
||||
|
||||
11
src/browser/app/profile/features/urlbar.inc
Normal file
11
src/browser/app/profile/features/urlbar.inc
Normal file
@@ -0,0 +1,11 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.urlbar.replace-newtab', true);
|
||||
pref('zen.urlbar.show-protections-icon', false);
|
||||
pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float
|
||||
pref('zen.urlbar.wait-to-clear', 45000); // in ms (default 45s)
|
||||
pref('zen.urlbar.show-domain-only-in-sidebar', true);
|
||||
pref('zen.urlbar.hide-one-offs', true);
|
||||
pref('zen.urlbar.enable-overrides', false);
|
||||
28
src/browser/app/profile/features/view.inc
Normal file
28
src/browser/app/profile/features/view.inc
Normal file
@@ -0,0 +1,28 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.view.sidebar-height-throttle', 0); // in ms
|
||||
pref('zen.view.sidebar-expanded.max-width', 500);
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.view.mac.show-three-dot-menu', false);
|
||||
pref('zen.widget.mac.mono-window-controls', true);
|
||||
#endif
|
||||
|
||||
pref('zen.view.use-single-toolbar', true);
|
||||
pref('zen.view.sidebar-expanded', true);
|
||||
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
||||
pref('zen.view.experimental-force-window-controls-left', false);
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.view.grey-out-inactive-windows', false);
|
||||
#else
|
||||
pref('zen.view.grey-out-inactive-windows', true);
|
||||
#endif
|
||||
|
||||
pref('zen.view.hide-window-controls', true);
|
||||
pref('zen.view.experimental-no-window-controls', false);
|
||||
|
||||
pref('zen.view.show-newtab-button-border-top', false);
|
||||
pref('zen.view.show-newtab-button-top', true);
|
||||
25
src/browser/app/profile/features/workspaces.inc
Normal file
25
src/browser/app/profile/features/workspaces.inc
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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/.
|
||||
|
||||
pref('zen.workspaces.continue-where-left-off', false);
|
||||
pref('zen.workspaces.hide-default-container-indicator', true);
|
||||
pref('zen.workspaces.force-container-workspace', false);
|
||||
pref('zen.workspaces.open-new-tab-if-last-unpinned-tab-is-closed', false);
|
||||
pref('zen.workspaces.swipe-actions', true);
|
||||
pref('zen.workspaces.wrap-around-navigation', true);
|
||||
pref('zen.workspaces.natural-scroll', false);
|
||||
pref('zen.workspaces.scroll-modifier-key','ctrl'); // can be ctrl, alt, shift, or a meta key
|
||||
pref('services.sync.engine.workspaces', false);
|
||||
pref('zen.workspaces.container-specific-essentials-enabled', false);
|
||||
|
||||
#ifdef MOZILLA_OFFICIAL
|
||||
pref('zen.workspaces.debug', false);
|
||||
#else
|
||||
pref('zen.workspaces.debug', true);
|
||||
#endif
|
||||
|
||||
// Section: Pinned tabs management
|
||||
pref('zen.pinned-tab-manager.debug', false);
|
||||
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
||||
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'reset-unload-switch');
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref("full-screen-api.transition-duration.enter", "0 0");
|
||||
pref("full-screen-api.transition-duration.leave", "0 0");
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref("widget.gtk.rounded-bottom-corners.enabled", true);
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
// Enable transparent background for macos
|
||||
pref('widget.macos.titlebar-blend-mode.behind-window', true);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref('image.jxl.enabled', true, locked);
|
||||
pref("svg.context-properties.content.enabled", true);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref('browser.newtabpage.activity-stream.feeds.topsites', false);
|
||||
pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref('pdfjs.enableHighlightEditor', true);
|
||||
pref('pdfjs.enableHighlightFloatingButton', true);
|
||||
|
||||
@@ -1,38 +1,18 @@
|
||||
|
||||
// ---- Experimental settings to try make zen faster
|
||||
pref("media.memory_cache_max_size", 1048576);
|
||||
pref("media.cache_readahead_limit", 9000);
|
||||
pref("media.cache_resume_threshold", 3600);
|
||||
pref("media.memory_caches_combined_limit_kb", 2560000);
|
||||
|
||||
pref("image.mem.decode_bytes_at_a_time", 32768);
|
||||
|
||||
// Enable GPU by default
|
||||
pref("gfx.canvas.accelerated", true);
|
||||
pref("media.hardware-video-decoding.enabled", true);
|
||||
pref("layers.gpu-process.enabled", true);
|
||||
// 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/.
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
// Pref to control the reponse taken on macOS when the OS is under memory
|
||||
// pressure. Changes to the pref take effect immediately. Browser restart not
|
||||
// required. The pref value is a bitmask:
|
||||
// 0x0: No response (other than recording for telemetry, crash reporting)
|
||||
// 0x1: Use the tab unloading feature to reduce memory use. Requires that
|
||||
// the above "browser.tabs.unloadOnLowMemory" pref be set to true for tab
|
||||
// unloading to occur.
|
||||
// 0x2: Issue the internal "memory-pressure" notification to reduce memory use
|
||||
// 0x3: Both 0x1 and 0x2.
|
||||
pref("browser.lowMemoryResponseMask", 3);
|
||||
// Pref to control the reponse taken on macOS when the OS is under memory
|
||||
// pressure. Changes to the pref take effect immediately. Browser restart not
|
||||
// required. The pref value is a bitmask:
|
||||
// 0x0: No response (other than recording for telemetry, crash reporting)
|
||||
// 0x1: Use the tab unloading feature to reduce memory use. Requires that
|
||||
// the above "browser.tabs.unloadOnLowMemory" pref be set to true for tab
|
||||
// unloading to occur.
|
||||
// 0x2: Issue the internal "memory-pressure" notification to reduce memory use
|
||||
// 0x3: Both 0x1 and 0x2.
|
||||
pref("browser.lowMemoryResponseMask", 3);
|
||||
#endif
|
||||
|
||||
// Prefetching:
|
||||
pref("network.dns.disablePrefetch", false);
|
||||
pref("network.prefetch-next", true);
|
||||
pref("network.dns.disablePrefetchFromHTTPS", false);
|
||||
pref("network.predictor.enable-hover-on-ssl", true);
|
||||
pref("network.http.rcwn.enabled", false);
|
||||
|
||||
// Experimental Zen Features
|
||||
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
|
||||
pref('dom.script_loader.bytecode_cache.strategy', 2);
|
||||
pref("layout.css.grid-template-masonry-value.enabled", true);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
|
||||
// TODO: Enable once we have a proper settings page
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref("datareporting.policy.dataSubmissionEnabled", false, locked);
|
||||
pref("datareporting.healthreport.uploadEnabled", false, locked);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// 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/.
|
||||
|
||||
pref("apz.overscroll.enabled", true);
|
||||
pref("general.smoothScroll", true);
|
||||
pref("general.smoothScroll.msdPhysics.enabled", true);
|
||||
pref("general.smoothScroll.currentVelocityWeighting", "0.15");
|
||||
pref("general.smoothScroll.stopDecelerationWeighting", "0.6");
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
|
||||
pref('browser.urlbar.unitConversion.enabled', true);
|
||||
pref('browser.urlbar.trending.featureGate', false);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
// 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/.
|
||||
|
||||
// Mica
|
||||
pref("widget.windows.mica", true);
|
||||
pref("widget.windows.mica.popups", true);
|
||||
pref("widget.windows.mica.toplevel-backdrop", 2);
|
||||
|
||||
pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false);
|
||||
|
||||
@@ -15,15 +15,15 @@ pref("intl.multilingual.downloadEnabled", false);
|
||||
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
||||
|
||||
#ifdef XP_WIN
|
||||
#include windows.inc
|
||||
#include windows.inc
|
||||
#endif
|
||||
|
||||
#ifdef UNIX_BUT_NOT_MAC
|
||||
#include linux.inc
|
||||
#include linux.inc
|
||||
#endif
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
#include macos.inc
|
||||
#include macos.inc
|
||||
#endif
|
||||
|
||||
#include urlbar.inc
|
||||
@@ -37,7 +37,7 @@ pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
||||
#include features.inc
|
||||
|
||||
#ifndef XP_MACOSX
|
||||
#include smoothscroll.inc
|
||||
#include smoothscroll.inc
|
||||
#endif
|
||||
|
||||
#include performance.inc
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
|
||||
index c64980810570fcea84e33fdc2d66ac42a79f4e46..6ef9bf4b88f0a0539d833f662c4dd890fd1fde93 100644
|
||||
index c64980810570fcea84e33fdc2d66ac42a79f4e46..11fe00e84dbac781b3da90abb1251c70bd3b094a 100644
|
||||
--- a/browser/base/content/aboutDialog.xhtml
|
||||
+++ b/browser/base/content/aboutDialog.xhtml
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
<html:link rel="localization" href="branding/brand.ftl"/>
|
||||
<html:link rel="localization" href="browser/aboutDialog.ftl"/>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</linkset>
|
||||
|
||||
<html:div id="aboutDialogContainer">
|
||||
@@ -102,10 +103,6 @@
|
||||
@@ -102,10 +102,6 @@
|
||||
<label id="version" class="update"/>
|
||||
<label id="releasenotes" is="text-link" hidden="true" data-l10n-id="releaseNotes-link"/>
|
||||
</hbox>
|
||||
@@ -21,7 +13,7 @@ index c64980810570fcea84e33fdc2d66ac42a79f4e46..6ef9bf4b88f0a0539d833f662c4dd890
|
||||
</vbox>
|
||||
#endif
|
||||
</hbox>
|
||||
@@ -125,21 +122,17 @@
|
||||
@@ -125,21 +121,17 @@
|
||||
</description>
|
||||
</vbox>
|
||||
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/browser/base/content/aboutRestartRequired.xhtml b/browser/base/content/aboutRestartRequired.xhtml
|
||||
index c1f42b4ddd3b154a8643fc5265c556904805bdff..9722e7de76b02077addfeda90a9acd8b921a9cd6 100644
|
||||
--- a/browser/base/content/aboutRestartRequired.xhtml
|
||||
+++ b/browser/base/content/aboutRestartRequired.xhtml
|
||||
@@ -29,6 +29,7 @@
|
||||
/>
|
||||
<link rel="localization" href="branding/brand.ftl" />
|
||||
<link rel="localization" href="browser/aboutRestartRequired.ftl" />
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- PAGE CONTAINER (for styling purposes only) -->
|
||||
@@ -1,21 +1,20 @@
|
||||
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
||||
index 3d5173315812589c0b79beec5f0419fc37cb8868..c4216db9e414fbbaead6ecd89b40366b0d8a50c1 100644
|
||||
index bcbfab4a3781ff3c7349115751b3830976eec4bf..b1b774e0d335ed3c5ca565a45cd624c7ea2718af 100644
|
||||
--- a/browser/base/content/browser-init.js
|
||||
+++ b/browser/base/content/browser-init.js
|
||||
@@ -175,6 +175,8 @@ var gBrowserInit = {
|
||||
@@ -186,6 +186,7 @@ var gBrowserInit = {
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
+ Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
|
||||
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
|
||||
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
|
||||
PopupBlockerObserver.handleEvent(e)
|
||||
);
|
||||
@@ -310,6 +312,7 @@ var gBrowserInit = {
|
||||
TelemetryTimestamps.add("delayedStartupStarted");
|
||||
@@ -344,6 +345,7 @@ var gBrowserInit = {
|
||||
|
||||
this._cancelDelayedStartup();
|
||||
+ gZenWorkspaces.afterLoadInit();
|
||||
this._handleURIToLoad();
|
||||
|
||||
gBrowser.addEventListener(
|
||||
"PermissionStateChange",
|
||||
+ gZenWorkspaces.selectStartPage();
|
||||
Services.obs.addObserver(gIdentityHandler, "perm-changed");
|
||||
Services.obs.addObserver(gRemoteControl, "devtools-socket");
|
||||
Services.obs.addObserver(gRemoteControl, "marionette-listening");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
||||
index 6d664917a5a3bb1cea8a747e42e8bc0065ec999e..5059293ebfa29d646455b7a3505bd6eae408ba64 100644
|
||||
index 6d664917a5a3bb1cea8a747e42e8bc0065ec999e..dfacd5c40ef14319fe7398452c007f167003a583 100644
|
||||
--- a/browser/base/content/browser.js
|
||||
+++ b/browser/base/content/browser.js
|
||||
@@ -33,6 +33,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||
@@ -39,3 +39,13 @@ index 6d664917a5a3bb1cea8a747e42e8bc0065ec999e..5059293ebfa29d646455b7a3505bd6ea
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -5717,6 +5722,9 @@ var ConfirmationHint = {
|
||||
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
|
||||
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");
|
||||
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
|
||||
+ if (window.gZenUIManager?.showToast) {
|
||||
+ return window.gZenUIManager.showToast(messageId, options);
|
||||
+ }
|
||||
if (options.descriptionId) {
|
||||
document.l10n.setAttributes(this._description, options.descriptionId);
|
||||
this._description.hidden = false;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
|
||||
index 8f8c5536cb6e54300897180ca3f950974c60e930..79305485631f14712d8b2674f477b641ec53fcd6 100644
|
||||
index 8f8c5536cb6e54300897180ca3f950974c60e930..78076e29faf749b83d6c8e099af6767621f34d58 100644
|
||||
--- a/browser/base/content/browser.xhtml
|
||||
+++ b/browser/base/content/browser.xhtml
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -10,23 +10,22 @@ index 8f8c5536cb6e54300897180ca3f950974c60e930..79305485631f14712d8b2674f477b641
|
||||
persist="screenX screenY width height sizemode"
|
||||
data-l10n-sync="true">
|
||||
<head>
|
||||
@@ -105,8 +106,11 @@
|
||||
@@ -105,8 +106,10 @@
|
||||
|
||||
<title data-l10n-id="browser-main-window-default-title"></title>
|
||||
|
||||
+#include zen-preloaded.inc.xhtml
|
||||
+
|
||||
<script src="chrome://browser/content/global-scripts.js"></script>
|
||||
<script src="chrome://browser/content/browser-main.js"></script>
|
||||
+#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)
|
||||
@@ -128,9 +132,11 @@
|
||||
@@ -128,9 +131,11 @@
|
||||
</vbox>
|
||||
</html:template>
|
||||
|
||||
+<hbox id="zen-main-app-wrapper" flex="1" persist="zen-compact-mode">
|
||||
+<hbox id="zen-main-app-wrapper" flex="1" persist="zen-compact-mode" class="browser-toolbox-background">
|
||||
#include navigator-toolbox.inc.xhtml
|
||||
|
||||
#include browser-box.inc.xhtml
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
index 00c8976d3e258c0875d7da2f3ec823d8907a84c9..cc61d5a845b5ce22a61f5a1aab8b280b2bcdf101 100644
|
||||
index 30e7b9b2ac63db6ccd2727a9341081cecefc25cb..ceff29d10a32fe9e5296340c8c56a2fdbf321c31 100644
|
||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 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/.
|
||||
|
||||
#include zen-locales.inc.xhtml
|
||||
|
||||
# Styles used all over the browser
|
||||
@@ -28,16 +32,28 @@
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-download-box-animation.css" />
|
||||
</linkset>
|
||||
|
||||
# Startup "preloaded" scripts that requre globals such as gBrowser and gURLBar
|
||||
# JS files which are needed by browser.xhtml but no other top level windows to
|
||||
# support MacOS specific features should be loaded directly from browser-main.js
|
||||
# rather than this file.
|
||||
#
|
||||
# If you update this list, you may need to add a mapping within the following
|
||||
# file so that ESLint works correctly:
|
||||
# tools/lint/eslint/eslint-plugin-mozilla/lib/environments/browser-window.js
|
||||
<script type="text/javascript" src="chrome://browser/content/ZenPreloadedScripts.js"></script>
|
||||
|
||||
# Scripts used all over the browser
|
||||
<script src="chrome://browser/content/ZenUIManager.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenFolders.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenMods.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenCompactMode.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenPinnedTabsStorage.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenWorkspacesStorage.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenPinnedTabManager.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenGradientGenerator.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenViewSplitter.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenGlanceManager.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenMediaController.mjs"></script>
|
||||
<script src="chrome://browser/content/zen-components/ZenDownloadAnimation.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/ZenUIManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenFolders.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenMods.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenCompactMode.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenPinnedTabsStorage.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspacesStorage.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenPinnedTabManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenGradientGenerator.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenViewSplitter.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenGlanceManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenMediaController.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenDownloadAnimation.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenEmojiPicker.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspaceCreation.mjs"></script>
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
|
||||
# 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/.
|
||||
|
||||
content/browser/zenThemeModifier.js (../../zen/common/zenThemeModifier.js)
|
||||
content/browser/ZenStartup.mjs (../../zen/common/ZenStartup.mjs)
|
||||
content/browser/ZenPreloadedScripts.js (../../zen/common/ZenPreloadedScripts.js)
|
||||
content/browser/zen-sets.js (../../zen/common/zen-sets.js)
|
||||
content/browser/ZenUIManager.mjs (../../zen/common/ZenUIManager.mjs)
|
||||
content/browser/zen-components/ZenActorsManager.mjs (../../zen/common/ZenActorsManager.mjs)
|
||||
content/browser/zen-components/ZenEmojies.mjs (../../zen/common/ZenEmojies.mjs)
|
||||
content/browser/ZenCustomizableUI.sys.mjs (../../zen/common/ZenCustomizableUI.sys.mjs)
|
||||
content/browser/zen-components/ZenUIMigration.mjs (../../zen/common/ZenUIMigration.mjs)
|
||||
content/browser/zen-components/ZenCommonUtils.mjs (../../zen/common/ZenCommonUtils.mjs)
|
||||
content/browser/zen-components/ZenSessionStore.mjs (../../zen/common/ZenSessionStore.mjs)
|
||||
content/browser/zen-components/ZenEmojisData.min.mjs (../../zen/common/emojis/ZenEmojisData.min.mjs)
|
||||
content/browser/zen-components/ZenEmojiPicker.mjs (../../zen/common/emojis/ZenEmojiPicker.mjs)
|
||||
|
||||
content/browser/zen-styles/zen-theme.css (../../zen/common/styles/zen-theme.css)
|
||||
content/browser/zen-styles/zen-buttons.css (../../zen/common/styles/zen-buttons.css)
|
||||
@@ -35,11 +39,12 @@
|
||||
content/browser/zen-components/ZenViewSplitter.mjs (../../zen/split-view/ZenViewSplitter.mjs)
|
||||
content/browser/zen-styles/zen-decks.css (../../zen/split-view/zen-decks.css)
|
||||
|
||||
content/browser/zen-components/ZenMods.mjs (../../zen/mods/ZenMods.mjs)
|
||||
content/browser/zen-components/ZenMods.mjs (../../zen/mods/ZenMods.mjs)
|
||||
|
||||
content/browser/zen-components/ZenWorkspaceIcons.mjs (../../zen/workspaces/ZenWorkspaceIcons.mjs)
|
||||
content/browser/zen-components/ZenWorkspace.mjs (../../zen/workspaces/ZenWorkspace.mjs)
|
||||
content/browser/zen-components/ZenWorkspaces.mjs (../../zen/workspaces/ZenWorkspaces.mjs)
|
||||
content/browser/zen-components/ZenWorkspaceCreation.mjs (../../zen/workspaces/ZenWorkspaceCreation.mjs)
|
||||
content/browser/zen-components/ZenWorkspacesStorage.mjs (../../zen/workspaces/ZenWorkspacesStorage.mjs)
|
||||
content/browser/zen-components/ZenWorkspacesSync.mjs (../../zen/workspaces/ZenWorkspacesSync.mjs)
|
||||
content/browser/zen-components/ZenGradientGenerator.mjs (../../zen/workspaces/ZenGradientGenerator.mjs)
|
||||
@@ -80,7 +85,7 @@
|
||||
content/browser/zen-images/note-indicator.svg (../../zen/images/note-indicator.svg)
|
||||
|
||||
content/browser/zen-images/downloads/download.svg (../../zen/images/downloads/download.svg)
|
||||
content/browser/zen-images/downloads/archive.svg (../../zen/images/downloads/archive.svg)
|
||||
content/browser/zen-images/downloads/archive.svg (../../zen/images/downloads/archive.svg)
|
||||
|
||||
# Fonts
|
||||
content/browser/zen-fonts/JunicodeVF-Italic.woff2 (../../zen/fonts/JunicodeVF-Italic.woff2)
|
||||
@@ -91,13 +96,13 @@
|
||||
content/browser/zen-vendor/motion.min.mjs (../../zen/vendor/motion.min.mjs)
|
||||
|
||||
# FavIcons for startup
|
||||
content/browser/zen-images/favicons/calendar.ico (../../zen/images/favicons/calendar.ico)
|
||||
content/browser/zen-images/favicons/discord.ico (../../zen/images/favicons/discord.ico)
|
||||
content/browser/zen-images/favicons/figma.ico (../../zen/images/favicons/figma.ico)
|
||||
content/browser/zen-images/favicons/github.ico (../../zen/images/favicons/github.ico)
|
||||
content/browser/zen-images/favicons/notion.ico (../../zen/images/favicons/notion.ico)
|
||||
content/browser/zen-images/favicons/obsidian.ico (../../zen/images/favicons/obsidian.ico)
|
||||
content/browser/zen-images/favicons/slack.ico (../../zen/images/favicons/slack.ico)
|
||||
content/browser/zen-images/favicons/reddit.ico (../../zen/images/favicons/reddit.ico)
|
||||
content/browser/zen-images/favicons/x.ico (../../zen/images/favicons/x.ico)
|
||||
content/browser/zen-images/favicons/trello.ico (../../zen/images/favicons/trello.ico)
|
||||
content/browser/zen-images/favicons/calendar.ico (../../zen/images/favicons/calendar.ico)
|
||||
content/browser/zen-images/favicons/discord.ico (../../zen/images/favicons/discord.ico)
|
||||
content/browser/zen-images/favicons/figma.ico (../../zen/images/favicons/figma.ico)
|
||||
content/browser/zen-images/favicons/github.ico (../../zen/images/favicons/github.ico)
|
||||
content/browser/zen-images/favicons/notion.ico (../../zen/images/favicons/notion.ico)
|
||||
content/browser/zen-images/favicons/obsidian.ico (../../zen/images/favicons/obsidian.ico)
|
||||
content/browser/zen-images/favicons/slack.ico (../../zen/images/favicons/slack.ico)
|
||||
content/browser/zen-images/favicons/reddit.ico (../../zen/images/favicons/reddit.ico)
|
||||
content/browser/zen-images/favicons/x.ico (../../zen/images/favicons/x.ico)
|
||||
content/browser/zen-images/favicons/trello.ico (../../zen/images/favicons/trello.ico)
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 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/.
|
||||
|
||||
<commandset id="zenCommandSet">
|
||||
<command id="cmd_zenCompactModeToggle" />
|
||||
<command id="cmd_zenCompactModeShowSidebar" />
|
||||
@@ -33,8 +37,14 @@
|
||||
<command id="cmd_zenToggleTabsOnRight" />
|
||||
|
||||
<command id="cmd_zenReplacePinnedUrlWithCurrent" />
|
||||
<command id="cmd_zenAddToEssentials" />
|
||||
<command id="cmd_zenRemoveFromEssentials" />
|
||||
<command id="cmd_contextZenAddToEssentials" />
|
||||
<command id="cmd_contextZenRemoveFromEssentials" />
|
||||
|
||||
<command id="cmd_zenCtxDeleteWorkspace" />
|
||||
<command id="cmd_zenChangeWorkspaceName" />
|
||||
<command id="cmd_zenChangeWorkspaceIcon" />
|
||||
<command id="cmd_zenReorderWorkspaces" />
|
||||
<command id="cmd_zenOpenWorkspaceCreation" />
|
||||
|
||||
<command id="cmd_zenPinnedTabReset" />
|
||||
<command id="cmd_zenPinnedTabResetNoTab" />
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
# 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/.
|
||||
|
||||
<link rel="localization" href="browser/zen-workspaces.ftl"/>
|
||||
<link rel="localization" href="browser/zen-split-view.ftl"/>
|
||||
|
||||
11
src/browser/base/content/zen-panels/emojis-picker.inc
Normal file
11
src/browser/base/content/zen-panels/emojis-picker.inc
Normal file
@@ -0,0 +1,11 @@
|
||||
# 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/.
|
||||
|
||||
<panel type="arrow" orient="vertical" id="PanelUI-zen-emojis-picker" position="bottomright topright" side="bottom">
|
||||
<hbox id="PanelUI-zen-emojis-picker-header">
|
||||
<html:input type="search" id="PanelUI-zen-emojis-picker-search" placeholder="Search emojis" />
|
||||
<toolbarbutton id="PanelUI-zen-emojis-picker-none" class="toolbarbutton-1" />
|
||||
</hbox>
|
||||
<hbox id="PanelUI-zen-emojis-picker-list" />
|
||||
</panel>
|
||||
61
src/browser/base/content/zen-panels/gradient-generator.inc
Normal file
61
src/browser/base/content/zen-panels/gradient-generator.inc
Normal file
@@ -0,0 +1,61 @@
|
||||
# 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/.
|
||||
|
||||
<panel flip="side" type="arrow" popupalign="center" orient="vertical" id="PanelUI-zen-gradient-generator" position="bottomright topright" mainview="true" side="left">
|
||||
<panelmultiview id="PanelUI-zen-gradient-generator-multiview" mainViewId="PanelUI-zen-gradient-generator-view">
|
||||
<panelview id="PanelUI-zen-gradient-generator-view" class="PanelUI-subView zen-theme-picker" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<hbox>
|
||||
<hbox id="PanelUI-zen-gradient-generator-predefined">
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="219,99" style="background: linear-gradient(135deg, rgb(117, 255, 136), rgb(60, 66, 58));"></box>
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="167,201" style="background: linear-gradient(135deg, #a03fe0, #382b5c);"></box>
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="90,170" style="background: linear-gradient(135deg, #c57aa3, #af824f);"></box>
|
||||
<box data-algo="splitComplementary" data-num-dots="3" data-position="83,103" style="background: linear-gradient(135deg, #1e90ff, #968a4a);"></box>
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="186,186" style="background: linear-gradient(135deg, #a07a48, #ab80e4);"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="196,176" style="background: #7bcbda;"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="116,167" style="background: #be9ac9;"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="122,110" style="background: #cdcea1;"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="181,83" style="background: #6ac593;"></box>
|
||||
<box data-algo="complementary" data-num-dots="2" data-position="82,112" style="background: linear-gradient(135deg, #1e90ff, #cfb179);"></box>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<hbox class="zen-theme-picker-gradient">
|
||||
<box id="PanelUI-zen-gradient-generator-rotation-dot"></box>
|
||||
<box id="PanelUI-zen-gradient-generator-rotation-line"></box>
|
||||
<box id="PanelUI-zen-gradient-generator-color-actions">
|
||||
<button id="PanelUI-zen-gradient-generator-color-add" class="subviewbutton">
|
||||
</button>
|
||||
<button id="PanelUI-zen-gradient-generator-color-remove" class="subviewbutton">
|
||||
</button>
|
||||
<html:div class="separator"></html:div>
|
||||
<button id="PanelUI-zen-gradient-generator-color-toggle-algo" class="subviewbutton" data-l10n-id="zen-panel-ui-gradient-generator-algo-floating">
|
||||
</button>
|
||||
</box>
|
||||
<label data-l10n-id="zen-panel-ui-gradient-click-to-add" id="PanelUI-zen-gradient-generator-color-click-to-add"></label>
|
||||
</hbox>
|
||||
<hbox id="PanelUI-zen-gradient-generator-controls">
|
||||
<hbox id="PanelUI-zen-gradient-colors-wrapper">
|
||||
<vbox flex="1">
|
||||
<label data-l10n-id="zen-panel-ui-gradient-generator-opacity-text"></label>
|
||||
<html:input type="range" min="0" max="1" value="0.5" step="0.05" id="PanelUI-zen-gradient-generator-opacity" />
|
||||
</vbox>
|
||||
<vbox id="PanelUI-zen-gradient-generator-texture-wrapper">
|
||||
</vbox>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<vbox id="PanelUI-zen-gradient-generator-custom-colors">
|
||||
<vbox id="zen-theme-picker-color">
|
||||
<label data-l10n-id="zen-panel-ui-gradient-generator-custom-color"></label>
|
||||
<hbox>
|
||||
<html:input type="text" placeholder="#000000" id="PanelUI-zen-gradient-generator-custom-input" />
|
||||
<toolbarbutton id="PanelUI-zen-gradient-generator-color-custom-add" class="subviewbutton">
|
||||
<image></image>
|
||||
</toolbarbutton>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox id="PanelUI-zen-gradient-generator-custom-list">
|
||||
</vbox>
|
||||
</vbox>
|
||||
</panelview>
|
||||
</panelmultiview>
|
||||
</panel>
|
||||
32
src/browser/base/content/zen-panels/popups.inc
Normal file
32
src/browser/base/content/zen-panels/popups.inc
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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/.
|
||||
|
||||
<menupopup id="zenCreateNewPopup">
|
||||
<menuitem data-l10n-id="tabs-toolbar-new-tab" command="cmd_newNavigatorTab" image="chrome://browser/skin/zen-icons/plus.svg" />
|
||||
<menuseparator/>
|
||||
<menuitem data-l10n-id="zen-panel-ui-workspaces-create" command="cmd_zenOpenWorkspaceCreation" image="chrome://browser/skin/zen-icons/duplicate-tab.svg" />
|
||||
</menupopup>
|
||||
|
||||
<menupopup id="zenWorkspaceMoreActions">
|
||||
<menuitem id="context_zenEditWorkspace" data-l10n-id="zen-workspaces-panel-change-name" command="cmd_zenChangeWorkspaceName"/>
|
||||
<menuitem id="context_zenEditWorkspaceIcon" data-l10n-id="zen-workspaces-panel-change-icon" command="cmd_zenChangeWorkspaceIcon"/>
|
||||
<menuitem class="zenToolbarThemePicker"
|
||||
id="context_zenChangeWorkspaceTheme"
|
||||
data-l10n-id="zen-workspaces-change-theme"
|
||||
command="cmd_zenOpenZenThemePicker"/>
|
||||
<menu id="context_zenWorkspacesOpenInContainerTab"
|
||||
data-l10n-id="zen-workspaces-panel-context-default-profile"
|
||||
selection-type="single"
|
||||
node-type="link"
|
||||
hide-if-private-browsing="true"
|
||||
hide-if-usercontext-disabled="true">
|
||||
<menupopup />
|
||||
</menu>
|
||||
<menuseparator id="context_zenWorkspacesSeparator"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="context_zenReorderWorkspaces" data-l10n-id="zen-workspaces-panel-context-reorder" command="cmd_zenReorderWorkspaces"/>
|
||||
<menuseparator/>
|
||||
<menuitem data-l10n-id="zen-panel-ui-workspaces-create" command="cmd_zenOpenWorkspaceCreation"/>
|
||||
<menuitem id="context_zenDeleteWorkspace" data-l10n-id="zen-workspaces-panel-context-delete" command="cmd_zenCtxDeleteWorkspace"/>
|
||||
</menupopup>
|
||||
@@ -1,131 +1,8 @@
|
||||
# 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/.
|
||||
|
||||
<panel flip="side" type="arrow" orient="vertical" id="PanelUI-zen-gradient-generator" position="bottomright topright" mainview="true" side="left">
|
||||
<panelmultiview id="PanelUI-zen-gradient-generator-multiview" mainViewId="PanelUI-zen-gradient-generator-view">
|
||||
<panelview id="PanelUI-zen-gradient-generator-view" class="PanelUI-subView zen-theme-picker" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<hbox>
|
||||
<hbox id="PanelUI-zen-gradient-generator-predefined">
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="219,99" style="background: linear-gradient(135deg, rgb(117, 255, 136), rgb(60, 66, 58));"></box>
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="167,201" style="background: linear-gradient(135deg, #a03fe0, #382b5c);"></box>
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="90,170" style="background: linear-gradient(135deg, #c57aa3, #af824f);"></box>
|
||||
<box data-algo="splitComplementary" data-num-dots="3" data-position="83,103" style="background: linear-gradient(135deg, #1e90ff, #968a4a);"></box>
|
||||
<box data-algo="analogous" data-num-dots="3" data-position="186,186" style="background: linear-gradient(135deg, #a07a48, #ab80e4);"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="196,176" style="background: #7bcbda;"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="116,167" style="background: #be9ac9;"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="122,110" style="background: #cdcea1;"></box>
|
||||
<box data-algo="float" data-num-dots="1" data-position="181,83" style="background: #6ac593;"></box>
|
||||
<box data-algo="complementary" data-num-dots="2" data-position="82,112" style="background: linear-gradient(135deg, #1e90ff, #cfb179);"></box>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<hbox class="zen-theme-picker-gradient">
|
||||
<box id="PanelUI-zen-gradient-generator-rotation-dot"></box>
|
||||
<box id="PanelUI-zen-gradient-generator-rotation-line"></box>
|
||||
<box id="PanelUI-zen-gradient-generator-color-actions">
|
||||
<button id="PanelUI-zen-gradient-generator-color-add" class="subviewbutton">
|
||||
</button>
|
||||
<button id="PanelUI-zen-gradient-generator-color-remove" class="subviewbutton">
|
||||
</button>
|
||||
<html:div class="separator"></html:div>
|
||||
<button id="PanelUI-zen-gradient-generator-color-toggle-algo" class="subviewbutton" data-l10n-id="zen-panel-ui-gradient-generator-algo-floating">
|
||||
</button>
|
||||
</box>
|
||||
<label data-l10n-id="zen-panel-ui-gradient-click-to-add" id="PanelUI-zen-gradient-generator-color-click-to-add"></label>
|
||||
</hbox>
|
||||
<hbox id="PanelUI-zen-gradient-generator-controls">
|
||||
<hbox id="PanelUI-zen-gradient-colors-wrapper">
|
||||
<vbox flex="1">
|
||||
<label data-l10n-id="zen-panel-ui-gradient-generator-opacity-text"></label>
|
||||
<html:input type="range" min="0" max="1" value="0.5" step="0.05" id="PanelUI-zen-gradient-generator-opacity" />
|
||||
</vbox>
|
||||
<vbox id="PanelUI-zen-gradient-generator-texture-wrapper">
|
||||
</vbox>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<vbox id="PanelUI-zen-gradient-generator-custom-colors">
|
||||
<vbox id="zen-theme-picker-color">
|
||||
<label data-l10n-id="zen-panel-ui-gradient-generator-custom-color"></label>
|
||||
<hbox>
|
||||
<html:input type="text" placeholder="#000000" id="PanelUI-zen-gradient-generator-custom-input" />
|
||||
<toolbarbutton id="PanelUI-zen-gradient-generator-color-custom-add" class="subviewbutton">
|
||||
<image></image>
|
||||
</toolbarbutton>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox id="PanelUI-zen-gradient-generator-custom-list">
|
||||
</vbox>
|
||||
</vbox>
|
||||
</panelview>
|
||||
</panelmultiview>
|
||||
</panel>
|
||||
#include zen-panels/gradient-generator.inc
|
||||
#include zen-panels/emojis-picker.inc
|
||||
|
||||
<panel flip="slide" type="arrow" orient="vertical" id="PanelUI-zen-workspaces" position="bottomright topright" mainview="true" side="left">
|
||||
<panelmultiview id="PanelUI-zen-workspaces-multiview" mainViewId="PanelUI-zen-workspaces-view">
|
||||
<panelview id="PanelUI-zen-workspaces-view" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true" closemenu="none">
|
||||
<vbox>
|
||||
<hbox>
|
||||
<h3 data-l10n-id="zen-panel-ui-workspaces-text" id="PanelUI-zen-workspaces-header"></h3>
|
||||
<toolbarbutton id="PanelUI-zen-workspaces-reorder-mode" class="subviewbutton">
|
||||
<image></image>
|
||||
</toolbarbutton>
|
||||
<toolbarbutton id="PanelUI-zen-workspaces-new" class="subviewbutton">
|
||||
<image></image>
|
||||
</toolbarbutton>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<html:div id="PanelUI-zen-workspaces-list">
|
||||
</html:div>
|
||||
</panelview>
|
||||
<panelview id="PanelUI-zen-workspaces-create" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox class="PanelUI-zen-workspaces-user-create">
|
||||
<h1 data-l10n-id="zen-panel-ui-workspaces-create-text"></h1>
|
||||
<hbox class="PanelUI-zen-workspaces-creation-wraper">
|
||||
<hbox class="PanelUI-zen-workspaces-icons-container create"></hbox>
|
||||
<html:input autofocus="true" id="PanelUI-zen-workspaces-create-input" type="text" placeholder="Enter workspace name" />
|
||||
</hbox>
|
||||
</vbox>
|
||||
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-create-footer">
|
||||
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-create-save" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
|
||||
</button>
|
||||
<button id="PanelUI-zen-workspaces-create-cancel" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
|
||||
</button>
|
||||
</html:moz-button-group>
|
||||
</panelview>
|
||||
<panelview id="PanelUI-zen-workspaces-edit" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox class="PanelUI-zen-workspaces-user-create">
|
||||
<h1 data-l10n-id="zen-panel-ui-workspaces-edit-text"></h1>
|
||||
<hbox class="PanelUI-zen-workspaces-creation-wraper">
|
||||
<hbox class="PanelUI-zen-workspaces-icons-container edit"></hbox>
|
||||
<html:input autofocus="true" id="PanelUI-zen-workspaces-edit-input" type="text" placeholder="Enter workspace name" />
|
||||
</hbox>
|
||||
</vbox>
|
||||
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-edit-footer">
|
||||
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-edit-save" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-edit-save">
|
||||
</button>
|
||||
<button id="PanelUI-zen-workspaces-edit-cancel" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-edit-cancel">
|
||||
</button>
|
||||
</html:moz-button-group>
|
||||
</panelview>
|
||||
<panelview id="PanelUI-zen-workspaces-icon-picker" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox id="PanelUI-zen-workspaces-icon-picker-wrapper">
|
||||
<html:div id="PanelUI-zen-workspaces-icon-search-bar">
|
||||
<html:input autofocus="true" type="text" id="PanelUI-zen-workspaces-icon-search-input"/>
|
||||
</html:div>
|
||||
</vbox>
|
||||
</panelview>
|
||||
</panelmultiview>
|
||||
</panel>
|
||||
|
||||
<menupopup id="zenWorkspaceActionsMenu">
|
||||
<menuitem id="context_zenOpenWorkspace" data-l10n-id="zen-workspaces-panel-context-open"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="context_zenEditWorkspace" data-l10n-id="zen-workspaces-panel-context-edit"/>
|
||||
<menu id="context_zenWorkspacesOpenInContainerTab"
|
||||
data-l10n-id="zen-workspaces-panel-context-open-in-container-tab"
|
||||
selection-type="single"
|
||||
node-type="link"
|
||||
hide-if-private-browsing="true"
|
||||
hide-if-usercontext-disabled="true">
|
||||
<menupopup />
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menuitem id="context_zenDeleteWorkspace" data-l10n-id="zen-workspaces-panel-context-delete"/>
|
||||
</menupopup>
|
||||
#include zen-panels/popups.inc
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 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/.
|
||||
|
||||
# This needs to be here, before all the other scripts, because it's used before
|
||||
# the window is fully loaded.
|
||||
# Make sure they are loaded before the global-scripts.inc file.
|
||||
@@ -10,4 +14,3 @@
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspacesSync.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenActorsManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenSessionStore.mjs"></script>
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
# 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/.
|
||||
|
||||
#include ../../../zen/media/zen-media-controls.inc.xhtml
|
||||
|
||||
<toolbar brighttext="true"
|
||||
id="zen-sidebar-bottom-buttons"
|
||||
id="zen-sidebar-foot-buttons"
|
||||
fullscreentoolbar="true"
|
||||
class="browser-toolbar customization-target"
|
||||
data-l10n-id="tabs-toolbar"
|
||||
@@ -10,4 +15,5 @@
|
||||
mode="icons">
|
||||
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" command="cmd_zenToggleSidebar" data-l10n-id="sidebar-zen-expand"></toolbarbutton>
|
||||
<zen-workspace-icons id="zen-workspaces-button" overflows="false" removable="false"></zen-workspace-icons>
|
||||
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-create-new-button" context="zenCreateNewPopup" data-l10n-id="sidebar-zen-create-new"></toolbarbutton>
|
||||
</toolbar>
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 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/.
|
||||
|
||||
<vbox id="zen-toast-container"></vbox>
|
||||
|
||||
#include ../../../zen/split-view/zen-splitview-overlay.inc.xhtml
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
|
||||
index 689205034d9df67ff1fe0ebbf4a3481a5f414391..2626b7286deb51f66b6ccbbc32d510139cacb109 100644
|
||||
index 689205034d9df67ff1fe0ebbf4a3481a5f414391..2fab7474f1038a7a3cd2f4b4798d59696900cc85 100644
|
||||
--- a/browser/components/customizableui/content/panelUI.js
|
||||
+++ b/browser/components/customizableui/content/panelUI.js
|
||||
@@ -516,8 +516,7 @@ const PanelUI = {
|
||||
@@ -12,7 +12,20 @@ index 689205034d9df67ff1fe0ebbf4a3481a5f414391..2626b7286deb51f66b6ccbbc32d51013
|
||||
.appendChild(tempPanel);
|
||||
|
||||
let multiView = document.createXULElement("panelmultiview");
|
||||
@@ -959,7 +958,7 @@ const PanelUI = {
|
||||
@@ -608,10 +607,12 @@ const PanelUI = {
|
||||
if (hasKids && !this.navbar.hasAttribute("nonemptyoverflow")) {
|
||||
this.navbar.setAttribute("nonemptyoverflow", "true");
|
||||
this.overflowPanel.setAttribute("hasfixeditems", "true");
|
||||
+ window.document.getElementById("zen-sidebar-top-buttons").setAttribute("nonemptyoverflow", "true");
|
||||
} else if (!hasKids && this.navbar.hasAttribute("nonemptyoverflow")) {
|
||||
PanelMultiView.hidePopup(this.overflowPanel);
|
||||
this.overflowPanel.removeAttribute("hasfixeditems");
|
||||
this.navbar.removeAttribute("nonemptyoverflow");
|
||||
+ window.document.getElementById("zen-sidebar-top-buttons").removeAttribute("nonemptyoverflow");
|
||||
}
|
||||
},
|
||||
|
||||
@@ -959,7 +960,7 @@ const PanelUI = {
|
||||
el.removeAttribute("data-lazy-l10n-id");
|
||||
});
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
- [New Tab Documentation](https://firefox-source-docs.mozilla.org/browser/components/newtab/docs/index.html)
|
||||
- You also need `meow@9.0.0` (that's the one I tested) because other versions might not work.
|
||||
- To bundle the new tab, execute the following:
|
||||
- To bundle the new tab, execute the following command:
|
||||
|
||||
```
|
||||
./mach npm run bundle --prefix=browser/components/newtab
|
||||
|
||||
@@ -131,6 +131,11 @@ var gZenMarketplaceManager = {
|
||||
return this._modsList;
|
||||
},
|
||||
|
||||
_triggerBuildUpdateWithoutRebuild() {
|
||||
this._doNotRebuildModsList = true;
|
||||
gZenMods.triggerModsUpdate();
|
||||
},
|
||||
|
||||
async removeMod(modId) {
|
||||
await gZenMods.removeMod(modId);
|
||||
|
||||
@@ -140,20 +145,13 @@ var gZenMarketplaceManager = {
|
||||
async disableMod(modId) {
|
||||
await gZenMods.disableMod(modId);
|
||||
|
||||
this._doNotRebuildModsList = true;
|
||||
gZenMods.triggerModsUpdate();
|
||||
this._triggerBuildUpdateWithoutRebuild();
|
||||
},
|
||||
|
||||
async enableMod(modId) {
|
||||
await gZenMods.enableMod(modId);
|
||||
|
||||
this._doNotRebuildModsList = true;
|
||||
gZenMods.triggerModsUpdate();
|
||||
},
|
||||
|
||||
_triggerBuildUpdateWithoutRebuild() {
|
||||
this._doNotRebuildModsList = true;
|
||||
gZenMods.triggerModsUpdate();
|
||||
this._triggerBuildUpdateWithoutRebuild();
|
||||
},
|
||||
|
||||
async _importThemes() {
|
||||
@@ -635,24 +633,9 @@ const kZenExtendedSidebar = 'zen.view.sidebar-expanded';
|
||||
const kZenSingleToolbar = 'zen.view.use-single-toolbar';
|
||||
|
||||
var gZenLooksAndFeel = {
|
||||
kZenColors: [
|
||||
'#aac7ff',
|
||||
'#74d7cb',
|
||||
'#a0d490',
|
||||
'#dec663',
|
||||
'#ffb787',
|
||||
'#dec1b1',
|
||||
'#ffb1c0',
|
||||
'#ddbfc3',
|
||||
'#f6b0ea',
|
||||
'#d4bbff',
|
||||
],
|
||||
|
||||
init() {
|
||||
if (this.__hasInitialized) return;
|
||||
this.__hasInitialized = true;
|
||||
this._initializeColorPicker(this._getInitialAccentColor());
|
||||
window.zenPageAccentColorChanged = this._handleAccentColorChange.bind(this);
|
||||
gZenMarketplaceManager.init();
|
||||
for (const pref of [kZenExtendedSidebar, kZenSingleToolbar]) {
|
||||
Services.prefs.addObserver(pref, this);
|
||||
@@ -745,37 +728,6 @@ var gZenLooksAndFeel = {
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_initializeColorPicker(accentColor) {
|
||||
let elem = document.getElementById('zenLooksAndFeelColorOptions');
|
||||
elem.innerHTML = '';
|
||||
|
||||
for (let color of this.kZenColors) {
|
||||
let colorElemParen = document.createElement('div');
|
||||
let colorElem = document.createElement('div');
|
||||
colorElemParen.classList.add('zenLooksAndFeelColorOptionParen');
|
||||
colorElem.classList.add('zenLooksAndFeelColorOption');
|
||||
colorElem.style.setProperty('--zen-primary-color', color, 'important');
|
||||
if (accentColor === color) {
|
||||
colorElemParen.setAttribute('selected', 'true');
|
||||
}
|
||||
colorElemParen.addEventListener('click', () => {
|
||||
Services.prefs.setBoolPref('zen.theme.color-prefs.use-workspace-colors', false);
|
||||
Services.prefs.setStringPref('zen.theme.accent-color', color);
|
||||
});
|
||||
colorElemParen.appendChild(colorElem);
|
||||
elem.appendChild(colorElemParen);
|
||||
}
|
||||
// TODO: add custom color selection!
|
||||
},
|
||||
|
||||
_handleAccentColorChange(accentColor) {
|
||||
this._initializeColorPicker(accentColor);
|
||||
},
|
||||
|
||||
_getInitialAccentColor() {
|
||||
return Services.prefs.getStringPref('zen.theme.accent-color', this.kZenColors[0]);
|
||||
},
|
||||
};
|
||||
|
||||
var gZenWorkspacesSettings = {
|
||||
@@ -1046,9 +998,12 @@ var gZenCKSSettings = {
|
||||
|
||||
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-not-set`);
|
||||
|
||||
// This is because on some OSs (windows/macos mostly) the key is not the same as the keycode
|
||||
// e.g. CTRL+ALT+3 may be displayed as the euro sign
|
||||
let shortcut = event.key;
|
||||
// First, try to read the *physical* key via event.code.
|
||||
// If event.code is like "KeyS", "KeyA", ..., strip off "Key" → "S".
|
||||
// Otherwise, fall back to event.key (e.g. "F5", "Enter", etc.).
|
||||
let shortcut;
|
||||
if (event.code && event.code.startsWith('Key')) shortcut = event.code.slice(3);
|
||||
else shortcut = event.key;
|
||||
|
||||
shortcut = shortcut.replace(/Ctrl|Control|Shift|Alt|Option|Cmd|Meta/, ''); // Remove all modifiers
|
||||
|
||||
@@ -1182,11 +1137,6 @@ Preferences.addAll([
|
||||
type: 'bool',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
id: 'zen.theme.color-prefs.use-workspace-colors',
|
||||
type: 'bool',
|
||||
default: false,
|
||||
},
|
||||
{
|
||||
id: 'zen.view.compact.color-toolbar',
|
||||
type: 'bool',
|
||||
|
||||
@@ -39,35 +39,9 @@
|
||||
data-l10n-id="zen-vertical-tabs-newtab-top-button-up"
|
||||
preference="zen.view.show-newtab-button-top"/>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
|
||||
<hbox id="zenLooksCategory"
|
||||
class="subcategory"
|
||||
hidden="true"
|
||||
data-category="paneZenLooks">
|
||||
<html:h1 data-l10n-id="pane-zen-looks-title"/>
|
||||
</hbox>
|
||||
|
||||
<groupbox id="zenLooksAndFeelGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
|
||||
<label><html:h2 data-l10n-id="zen-look-and-feel-colors-header"/></label>
|
||||
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-colors-description" />
|
||||
|
||||
<hbox id="zenLooksAndFeelColorOptions" align="center">
|
||||
</hbox>
|
||||
|
||||
<html:div id="zen-theme-builder-wrapper"></html:div>
|
||||
|
||||
<box class="indent">
|
||||
<checkbox id="zenLooksAndFeelUseWorkspaceColors"
|
||||
data-l10n-id="zen-look-and-feel-use-workspace-colors"
|
||||
preference="zen.theme.color-prefs.use-workspace-colors"/>
|
||||
</box>
|
||||
|
||||
<hbox id="zenLooksAndFeelGradientPickerParent"></hbox>
|
||||
|
||||
<html:div data-l10n-id="preferences-web-appearance-footer">
|
||||
<html:a id="web-appearance-manage-themes-link" class="text-link" data-l10n-name="themes-link" href="about:addons" target="_blank" />
|
||||
</html:div>
|
||||
<html:div data-l10n-id="preferences-web-appearance-footer">
|
||||
<html:a id="web-appearance-manage-themes-link" class="text-link" data-l10n-name="themes-link" href="about:addons" target="_blank" />
|
||||
</html:div>
|
||||
</groupbox>
|
||||
|
||||
<hbox id="zenThemeCategory"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||
index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d634dadd4d 100644
|
||||
index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927c24bdc6d 100644
|
||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||
@@ -2088,7 +2088,6 @@ var SessionStoreInternal = {
|
||||
@@ -43,7 +43,24 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d6
|
||||
|
||||
if (inBackground === false) {
|
||||
aWindow.gBrowser.selectedTab = newTab;
|
||||
@@ -5239,7 +5241,7 @@ var SessionStoreInternal = {
|
||||
@@ -4361,6 +4363,7 @@ var SessionStoreInternal = {
|
||||
// Append the tab if we're opening into a different window,
|
||||
index: aSource == aTargetWindow ? pos : Infinity,
|
||||
pinned: state.pinned,
|
||||
+ essential: state.zenEssential,
|
||||
userContextId: state.userContextId,
|
||||
skipLoad: true,
|
||||
preferredRemoteType,
|
||||
@@ -5179,7 +5182,7 @@ var SessionStoreInternal = {
|
||||
|
||||
for (let i = tabbrowser.pinnedTabCount; i < tabbrowser.tabs.length; i++) {
|
||||
let tab = tabbrowser.tabs[i];
|
||||
- if (homePages.includes(tab.linkedBrowser.currentURI.spec)) {
|
||||
+ if (homePages.includes(tab.linkedBrowser.currentURI.spec) && !tab.hasAttribute("zen-empty-tab")) {
|
||||
removableTabs.push(tab);
|
||||
}
|
||||
}
|
||||
@@ -5239,7 +5242,7 @@ var SessionStoreInternal = {
|
||||
}
|
||||
|
||||
let workspaceID = aWindow.getWorkspaceID();
|
||||
@@ -52,7 +69,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d6
|
||||
winData.workspaceID = workspaceID;
|
||||
}
|
||||
},
|
||||
@@ -5430,14 +5432,15 @@ var SessionStoreInternal = {
|
||||
@@ -5430,14 +5433,15 @@ var SessionStoreInternal = {
|
||||
}
|
||||
|
||||
let tabbrowser = aWindow.gBrowser;
|
||||
@@ -70,7 +87,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d6
|
||||
continue;
|
||||
}
|
||||
let tabData = lazy.TabState.collect(tab, TAB_CUSTOM_VALUES.get(tab));
|
||||
@@ -5456,8 +5459,8 @@ var SessionStoreInternal = {
|
||||
@@ -5456,8 +5460,8 @@ var SessionStoreInternal = {
|
||||
// We don't store the Firefox View tab in Session Store, so if it was the last selected "tab" when
|
||||
// a window is closed, point to the first item in the tab strip instead (it will never be the Firefox View tab,
|
||||
// since it's only inserted into the tab strip after it's selected).
|
||||
@@ -81,7 +98,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d6
|
||||
winData.title = tabbrowser.tabs[0].label;
|
||||
}
|
||||
winData.selected = selectedIndex;
|
||||
@@ -5569,8 +5572,8 @@ var SessionStoreInternal = {
|
||||
@@ -5569,8 +5573,8 @@ var SessionStoreInternal = {
|
||||
// selectTab represents.
|
||||
let selectTab = 0;
|
||||
if (overwriteTabs) {
|
||||
@@ -92,7 +109,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d6
|
||||
selectTab = Math.min(selectTab, winData.tabs.length);
|
||||
}
|
||||
|
||||
@@ -5613,6 +5616,7 @@ var SessionStoreInternal = {
|
||||
@@ -5613,6 +5617,7 @@ var SessionStoreInternal = {
|
||||
winData.tabs,
|
||||
winData.groups ?? []
|
||||
);
|
||||
@@ -100,7 +117,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..8d0585e738a5a758ebbddfa0787c71d6
|
||||
this._log.debug(
|
||||
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
|
||||
);
|
||||
@@ -6162,6 +6166,22 @@ var SessionStoreInternal = {
|
||||
@@ -6162,6 +6167,22 @@ var SessionStoreInternal = {
|
||||
|
||||
// Most of tabData has been restored, now continue with restoring
|
||||
// attributes that may trigger external events.
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/browser/components/sessionstore/content/aboutSessionRestore.xhtml b/browser/components/sessionstore/content/aboutSessionRestore.xhtml
|
||||
index 05538be5d95492903e44076dc43e195cbc76c10d..3c2ee6a9d44802657c9e0d5ef6c78e0b3920a9a5 100644
|
||||
--- a/browser/components/sessionstore/content/aboutSessionRestore.xhtml
|
||||
+++ b/browser/components/sessionstore/content/aboutSessionRestore.xhtml
|
||||
@@ -20,6 +20,7 @@
|
||||
<link rel="localization" href="browser/aboutSessionRestore.ftl"/>
|
||||
<link rel="localization" href="branding/brand.ftl"/>
|
||||
<script src="chrome://browser/content/aboutSessionRestore.js"/>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b598a513c2 100644
|
||||
index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386ffc8ec0b 100644
|
||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
@@ -413,11 +413,41 @@
|
||||
@@ -9,7 +9,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
+ get _numVisiblePinTabsWithoutCollapsed() {
|
||||
+ let i = 0;
|
||||
+ for (let item of this.tabContainer.ariaFocusableItems) {
|
||||
+ if (!!item?.classList?.contains("tab-group-label") && item.closest("tab-group").pinned) {
|
||||
+ if (this.isTabGroupLabel(item) && item.closest("tab-group")?.pinned) {
|
||||
+ i += 1;
|
||||
+ continue;
|
||||
+ }
|
||||
@@ -54,7 +54,13 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
tab.linkedPanel = uniqueId;
|
||||
this._selectedTab = tab;
|
||||
this._selectedBrowser = browser;
|
||||
@@ -834,11 +865,13 @@
|
||||
@@ -829,16 +860,18 @@
|
||||
}
|
||||
|
||||
pinTab(aTab) {
|
||||
- if (aTab.pinned || aTab == FirefoxViewHandler.tab) {
|
||||
+ if (aTab.pinned || aTab == FirefoxViewHandler.tab || aTab.hasAttribute("zen-empty-tab")) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.showTab(aTab);
|
||||
@@ -182,15 +188,16 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
} else {
|
||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||
}
|
||||
@@ -2680,6 +2726,7 @@
|
||||
@@ -2680,6 +2726,8 @@
|
||||
schemelessInput,
|
||||
hasValidUserGestureActivation = false,
|
||||
textDirectiveUserActivation = false,
|
||||
+ _forZenEmptyTab,
|
||||
+ essential,
|
||||
} = {}
|
||||
) {
|
||||
// all callers of addTab that pass a params object need to pass
|
||||
@@ -2690,6 +2737,12 @@
|
||||
@@ -2690,6 +2738,12 @@
|
||||
);
|
||||
}
|
||||
|
||||
@@ -203,7 +210,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (!UserInteraction.running("browser.tabs.opening", window)) {
|
||||
UserInteraction.start("browser.tabs.opening", "initting", window);
|
||||
}
|
||||
@@ -2753,6 +2806,16 @@
|
||||
@@ -2753,6 +2807,19 @@
|
||||
noInitialLabel,
|
||||
skipBackgroundNotify,
|
||||
});
|
||||
@@ -216,11 +223,22 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
+ }
|
||||
+ if (_forZenEmptyTab) {
|
||||
+ t.setAttribute("zen-empty-tab", "true");
|
||||
+ }
|
||||
+ if (essential) {
|
||||
+ t.setAttribute("zen-essential", "true");
|
||||
+ }
|
||||
if (insertTab) {
|
||||
// Insert the tab into the tab container in the correct position.
|
||||
// For now, we support `index` as an alias for `tabIndex`.
|
||||
@@ -2783,6 +2846,7 @@
|
||||
@@ -2765,6 +2832,7 @@
|
||||
ownerTab,
|
||||
openerTab,
|
||||
pinned,
|
||||
+ essential,
|
||||
bulkOrderedOpen,
|
||||
tabGroup: tabGroup ?? openerTab?.group,
|
||||
});
|
||||
@@ -2783,6 +2851,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -228,7 +246,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
}));
|
||||
|
||||
if (focusUrlBar) {
|
||||
@@ -2902,6 +2966,12 @@
|
||||
@@ -2902,6 +2971,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,7 +259,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
// Additionally send pinned tab events
|
||||
if (pinned) {
|
||||
this._notifyPinnedStatus(t);
|
||||
@@ -2990,10 +3060,10 @@
|
||||
@@ -2990,10 +3065,10 @@
|
||||
isAdoptingGroup = false,
|
||||
isUserTriggered = false,
|
||||
telemetryUserCreateSource = "unknown",
|
||||
@@ -253,7 +271,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
}
|
||||
|
||||
if (!color) {
|
||||
@@ -3014,7 +3084,12 @@
|
||||
@@ -3014,7 +3089,12 @@
|
||||
label,
|
||||
isAdoptingGroup
|
||||
);
|
||||
@@ -267,7 +285,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
group,
|
||||
insertBefore?.group ?? insertBefore
|
||||
);
|
||||
@@ -3303,6 +3378,7 @@
|
||||
@@ -3303,6 +3383,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -275,7 +293,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
}
|
||||
) {
|
||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||
@@ -3372,6 +3448,7 @@
|
||||
@@ -3372,6 +3453,7 @@
|
||||
openWindowInfo,
|
||||
name,
|
||||
skipLoad,
|
||||
@@ -283,7 +301,18 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3560,7 +3637,7 @@
|
||||
@@ -3517,7 +3599,9 @@
|
||||
let shouldUpdateForPinnedTabs = false;
|
||||
/** @type {Map<TabGroupStateData['id'], TabGroupWorkingData>} */
|
||||
let tabGroupWorkingData = new Map();
|
||||
-
|
||||
+ if (this._hasAlreadyInitializedZenSessionStore) {
|
||||
+ selectTab += 1; // SessionStoreInternal.restoreTabs expects a 1-based index.
|
||||
+ }
|
||||
for (const tabGroupData of tabGroupDataList) {
|
||||
tabGroupWorkingData.set(tabGroupData.id, {
|
||||
stateData: tabGroupData,
|
||||
@@ -3560,7 +3644,7 @@
|
||||
// Add a new tab if needed.
|
||||
if (!tab) {
|
||||
let createLazyBrowser =
|
||||
@@ -292,7 +321,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
|
||||
let url = "about:blank";
|
||||
if (tabData.entries?.length) {
|
||||
@@ -3598,7 +3675,8 @@
|
||||
@@ -3598,7 +3682,8 @@
|
||||
skipLoad: true,
|
||||
preferredRemoteType,
|
||||
});
|
||||
@@ -302,7 +331,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (select) {
|
||||
tabToSelect = tab;
|
||||
}
|
||||
@@ -3622,7 +3700,8 @@
|
||||
@@ -3622,7 +3707,8 @@
|
||||
// needs calling:
|
||||
shouldUpdateForPinnedTabs = true;
|
||||
}
|
||||
@@ -312,7 +341,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
let { groupId } = tabData;
|
||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||
// if a tab refers to a tab group we don't know, skip any group
|
||||
@@ -3636,7 +3715,10 @@
|
||||
@@ -3636,7 +3722,10 @@
|
||||
tabGroup.stateData.id,
|
||||
tabGroup.stateData.color,
|
||||
tabGroup.stateData.collapsed,
|
||||
@@ -324,26 +353,31 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
);
|
||||
tabsFragment.appendChild(tabGroup.node);
|
||||
}
|
||||
@@ -3684,8 +3766,16 @@
|
||||
@@ -3684,9 +3773,23 @@
|
||||
// to remove the old selected tab.
|
||||
if (tabToSelect) {
|
||||
let leftoverTab = this.selectedTab;
|
||||
- this.selectedTab = tabToSelect;
|
||||
- this.removeTab(leftoverTab);
|
||||
+ gZenWorkspaces._tabToRemoveForEmpty = leftoverTab;
|
||||
+ if (Services.prefs.getBoolPref("zen.workspaces.continue-where-left-off")) {
|
||||
+ gZenWorkspaces._tabToSelect = selectTab - 1;
|
||||
+ }
|
||||
+ if (gZenWorkspaces._initialTab && !gZenVerticalTabsManager._canReplaceNewTab) {
|
||||
+ gZenWorkspaces._initialTab._shouldRemove = true;
|
||||
+ if (this._hasAlreadyInitializedZenSessionStore || !gZenWorkspaces.workspaceEnabled) {
|
||||
this.selectedTab = tabToSelect;
|
||||
this.removeTab(leftoverTab);
|
||||
+ } else {
|
||||
+ gZenWorkspaces._tabToRemoveForEmpty = leftoverTab;
|
||||
+ if (Services.prefs.getBoolPref("zen.workspaces.continue-where-left-off")) {
|
||||
+ gZenWorkspaces._tabToSelect = selectTab - 1;
|
||||
+ }
|
||||
+ if (gZenWorkspaces._initialTab && !gZenVerticalTabsManager._canReplaceNewTab) {
|
||||
+ gZenWorkspaces._initialTab._shouldRemove = true;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ else {
|
||||
+ gZenWorkspaces._tabToRemoveForEmpty = this.selectedTab;
|
||||
}
|
||||
+ this._hasAlreadyInitializedZenSessionStore = true;
|
||||
|
||||
if (tabs.length > 1 || !tabs[0].selected) {
|
||||
@@ -3881,7 +3971,7 @@
|
||||
this._updateTabsAfterInsert();
|
||||
@@ -3881,7 +3984,7 @@
|
||||
// Ensure we have an index if one was not provided.
|
||||
if (typeof elementIndex != "number" && typeof tabIndex != "number") {
|
||||
// Move the new tab after another tab if needed, to the end otherwise.
|
||||
@@ -352,16 +386,16 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (
|
||||
!bulkOrderedOpen &&
|
||||
((openerTab &&
|
||||
@@ -3904,7 +3994,7 @@
|
||||
@@ -3904,7 +4007,7 @@
|
||||
) {
|
||||
elementIndex = Infinity;
|
||||
} else if (previousTab.visible) {
|
||||
- elementIndex = previousTab.elementIndex + 1;
|
||||
+ elementIndex = (typeof previousTab.elementIndex === 'undefined') ? index : (previousTab.elementIndex + 1);
|
||||
+ elementIndex = (typeof previousTab.elementIndex === 'undefined') ? elementIndex : (previousTab.elementIndex + 1);
|
||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||
elementIndex = 0;
|
||||
}
|
||||
@@ -3932,14 +4022,14 @@
|
||||
@@ -3932,14 +4035,14 @@
|
||||
}
|
||||
// Ensure index is within bounds.
|
||||
if (tab.pinned) {
|
||||
@@ -380,7 +414,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
|
||||
// Prevent a flash of unstyled content by setting up the tab content
|
||||
// and inherited attributes before appending it (see Bug 1592054):
|
||||
@@ -3947,7 +4037,7 @@
|
||||
@@ -3947,7 +4050,7 @@
|
||||
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
|
||||
@@ -389,7 +423,15 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
|
||||
// Place at the front of, or between tabs in, the same tab group
|
||||
this.tabContainer.insertBefore(tab, itemAfter);
|
||||
@@ -4268,6 +4358,9 @@
|
||||
@@ -3980,6 +4083,7 @@
|
||||
if (pinned) {
|
||||
this._updateTabBarForPinnedTabs();
|
||||
}
|
||||
+ gZenWorkspaces.fixTabInsertLocation(tab, itemAfter);
|
||||
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -4268,6 +4372,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -399,7 +441,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
this.removeTabs(selectedTabs, { telemetrySource });
|
||||
}
|
||||
|
||||
@@ -4520,6 +4613,7 @@
|
||||
@@ -4520,6 +4627,7 @@
|
||||
telemetrySource,
|
||||
} = {}
|
||||
) {
|
||||
@@ -407,7 +449,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||
// can be considered equivalent to closing the window.
|
||||
if (
|
||||
@@ -4604,6 +4698,7 @@
|
||||
@@ -4604,6 +4712,7 @@
|
||||
if (lastToClose) {
|
||||
this.removeTab(lastToClose, aParams);
|
||||
}
|
||||
@@ -415,7 +457,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
@@ -4641,6 +4736,12 @@
|
||||
@@ -4641,6 +4750,12 @@
|
||||
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
||||
}
|
||||
|
||||
@@ -428,7 +470,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
// Handle requests for synchronously removing an already
|
||||
// asynchronously closing tab.
|
||||
if (!animate && aTab.closing) {
|
||||
@@ -4655,7 +4756,9 @@
|
||||
@@ -4655,7 +4770,9 @@
|
||||
// frame created for it (for example, by updating the visually selected
|
||||
// state).
|
||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||
@@ -439,7 +481,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (
|
||||
!this._beginRemoveTab(aTab, {
|
||||
closeWindowFastpath: true,
|
||||
@@ -4821,7 +4924,7 @@
|
||||
@@ -4821,7 +4938,7 @@
|
||||
closeWindowWithLastTab != null
|
||||
? closeWindowWithLastTab
|
||||
: !window.toolbar.visible ||
|
||||
@@ -448,7 +490,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
|
||||
if (closeWindow) {
|
||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||
@@ -4845,6 +4948,7 @@
|
||||
@@ -4845,6 +4962,7 @@
|
||||
|
||||
newTab = true;
|
||||
}
|
||||
@@ -456,7 +498,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||
|
||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||
@@ -4885,9 +4989,7 @@
|
||||
@@ -4885,9 +5003,7 @@
|
||||
aTab._mouseleave();
|
||||
|
||||
if (newTab) {
|
||||
@@ -467,16 +509,15 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
} else {
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -5016,6 +5118,8 @@
|
||||
@@ -5016,6 +5132,7 @@
|
||||
this.tabs[i]._tPos = i;
|
||||
}
|
||||
|
||||
+ gZenWorkspaces.updateTabsContainers();
|
||||
+
|
||||
if (!this._windowIsClosing) {
|
||||
if (wasPinned) {
|
||||
this.tabContainer._positionPinnedTabs();
|
||||
@@ -5230,6 +5334,7 @@
|
||||
@@ -5230,6 +5347,7 @@
|
||||
}
|
||||
|
||||
let excludeTabs = new Set(aExcludeTabs);
|
||||
@@ -484,7 +525,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
|
||||
// If this tab has a successor, it should be selectable, since
|
||||
// hiding or closing a tab removes that tab as a successor.
|
||||
@@ -5242,13 +5347,13 @@
|
||||
@@ -5242,13 +5360,13 @@
|
||||
!excludeTabs.has(aTab.owner) &&
|
||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||
) {
|
||||
@@ -500,7 +541,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
);
|
||||
|
||||
let tab = this.tabContainer.findNextTab(aTab, {
|
||||
@@ -5264,7 +5369,7 @@
|
||||
@@ -5264,7 +5382,7 @@
|
||||
}
|
||||
|
||||
if (tab) {
|
||||
@@ -509,7 +550,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
}
|
||||
|
||||
// If no qualifying visible tab was found, see if there is a tab in
|
||||
@@ -5285,7 +5390,7 @@
|
||||
@@ -5285,7 +5403,7 @@
|
||||
});
|
||||
}
|
||||
|
||||
@@ -518,7 +559,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
}
|
||||
|
||||
_blurTab(aTab) {
|
||||
@@ -5686,10 +5791,10 @@
|
||||
@@ -5686,10 +5804,10 @@
|
||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||
}
|
||||
|
||||
@@ -531,7 +572,16 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
aTab.selected ||
|
||||
aTab.closing ||
|
||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||
@@ -5986,7 +6091,7 @@
|
||||
@@ -5909,7 +6027,7 @@
|
||||
* `true` if element is a `<tab-group>`
|
||||
*/
|
||||
isTabGroup(element) {
|
||||
- return !!(element?.tagName == "tab-group");
|
||||
+ return !!(element?.tagName == "tab-group" || element?.tagName == "zen-folder");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5986,7 +6104,7 @@
|
||||
|
||||
// Don't allow mixing pinned and unpinned tabs.
|
||||
if (this.isTab(element) && element.pinned) {
|
||||
@@ -540,7 +590,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
} else {
|
||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||
}
|
||||
@@ -6012,10 +6117,16 @@
|
||||
@@ -6012,10 +6130,16 @@
|
||||
this.#handleTabMove(
|
||||
element,
|
||||
() => {
|
||||
@@ -559,7 +609,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
|
||||
neighbor.after(element);
|
||||
} else {
|
||||
@@ -6084,17 +6195,29 @@
|
||||
@@ -6084,17 +6208,29 @@
|
||||
targetElement = targetElement.group;
|
||||
}
|
||||
}
|
||||
@@ -593,7 +643,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
if (element.pinned && this.tabContainer.verticalMode) {
|
||||
return this.tabContainer.verticalPinnedTabsContainer;
|
||||
}
|
||||
@@ -6154,7 +6277,7 @@
|
||||
@@ -6154,7 +6290,7 @@
|
||||
if (!this.isTab(aTab)) {
|
||||
throw new Error("Can only move a tab into a tab group");
|
||||
}
|
||||
@@ -602,7 +652,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
return;
|
||||
}
|
||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||
@@ -6248,6 +6371,10 @@
|
||||
@@ -6248,6 +6384,10 @@
|
||||
|
||||
moveActionCallback();
|
||||
|
||||
@@ -613,7 +663,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||
// changed.
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
@@ -7145,7 +7272,7 @@
|
||||
@@ -7145,7 +7285,7 @@
|
||||
// preventDefault(). It will still raise the window if appropriate.
|
||||
break;
|
||||
}
|
||||
@@ -622,7 +672,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
window.focus();
|
||||
aEvent.preventDefault();
|
||||
break;
|
||||
@@ -8044,6 +8171,7 @@
|
||||
@@ -8044,6 +8184,7 @@
|
||||
aWebProgress.isTopLevel
|
||||
) {
|
||||
this.mTab.setAttribute("busy", "true");
|
||||
@@ -630,7 +680,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||
}
|
||||
@@ -9009,7 +9137,7 @@ var TabContextMenu = {
|
||||
@@ -9009,7 +9150,7 @@ var TabContextMenu = {
|
||||
);
|
||||
contextUnpinSelectedTabs.hidden =
|
||||
!this.contextTab.pinned || !this.multiselected;
|
||||
@@ -639,7 +689,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..14f5bc046f2e54109bd3fd0402a8f8b5
|
||||
// Move Tab items
|
||||
let contextMoveTabOptions = document.getElementById(
|
||||
"context_moveTabOptions"
|
||||
@@ -9278,6 +9406,7 @@ var TabContextMenu = {
|
||||
@@ -9278,6 +9419,7 @@ var TabContextMenu = {
|
||||
telemetrySource: gBrowser.TabMetrics.METRIC_SOURCE.TAB_STRIP,
|
||||
});
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||
index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c574dfc103 100644
|
||||
index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783eae31cc79a 100644
|
||||
--- a/browser/components/tabbrowser/content/tabs.js
|
||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||
@@ -83,7 +83,7 @@
|
||||
@@ -100,23 +100,16 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
);
|
||||
let size = this.verticalMode ? "height" : "width";
|
||||
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
||||
@@ -1135,8 +1153,14 @@
|
||||
(lastMovingTabScreen + tabSize);
|
||||
|
||||
if (this.verticalMode) {
|
||||
+ if (oldTranslateY > 0 && translateOffsetY > tabHeight / 2) {
|
||||
+ newTranslateY += tabHeight;
|
||||
+ }
|
||||
+ if (oldTranslateY < 0 && -translateOffsetY > tabHeight / 2) {
|
||||
+ newTranslateY -= tabHeight;
|
||||
+ }
|
||||
newTranslateY = Math.min(
|
||||
- Math.max(oldTranslateY, firstBound),
|
||||
+ Math.max(newTranslateY, firstBound),
|
||||
lastBound
|
||||
);
|
||||
} else {
|
||||
@@ -1337,6 +1361,7 @@
|
||||
@@ -1168,7 +1186,7 @@
|
||||
(oldTranslateX && oldTranslateX != newTranslateX) ||
|
||||
(oldTranslateY && oldTranslateY != newTranslateY);
|
||||
} else if (this.verticalMode) {
|
||||
- shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY;
|
||||
+ shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY && movingTabs.length === 1;
|
||||
} else {
|
||||
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
|
||||
}
|
||||
@@ -1337,6 +1355,7 @@
|
||||
|
||||
let nextItem = this.ariaFocusableItems[newIndex];
|
||||
let tabGroup = isTab(nextItem) && nextItem.group;
|
||||
@@ -124,7 +117,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
gBrowser.loadTabs(urls, {
|
||||
inBackground,
|
||||
replace,
|
||||
@@ -1369,6 +1394,17 @@
|
||||
@@ -1369,6 +1388,17 @@
|
||||
|
||||
this.finishMoveTogetherSelectedTabs(draggedTab);
|
||||
this.finishAnimateTabMove();
|
||||
@@ -142,7 +135,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
this.#expandGroupOnDrop(draggedTab);
|
||||
|
||||
if (
|
||||
@@ -1597,7 +1633,7 @@
|
||||
@@ -1597,7 +1627,7 @@
|
||||
}
|
||||
|
||||
get newTabButton() {
|
||||
@@ -151,7 +144,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
}
|
||||
|
||||
get verticalMode() {
|
||||
@@ -1621,29 +1657,54 @@
|
||||
@@ -1621,29 +1651,54 @@
|
||||
if (this.#allTabs) {
|
||||
return this.#allTabs;
|
||||
}
|
||||
@@ -214,7 +207,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1698,23 +1759,18 @@
|
||||
@@ -1698,23 +1753,18 @@
|
||||
}
|
||||
|
||||
let elementIndex = 0;
|
||||
@@ -242,7 +235,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let visibleTabsInGroup = child.tabs.filter(tab => tab.visible);
|
||||
visibleTabsInGroup.forEach(tab => {
|
||||
tab.elementIndex = elementIndex++;
|
||||
@@ -1724,10 +1780,7 @@
|
||||
@@ -1724,10 +1774,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,7 +247,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
|
||||
return this.#focusableItems;
|
||||
}
|
||||
@@ -1735,6 +1788,7 @@
|
||||
@@ -1735,6 +1782,7 @@
|
||||
_invalidateCachedTabs() {
|
||||
this.#allTabs = null;
|
||||
this._invalidateCachedVisibleTabs();
|
||||
@@ -262,7 +255,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
}
|
||||
|
||||
_invalidateCachedVisibleTabs() {
|
||||
@@ -1749,8 +1803,8 @@
|
||||
@@ -1749,8 +1797,8 @@
|
||||
#isContainerVerticalPinnedGrid(tab) {
|
||||
return (
|
||||
this.verticalMode &&
|
||||
@@ -273,7 +266,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
!this.expandOnHover
|
||||
);
|
||||
}
|
||||
@@ -1766,7 +1820,7 @@
|
||||
@@ -1766,7 +1814,7 @@
|
||||
|
||||
if (node == null) {
|
||||
// We have a container for non-tab elements at the end of the scrollbox.
|
||||
@@ -282,7 +275,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
}
|
||||
|
||||
node.before(tab);
|
||||
@@ -1861,7 +1915,7 @@
|
||||
@@ -1861,7 +1909,7 @@
|
||||
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
|
||||
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
|
||||
// Attach the long click popup to all of them.
|
||||
@@ -291,7 +284,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
const newTab2 = this.newTabButton;
|
||||
const newTabVertical = document.getElementById(
|
||||
"vertical-tabs-newtab-button"
|
||||
@@ -1956,10 +2010,12 @@
|
||||
@@ -1956,10 +2004,12 @@
|
||||
|
||||
_handleTabSelect(aInstant) {
|
||||
let selectedTab = this.selectedItem;
|
||||
@@ -304,7 +297,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
selectedTab._notselectedsinceload = false;
|
||||
}
|
||||
|
||||
@@ -2132,6 +2188,7 @@
|
||||
@@ -2132,6 +2182,7 @@
|
||||
}
|
||||
|
||||
_positionPinnedTabs() {
|
||||
@@ -312,7 +305,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let tabs = this.visibleTabs;
|
||||
let numPinned = gBrowser.pinnedTabCount;
|
||||
let absPositionHorizontalTabs =
|
||||
@@ -2206,7 +2263,7 @@
|
||||
@@ -2206,7 +2257,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -321,7 +314,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
|
||||
let directionX = screenX > dragData.animLastScreenX;
|
||||
let directionY = screenY > dragData.animLastScreenY;
|
||||
@@ -2215,6 +2272,8 @@
|
||||
@@ -2215,6 +2266,8 @@
|
||||
|
||||
let { width: tabWidth, height: tabHeight } =
|
||||
draggedTab.getBoundingClientRect();
|
||||
@@ -330,7 +323,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let shiftSizeX = tabWidth * movingTabs.length;
|
||||
let shiftSizeY = tabHeight;
|
||||
dragData.tabWidth = tabWidth;
|
||||
@@ -2244,7 +2303,7 @@
|
||||
@@ -2244,7 +2297,7 @@
|
||||
let translateX = screenX - dragData.screenX;
|
||||
let translateY = screenY - dragData.screenY;
|
||||
translateY +=
|
||||
@@ -339,7 +332,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let firstBoundX = firstTabInRow.screenX - firstMovingTabScreenX;
|
||||
let firstBoundY = firstTabInRow.screenY - firstMovingTabScreenY;
|
||||
let lastBoundX =
|
||||
@@ -2389,12 +2448,16 @@
|
||||
@@ -2389,12 +2442,16 @@
|
||||
|
||||
this.#clearDragOverCreateGroupTimer();
|
||||
|
||||
@@ -360,7 +353,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
|
||||
if (this.#rtlMode) {
|
||||
tabs.reverse();
|
||||
@@ -2408,7 +2471,7 @@
|
||||
@@ -2408,7 +2465,7 @@
|
||||
let size = this.verticalMode ? "height" : "width";
|
||||
let translateAxis = this.verticalMode ? "translateY" : "translateX";
|
||||
let scrollDirection = this.verticalMode ? "scrollTop" : "scrollLeft";
|
||||
@@ -369,7 +362,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let translateX = event.screenX - dragData.screenX;
|
||||
let translateY = event.screenY - dragData.screenY;
|
||||
|
||||
@@ -2422,12 +2485,21 @@
|
||||
@@ -2422,12 +2479,21 @@
|
||||
let lastTab = tabs.at(-1);
|
||||
let lastMovingTab = movingTabs.at(-1);
|
||||
let firstMovingTab = movingTabs[0];
|
||||
@@ -392,7 +385,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
translate +=
|
||||
this.arrowScrollbox.scrollbox[scrollDirection] - dragData.scrollPos;
|
||||
} else if (isPinned && this.verticalMode) {
|
||||
@@ -2446,6 +2518,9 @@
|
||||
@@ -2446,6 +2512,9 @@
|
||||
// Shift the `.tab-group-label-container` to shift the label element.
|
||||
item = item.parentElement;
|
||||
}
|
||||
@@ -402,7 +395,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
item.style.transform = `${translateAxis}(${translate}px)`;
|
||||
}
|
||||
|
||||
@@ -2583,6 +2658,9 @@
|
||||
@@ -2583,6 +2652,9 @@
|
||||
break;
|
||||
}
|
||||
let element = tabs[mid];
|
||||
@@ -412,7 +405,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let elementForSize = isTabGroupLabel(element)
|
||||
? element.parentElement
|
||||
: element;
|
||||
@@ -2605,6 +2683,10 @@
|
||||
@@ -2605,6 +2677,10 @@
|
||||
if (!dropElement) {
|
||||
dropElement = this.ariaFocusableItems[oldDropElementIndex];
|
||||
}
|
||||
@@ -423,7 +416,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
let newDropElementIndex = dropElement
|
||||
? dropElement.elementIndex
|
||||
: oldDropElementIndex;
|
||||
@@ -2613,7 +2695,7 @@
|
||||
@@ -2613,7 +2689,7 @@
|
||||
let shouldCreateGroupOnDrop;
|
||||
let dropBefore;
|
||||
if (dropElement) {
|
||||
@@ -432,7 +425,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
? dropElement.parentElement
|
||||
: dropElement;
|
||||
|
||||
@@ -2675,12 +2757,12 @@
|
||||
@@ -2675,12 +2751,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -447,7 +440,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
dropElement != draggedTab &&
|
||||
isTab(dropElement) &&
|
||||
!dropElement?.group &&
|
||||
@@ -2720,7 +2802,7 @@
|
||||
@@ -2720,7 +2796,7 @@
|
||||
// Dropping right before the tab group.
|
||||
dropElement = dropElementGroup;
|
||||
colorCode = undefined;
|
||||
@@ -456,7 +449,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
// Dropping right after the collapsed tab group.
|
||||
dropElement = dropElementGroup;
|
||||
colorCode = undefined;
|
||||
@@ -2750,7 +2832,7 @@
|
||||
@@ -2750,7 +2826,7 @@
|
||||
// Shift background tabs to leave a gap where the dragged tab
|
||||
// would currently be dropped.
|
||||
for (let item of tabs) {
|
||||
@@ -465,7 +458,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -2759,6 +2841,9 @@
|
||||
@@ -2759,6 +2835,9 @@
|
||||
if (isTabGroupLabel(item)) {
|
||||
// Shift the `.tab-group-label-container` to shift the label element.
|
||||
item = item.parentElement;
|
||||
@@ -475,7 +468,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
}
|
||||
item.style.transform = transform;
|
||||
}
|
||||
@@ -2811,8 +2896,9 @@
|
||||
@@ -2811,8 +2890,9 @@
|
||||
);
|
||||
}
|
||||
|
||||
@@ -487,7 +480,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2824,6 +2910,12 @@
|
||||
@@ -2824,6 +2904,12 @@
|
||||
item = item.parentElement;
|
||||
}
|
||||
item.style.transform = "";
|
||||
@@ -500,7 +493,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
item.removeAttribute("dragover-createGroup");
|
||||
}
|
||||
this.removeAttribute("movingtab-createGroup");
|
||||
@@ -2870,7 +2962,7 @@
|
||||
@@ -2870,7 +2956,7 @@
|
||||
let postTransitionCleanup = () => {
|
||||
movingTab._moveTogetherSelectedTabsData.animate = false;
|
||||
};
|
||||
@@ -509,7 +502,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
postTransitionCleanup();
|
||||
} else {
|
||||
let onTransitionEnd = transitionendEvent => {
|
||||
@@ -3043,7 +3135,7 @@
|
||||
@@ -3043,7 +3129,7 @@
|
||||
}
|
||||
|
||||
_notifyBackgroundTab(aTab) {
|
||||
@@ -518,7 +511,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..de8b1ecf7cb844f6cf3e66a41b6024c5
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3169,6 +3261,9 @@
|
||||
@@ -3169,6 +3255,9 @@
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||
index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..1cf86995514b2c00360f6ed681f0c640dac8ab56 100644
|
||||
index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..370bd107be760893516360bd85553acb6533774b 100644
|
||||
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||
@@ -68,6 +68,13 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||
@@ -187,7 +187,15 @@ index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..1cf86995514b2c00360f6ed681f0c640
|
||||
|
||||
let controller =
|
||||
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
||||
@@ -4136,6 +4204,11 @@ export class UrlbarInput {
|
||||
@@ -4025,6 +4093,7 @@ export class UrlbarInput {
|
||||
_setPlaceholder(name) {
|
||||
this.document.l10n.setAttributes(
|
||||
this.inputField,
|
||||
+ this.window.gZenVerticalTabsManager._hasSetSingleToolbar ? 'zen-singletoolbar-urlbar-placeholder-with-name' :
|
||||
name ? "urlbar-placeholder-with-name" : "urlbar-placeholder",
|
||||
name ? { name } : undefined
|
||||
);
|
||||
@@ -4136,6 +4205,11 @@ export class UrlbarInput {
|
||||
}
|
||||
|
||||
_on_click(event) {
|
||||
@@ -199,7 +207,7 @@ index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..1cf86995514b2c00360f6ed681f0c640
|
||||
if (
|
||||
event.target == this.inputField ||
|
||||
event.target == this._inputContainer ||
|
||||
@@ -4207,7 +4280,7 @@ export class UrlbarInput {
|
||||
@@ -4207,7 +4281,7 @@ export class UrlbarInput {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +216,7 @@ index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..1cf86995514b2c00360f6ed681f0c640
|
||||
this.view.autoOpen({ event });
|
||||
} else {
|
||||
if (this._untrimOnFocusAfterKeydown) {
|
||||
@@ -4247,9 +4320,16 @@ export class UrlbarInput {
|
||||
@@ -4247,9 +4321,16 @@ export class UrlbarInput {
|
||||
}
|
||||
|
||||
_on_mousedown(event) {
|
||||
@@ -226,7 +234,7 @@ index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..1cf86995514b2c00360f6ed681f0c640
|
||||
|
||||
if (
|
||||
event.target != this.inputField &&
|
||||
@@ -4261,6 +4341,10 @@ export class UrlbarInput {
|
||||
@@ -4261,6 +4342,10 @@ export class UrlbarInput {
|
||||
|
||||
this.focusedViaMousedown = !this.focused;
|
||||
this._preventClickSelectsAll = this.focused;
|
||||
@@ -237,7 +245,7 @@ index 0c5145c3d31862bd2c6b5ed2faa88f02425ffde1..1cf86995514b2c00360f6ed681f0c640
|
||||
|
||||
// Keep the focus status, since the attribute may be changed
|
||||
// upon calling this.focus().
|
||||
@@ -4301,7 +4385,7 @@ export class UrlbarInput {
|
||||
@@ -4301,7 +4386,7 @@ export class UrlbarInput {
|
||||
}
|
||||
// Don't close the view when clicking on a tab; we may want to keep the
|
||||
// view open on tab switch, and the TabSelect event arrived earlier.
|
||||
|
||||
@@ -162,8 +162,7 @@ groupbox h2 {
|
||||
|
||||
/* Look and feel */
|
||||
|
||||
#webAppearanceSettings,
|
||||
#zen-theme-builder-wrapper + box {
|
||||
#webAppearanceSettings {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
@@ -203,31 +202,6 @@ groupbox h2 {
|
||||
list-style-image: url('chrome://browser/skin/customize.svg');
|
||||
}
|
||||
|
||||
#zenLooksAndFeelColorOptions {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, 108px);
|
||||
gap: 5px;
|
||||
margin: 10px 0 15px 0;
|
||||
}
|
||||
|
||||
.zenLooksAndFeelColorOptionParen {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 15px;
|
||||
border-radius: 10px;
|
||||
cursor: pointer;
|
||||
background: var(--in-content-box-info-background);
|
||||
width: fit-content;
|
||||
margin-top: 10px;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
|
||||
.zenLooksAndFeelColorOptionParen[selected='true'] {
|
||||
border-color: var(--zen-primary-color);
|
||||
}
|
||||
|
||||
#zenLooksAndFeelGroup > html|div:last-of-type {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||
index 5b9ad123d819c6ef068acd427416957a1d0939fe..311caa27ee268c95215d459be02a93d20e129f8b 100644
|
||||
index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272ede59857 100644
|
||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||
@@ -19,7 +19,7 @@
|
||||
--tab-group-line-thickness: 2px;
|
||||
--tab-group-line-toolbar-border-distance: 1px;
|
||||
/* Collapsed tabs should be square, so set width to match the min height */
|
||||
- --tab-collapsed-background-width: var(--tab-min-height);
|
||||
+ --tab-collapsed-background-width: 48px;
|
||||
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
||||
--tab-inner-inline-margin: var(--space-medium);
|
||||
--tab-inline-padding: 8px;
|
||||
@@ -33,7 +33,7 @@
|
||||
--tab-block-margin: 4px;
|
||||
--tab-icon-end-margin: 5.5px;
|
||||
|
||||
@@ -43,6 +43,10 @@
|
||||
list-style-image: url('close.svg') !important;
|
||||
}
|
||||
|
||||
#PanelUI-zen-emojis-picker-none {
|
||||
list-style-image: url('trash.svg');
|
||||
}
|
||||
|
||||
.reset-icon {
|
||||
list-style-image: url('reload.svg') !important;
|
||||
}
|
||||
@@ -107,6 +111,7 @@
|
||||
|
||||
#PanelUI-menu-button,
|
||||
#appMenu-more-button2,
|
||||
.zen-workspaces-actions,
|
||||
#zen-workspace-actions-menu-icon {
|
||||
list-style-image: url('menu.svg') !important;
|
||||
}
|
||||
@@ -178,20 +183,15 @@
|
||||
|
||||
#zoom-in-button,
|
||||
#tabs-newtab-button,
|
||||
#zen-create-new-button,
|
||||
#new-tab-button,
|
||||
#appMenu-zoomEnlarge-button2,
|
||||
#PanelUI-zen-profiles-newProfile,
|
||||
#zen-sidebar-add-panel-button,
|
||||
#PanelUI-zen-workspaces-new image,
|
||||
#PanelUI-zen-gradient-generator-color-custom-add image {
|
||||
list-style-image: url('plus.svg') !important;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-reorder-mode image {
|
||||
list-style-image: url('move-tab.svg') !important;
|
||||
rotate: 90deg;
|
||||
}
|
||||
|
||||
#cut-button {
|
||||
list-style-image: url('edit-cut.svg') !important;
|
||||
}
|
||||
@@ -765,3 +765,20 @@
|
||||
#zen-media-pip-button {
|
||||
list-style-image: url('chrome://global/skin/media/picture-in-picture-open.svg');
|
||||
}
|
||||
|
||||
#zenCreateNewPopup > menuitem image {
|
||||
-moz-context-properties: fill;
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
#zen-create-new-button {
|
||||
border-radius: var(--tab-border-radius);
|
||||
|
||||
&:hover {
|
||||
background: var(--toolbarbutton-active-background);
|
||||
}
|
||||
|
||||
& image {
|
||||
background: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
|
||||
skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
|
||||
skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
|
||||
skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
|
||||
skin/classic/browser/zen-icons/unpin.svg (../shared/zen-icons/lin/unpin.svg)
|
||||
skin/classic/browser/zen-icons/video-blocked-fill.svg (../shared/zen-icons/lin/video-blocked-fill.svg)
|
||||
skin/classic/browser/zen-icons/video-fill.svg (../shared/zen-icons/lin/video-fill.svg)
|
||||
@@ -264,6 +265,7 @@
|
||||
skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
|
||||
skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
|
||||
skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
|
||||
skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
|
||||
skin/classic/browser/zen-icons/unpin.svg (../shared/zen-icons/lin/unpin.svg)
|
||||
skin/classic/browser/zen-icons/video-blocked-fill.svg (../shared/zen-icons/lin/video-blocked-fill.svg)
|
||||
skin/classic/browser/zen-icons/video-fill.svg (../shared/zen-icons/lin/video-fill.svg)
|
||||
@@ -402,6 +404,7 @@
|
||||
skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
|
||||
skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
|
||||
skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
|
||||
skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
|
||||
skin/classic/browser/zen-icons/unpin.svg (../shared/zen-icons/lin/unpin.svg)
|
||||
skin/classic/browser/zen-icons/video-blocked-fill.svg (../shared/zen-icons/lin/video-blocked-fill.svg)
|
||||
skin/classic/browser/zen-icons/video-fill.svg (../shared/zen-icons/lin/video-fill.svg)
|
||||
|
||||
1
src/browser/themes/shared/zen-icons/lin/trash.svg
Normal file
1
src/browser/themes/shared/zen-icons/lin/trash.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18"><path d="m13.474,7.25l-.374,7.105c-.056,1.062-.934,1.895-1.997,1.895h-4.205c-1.064,0-1.941-.833-1.997-1.895l-.374-7.105" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><line x1="2.75" y1="4.75" x2="15.25" y2="4.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><path d="m6.75,4.75v-2c0-.552.448-1,1-1h2.5c.552,0,1,.448,1,1v2" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></path></svg>
|
||||
|
After Width: | Height: | Size: 748 B |
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
|
||||
index 007aec91e089a1d2df20235890b268b820b0a529..ac0592cbcec62ffefb58b491dff48749852f2d88 100644
|
||||
index 007aec91e089a1d2df20235890b268b820b0a529..a03a0d7b7837f6315f47f76a4491bf08d96e00e0 100644
|
||||
--- a/browser/themes/windows/browser.css
|
||||
+++ b/browser/themes/windows/browser.css
|
||||
@@ -31,7 +31,6 @@
|
||||
@@ -10,3 +10,12 @@ index 007aec91e089a1d2df20235890b268b820b0a529..ac0592cbcec62ffefb58b491dff48749
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +55,7 @@
|
||||
|
||||
/* This is needed for Windows 10, see bug 1961257 */
|
||||
@media (-moz-windows-accent-color-in-titlebar) {
|
||||
- :root[customtitlebar][sizemode="normal"] #navigator-toolbox {
|
||||
+ :root[customtitlebar][sizemode="normal"] #browser {
|
||||
border-top: .5px solid ActiveBorder;
|
||||
&:-moz-window-inactive {
|
||||
border-top-color: InactiveBorder;
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
diff --git a/dom/script/ScriptLoader.cpp b/dom/script/ScriptLoader.cpp
|
||||
index 51f63f998e47aa4b1dffc3cacdb0a698b33b4623..0387738ce1f29b5db4a5d03a3b2f5f3a91011125 100644
|
||||
--- a/dom/script/ScriptLoader.cpp
|
||||
+++ b/dom/script/ScriptLoader.cpp
|
||||
@@ -2679,6 +2679,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;
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/components/aboutconfig/content/aboutconfig.html b/toolkit/components/aboutconfig/content/aboutconfig.html
|
||||
index 853fd8f82bd10854c7fb17a73fd10eab0a9eef52..6f5e6606ebfa95a600037b995e5c743dd5aacba5 100644
|
||||
--- a/toolkit/components/aboutconfig/content/aboutconfig.html
|
||||
+++ b/toolkit/components/aboutconfig/content/aboutconfig.html
|
||||
@@ -34,6 +34,7 @@
|
||||
<link rel="icon" href="chrome://global/skin/icons/settings.svg" />
|
||||
<script src="chrome://global/content/aboutconfig/aboutconfig.js"></script>
|
||||
<title data-l10n-id="about-config-page-title"></title>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/components/aboutprocesses/content/aboutProcesses.html b/toolkit/components/aboutprocesses/content/aboutProcesses.html
|
||||
index 1d936bcca6a606f062b9438d78a1165445468471..cbefb51920e7b2ad11621ab2b36c69fa63967dfe 100644
|
||||
--- a/toolkit/components/aboutprocesses/content/aboutProcesses.html
|
||||
+++ b/toolkit/components/aboutprocesses/content/aboutProcesses.html
|
||||
@@ -20,6 +20,7 @@
|
||||
<link rel="localization" href="branding/brand.ftl" />
|
||||
<script src="chrome://global/content/aboutProcesses.js"></script>
|
||||
<link rel="stylesheet" href="chrome://global/content/aboutProcesses.css" />
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<table id="process-table">
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/components/printing/content/print.html b/toolkit/components/printing/content/print.html
|
||||
index 72ccab596c2f090d188f1d27278f68373e5b06be..541271c71a3df749826b7f5adbd55e76450bba8f 100644
|
||||
--- a/toolkit/components/printing/content/print.html
|
||||
+++ b/toolkit/components/printing/content/print.html
|
||||
@@ -21,6 +21,7 @@
|
||||
type="module"
|
||||
src="chrome://global/content/elements/moz-button-group.mjs"
|
||||
></script>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
|
||||
<body loading rendering>
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/components/prompts/content/commonDialog.xhtml b/toolkit/components/prompts/content/commonDialog.xhtml
|
||||
index c47761ec958a11870e55294fe9c6de8f3afbda2f..5e0313864c67a774874c215fd043b9b8af39d8cb 100644
|
||||
--- a/toolkit/components/prompts/content/commonDialog.xhtml
|
||||
+++ b/toolkit/components/prompts/content/commonDialog.xhtml
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
<html:link rel="localization" href="branding/brand.ftl" />
|
||||
<html:link rel="localization" href="toolkit/global/commonDialog.ftl" />
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</linkset>
|
||||
<script src="chrome://global/content/adjustableTitle.js" />
|
||||
<script src="chrome://global/content/commonDialog.js" />
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/content/aboutAbout.html b/toolkit/content/aboutAbout.html
|
||||
index 74702381dd1bed2d4bb47c464ae0ca309c10e45b..f1e6b34bbf29d787bd62d625707dead024cf6011 100644
|
||||
--- a/toolkit/content/aboutAbout.html
|
||||
+++ b/toolkit/content/aboutAbout.html
|
||||
@@ -24,6 +24,7 @@
|
||||
href="chrome://branding/content/icon32.png"
|
||||
/>
|
||||
<script src="chrome://global/content/aboutAbout.js"></script>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/content/aboutProfiles.xhtml b/toolkit/content/aboutProfiles.xhtml
|
||||
index 3ce9e580627d757e9bb3fa09601e6336e2376c73..cd69facbf05c525de061c496e08dc12096692e86 100644
|
||||
--- a/toolkit/content/aboutProfiles.xhtml
|
||||
+++ b/toolkit/content/aboutProfiles.xhtml
|
||||
@@ -27,6 +27,7 @@
|
||||
<script src="chrome://global/content/aboutProfiles.js" />
|
||||
<link rel="localization" href="branding/brand.ftl" />
|
||||
<link rel="localization" href="toolkit/about/aboutProfiles.ftl" />
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
<body id="body" class="wide-container">
|
||||
<h1 data-l10n-id="profiles-title"></h1>
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/content/aboutSupport.xhtml b/toolkit/content/aboutSupport.xhtml
|
||||
index 7f57218f3573488445ea363e0c4532b292d53167..511f578b4ae38a496ca936adf2fef1f587249f47 100644
|
||||
--- a/toolkit/content/aboutSupport.xhtml
|
||||
+++ b/toolkit/content/aboutSupport.xhtml
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" />
|
||||
<meta name="color-scheme" content="light dark" />
|
||||
<title data-l10n-id="page-title"/>
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/toolkit/mozapps/extensions/content/aboutaddons.html b/toolkit/mozapps/extensions/content/aboutaddons.html
|
||||
index 77702576f03cc8db7ec85bd871e6366fef935d54..edd5f27303802091c84572a7a2d3933c03cf09d9 100644
|
||||
--- a/toolkit/mozapps/extensions/content/aboutaddons.html
|
||||
+++ b/toolkit/mozapps/extensions/content/aboutaddons.html
|
||||
@@ -86,6 +86,7 @@
|
||||
type="module"
|
||||
src="chrome://global/content/elements/moz-five-star.mjs"
|
||||
></script>
|
||||
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<drag-drop-addon-installer></drag-drop-addon-installer>
|
||||
@@ -6,7 +6,7 @@ export var ZenCustomizableUI = new (class {
|
||||
constructor() {}
|
||||
|
||||
TYPE_TOOLBAR = 'toolbar';
|
||||
defaultSidebarIcons = ['preferences-button', 'zen-workspaces-button', 'downloads-button'];
|
||||
defaultSidebarIcons = ['downloads-button', 'zen-workspaces-button', 'zen-create-new-button'];
|
||||
|
||||
startup(CustomizableUIInternal) {
|
||||
CustomizableUIInternal.registerArea(
|
||||
@@ -20,7 +20,7 @@ export var ZenCustomizableUI = new (class {
|
||||
true
|
||||
);
|
||||
CustomizableUIInternal.registerArea(
|
||||
'zen-sidebar-bottom-buttons',
|
||||
'zen-sidebar-foot-buttons',
|
||||
{
|
||||
type: this.TYPE_TOOLBAR,
|
||||
defaultPlacements: this.defaultSidebarIcons,
|
||||
@@ -100,9 +100,39 @@ export var ZenCustomizableUI = new (class {
|
||||
elem.setAttribute('removable', 'true');
|
||||
}
|
||||
|
||||
this._initCreateNewButton(window);
|
||||
this._moveWindowButtons(window);
|
||||
}
|
||||
|
||||
_initCreateNewButton(window) {
|
||||
const button = window.document.getElementById('zen-create-new-button');
|
||||
button.addEventListener('command', () => {
|
||||
if (button.hasAttribute('open')) {
|
||||
return;
|
||||
}
|
||||
const image = button.querySelector('image');
|
||||
const popup = window.document.getElementById('zenCreateNewPopup');
|
||||
button.setAttribute('open', 'true');
|
||||
const handlePopupHidden = () => {
|
||||
window.setTimeout(() => {
|
||||
button.removeAttribute('open');
|
||||
}, 500);
|
||||
window.gZenUIManager.motion.animate(
|
||||
image,
|
||||
{ transform: ['rotate(45deg)', 'rotate(0deg)'] },
|
||||
{ duration: 0.2 }
|
||||
);
|
||||
};
|
||||
popup.addEventListener('popuphidden', handlePopupHidden, { once: true });
|
||||
popup.openPopup(button, 'after_start');
|
||||
window.gZenUIManager.motion.animate(
|
||||
image,
|
||||
{ transform: ['rotate(0deg)', 'rotate(45deg)'] },
|
||||
{ duration: 0.2 }
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
_moveWindowButtons(window) {
|
||||
const windowControls = window.document.getElementsByClassName('titlebar-buttonbox-container');
|
||||
const toolboxIcons = window.document.getElementById(
|
||||
@@ -123,7 +153,7 @@ export var ZenCustomizableUI = new (class {
|
||||
}
|
||||
|
||||
_hideToolbarButtons(window) {
|
||||
const wrapper = window.document.getElementById('zen-sidebar-bottom-buttons');
|
||||
const wrapper = window.document.getElementById('zen-sidebar-foot-buttons');
|
||||
const elementsToHide = ['new-tab-button'];
|
||||
for (let id of elementsToHide) {
|
||||
const elem = window.document.getElementById(id);
|
||||
@@ -142,7 +172,7 @@ export var ZenCustomizableUI = new (class {
|
||||
window.document.getElementById('zen-sidebar-top-buttons')
|
||||
);
|
||||
window.CustomizableUI.registerToolbarNode(
|
||||
window.document.getElementById('zen-sidebar-bottom-buttons')
|
||||
window.document.getElementById('zen-sidebar-foot-buttons')
|
||||
);
|
||||
}
|
||||
})();
|
||||
|
||||
File diff suppressed because one or more lines are too long
9
src/zen/common/ZenPreloadedScripts.js
Normal file
9
src/zen/common/ZenPreloadedScripts.js
Normal file
@@ -0,0 +1,9 @@
|
||||
// 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/.
|
||||
|
||||
// prettier-ignore
|
||||
// eslint-disable-next-line no-lone-blocks
|
||||
{
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", this);
|
||||
}
|
||||
@@ -36,7 +36,6 @@
|
||||
}
|
||||
|
||||
async #waitAndCleanup() {
|
||||
await SessionStore.promiseAllWindowsRestored;
|
||||
await SessionStore.promiseInitialized;
|
||||
this.#cleanup();
|
||||
}
|
||||
|
||||
@@ -3,14 +3,13 @@
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
{
|
||||
var ZenStartup = {
|
||||
_watermarkIgnoreElements: ['zen-browser-background'],
|
||||
_watermarkIgnoreElements: ['zen-toast-container'],
|
||||
|
||||
init() {
|
||||
async init() {
|
||||
this.openWatermark();
|
||||
this._initBrowserBackground();
|
||||
await this._initBrowserBackground();
|
||||
this._changeSidebarLocation();
|
||||
this._zenInitBrowserLayout();
|
||||
this._initSearchBar();
|
||||
},
|
||||
|
||||
_initBrowserBackground() {
|
||||
@@ -22,11 +21,10 @@
|
||||
document.getElementById('browser').prepend(background);
|
||||
},
|
||||
|
||||
_zenInitBrowserLayout() {
|
||||
async _zenInitBrowserLayout() {
|
||||
if (this.__hasInitBrowserLayout) return;
|
||||
this.__hasInitBrowserLayout = true;
|
||||
try {
|
||||
console.info('ZenThemeModifier: init browser layout');
|
||||
const kNavbarItems = ['nav-bar', 'PersonalToolbar'];
|
||||
const kNewContainerId = 'zen-appcontent-navbar-container';
|
||||
let newContainer = document.getElementById(kNewContainerId);
|
||||
@@ -43,10 +41,7 @@
|
||||
document.getElementById('zen-appcontent-wrapper').prepend(deckTemplate);
|
||||
}
|
||||
|
||||
this._hideUnusedElements();
|
||||
|
||||
gZenWorkspaces.init();
|
||||
gZenVerticalTabsManager.init();
|
||||
gZenUIManager.init();
|
||||
|
||||
this._checkForWelcomePage();
|
||||
@@ -78,6 +73,8 @@
|
||||
gZenWorkspaces.promiseInitialized.then(async () => {
|
||||
await delayedStartupPromise;
|
||||
await SessionStore.promiseAllWindowsRestored;
|
||||
delete gZenUIManager.promiseInitialized;
|
||||
this._initSearchBar();
|
||||
setTimeout(() => {
|
||||
gZenCompactModeManager.init();
|
||||
setTimeout(() => {
|
||||
@@ -149,23 +146,9 @@
|
||||
}
|
||||
},
|
||||
|
||||
_hideUnusedElements() {
|
||||
const kElements = ['firefox-view-button'];
|
||||
for (let id of kElements) {
|
||||
const elem = document.getElementById(id);
|
||||
if (elem) {
|
||||
elem.setAttribute('hidden', 'true');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_initSearchBar() {
|
||||
// Only focus the url bar
|
||||
gURLBar.focus();
|
||||
|
||||
gURLBar._initCopyCutController();
|
||||
gURLBar._initPasteAndGo();
|
||||
gURLBar._initStripOnShare();
|
||||
},
|
||||
|
||||
_checkForWelcomePage() {
|
||||
@@ -179,5 +162,11 @@
|
||||
},
|
||||
};
|
||||
|
||||
ZenStartup.init();
|
||||
window.addEventListener(
|
||||
'MozBeforeInitialXULLayout',
|
||||
() => {
|
||||
ZenStartup.init();
|
||||
},
|
||||
{ once: true }
|
||||
);
|
||||
}
|
||||
|
||||
@@ -34,8 +34,6 @@ var gZenUIManager = {
|
||||
true
|
||||
);
|
||||
|
||||
gURLBar._zenTrimURL = this.urlbarTrim.bind(this);
|
||||
|
||||
document.addEventListener('mousedown', this.handleMouseDown.bind(this), true);
|
||||
|
||||
ChromeUtils.defineLazyGetter(this, 'motion', () => {
|
||||
@@ -48,6 +46,8 @@ var gZenUIManager = {
|
||||
return document.getElementById('zen-toast-container');
|
||||
});
|
||||
|
||||
gURLBar._zenTrimURL = this.urlbarTrim.bind(this);
|
||||
|
||||
new ResizeObserver(this.updateTabsToolbar.bind(this)).observe(
|
||||
document.getElementById('TabsToolbar')
|
||||
);
|
||||
@@ -59,7 +59,7 @@ var gZenUIManager = {
|
||||
)
|
||||
).observe(gNavToolbox);
|
||||
|
||||
SessionStore.promiseAllWindowsRestored.then(() => {
|
||||
gZenWorkspaces.promiseInitialized.finally(() => {
|
||||
this._hasLoadedDOM = true;
|
||||
this.updateTabsToolbar();
|
||||
});
|
||||
@@ -67,6 +67,7 @@ var gZenUIManager = {
|
||||
window.addEventListener('TabClose', this.onTabClose.bind(this));
|
||||
|
||||
gZenMediaController.init();
|
||||
gZenVerticalTabsManager.init();
|
||||
},
|
||||
|
||||
handleMouseDown(event) {
|
||||
@@ -82,6 +83,7 @@ var gZenUIManager = {
|
||||
'--zen-urlbar-top',
|
||||
`${window.innerHeight / 2 - Math.max(kUrlbarHeight, gURLBar.textbox.getBoundingClientRect().height) / 2}px`
|
||||
);
|
||||
gURLBar.textbox.style.setProperty('--zen-urlbar-width', `${window.innerWidth / 3}px`);
|
||||
gZenVerticalTabsManager.actualWindowButtons.removeAttribute('zen-has-hover');
|
||||
gZenVerticalTabsManager.recalculateURLBarHeight();
|
||||
if (!this._preventToolbarRebuild) {
|
||||
@@ -155,7 +157,9 @@ var gZenUIManager = {
|
||||
if (
|
||||
!el.contains(showEvent.explicitOriginalTarget) ||
|
||||
(showEvent.explicitOriginalTarget instanceof Element &&
|
||||
showEvent.explicitOriginalTarget?.closest('panel'))
|
||||
showEvent.explicitOriginalTarget?.closest('panel')) ||
|
||||
// See bug #7590: Ignore menupopup elements opening
|
||||
showEvent.explicitOriginalTarget.tagName === 'menupopup'
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
@@ -451,7 +455,7 @@ var gZenUIManager = {
|
||||
const wrapper = document.createXULElement('hbox');
|
||||
const element = document.createXULElement('vbox');
|
||||
const label = document.createXULElement('label');
|
||||
document.l10n.setAttributes(label, messageId, options);
|
||||
document.l10n.setAttributes(label, messageId, options.l10nArgs);
|
||||
element.appendChild(label);
|
||||
if (options.descriptionId) {
|
||||
const description = document.createXULElement('label');
|
||||
@@ -597,7 +601,7 @@ var gZenVerticalTabsManager = {
|
||||
},
|
||||
|
||||
animateTab(aTab) {
|
||||
if (!gZenUIManager.motion || !aTab || !gZenUIManager._hasLoadedDOM) {
|
||||
if (!gZenUIManager.motion || !aTab || !gZenUIManager._hasLoadedDOM || !aTab.isConnected) {
|
||||
return;
|
||||
}
|
||||
// get next visible tab
|
||||
@@ -622,7 +626,11 @@ var gZenVerticalTabsManager = {
|
||||
easing: 'ease-out',
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
.then(() => {})
|
||||
.catch((err) => {
|
||||
console.error(err);
|
||||
})
|
||||
.finally(() => {
|
||||
aTab.style.removeProperty('margin-bottom');
|
||||
aTab.style.removeProperty('transform');
|
||||
aTab.style.removeProperty('opacity');
|
||||
@@ -638,7 +646,11 @@ var gZenVerticalTabsManager = {
|
||||
easing: 'ease-out',
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
.then(() => {})
|
||||
.catch((err) => {
|
||||
console.error(err);
|
||||
})
|
||||
.finally(() => {
|
||||
aTab.querySelector('.tab-stack').style.removeProperty('filter');
|
||||
});
|
||||
} catch (e) {
|
||||
@@ -745,7 +757,9 @@ var gZenVerticalTabsManager = {
|
||||
document.getElementById('urlbar').style.setProperty('--urlbar-height', '32px');
|
||||
} else if (gURLBar.getAttribute('breakout-extend') !== 'true') {
|
||||
try {
|
||||
gURLBar.zenUpdateLayoutBreakout();
|
||||
gURLBar.zenUpdateLayoutBreakout().then(() => {
|
||||
gURLBar.valueFormatter._formatURL();
|
||||
});
|
||||
} catch (e) {
|
||||
console.warn(e);
|
||||
}
|
||||
@@ -955,12 +969,23 @@ var gZenVerticalTabsManager = {
|
||||
gZenCompactModeManager.getAndApplySidebarWidth();
|
||||
}
|
||||
gZenUIManager.updateTabsToolbar();
|
||||
this.rebuildURLBarMenus();
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
this._isUpdating = false;
|
||||
},
|
||||
|
||||
rebuildURLBarMenus() {
|
||||
if (document.getElementById('paste-and-go')) {
|
||||
return;
|
||||
}
|
||||
gURLBar._initCopyCutController();
|
||||
gURLBar._initPasteAndGo();
|
||||
gURLBar._initStripOnShare();
|
||||
gURLBar._updatePlaceholderFromDefaultEngine();
|
||||
},
|
||||
|
||||
rebuildAreas() {
|
||||
CustomizableUI.zenInternalCU._rebuildRegisteredAreas(/* zenDontRebuildCollapsed */ true);
|
||||
},
|
||||
@@ -1068,7 +1093,9 @@ var gZenVerticalTabsManager = {
|
||||
!gZenVerticalTabsManager._prefsSidebarExpanded
|
||||
)
|
||||
return;
|
||||
this._tabEdited = event.target.closest('.tabbrowser-tab');
|
||||
this._tabEdited =
|
||||
event.target.closest('.tabbrowser-tab') ||
|
||||
event.target.closest('.zen-current-workspace-indicator-name');
|
||||
if (
|
||||
!this._tabEdited ||
|
||||
((!this._tabEdited.pinned || this._tabEdited.hasAttribute('zen-essential')) && isTab)
|
||||
@@ -1076,7 +1103,7 @@ var gZenVerticalTabsManager = {
|
||||
this._tabEdited = null;
|
||||
return;
|
||||
}
|
||||
event.stopPropagation();
|
||||
event.stopPropagation?.();
|
||||
document.documentElement.setAttribute('zen-renaming-tab', 'true');
|
||||
const label = isTab ? this._tabEdited.querySelector('.tab-label-container') : this._tabEdited;
|
||||
label.classList.add('tab-label-container-editing');
|
||||
@@ -1087,15 +1114,17 @@ var gZenVerticalTabsManager = {
|
||||
`);
|
||||
label.after(container);
|
||||
}
|
||||
const containerHtml = isTab
|
||||
? this._tabEdited.querySelector('.tab-editor-container')
|
||||
: this._tabEdited.parentNode;
|
||||
const input = document.createElement('input');
|
||||
input.id = 'tab-label-input';
|
||||
input.value = isTab ? this._tabEdited.label : this._tabEdited.textContent;
|
||||
input.addEventListener('keydown', this.renameTabKeydown.bind(this));
|
||||
|
||||
containerHtml.appendChild(input);
|
||||
if (isTab) {
|
||||
const containerHtml = this._tabEdited.querySelector('.tab-editor-container');
|
||||
containerHtml.appendChild(input);
|
||||
} else {
|
||||
this._tabEdited.after(input);
|
||||
}
|
||||
input.focus();
|
||||
input.select();
|
||||
|
||||
|
||||
@@ -3,17 +3,23 @@
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
const lazy = {};
|
||||
|
||||
var { AppConstants } = ChromeUtils.importESModule('resource://gre/modules/AppConstants.sys.mjs');
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
BrowserWindowTracker: 'resource:///modules/BrowserWindowTracker.sys.mjs',
|
||||
});
|
||||
|
||||
class ZenUIMigration {
|
||||
PREF_NAME = 'zen.migration.version';
|
||||
MIGRATION_VERSION = 4;
|
||||
MIGRATION_VERSION = 5;
|
||||
|
||||
init(isNewProfile, win) {
|
||||
if (!isNewProfile) {
|
||||
this._migrate(win);
|
||||
try {
|
||||
this._migrate(win);
|
||||
} catch (e) {
|
||||
console.error('ZenUIMigration: Error during migration', e);
|
||||
}
|
||||
}
|
||||
this.clearVariables();
|
||||
}
|
||||
|
||||
144
src/zen/common/emojis/ZenEmojiPicker.mjs
Normal file
144
src/zen/common/emojis/ZenEmojiPicker.mjs
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
class ZenEmojiPicker extends ZenDOMOperatedFeature {
|
||||
#panel;
|
||||
|
||||
#anchor;
|
||||
|
||||
#currentPromise = null;
|
||||
#currentPromiseResolve = null;
|
||||
#currentPromiseReject = null;
|
||||
|
||||
init() {
|
||||
this.#panel = document.getElementById('PanelUI-zen-emojis-picker');
|
||||
this.#panel.addEventListener('popupshowing', this);
|
||||
this.#panel.addEventListener('popuphidden', this);
|
||||
document.getElementById('PanelUI-zen-emojis-picker-none').addEventListener('command', this);
|
||||
this.searchInput.addEventListener('input', this);
|
||||
}
|
||||
|
||||
handleEvent(event) {
|
||||
switch (event.type) {
|
||||
case 'popupshowing':
|
||||
this.#onPopupShowing(event);
|
||||
break;
|
||||
case 'popuphidden':
|
||||
this.#onPopupHidden(event);
|
||||
break;
|
||||
case 'command':
|
||||
if (event.target.id === 'PanelUI-zen-emojis-picker-none') {
|
||||
this.#selectEmoji(null);
|
||||
}
|
||||
break;
|
||||
case 'input':
|
||||
this.#onSearchInput(event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
get #emojis() {
|
||||
if (this._emojis) {
|
||||
return this._emojis;
|
||||
}
|
||||
const lazy = {};
|
||||
Services.scriptloader.loadSubScript(
|
||||
'chrome://browser/content/zen-components/ZenEmojisData.min.mjs',
|
||||
lazy
|
||||
);
|
||||
this._emojis = lazy.ZenEmojisData;
|
||||
return this._emojis;
|
||||
}
|
||||
|
||||
get emojiList() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-list');
|
||||
}
|
||||
|
||||
get searchInput() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-search');
|
||||
}
|
||||
|
||||
#clearEmojis() {
|
||||
delete this._emojis;
|
||||
}
|
||||
|
||||
#onSearchInput(event) {
|
||||
const input = event.target;
|
||||
const value = input.value.trim().toLowerCase();
|
||||
// search for emojis.tags and order by emojis.order
|
||||
const filteredEmojis = this.#emojis
|
||||
.filter((emoji) => {
|
||||
return emoji.tags.some((tag) => tag.toLowerCase().includes(value));
|
||||
})
|
||||
.sort((a, b) => a.order - b.order);
|
||||
for (const button of this.emojiList.children) {
|
||||
const buttonEmoji = button.getAttribute('label');
|
||||
const emojiObject = filteredEmojis.find((emoji) => emoji.emoji === buttonEmoji);
|
||||
if (emojiObject) {
|
||||
button.hidden = !emojiObject.tags.some((tag) => tag.toLowerCase().includes(value));
|
||||
button.style.order = emojiObject.order;
|
||||
} else {
|
||||
button.hidden = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// note: It's async on purpose so we can render the popup before processing the emojis
|
||||
async #onPopupShowing(event) {
|
||||
if (event.target !== this.#panel) return;
|
||||
this.searchInput.value = '';
|
||||
const emojiList = this.emojiList;
|
||||
for (const emoji of this.#emojis) {
|
||||
const item = document.createXULElement('toolbarbutton');
|
||||
item.className = 'toolbarbutton-1 zen-emojis-picker-emoji';
|
||||
item.setAttribute('label', emoji.emoji);
|
||||
item.setAttribute('tooltiptext', emoji.annotation);
|
||||
item.addEventListener('command', () => {
|
||||
this.#selectEmoji(emoji.emoji);
|
||||
});
|
||||
emojiList.appendChild(item);
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.searchInput.focus();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
#onPopupHidden(event) {
|
||||
if (event.target !== this.#panel) return;
|
||||
this.#clearEmojis();
|
||||
|
||||
const emojiList = this.emojiList;
|
||||
emojiList.innerHTML = '';
|
||||
|
||||
if (this.#currentPromiseReject) {
|
||||
this.#currentPromiseReject(new Error('Emoji picker closed without selection'));
|
||||
}
|
||||
|
||||
this.#currentPromise = null;
|
||||
this.#currentPromiseResolve = null;
|
||||
this.#currentPromiseReject = null;
|
||||
|
||||
this.#anchor.removeAttribute('zen-emoji-open');
|
||||
this.#anchor = null;
|
||||
}
|
||||
|
||||
#selectEmoji(emoji) {
|
||||
this.#currentPromiseResolve?.(emoji);
|
||||
this.#panel.hidePopup();
|
||||
}
|
||||
|
||||
open(anchor) {
|
||||
if (this.#currentPromise) {
|
||||
return null;
|
||||
}
|
||||
this.#currentPromise = new Promise((resolve, reject) => {
|
||||
this.#currentPromiseResolve = resolve;
|
||||
this.#currentPromiseReject = reject;
|
||||
});
|
||||
this.#anchor = anchor;
|
||||
this.#anchor.setAttribute('zen-emoji-open', 'true');
|
||||
this.#panel.openPopup(anchor, 'after_start', 0, 0, false, false);
|
||||
return this.#currentPromise;
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenEmojiPicker = new ZenEmojiPicker();
|
||||
}
|
||||
1
src/zen/common/emojis/ZenEmojisData.min.mjs
Normal file
1
src/zen/common/emojis/ZenEmojisData.min.mjs
Normal file
File diff suppressed because one or more lines are too long
56
src/zen/common/emojis/fetch_emojis.py
Normal file
56
src/zen/common/emojis/fetch_emojis.py
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
import os
|
||||
import requests
|
||||
import json
|
||||
|
||||
|
||||
def get_emojis(url):
|
||||
"""
|
||||
Fetches emojis from the given URL and formats them into a JavaScript module.
|
||||
|
||||
Args:
|
||||
url (str): The URL to fetch the emoji data from.
|
||||
|
||||
Returns:
|
||||
array: A JavaScript array of emoji objects formatted for use in a module.
|
||||
"""
|
||||
response = requests.get(url)
|
||||
response.raise_for_status() # Raise an error for bad responses
|
||||
emojis_data = response.json()
|
||||
|
||||
# We only want "tags", "emoji" amd "order" from the dictionaries inside this array
|
||||
emojis = []
|
||||
for emoji in emojis_data:
|
||||
emojis.append({
|
||||
"tags": emoji.get("tags", []),
|
||||
"order": emoji.get("order", 0),
|
||||
"emoji": emoji.get("emoji", "")
|
||||
})
|
||||
return emojis
|
||||
|
||||
|
||||
def get_js_code(emojis):
|
||||
"""
|
||||
Generates JavaScript code to export the emojis as a module.
|
||||
|
||||
Args:
|
||||
emojis (list): A list of emoji dictionaries.
|
||||
|
||||
Returns:
|
||||
str: JavaScript code as a string.
|
||||
"""
|
||||
js_code = "var ZenEmojisData = "
|
||||
# dump without unicode escape
|
||||
js_code += json.dumps(emojis, ensure_ascii=False)
|
||||
return js_code
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Define the URL for the emoji JSON file
|
||||
url = "https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json"
|
||||
emojis_path = os.path.join(os.path.dirname(__file__), "ZenEmojisData.min.mjs")
|
||||
emojis = get_emojis(url)
|
||||
js_code = get_js_code(emojis)
|
||||
with open(emojis_path, "w", encoding="utf-8") as file:
|
||||
file.write(js_code)
|
||||
print(f"Emojis data has been written to {emojis_path}")
|
||||
@@ -26,7 +26,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
:root[zen-before-loaded='true'] #browser > *:not(#zen-browser-background),
|
||||
:root[zen-before-loaded='true'] #browser > *:not(#zen-toast-container),
|
||||
:root[zen-before-loaded='true'] #urlbar {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
@@ -78,13 +78,17 @@
|
||||
transition: background-color var(--inactive-window-transition);
|
||||
}
|
||||
|
||||
#zen-browser-grain {
|
||||
content: '';
|
||||
& #zen-browser-grain {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:root[zen-show-grainy-background='true'] & #zen-browser-grain {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image: url(chrome://browser/content/zen-images/grain-bg.png);
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
z-index: 1;
|
||||
opacity: var(--zen-grainy-background-opacity, 0);
|
||||
mix-blend-mode: overlay;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
@@ -115,12 +119,18 @@
|
||||
|
||||
#zen-main-app-wrapper {
|
||||
background: var(--zen-themed-toolbar-bg-transparent);
|
||||
overflow: hidden;
|
||||
/* See bug #8814, don't an overflow here as it causes issues
|
||||
* with firefox's rendering of the tab bar */
|
||||
|
||||
& > * {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@media (-moz-windows-accent-color-in-titlebar) and ((-moz-windows-mica) or -moz-pref('browser.theme.windows.accent-color-in-tabs.enabled')) {
|
||||
background: ActiveCaption;
|
||||
color: CaptionText;
|
||||
}
|
||||
|
||||
@media -moz-pref('zen.view.grey-out-inactive-windows') {
|
||||
transition: background-color var(--inactive-window-transition);
|
||||
&:-moz-window-inactive {
|
||||
|
||||
@@ -400,6 +400,8 @@ menuseparator {
|
||||
min-width: unset !important;
|
||||
margin: 0px !important;
|
||||
border-radius: calc(var(--zen-native-inner-radius) + 2px) !important;
|
||||
background: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)) !important;
|
||||
border: 1px solid light-dark(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.15)) !important;
|
||||
|
||||
:root[zen-right-side='true'] & {
|
||||
order: -1;
|
||||
@@ -416,3 +418,7 @@ menuseparator {
|
||||
padding: 0 !important;
|
||||
min-width: unset !important;
|
||||
}
|
||||
|
||||
#window-modal-dialog {
|
||||
inset: 0;
|
||||
}
|
||||
|
||||
@@ -35,3 +35,66 @@ body > #confetti {
|
||||
#PersonalToolbar:not([collapsed='true']) {
|
||||
min-height: 30px;
|
||||
}
|
||||
|
||||
/* Firefox View */
|
||||
#firefox-view-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Emojis picker */
|
||||
|
||||
#PanelUI-zen-emojis-picker {
|
||||
--panel-width: 250px;
|
||||
--panel-padding: 0px;
|
||||
|
||||
#PanelUI-zen-emojis-picker-header {
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-emojis-picker-none label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#PanelUI-zen-emojis-picker-search {
|
||||
padding: 4px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#PanelUI-zen-emojis-picker-list {
|
||||
flex-wrap: wrap;
|
||||
max-height: 265px;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
|
||||
padding: 10px;
|
||||
padding-top: 5px;
|
||||
|
||||
gap: 5px;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(28px, 1fr));
|
||||
|
||||
.zen-emojis-picker-emoji {
|
||||
appearance: none;
|
||||
font-size: 14px;
|
||||
padding: 0px !important;
|
||||
& image {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.zen-emojis-picker-emoji,
|
||||
#PanelUI-zen-emojis-picker-none {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
|
||||
&:hover {
|
||||
background-color: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
}
|
||||
|
||||
:root[zen-single-toolbar='true'] {
|
||||
--urlbar-container-padding: 4px;
|
||||
& #urlbar:not([breakout-extend='true']) {
|
||||
padding: 1px;
|
||||
--toolbarbutton-border-radius: 6px;
|
||||
@@ -26,7 +25,7 @@
|
||||
|
||||
--urlbar-margin-inline: 5px;
|
||||
--urlbar-container-padding: 5px;
|
||||
:root[zen-single-toolbar='true'] {
|
||||
:root[zen-single-toolbar='true'] & {
|
||||
--urlbar-container-padding: 4px;
|
||||
}
|
||||
}
|
||||
@@ -467,11 +466,11 @@ button.popup-notification-dropmarker {
|
||||
#urlbar[open][zen-floating-urlbar='true'] {
|
||||
z-index: 1000;
|
||||
max-width: unset;
|
||||
min-width: unset !important;
|
||||
--urlbar-container-height: 55px !important;
|
||||
--urlbar-margin-inline: 10px !important;
|
||||
|
||||
width: min(90%, 50rem) !important;
|
||||
min-width: min(90%, 50rem) !important;
|
||||
width: var(--zen-urlbar-width, min(90%, 50rem)) !important;
|
||||
font-size: 1.15em !important;
|
||||
@media (-moz-platform: macos) {
|
||||
font-size: 1.5em !important;
|
||||
|
||||
@@ -82,12 +82,34 @@ document.addEventListener(
|
||||
case 'cmd_zenReplacePinnedUrlWithCurrent':
|
||||
gZenPinnedTabManager.replacePinnedUrlWithCurrent();
|
||||
break;
|
||||
case 'cmd_zenAddToEssentials':
|
||||
case 'cmd_contextZenAddToEssentials':
|
||||
gZenPinnedTabManager.addToEssentials();
|
||||
break;
|
||||
case 'cmd_zenRemoveFromEssentials':
|
||||
case 'cmd_contextZenRemoveFromEssentials':
|
||||
gZenPinnedTabManager.removeEssentials();
|
||||
break;
|
||||
case 'cmd_zenCtxDeleteWorkspace':
|
||||
gZenWorkspaces.contextDeleteWorkspace(event);
|
||||
break;
|
||||
case 'cmd_zenChangeWorkspaceName':
|
||||
gZenVerticalTabsManager.renameTabStart({
|
||||
target: gZenWorkspaces.activeWorkspaceIndicator.querySelector(
|
||||
'.zen-current-workspace-indicator-name'
|
||||
),
|
||||
});
|
||||
break;
|
||||
case 'cmd_zenChangeWorkspaceIcon':
|
||||
gZenWorkspaces.changeWorkspaceIcon();
|
||||
break;
|
||||
case 'cmd_zenReorderWorkspaces':
|
||||
gZenUIManager.showToast('zen-workspaces-how-to-reorder-title', {
|
||||
timeout: 9000,
|
||||
descriptionId: 'zen-workspaces-how-to-reorder-desc',
|
||||
});
|
||||
break;
|
||||
case 'cmd_zenOpenWorkspaceCreation':
|
||||
gZenWorkspaces.openWorkspaceCreation(event);
|
||||
break;
|
||||
default:
|
||||
if (event.target.id.startsWith('cmd_zenWorkspaceSwitch')) {
|
||||
const index = parseInt(event.target.id.replace('cmd_zenWorkspaceSwitch', ''), 10) - 1;
|
||||
|
||||
@@ -95,11 +95,6 @@ var ZenThemeModifier = {
|
||||
updateAccentColor() {
|
||||
const accentColor = Services.prefs.getStringPref('zen.theme.accent-color');
|
||||
document.documentElement.style.setProperty('--zen-primary-color', accentColor);
|
||||
// Notify the page that the accent color has changed, only if a function
|
||||
// handler is defined.
|
||||
if (typeof window.zenPageAccentColorChanged === 'function') {
|
||||
window.zenPageAccentColorChanged(accentColor);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -36,10 +36,12 @@ var gZenCompactModeManager = {
|
||||
preInit() {
|
||||
// Remove it before initializing so we can properly calculate the width
|
||||
// of the sidebar at startup and avoid overflowing items not being hidden
|
||||
const isCompactMode =
|
||||
lazyCompactMode.mainAppWrapper.getAttribute('zen-compact-mode') === 'true';
|
||||
this._wasInCompactMode = Services.xulStore.getValue(
|
||||
AppConstants.BROWSER_CHROME_URL,
|
||||
'zen-main-app-wrapper',
|
||||
'zen-compact-mode'
|
||||
);
|
||||
lazyCompactMode.mainAppWrapper.removeAttribute('zen-compact-mode');
|
||||
this._wasInCompactMode = isCompactMode;
|
||||
|
||||
this.addContextMenu();
|
||||
},
|
||||
@@ -211,8 +213,11 @@ var gZenCompactModeManager = {
|
||||
return;
|
||||
}
|
||||
let sidebarWidth = this.sidebar.getBoundingClientRect().width;
|
||||
const shouldRecalculate =
|
||||
this.preference || document.documentElement.hasAttribute('zen-creating-workspace');
|
||||
const sidebarExpanded = document.documentElement.hasAttribute('zen-sidebar-expanded');
|
||||
if (sidebarWidth > 1) {
|
||||
if (this.preference && gZenVerticalTabsManager._prefsSidebarExpanded) {
|
||||
if (shouldRecalculate && sidebarExpanded) {
|
||||
sidebarWidth = Math.max(sidebarWidth, 150);
|
||||
}
|
||||
// Second variable to get the genuine width of the sidebar
|
||||
@@ -220,8 +225,8 @@ var gZenCompactModeManager = {
|
||||
window.dispatchEvent(new window.Event('resize')); // To recalculate the layout
|
||||
if (
|
||||
event &&
|
||||
this.preference &&
|
||||
gZenVerticalTabsManager._prefsSidebarExpanded &&
|
||||
shouldRecalculate &&
|
||||
sidebarExpanded &&
|
||||
!gZenVerticalTabsManager._hadSidebarCollapse
|
||||
) {
|
||||
return;
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
--zen-toolbox-max-width: 66px !important;
|
||||
--zen-toolbox-max-width: 74px !important;
|
||||
--zen-compact-float: var(--zen-element-separation);
|
||||
|
||||
/* Initial padding for when we are animating */
|
||||
@@ -391,7 +391,7 @@
|
||||
) {
|
||||
& #zen-appcontent-navbar-container {
|
||||
visibility: visible !important;
|
||||
&::before {
|
||||
:root[zen-show-grainy-background='true'] &::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user