Compare commits
186 Commits
1.0.0-a.27
...
1.0.0-a.34
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7b836d1232 | ||
![]() |
00e0892c31 | ||
![]() |
c44b844770 | ||
![]() |
2cdb14c184 | ||
![]() |
912aeba7b4 | ||
![]() |
10aad8c6ed | ||
![]() |
296cb9c44f | ||
![]() |
619d54ddc6 | ||
![]() |
c0923fbe0a | ||
![]() |
689789f2e9 | ||
![]() |
2eaf348eda | ||
![]() |
1f25a3c502 | ||
![]() |
4d9d8be4a4 | ||
![]() |
7bf5aa2015 | ||
![]() |
c2762c4eb9 | ||
![]() |
f5f3792165 | ||
![]() |
212e6e4bf8 | ||
![]() |
ca6f7c0b3a | ||
![]() |
70df8829fb | ||
![]() |
b586880d44 | ||
![]() |
758a5cc44a | ||
![]() |
985a3f433c | ||
![]() |
95545dcec9 | ||
![]() |
541d2f7baa | ||
![]() |
b5566038e2 | ||
![]() |
bcf8b190d7 | ||
![]() |
3ad9874ded | ||
![]() |
32ef547349 | ||
![]() |
9ad90e7298 | ||
![]() |
f2a8c3665d | ||
![]() |
98e97585e1 | ||
![]() |
fcb95175de | ||
![]() |
63bf09bc3c | ||
![]() |
b39570d9e5 | ||
![]() |
d83908bcff | ||
![]() |
a7f6a1ef4f | ||
![]() |
f849bc0a1a | ||
![]() |
dd5d8dce77 | ||
![]() |
82f933af93 | ||
![]() |
52485459a9 | ||
![]() |
6a4e81d1a1 | ||
![]() |
9b3afb58cd | ||
![]() |
802a7300e0 | ||
![]() |
87ca7d2d73 | ||
![]() |
1cdb0404fd | ||
![]() |
09b3197aa4 | ||
![]() |
4fe83e8f25 | ||
![]() |
b8361cc8ea | ||
![]() |
ac37939c6e | ||
![]() |
81a2b5b874 | ||
![]() |
094295ba93 | ||
![]() |
7bea297965 | ||
![]() |
378ea1cab1 | ||
![]() |
f22e1f6503 | ||
![]() |
0345322c06 | ||
![]() |
61cf75f84c | ||
![]() |
866b9d74ef | ||
![]() |
d5bbcd0617 | ||
![]() |
78fa236bec | ||
![]() |
35fb5f510e | ||
![]() |
cc340432ba | ||
![]() |
d87315da49 | ||
![]() |
bf4e47f8fb | ||
![]() |
162a98fd1b | ||
![]() |
a6aeafa668 | ||
![]() |
31bd7b14dd | ||
![]() |
ab793ff424 | ||
![]() |
043755c1a0 | ||
![]() |
42a0140d8d | ||
![]() |
ed923b73cc | ||
![]() |
06adcdbcb6 | ||
![]() |
7f4265dfe4 | ||
![]() |
cd3a09d26b | ||
![]() |
09585654ee | ||
![]() |
67bc214cc9 | ||
![]() |
4cef2dd304 | ||
![]() |
c313c95c81 | ||
![]() |
7427fa0017 | ||
![]() |
10c10523f1 | ||
![]() |
21c537f000 | ||
![]() |
4920433736 | ||
![]() |
57e2c4af0a | ||
![]() |
9652725e84 | ||
![]() |
21635d9d63 | ||
![]() |
c7845a8e8f | ||
![]() |
c0aa1664cb | ||
![]() |
f72e38fd54 | ||
![]() |
d39ae862d6 | ||
![]() |
00d0eb8fc8 | ||
![]() |
80866de5fe | ||
![]() |
3dbb8a9bc2 | ||
![]() |
a47edaefaa | ||
![]() |
0c7dbbc2c6 | ||
![]() |
45515149e0 | ||
![]() |
b8da76745d | ||
![]() |
7d55d670ee | ||
![]() |
a74ec9650c | ||
![]() |
fdb5627da6 | ||
![]() |
60687d6b03 | ||
![]() |
dd68add538 | ||
![]() |
ea34bec55a | ||
![]() |
3def55d48b | ||
![]() |
5c4c3e6fb2 | ||
![]() |
c0d101aef0 | ||
![]() |
cc022ddd2f | ||
![]() |
511ca88aec | ||
![]() |
9217e32439 | ||
![]() |
2444bb04fc | ||
![]() |
c502719bd7 | ||
![]() |
d3a9ec4b3c | ||
![]() |
8a646bcc95 | ||
![]() |
92959769df | ||
![]() |
e4d56fd7d9 | ||
![]() |
b77f864668 | ||
![]() |
e02a44b20b | ||
![]() |
eb2d91256f | ||
![]() |
ff9876ebac | ||
![]() |
d6ddb542e9 | ||
![]() |
8ba6ba14e8 | ||
![]() |
6c58c9d61c | ||
![]() |
6f0609dd8c | ||
![]() |
ebba41c735 | ||
![]() |
65e040d987 | ||
![]() |
29a85db998 | ||
![]() |
d50a745e95 | ||
![]() |
a5854174c7 | ||
![]() |
5ef37aa079 | ||
![]() |
4c622d1429 | ||
![]() |
5593e7c437 | ||
![]() |
940bbae367 | ||
![]() |
4d8558929c | ||
![]() |
c05547248f | ||
![]() |
1a5e788476 | ||
![]() |
0af7b8b5b6 | ||
![]() |
95e444c31c | ||
![]() |
b011ad3de9 | ||
![]() |
ff188e0e1c | ||
![]() |
5ef88531d2 | ||
![]() |
410c875151 | ||
![]() |
bbad093d64 | ||
![]() |
e7103f1d87 | ||
![]() |
d9c3973b9d | ||
![]() |
d65681505d | ||
![]() |
739eff84f2 | ||
![]() |
d5e7d0c36f | ||
![]() |
90ca6ea99a | ||
![]() |
fdb4696066 | ||
![]() |
22a5dcddf3 | ||
![]() |
47ba86f211 | ||
![]() |
e2e7756649 | ||
![]() |
85b605db14 | ||
![]() |
cf48a52949 | ||
![]() |
dfde0f4baa | ||
![]() |
31b41329f2 | ||
![]() |
f856d9db6d | ||
![]() |
4187e20fbc | ||
![]() |
54b4f6e932 | ||
![]() |
bcabada80e | ||
![]() |
5c1decc77b | ||
![]() |
04af43909e | ||
![]() |
e808443631 | ||
![]() |
a47023e0f3 | ||
![]() |
ae9c99c7bc | ||
![]() |
187688e6ea | ||
![]() |
7854e26823 | ||
![]() |
d38eb962de | ||
![]() |
b2c2a134b0 | ||
![]() |
4874b4a1cd | ||
![]() |
983e85033f | ||
![]() |
38e6f075f4 | ||
![]() |
4146ad0936 | ||
![]() |
cf2435081a | ||
![]() |
e6f8eede34 | ||
![]() |
72f76608b6 | ||
![]() |
4eb07c762a | ||
![]() |
bbb4b64940 | ||
![]() |
cac80a2985 | ||
![]() |
ca1a63dbf1 | ||
![]() |
31fb9296c7 | ||
![]() |
7dd3e08409 | ||
![]() |
b537e5566a | ||
![]() |
5dd2a90f46 | ||
![]() |
034f351ac6 | ||
![]() |
195b215f5b | ||
![]() |
74d1385566 | ||
![]() |
957fe60a3d |
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Bug Report Or Feature Request
|
||||
name: Bug Report
|
||||
description: File a bug report
|
||||
body:
|
||||
- type: markdown
|
||||
@@ -38,8 +38,6 @@ body:
|
||||
- Medium
|
||||
- High
|
||||
- Critical
|
||||
- Enhancement
|
||||
multiple: true
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
32
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@@ -1,32 +0,0 @@
|
||||
name: Feature Request
|
||||
description: File a feature request
|
||||
labels:
|
||||
- "kind: enhancement"
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for filing a feature request.
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What feature would you like to see?
|
||||
description: Please describe the feature you would like to see.
|
||||
placeholder: Tell us what you would like to see!
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: platform
|
||||
attributes:
|
||||
label: What platform are you seeing the problem on?
|
||||
options:
|
||||
- Linux
|
||||
- macOS
|
||||
- Windows
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context about the feature request here.
|
2
.github/advanced-issue-labeler.yml
vendored
@@ -13,6 +13,4 @@ policy:
|
||||
keys: ['High']
|
||||
- name: 'kind: critical severity'
|
||||
keys: ['Critical']
|
||||
- name: 'kind: enhancement'
|
||||
keys: ['Enhancement']
|
||||
|
||||
|
3
.github/workflows/linux-alpha-build.yml
vendored
@@ -97,6 +97,9 @@ jobs:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
run: pnpm surfer import
|
||||
|
||||
- name: Build language packs
|
||||
run: sh scripts/download-language-packs.sh
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
cd engine
|
||||
|
5
.github/workflows/macos-alpha-build.yml
vendored
@@ -103,7 +103,10 @@ jobs:
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
|
||||
run: |
|
||||
pnpm surfer import
|
||||
pnpm surfer import --verbose
|
||||
|
||||
- name: Build language packs
|
||||
run: sh scripts/download-language-packs.sh
|
||||
|
||||
- name: build Zen
|
||||
env:
|
||||
|
3
.github/workflows/windows-alpha-build.yml
vendored
@@ -141,6 +141,9 @@ jobs:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
run: pnpm surfer import --verbose
|
||||
|
||||
- name: Build language packs
|
||||
run: sh scripts/download-language-packs.sh
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
|
3
.gitmodules
vendored
@@ -1,3 +1,6 @@
|
||||
[submodule "src/browser/base/content/zen-components"]
|
||||
path = src/browser/base/content/zen-components
|
||||
url = https://github.com/zen-browser/components
|
||||
[submodule "l10n"]
|
||||
path = l10n
|
||||
url = https://github.com/zen-browser/l10n-packs
|
||||
|
@@ -5,4 +5,4 @@
|
||||
"ManualAppUpdateOnly": true,
|
||||
"BackgroundAppUpdate": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=Zen Browser
|
||||
Comment=Experience tranquillity while browsing the web without people tracking you!
|
||||
Exec=zen %u
|
||||
Icon=zen
|
||||
Type=Application
|
||||
|
44
README.md
@@ -1,5 +1,11 @@
|
||||
|
||||
# 🌀 Zen Browser
|
||||
<div align="center">
|
||||
<picture>
|
||||
<img src="./zen-black.svg" width="128px">
|
||||
</picture>
|
||||
</div>
|
||||
<h1 align="center">
|
||||
Zen Browser
|
||||
</h1>
|
||||
|
||||
Experience tranquillity while browsing the web without people tracking you!
|
||||
|
||||
@@ -7,29 +13,36 @@ Experience tranquillity while browsing the web without people tracking you!
|
||||
* [Download](https://www.zen-browser.app/download)
|
||||
* [Release Notes](https://www.zen-browser.app/release-notes/latest)
|
||||
|
||||
[](https://crowdin.com/project/zen-browser)
|
||||
|
||||
[](https://flathub.org/apps/io.github.zen_browser.zen')
|
||||
|
||||
[](https://www.patreon.com/z3nth10n)
|
||||
|
||||
[](https://ko-fi.com/K3K111FH7H)
|
||||
<a href='https://flathub.org/apps/io.github.zen_browser.zen'>
|
||||
<img width='220' alt='Get it on Flathub' src='https://flathub.org/api/badge?locale=en'/>
|
||||
</a>
|
||||
|
||||
# Compatibility
|
||||
|
||||
Zen is currently built using firefox version `129.0.2`!
|
||||
|
||||
* Checkout the latest [releases notes](https://www.zen-browser.app/release-notes)!
|
||||
* Check out the latest [release notes](https://www.zen-browser.app/release-notes)!
|
||||
|
||||
# Performance
|
||||
|
||||
Zen is built with performance in mind, and we have optimized the browser to be as fast as possible!
|
||||
|
||||
* Checkout the latest [performance benchmarks](./docs/performance.md)!
|
||||
* Checkout the latest [performance benchmarks](https://docs.zen-browser.app/benchmarks)!
|
||||
|
||||
# Core Components
|
||||
|
||||
Some components used by @zen-browser as an attempt to make firefox forks a better place. You can find them [here](https://github.com/zen-browser/components).
|
||||
|
||||
## 🚀 Run Locally
|
||||
|
||||
Clone the project
|
||||
|
||||
```bash
|
||||
git clone https://github.com/zen-browser/desktop.git
|
||||
git clone https://github.com/zen-browser/desktop.git --recurse-submodules
|
||||
cd desktop
|
||||
```
|
||||
|
||||
@@ -62,14 +75,25 @@ npm start
|
||||
- [IAmJafeth](https://github.com/IAmJafeth) (For sponsoring the domain)
|
||||
- [Donno 🐒](https://www.onnno.nl/) (For making the logo)
|
||||
- [ptr1337](https://github.com/ptr1337) (AUR Packages and optimization flags)
|
||||
- [nitro](https://github.com/n7itro) (For the amazing work on the browser)
|
||||
|
||||
## Third Party Code
|
||||
|
||||
Zen coudn't be in its current state without the help of these amazing projects!
|
||||
Zen couldn't be in its current state without the help of these amazing projects!
|
||||
|
||||
- Zen's default preferences are based on [BetterFox](https://github.com/yokoffing/Betterfox)
|
||||
|
||||
## License
|
||||
|
||||
[MPL LICENSE](/LICENSE)
|
||||
[MPL LICENSE](./LICENSE)
|
||||
|
||||
## Star History
|
||||
|
||||
<a href="https://star-history.com/#zen-browser/desktop&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=zen-browser/desktop&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=zen-browser/desktop&type=Date" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=zen-browser/desktop&type=Date" />
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
|
@@ -1,4 +1 @@
|
||||
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />
|
||||
Sorry, your browser does not support inline SVG.
|
||||
</svg>
|
||||
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg"><rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />Sorry, your browser does not support inline SVG.</svg>
|
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 219 B |
BIN
configs/branding/alpha/PrivateBrowsing_150.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
configs/branding/alpha/PrivateBrowsing_70.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
configs/branding/alpha/VisualElements_150.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
configs/branding/alpha/VisualElements_70.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
configs/branding/alpha/content/about-logo-private.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
1
configs/branding/alpha/content/about-logo-private.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.g{fill:#000;}.g,.h,.i{stroke-width:0px;}.h{fill:url(#e);}.i{fill:#fff;}</style><linearGradient id="e" x1="128" y1="256" x2="128" y2="0" gradientUnits="userSpaceOnUse"><stop offset=".1" stop-color="#fff" stop-opacity=".02"/><stop offset=".9" stop-color="#fff" stop-opacity=".1"/></linearGradient></defs><g id="c"><rect class="g" y="0" width="256" height="256" rx="58.4" ry="58.4"/></g><g id="d"><rect class="h" y="0" width="256" height="256" rx="58.4" ry="58.4"/></g><g id="f"><path class="i" d="M165.9156,146.3156c-15.6016,0-28.6656,11.0055-31.8813,25.6562h-12.0687c-3.2156-14.6508-16.2797-25.6562-31.8813-25.6562-18.0063,0-32.6562,14.65-32.6562,32.6562s14.65,32.6562,32.6562,32.6562c15.6016,0,28.6656-11.0055,31.8813-25.6562h12.0687c3.2156,14.6508,16.2797,25.6562,31.8813,25.6562,18.0063,0,32.6562-14.65,32.6562-32.6562s-14.65-32.6562-32.6562-32.6562ZM90.0844,197.6281c-10.2875,0-18.6562-8.3687-18.6562-18.6562s8.3687-18.6562,18.6562-18.6562,18.6562,8.3688,18.6562,18.6562-8.3687,18.6562-18.6562,18.6562ZM165.9156,197.6281c-10.2875,0-18.6562-8.3687-18.6562-18.6562s8.3687-18.6562,18.6562-18.6562,18.6562,8.3688,18.6562,18.6562-8.3687,18.6562-18.6562,18.6562Z"/><path class="i" d="M214.4,115.6812h-21.8391l-9.2422-65.2906c-.3031-2.1406-1.5813-4.0219-3.4594-5.0969-1.8781-1.0719-4.1469-1.2188-6.1469-.3906l-45.7125,18.8906-45.7125-18.8906c-2-.8281-4.2688-.6813-6.1469.3906-1.8781,1.075-3.1562,2.9562-3.4594,5.0969l-9.2422,65.2906h-21.8391c-3.8656,0-7,3.1344-7,7s3.1344,7,7,7h172.8c3.8656,0,7-3.1344,7-7s-3.1344-7-7-7ZM85.2781,61.2875l40.0469,16.55c1.7125.7063,3.6375.7063,5.35,0l40.0469-16.55,7.6984,54.3937h-100.8406l7.6984-54.3937Z"/></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
BIN
configs/branding/alpha/content/about-logo-private@2x.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
configs/branding/alpha/content/about-logo.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
1
configs/branding/alpha/content/about-logo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="d" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.f{fill:#000;}.f,.g,.h{stroke-width:0px;}.g{fill:url(#e);}.h{fill:#fff;}</style><linearGradient id="e" x1="128" y1="256" x2="128" y2="0" gradientUnits="userSpaceOnUse"><stop offset=".1" stop-color="#fff" stop-opacity=".02"/><stop offset=".9" stop-color="#fff" stop-opacity=".1"/></linearGradient></defs><rect class="f" width="256" height="256" rx="58.4" ry="58.4"/><rect class="g" width="256" height="256" rx="58.4" ry="58.4"/><path class="h" d="M202.9973,184.5702c-.1715,10.2808-8.7737,18.4298-19.0559,18.4298h-77.2885c-3.0056,0-5.0458-3.0553-3.894-5.8314l.0262-.0632c5.0822-12.2707,13.3289-22.6249,23.8591-30.1785,1.3098-.9395,2.8903-1.4269,4.5023-1.4269h53.1034c10.462,0,18.9225,8.5681,18.7473,19.0702Z"/><path class="h" d="M149.3471,53c3.0056,0,5.0458,3.0553,3.894,5.8314l-.0262.0631c-5.0822,12.2708-13.3289,22.6249-23.8591,30.1785-1.3098.9396-2.8903,1.427-4.5023,1.427h-52.7949c-10.2822,0-18.8844-8.149-19.0559-18.4298-.1752-10.5021,8.2853-19.0702,18.7473-19.0702h77.5971Z"/><path class="h" d="M71.7465,203c-2.3913,0-4.8207-.46-7.1673-1.4319-9.5666-3.9624-14.1096-14.9301-10.1472-24.4964,6.0943-14.7127,14.8294-27.9027,25.9634-39.2034,11.5341-11.7073,25.1364-20.8551,40.4297-27.1898,21.021-8.7076,37.393-25.0792,46.0995-46.0995,3.9624-9.567,14.9305-14.1093,24.4964-10.1472,9.5666,3.9624,14.1096,14.9301,10.1472,24.4964-6.0943,14.7127-14.8294,27.9027-25.9634,39.2034-11.5341,11.7073-25.1364,20.8551-40.4297,27.1898-21.021,8.7076-37.393,25.0792-46.0995,46.0995-2.9905,7.22-9.9725,11.5791-17.329,11.5791Z"/></svg>
|
After Width: | Height: | Size: 1.6 KiB |
BIN
configs/branding/alpha/content/about-logo@2x.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
1
configs/branding/alpha/content/about-wordmark.svg
Normal file
After Width: | Height: | Size: 6.4 KiB |
1
configs/branding/alpha/content/firefox-wordmark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 56"><defs><style>.b{fill:context-fill #20123a;}</style></defs><path class="b" d="M11.2896,37.6632h15.1928v5.2919H3.2415v-3.8076l15.1487-21.2557H3.2126v-5.2919h23.2393v3.811l-15.1622,21.2523ZM50.8649,26.3765c.5434,1.4469.8151,3.1418.8151,5.0778v1.7322h-15.5019v.017c0,1.1243.2089,2.0991.6301,2.9176.4195.822,1.0139,1.4537,1.7849,1.8987s1.6847.6657,2.7427.6657c.7014,0,1.3433-.0984,1.9258-.2955.5842-.197,1.0818-.4925,1.4979-.8899.4144-.394.7303-.8797.9476-1.4503l5.8404.3838c-.2972,1.4028-.9018,2.6255-1.8154,3.6683-.9137,1.0428-2.0906,1.8511-3.5273,2.4319-1.4385.5774-3.0959.8661-4.9726.8661-2.3419,0-4.3561-.4755-6.0408-1.43-1.6847-.9544-2.9805-2.3063-3.8907-4.0623-.9086-1.7526-1.362-3.8314-1.362-6.2327,0-2.3402.4534-4.3951,1.362-6.1647.9103-1.7696,2.1925-3.1486,3.8466-4.1336,1.6558-.9884,3.5986-1.4843,5.8318-1.4843,1.503,0,2.9024.2411,4.2032.7201,1.2992.4789,2.4354,1.199,3.4084,2.1568.9731.9578,1.7306,2.1602,2.274,3.6072ZM45.7378,29.2737c0-.9069-.1987-1.7119-.5927-2.4149-.3957-.6997-.9409-1.2534-1.6388-1.6508-.6964-.4008-1.503-.6012-2.4235-.6012-.9578,0-1.8053.2208-2.5406.6589-.7371.4382-1.3127,1.0292-1.7271,1.7628-.3818.679-.5853,1.4304-.6228,2.2451h9.5455ZM73.0682,20.9318c-1.1769-.6929-2.5543-1.0394-4.1353-1.0394-1.6898,0-3.1265.3872-4.3137,1.165-1.1854.7744-2.0294,1.824-2.5338,3.1486h-.2667v-4.0181h-6.017v22.7672h6.3125v-13.1617c.0102-.9782.1953-1.8138.557-2.5135.36-.6963.8644-1.2261,1.5115-1.593.647-.3635,1.396-.5469,2.2451-.5469,1.2653,0,2.257.394,2.9788,1.1786.7217.7846,1.0767,1.8749,1.0682,3.2675v13.3689h6.3125v-14.4965c0-1.7662-.326-3.2913-.9782-4.5718-.6521-1.2805-1.5658-2.2655-2.741-2.955Z"/></svg>
|
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />
|
||||
Sorry, your browser does not support inline SVG.
|
||||
</svg>
|
Before Width: | Height: | Size: 226 B |
Before Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 624 B |
Before Width: | Height: | Size: 951 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 103 KiB |
@@ -3,6 +3,9 @@ ac_add_options --with-app-name=${binName}
|
||||
ac_add_options --with-app-basename=Zen
|
||||
ac_add_options --enable-official-branding
|
||||
|
||||
# Localization
|
||||
ac_add_options --with-l10n-base="$PWD/browser/locales"
|
||||
|
||||
export MOZ_USER_DIR="${name}"
|
||||
export MOZ_APP_BASENAME=Zen
|
||||
export MOZ_APP_PROFILE=${binName}
|
||||
@@ -18,7 +21,7 @@ export MOZ_DISTRIBUTION_ID=${appId}
|
||||
# Misc
|
||||
export MOZ_SOURCE_REPO=https://github.com/zen-browser/desktop
|
||||
export MOZ_SOURCE_CHANGESET=${changeset}
|
||||
#export MOZ_INCLUDE_SOURCE_INFO=1
|
||||
export MOZ_INCLUDE_SOURCE_INFO=1
|
||||
|
||||
ac_add_options --enable-application=browser
|
||||
|
||||
@@ -30,7 +33,9 @@ if test "$ZEN_RELEASE"; then
|
||||
ac_add_options --disable-debug-symbols
|
||||
ac_add_options --disable-debug-js-modules
|
||||
ac_add_options --disable-tests
|
||||
|
||||
ac_add_options --disable-jprof
|
||||
ac_add_options --disable-vtune
|
||||
|
||||
ac_add_options --enable-rust-simd
|
||||
ac_add_options --enable-wasm-simd
|
||||
@@ -89,7 +94,6 @@ ac_add_options --enable-eme=widevine
|
||||
ac_add_options --allow-addon-sideload
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
|
||||
mk_add_options MOZ_CRASHREPORTER=0
|
||||
mk_add_options MOZ_DATA_REPORTING=0
|
||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
||||
|
@@ -18,7 +18,6 @@ if test "$ZEN_CROSS_COMPILING"; then
|
||||
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/x64/Microsoft.VC143.CRT"
|
||||
|
||||
export MIDL="$TOOLS/wine/bin/widl"
|
||||
export MOZ_INCLUDE_SOURCE_INFO=1
|
||||
export MOZ_STUB_INSTALLER=1
|
||||
export WINEDEBUG=-all
|
||||
export WINE="$TOOLS/wine/bin/wine64"
|
||||
@@ -33,7 +32,7 @@ ac_add_options --disable-maintenance-service
|
||||
ac_add_options --disable-bits-download
|
||||
|
||||
if test "$SURFER_COMPAT" = "true"; then
|
||||
ac_add_options --enable-optimize="-O2 -Qvec -mtune=haswell -march=x86-64 -w"
|
||||
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize"
|
||||
|
||||
export CFLAGS="-mtune=haswell -march=x86-64 -O2 -Qvec -w"
|
||||
export CPPFLAGS="-mtune=haswell -march=x86-64 -O2 -Qvec -w"
|
||||
@@ -41,7 +40,7 @@ if test "$SURFER_COMPAT" = "true"; then
|
||||
export LDFLAGS="-Wl,-O2"
|
||||
export RUSTFLAGS="-C codegen-units=1 -Ctarget-cpu=x86-64"
|
||||
else
|
||||
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -Xclang -w"
|
||||
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -ftree-vectorize -Xclang -w"
|
||||
ac_add_options --enable-wasm-avx
|
||||
|
||||
export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
|
||||
|
@@ -1,60 +0,0 @@
|
||||
# 🌀 Zen Browser Performance traker
|
||||
|
||||
## Scores
|
||||
|
||||
## 1
|
||||
- [NOCanoa](https://github.com/NOCanoa)
|
||||
|
||||
OS: win 11; CPU: i5 13600k
|
||||
|
||||
## web.basemark
|
||||
|
||||
https://web.basemark.com/
|
||||
|
||||
| | score: |CSS | HTML5 | Page load and Responsiveness | Resize Cap. |
|
||||
|-----------|-----|-----|-------|------------------------------|-------------|
|
||||
| 1.0.0-a.15-opt | 2141.63 | 59% | 91% | 90% | 76% |
|
||||
| 1.0.0-a.13-opt | 1658.87 | 59% | 91% | 90% | 76% |
|
||||
| 1.0.0-a.12-opt | 1874.49 | 59% | 91% | 91% | 76% |
|
||||
| 1.0.0-a.11-opt | 1678.49 | 59% | 91% | 91% | 76% |
|
||||
| 1.0.0-a.10 | 1660.89 | 59% | 91% | 91% | 76% |
|
||||
| 1.0.0-a.9 | 470 | why | why | why | why |
|
||||
| 1.0.0-a.8 | 446.74 | 59% | 91% | 96% | 76% |
|
||||
| 1.0.0-a.7 | 1964.43 | 59% | 91% | 91% | 76% |
|
||||
| 1.0.0-a.6 | 1747.98 | 59% | 91% | 91% | 76% |
|
||||
| 1.0.0-a.4 | 470.49 | 59% | 91% | 97% | 76% |
|
||||
| 1.0.0-a.3 | 475.52 |59% | 91% | 97% | 76% |
|
||||
| other | last | utpdate | 31/7 | 2024 | - |
|
||||
| Librewolf 128.0-2 | 1953.65 | 59.66% | 89.01% | 91.72% | 76.12% |
|
||||
| FF nightly 130.0a1 | 1912.77 | 59.66% | 90.91% | 91.72% | 76.12% |
|
||||
|
||||
|
||||
```mermaid
|
||||
xychart-beta
|
||||
title "Performance over time (Higher is better)"
|
||||
x-axis [.3, .4, .6, .7, .8, .9, .10, .11, .12, .13, .15]
|
||||
y-axis "Benchmark Points"
|
||||
bar [475.52, 470.49, 1747.98, 1964.43, 446.74, 470, 1660.89, 1678.49, 1874.49, 1658.87, 2141.63]
|
||||
line [475.52, 470.49, 1747.98, 1964.43, 446.74, 470, 1660.89, 1678.49, 1874.49, 1658.87, 2141.63]
|
||||
```
|
||||
|
||||
## Speedometer3.0
|
||||
|
||||
https://browserbench.org/Speedometer3.0/
|
||||
|
||||
| | score: |
|
||||
|-----------|-----|
|
||||
| 1.0.0-a.15-opt | TODO |
|
||||
| 1.0.0-a.13-opt | 21.1 |
|
||||
| 1.0.0-a.12-opt | 21.5 |
|
||||
| 1.0.0-a.11-opt | 20.8 |
|
||||
| 1.0.0-a.10 | 21.2 |
|
||||
| others| - |
|
||||
| Vivaldi 6.7.3329.39| 27.8 |
|
||||
| FF nightly 130.0a1 | 27.0 |
|
||||
| Librewolf 128.0-2 | 20.2 |
|
||||
|
||||
## Repository View Counter
|
||||
|
||||
<div align='center'><a href='https://www.websitecounterfree.com'><img src='https://www.websitecounterfree.com/c.php?d=9&id=57772&s=40' border='0' alt='Free Website Counter'></a><br / ><small><a href='https://www.websitecounterfree.com' title="Free Website Counter">Free Website Counter</a></small></div>
|
||||
|
@@ -17,6 +17,7 @@ finish-args:
|
||||
- --filesystem=xdg-download:rw
|
||||
- --device=all
|
||||
- --talk-name=org.freedesktop.FileManager1
|
||||
- --talk-name=org.freedesktop.ScreenSaver
|
||||
- --own-name=org.mozilla.zen.*
|
||||
- --own-name=org.mpris.MediaPlayer2.firefox.*
|
||||
- --system-talk-name=org.freedesktop.NetworkManager
|
||||
|
1
l10n
Submodule
3402
package-lock.json
generated
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"homepage": "https://github.com/zen-browser/core#readme",
|
||||
"dependencies": {
|
||||
"@zen-browser/surfer": "^1.2.14"
|
||||
"@zen-browser/surfer": "^1.3.6"
|
||||
}
|
||||
}
|
||||
|
10
pnpm-lock.yaml
generated
@@ -9,8 +9,8 @@ importers:
|
||||
.:
|
||||
dependencies:
|
||||
'@zen-browser/surfer':
|
||||
specifier: ^1.2.14
|
||||
version: 1.2.14
|
||||
specifier: ^1.3.6
|
||||
version: 1.3.6
|
||||
|
||||
packages:
|
||||
|
||||
@@ -109,8 +109,8 @@ packages:
|
||||
'@types/node@17.0.45':
|
||||
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
|
||||
|
||||
'@zen-browser/surfer@1.2.14':
|
||||
resolution: {integrity: sha512-v83Iig29BUsVlMfMDER+y99DMDf2lD9IXnXuWAfLEE02AAYugYpTYu1tZ5aUffpLjZqCj46GUH8xdSUmUZQxzA==}
|
||||
'@zen-browser/surfer@1.3.6':
|
||||
resolution: {integrity: sha512-b+5GS9qMGoMB8lRaFYRA9C3EqntVf35sBx5dq7X3IuqlB9GmarYoS5E26EvXbmPJcfYkJG7ar05nHkkZyOrGuw==}
|
||||
hasBin: true
|
||||
|
||||
ansi-regex@5.0.1:
|
||||
@@ -786,7 +786,7 @@ snapshots:
|
||||
|
||||
'@types/node@17.0.45': {}
|
||||
|
||||
'@zen-browser/surfer@1.2.14':
|
||||
'@zen-browser/surfer@1.3.6':
|
||||
dependencies:
|
||||
'@resvg/resvg-js': 1.4.0
|
||||
async-icns: 1.0.2
|
||||
|
17
scripts/copy-language-pack.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
browser_locales=engine/browser/locales
|
||||
|
||||
copy_browser_locales() {
|
||||
langId=$1
|
||||
mkdir -p $browser_locales/$langId
|
||||
if [ "$langId" = "en-US" ]; then
|
||||
find $browser_locales/$langId -type f -name "zen*" -delete
|
||||
rsync -av --exclude=.git ./l10n/en-US/browser/ $browser_locales/$langId/
|
||||
return
|
||||
fi
|
||||
rm -rf $browser_locales/$langId/
|
||||
rsync -av --exclude=.git ./l10n/$langId/ $browser_locales/$langId/
|
||||
}
|
||||
|
||||
LANG=$1
|
||||
echo "Copying language pack for $LANG"
|
||||
copy_browser_locales $LANG
|
57
scripts/download-language-packs.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
set -ex
|
||||
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
git config --global init.defaultBranch main
|
||||
git config --global fetch.prune true
|
||||
|
||||
mkdir ~/tools
|
||||
cd ~/tools
|
||||
git clone https://github.com/glandium/git-cinnabar.git
|
||||
cd git-cinnabar
|
||||
git checkout 0.5.11
|
||||
export PATH=~/tools/git-cinnabar:$PATH
|
||||
cd ~
|
||||
git cinnabar download
|
||||
cd $CURRENT_DIR
|
||||
|
||||
update_language() {
|
||||
langId=$1
|
||||
cd ./l10n
|
||||
cd $langId
|
||||
|
||||
echo "Updating $langId"
|
||||
rm -rf .git
|
||||
|
||||
git init
|
||||
git remote add upstream hg://hg.mozilla.org/l10n-central/$langId
|
||||
git remote set-url upstream hg://hg.mozilla.org/l10n-central/$langId
|
||||
git pull upstream branches/default/tip
|
||||
|
||||
cd $CURRENT_DIR
|
||||
}
|
||||
|
||||
export PATH=~/tools/git-cinnabar:$PATH
|
||||
for lang in $(cat ./l10n/supported-languages); do
|
||||
update_language $lang
|
||||
done
|
||||
cd $CURRENT_DIR
|
||||
|
||||
# Move all the files to the correct location
|
||||
|
||||
sh scripts/copy-language-pack.sh en-US
|
||||
for lang in $(cat ./l10n/supported-languages); do
|
||||
sh scripts/copy-language-pack.sh $lang
|
||||
done
|
||||
|
||||
wait
|
||||
|
||||
echo "Cleaning up"
|
||||
rm -rf ~/tools
|
||||
rm -rf ~/.git-cinnabar
|
||||
|
||||
for lang in $(cat ./l10n/supported-languages); do
|
||||
# remove every file except if it starts with "zen"
|
||||
find ./l10n/$lang -type f -not -name "zen*" -delete
|
||||
done
|
2
scripts/update-en-US-packs.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
sh ./scripts/copy-language-pack.sh en-US
|
@@ -32,9 +32,9 @@ pref("gfx.content.skia-font-cache-size", 20);
|
||||
pref("browser.cache.jsbc_compression_level", 3);
|
||||
|
||||
/** MEDIA CACHE ***/
|
||||
pref("media.memory_cache_max_size", 512000); // alt=512000; also in Securefox (inactive there)
|
||||
pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback
|
||||
pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds)
|
||||
pref("media.memory_cache_max_size", 65536);
|
||||
pref("media.cache_readahead_limit", 7200);
|
||||
pref("media.cache_resume_threshold", 3600);
|
||||
|
||||
/** IMAGE CACHE ***/
|
||||
pref("image.mem.decode_bytes_at_a_time", 32768);
|
||||
@@ -47,7 +47,7 @@ pref("network.http.pacing.requests.enabled", false);
|
||||
pref("network.dnsCacheExpiration", 3600);
|
||||
pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
|
||||
pref("network.websocket.max-connections", 400); // default=200
|
||||
pref("network.ssl_tokens_cache_capacity", 32768);
|
||||
pref("network.ssl_tokens_cache_capacity", 10240);
|
||||
|
||||
/** MIXED CONTENT + CROSS-SITE ***/
|
||||
pref("pdfjs.enableScripting", false);
|
||||
@@ -62,6 +62,7 @@ pref("dom.security.sanitizer.enabled", true);
|
||||
* SECTION: SECUREFOX *
|
||||
****************************************************************************/
|
||||
/** TRACKING PROTECTION ***/
|
||||
pref("browser.contentblocking.category", "strict");
|
||||
pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
|
||||
pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
|
||||
pref("network.cookie.sameSite.noneRequiresSecure", true);
|
||||
|
@@ -13,9 +13,12 @@ pref("browser.tabs.hoverPreview.enabled", true);
|
||||
pref("browser.tabs.cardPreview.delayMs", 100);
|
||||
|
||||
#ifdef MOZ_UPDATE_CHANNEL
|
||||
pref("devtools.debugger.prompt-connection", false);
|
||||
pref("devtools.debugger.prompt-connection", true);
|
||||
#endif
|
||||
|
||||
// Dont download the multilingual dictionary
|
||||
pref("intl.multilingual.downloadEnabled", false);
|
||||
|
||||
// Theme
|
||||
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
||||
pref('browser.compactmode.show', true);
|
||||
@@ -56,6 +59,8 @@ pref("browser.ping-centre.telemetry", false);
|
||||
pref("browser.attribution.enabled", false);
|
||||
pref("toolkit.telemetry.pioneer-new-studies-available", false);
|
||||
|
||||
pref("app.update.checkInstallTime.days", 2);
|
||||
|
||||
// CUSTOM ZEN PREFS
|
||||
|
||||
pref('zen.welcomeScreen.enabled', true);
|
||||
@@ -105,12 +110,13 @@ pref('general.smoothScroll', true); // DEFAULT
|
||||
|
||||
// Privacy
|
||||
pref('dom.private-attribution.submission.enabled', false);
|
||||
pref('dom.security.https_only_mode', true);
|
||||
|
||||
pref('media.eme.enabled', true);
|
||||
pref('webgl.disabled', false);
|
||||
|
||||
pref("app.update.url.manual", "https://www.zen-browser.app/download");
|
||||
pref("app.update.url.details", "hhttps://www.zen-browser.app/download");
|
||||
pref("app.update.url.details", "https://www.zen-browser.app/download");
|
||||
pref("app.releaseNotesURL", "https://www.zen-browser.app/release-notes");
|
||||
pref("app.releaseNotesURL.aboutDialog", "https://www.zen-browser.app/release-notes");
|
||||
|
||||
@@ -129,12 +135,16 @@ pref('xpinstall.signatures.required', false);
|
||||
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
|
||||
pref('dom.script_loader.bytecode_cache.strategy', 2);
|
||||
|
||||
// Extremly experimental features
|
||||
pref("dom.webgpu.enabled", true);
|
||||
|
||||
// Font rendering
|
||||
// Font rendering, not for MacOSX and Linux
|
||||
#ifndef XP_UNIX
|
||||
#ifndef XP_MACOSX
|
||||
pref('gfx.font_rendering.cleartype_params.rendering_mode', 5);
|
||||
pref('gfx.font_rendering.cleartype_params.gamma', 1750);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
pref('gfx.webrender.all', true);
|
||||
pref('layers.acceleration.force-enabled', true);
|
||||
|
||||
#include better-fox.js
|
||||
|
||||
@@ -152,7 +162,7 @@ pref("network.http.speculative-parallel-limit", 10);
|
||||
pref("network.http.rcwn.enabled", false);
|
||||
|
||||
// Enable Browser Toolbox, Ctrl+Shift+Alt+I for debugging and modifying UI
|
||||
pref("devtools.debugger.remote-enabled", true);
|
||||
pref("devtools.debugger.remote-enabled", false);
|
||||
pref("devtools.chrome.enabled", true);
|
||||
|
||||
// Disable firefox's revamp
|
||||
@@ -162,3 +172,7 @@ pref("sidebar.verticalTabs", false, locked);
|
||||
// Better Windows theming
|
||||
pref("widget.non-native-theme.scrollbar.style", 2);
|
||||
pref("widget.non-native-theme.use-theme-accent", true);
|
||||
|
||||
// Expose Letterboxing https://github.com/zen-browser/desktop/issues/475
|
||||
pref("privacy.resistFingerprinting.letterboxing", false);
|
||||
pref("privacy.resistFingerprinting.letterboxing.dimensions", "");
|
||||
|
@@ -3,6 +3,9 @@ var ZenStartup = {
|
||||
init() {
|
||||
this._changeSidebarLocation();
|
||||
this._zenInitBrowserLayout();
|
||||
window.SessionStore.promiseInitialized.then(async () => {
|
||||
this._focusSearchBar();
|
||||
});
|
||||
},
|
||||
|
||||
_zenInitBrowserLayout() {
|
||||
@@ -80,7 +83,6 @@ var ZenStartup = {
|
||||
const kElementsToAppend = [
|
||||
"sidebar-splitter",
|
||||
"sidebar-box",
|
||||
"navigator-toolbox",
|
||||
];
|
||||
const wrapper = document.getElementById("zen-tabbox-wrapper");
|
||||
const appWrapepr = document.getElementById("zen-sidebar-box-container");
|
||||
@@ -92,14 +94,26 @@ var ZenStartup = {
|
||||
}
|
||||
appWrapepr.setAttribute("hidden", "true");
|
||||
|
||||
const browser = document.getElementById("browser")
|
||||
const toolbox = document.getElementById("navigator-toolbox");
|
||||
browser.prepend(toolbox);
|
||||
|
||||
// remove all styles except for the width, since we are xulstoring the complet style list
|
||||
const width = toolbox.style.width;
|
||||
toolbox.removeAttribute("style");
|
||||
toolbox.style.width = width;
|
||||
|
||||
// Set a splitter to navigator-toolbox
|
||||
const splitter = document.createXULElement("splitter");
|
||||
splitter.setAttribute("id", "zen-sidebar-splitter");
|
||||
splitter.setAttribute("orient", "horizontal");
|
||||
splitter.setAttribute("resizebefore", "sibling");
|
||||
splitter.setAttribute("resizeafter", "none");
|
||||
const titlebar = document.getElementById("navigator-toolbox");
|
||||
titlebar.insertAdjacentElement("afterend", splitter);
|
||||
toolbox.insertAdjacentElement("afterend", splitter);
|
||||
},
|
||||
|
||||
_focusSearchBar() {
|
||||
gURLBar.focus();
|
||||
},
|
||||
};
|
||||
|
||||
|
@@ -21,6 +21,10 @@ var gZenUIManager = {
|
||||
const button = document.getElementById('zen-bookmark-button');
|
||||
SidebarController.toggle('viewBookmarksSidebar', button);
|
||||
},
|
||||
|
||||
createValidXULText(text) {
|
||||
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
||||
}
|
||||
};
|
||||
|
||||
var gZenVerticalTabsManager = {
|
||||
|
@@ -15,6 +15,7 @@
|
||||
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
|
||||
content/browser/zen-styles/zen-tabs.css (content/zen-styles/zen-tabs.css)
|
||||
content/browser/zen-styles/zen-tabs/vertical-tabs.css (content/zen-styles/zen-tabs/vertical-tabs.css)
|
||||
content/browser/zen-styles/zen-tabs/horizontal-tabs.css (content/zen-styles/zen-tabs/horizontal-tabs.css)
|
||||
content/browser/zen-styles/zen-browser-ui.css (content/zen-styles/zen-browser-ui.css)
|
||||
content/browser/zen-styles/zen-animations.css (content/zen-styles/zen-animations.css)
|
||||
content/browser/zen-styles/zen-panel-ui.css (content/zen-styles/zen-panel-ui.css)
|
||||
|
@@ -1,4 +1,5 @@
|
||||
<link rel="localization" href="browser/zen-web-side-panels.ftl"/>
|
||||
<link rel="localization" href="browser/zen-workspaces.ftl"/>
|
||||
<link rel="localization" href="browser/zen-split-view.ftl"/>
|
||||
<link rel="localization" href="browser/zen-general.ftl"/>
|
||||
<link rel="localization" href="browser/zen-vertical-tabs.ftl"/>
|
||||
|
@@ -78,7 +78,7 @@
|
||||
|
||||
<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 lockpanelvertical="true" id="PanelUI-zen-workspaces-view" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<panelview id="PanelUI-zen-workspaces-view" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox>
|
||||
<hbox>
|
||||
<h3 data-l10n-id="zen-panel-ui-current-window-text"></h3>
|
||||
@@ -98,28 +98,31 @@
|
||||
</html:div>
|
||||
</vbox>
|
||||
</panelview>
|
||||
<panelview lockpanelvertical="true" id="PanelUI-zen-workspaces-create" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox>
|
||||
<h1 data-l10n-id="zen-panel-ui-workspaces-create-text"></h1>
|
||||
<html:input autofocus="true" id="PanelUI-zen-workspaces-create-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceNameChange(this);" />
|
||||
</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" oncommand="ZenWorkspaces.saveWorkspaceFromInput();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
|
||||
</button>
|
||||
<button id="PanelUI-zen-workspaces-create-cancel" oncommand="ZenWorkspaces.cancelWorkspaceCreation();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
|
||||
</button>
|
||||
</html:moz-button-group>
|
||||
</panelview>
|
||||
<panelview lockpanelvertical="true" id="PanelUI-zen-workspaces-create-icons" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<panelview id="PanelUI-zen-workspaces-create" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
|
||||
<vbox>
|
||||
<h1 data-l10n-id="zen-panel-ui-workspaces-create-text"></h1>
|
||||
<html:input autofocus="true" id="PanelUI-zen-workspaces-create-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceCreationNameChange(this);" />
|
||||
<hbox id="PanelUI-zen-workspaces-create-icons-container">
|
||||
</hbox>
|
||||
</vbox>
|
||||
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-create-footer">
|
||||
<button default="true" slot="primary" id="PanelUI-zen-workspaces-create-save-icons" oncommand="ZenWorkspaces.saveWorkspaceFromIcon();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
|
||||
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-create-save" oncommand="ZenWorkspaces.saveWorkspaceFromCreate();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
|
||||
</button>
|
||||
<button id="PanelUI-zen-workspaces-create-cancel-icons" oncommand="ZenWorkspaces.cancelWorkspaceCreation();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
|
||||
<button id="PanelUI-zen-workspaces-create-cancel" oncommand="ZenWorkspaces.closeWorkspacesSubView();" 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>
|
||||
<h1 data-l10n-id="zen-panel-ui-workspaces-edit-text"></h1>
|
||||
<html:input autofocus="true" id="PanelUI-zen-workspaces-edit-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceEditChange();" />
|
||||
<hbox id="PanelUI-zen-workspaces-edit-icons-container">
|
||||
</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" oncommand="ZenWorkspaces.saveWorkspaceFromEdit();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-edit-save">
|
||||
</button>
|
||||
<button id="PanelUI-zen-workspaces-edit-cancel" oncommand="ZenWorkspaces.closeWorkspacesSubView();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-edit-cancel">
|
||||
</button>
|
||||
</html:moz-button-group>
|
||||
</panelview>
|
||||
@@ -132,5 +135,6 @@
|
||||
<menuitem id="context_zenOpenWorkspace" oncommand="ZenWorkspaces.openWorkspace();" data-l10n-id="zen-workspaces-panel-context-open"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="context_zenSetAsDefaultWorkspace" oncommand="ZenWorkspaces.setDefaultWorkspace();" data-l10n-id="zen-workspaces-panel-context-set-default"/>
|
||||
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete();" data-l10n-id="zen-workspaces-panel-context-delete"/>
|
||||
<menuitem id="context_zenEditWorkspace" oncommand="ZenWorkspaces.contextEdit(event);" data-l10n-id="zen-workspaces-panel-context-edit"/>
|
||||
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete(event);" data-l10n-id="zen-workspaces-panel-context-delete"/>
|
||||
</menupopup>
|
@@ -1,7 +1,5 @@
|
||||
<toolbar id="zen-sidebar-icons-wrapper">
|
||||
<toolbar brighttext="true" id="zen-sidebar-icons-wrapper" class="zen-dont-hide-on-fullscreen">
|
||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button chromeclass-toolbar-additional subviewbutton-nav" badge="true" closemenu="none" removable="true" delegatesanchor="true" cui-areatype="toolbar" id="zen-profile-button" data-l10n-id="toolbar-button-account" onclick="ZenProfileDialogUI.showSubView(this, event)">
|
||||
<html:div class="zen-side-bar-profiles-button-panel-correction"></html:div>
|
||||
<html:div></html:div>
|
||||
</toolbarbutton>
|
||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" data-l10n-id="sidebar-zen-expand" oncommand="gZenVerticalTabsManager.toggleExpand();"></toolbarbutton>
|
||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-sidepanel-button" data-l10n-id="sidebar-zen-sidepanel" onclick="gZenBrowserManagerSidebar.toggle();"></toolbarbutton>
|
||||
|
@@ -20,8 +20,8 @@
|
||||
<html:p data-l10n-id="zen-sidebar-introduction-description"/>
|
||||
</vbox>
|
||||
</vbox>
|
||||
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-wrapper">
|
||||
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites">
|
||||
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-wrapper" class="zen-dont-hide-on-fullscreen">
|
||||
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites" class="zen-dont-hide-on-fullscreen">
|
||||
|
||||
</toolbar>
|
||||
<toolbarbutton id="zen-sidebar-add-panel-button" class="zen-sidebar-panel-button toolbarbutton-1 chromeclass-toolbar-additional" onclick="gZenBrowserManagerSidebar._openAddPanelDialog();"/>
|
||||
|
@@ -4,9 +4,12 @@
|
||||
width: -moz-available;
|
||||
margin: 0 var(--zen-element-separation) var(--zen-element-separation) 0;
|
||||
box-shadow: 0 0 0 1px var(--zen-colors-border);
|
||||
clip-path: inset(-5px -5px -5px round var(--zen-border-radius));
|
||||
border-radius: var(--zen-border-radius);
|
||||
clip-path: inset(-5px -5px -5px round var(--zen-webview-border-radius, var(--zen-border-radius)));
|
||||
border-radius: var(--zen-webview-border-radius, var(--zen-border-radius));
|
||||
transform: translate3d(0, 0, 0);
|
||||
overflow: hidden;
|
||||
|
||||
/* This fixes an issue with the left border */
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
|
@@ -1,11 +1,15 @@
|
||||
|
||||
#navigator-toolbox,
|
||||
|
||||
#browser,
|
||||
#appcontent,
|
||||
#tabbrowser-tabpanels {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
/* see issue #426 */
|
||||
background: var(--zen-navigator-toolbox-background, transparent) !important;
|
||||
}
|
||||
|
||||
#browser {
|
||||
width: 100%;
|
||||
}
|
||||
@@ -21,7 +25,6 @@ html#main-window > body {
|
||||
:not([inDOMFullscreen="true"]) #appcontent,
|
||||
#sidebar-box {
|
||||
/** Sidebar is already hidden in full screen mode */
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
@@ -12,19 +12,18 @@
|
||||
#navigator-toolbox[inFullscreen]{ margin-top: 0 !important; }
|
||||
|
||||
#navigator-toolbox {
|
||||
--zen-compact-toolbox-margin-single: 15px;
|
||||
--zen-compact-toolbox-margin-single: calc(var(--zen-element-separation) * 2);
|
||||
--zen-compact-toolbox-margin: var(--zen-compact-toolbox-margin-single);
|
||||
position: absolute;
|
||||
display: block;
|
||||
transition: 200ms ease-in-out !important;
|
||||
transform: translateX(calc(-100% + var(--zen-compact-toolbox-margin-single) + 2px));
|
||||
transform: translateX(calc(-100% + (var(--zen-compact-toolbox-margin-single) / 2)));
|
||||
opacity: 0;
|
||||
line-height: 0;
|
||||
z-index: 1;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: var(--zen-compact-toolbox-margin) !important;
|
||||
padding-top: calc(var(--zen-compact-toolbox-margin-single) - 5px) !important;
|
||||
|
||||
& #titlebar {
|
||||
border: 1px solid var(--zen-colors-border);
|
||||
@@ -34,6 +33,10 @@
|
||||
border-radius: var(--zen-panel-radius);
|
||||
}
|
||||
|
||||
& > * {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
&, & #titlebar {
|
||||
min-width: calc(var(--zen-navigation-toolbar-min-width) + var(--zen-compact-toolbox-margin-single) * 4) !important;
|
||||
}
|
||||
@@ -69,7 +72,14 @@
|
||||
@media not (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
|
||||
#navigator-toolbox {
|
||||
/* Remove the top margin */
|
||||
--zen-compact-toolbox-margin: calc(var(--zen-compact-toolbox-margin-single) / 3) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single);
|
||||
/* The toolbox isn't relative to the webview anymore, meaning we can't just add a static value and call it a day...
|
||||
* The top margin is calculated by taking the following factors into account:
|
||||
* 1. Element separation
|
||||
* 2. Extra margin to separate from the webview
|
||||
* 3. Add element separation variable, to avoid overlaping with the toolbar
|
||||
* 4. Calculate toolbar height, taken from zen-urlbar.css
|
||||
*/
|
||||
--zen-compact-toolbox-margin: calc(var(--zen-compact-toolbox-margin-single) + .15rem + var(--zen-element-separation) + (18px + (var(--toolbarbutton-inner-padding) * 2))) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single);
|
||||
}
|
||||
|
||||
#zen-sidebar-web-panel-wrapper,
|
||||
@@ -85,9 +95,13 @@
|
||||
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
|
||||
transform: none !important;
|
||||
opacity: 1;
|
||||
|
||||
& > * {
|
||||
pointer-events: all;
|
||||
}
|
||||
}
|
||||
|
||||
#navigator-toolbox > *{ line-height: normal; pointer-events: auto }
|
||||
#navigator-toolbox > *{ line-height: normal; }
|
||||
|
||||
#navigator-toolbox,
|
||||
#navigator-toolbox > *{
|
||||
@@ -115,14 +129,10 @@
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
|
||||
#navigator-toolbox {
|
||||
padding-top: var(--zen-compact-toolbox-margin);
|
||||
}
|
||||
|
||||
#zen-appcontent-navbar-container {
|
||||
--urlbar-height: unset;
|
||||
transition: .2s ease-in-out;
|
||||
transform: translateY(calc(-100% + 5px));
|
||||
transform: translateY(calc(-100% + var(--zen-element-separation)));
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
@@ -156,4 +166,24 @@
|
||||
margin-top: 10px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") {
|
||||
#navigator-toolbox {
|
||||
right: 0 !important;
|
||||
transform: translateX(calc(100% - (var(--zen-compact-toolbox-margin-single) / 2))) !important;;
|
||||
}
|
||||
|
||||
#navigator-toolbox:hover,
|
||||
#navigator-toolbox:focus-within,
|
||||
#navigator-toolbox[zen-user-show],
|
||||
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
|
||||
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
|
||||
transform: none !important;
|
||||
opacity: 1;
|
||||
|
||||
& > * {
|
||||
pointer-events: all;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@
|
||||
background: transparent !important;
|
||||
border-color: transparent !important;
|
||||
width: 1px !important;
|
||||
margin-right: 5px !important;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#sidebar-box[positionend] {
|
||||
@@ -48,6 +48,7 @@
|
||||
}
|
||||
|
||||
.zen-sidebar-action-button {
|
||||
--toolbarbutton-active-background: var(--zen-colors-secondary);
|
||||
width: var(--zen-sidebar-action-button-width);
|
||||
height: var(--zen-sidebar-action-button-width);
|
||||
padding: 0;
|
||||
@@ -81,10 +82,6 @@
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.zen-sidebar-action-button label {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#sidebar-box[hidden="true"] .zen-sidebar-action-button,
|
||||
.zen-sidebar-panel-button[animate] {
|
||||
opacity: 0;
|
||||
@@ -120,10 +117,11 @@
|
||||
#zen-profile-button {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#zen-profile-button > div:last-child {
|
||||
#zen-profile-button::before {
|
||||
background-image: var(--avatar-image-url);
|
||||
border-radius: 50%;
|
||||
background-size: cover;
|
||||
@@ -131,6 +129,11 @@
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border: 2px solid var(--zen-colors-border);
|
||||
content: '';
|
||||
top: 50%;
|
||||
left: var(--toolbar-start-end-padding);
|
||||
transform: translateY(-50%);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* Ugly code */
|
||||
@@ -146,12 +149,6 @@
|
||||
#TabsToolbar .zen-sidebar-action-button:nth-child(9), .zen-sidebar-panel-button:nth-child(9) { animation-delay: 0.9s; }
|
||||
#TabsToolbar .zen-sidebar-action-button:nth-child(10), .zen-sidebar-panel-button:nth-child(10) { animation-delay: 1s; }
|
||||
|
||||
#TabsToolbar .zen-side-bar-profiles-button-panel-correction {
|
||||
position: absolute;
|
||||
bottom: -2px;
|
||||
right: -2px;
|
||||
}
|
||||
|
||||
#zen-sidebar-icons-wrapper toolbarbutton {
|
||||
position: relative;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
/* Styles for both vertical and horizontal tabs */
|
||||
/*@import url("chrome://browser/content/zen-styles/zen-tabs/horizontal-tabs.css");*/
|
||||
@import url("chrome://browser/content/zen-styles/zen-tabs/horizontal-tabs.css");
|
||||
@import url("chrome://browser/content/zen-styles/zen-tabs/vertical-tabs.css");
|
||||
|
||||
#zen-tabbox-wrapper {
|
||||
|
@@ -0,0 +1,3 @@
|
||||
@media not (-moz-bool-pref: "zen.tabs.vertical") {
|
||||
|
||||
}
|
@@ -7,9 +7,14 @@
|
||||
#navigator-toolbox {
|
||||
--zen-tabbrowser-padding: 5px;
|
||||
margin-top: 0; /* Issue #156 */
|
||||
order: 0 !important;
|
||||
}
|
||||
|
||||
#zen-sidebar-splitter {
|
||||
order: 0 !important;
|
||||
}
|
||||
|
||||
:root[inFullscreen="true"] #navigator-toolbox {
|
||||
#navigator-toolbox {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
@@ -224,7 +229,7 @@
|
||||
}
|
||||
|
||||
#tabbrowser-arrowscrollbox {
|
||||
margin: 3px 0;
|
||||
margin: 3px 0 !important;
|
||||
}
|
||||
|
||||
#alltabs-button stack {
|
||||
@@ -232,7 +237,7 @@
|
||||
}
|
||||
|
||||
.tab-icon-overlay {
|
||||
margin-inline-end: 0;
|
||||
margin-inline-end: 0 !important;
|
||||
display: none; /* TODO: fix this */
|
||||
}
|
||||
|
||||
@@ -241,9 +246,20 @@
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded.on-hover") {
|
||||
#navigator-toolbox:is([zen-user-hover="true"]:hover, :not([zen-user-hover="true"])) {
|
||||
padding-right: 47px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
||||
#navigator-toolbox:is([zen-user-hover="true"]:hover, :not([zen-user-hover="true"])) {
|
||||
#navigator-toolbox:is(
|
||||
#navigator-toolbox[zen-user-hover="true"]:hover,
|
||||
#navigator-toolbox[zen-user-hover="true"]:focus-within,
|
||||
#mainPopupSet[zen-user-hover="true"]:has(> #appMenu-popup:hover) ~ toolbox,
|
||||
#navigator-toolbox[zen-user-hover="true"]:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)),
|
||||
:not([zen-user-hover="true"])) {
|
||||
--zen-navigation-toolbar-min-width: 155px;
|
||||
min-width: var(--zen-navigation-toolbar-min-width) !important;
|
||||
align-items: start;
|
||||
@@ -251,6 +267,7 @@
|
||||
width: 170px;
|
||||
border: none;
|
||||
padding-left: 2px;
|
||||
animation: zen-sidebar-panel-animation-2 0.3s backwards;
|
||||
|
||||
& .tab-label-container {
|
||||
display: block;
|
||||
@@ -369,20 +386,17 @@
|
||||
/* Display the vertical tabs on the right side */
|
||||
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") and (not (-moz-bool-pref: "zen.view.compact")) {
|
||||
#navigator-toolbox {
|
||||
order: 6;
|
||||
padding-left: 0;
|
||||
order: 6 !important;
|
||||
padding-left: 0 !important;
|
||||
padding: calc(var(--zen-tabbrowser-padding) * 1.5);
|
||||
}
|
||||
|
||||
#zen-sidebar-splitter {
|
||||
order: 5;
|
||||
}
|
||||
|
||||
#tabbrowser-tabbox {
|
||||
padding-left: var(--zen-element-separation);
|
||||
order: 5 !important;
|
||||
}
|
||||
|
||||
#tabbrowser-tabpanels .browserSidebarContainer {
|
||||
margin-right: 0 !important;
|
||||
margin-left: var(--zen-element-separation) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,10 +409,13 @@
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#navigator-toolbox, #titlebar, #TabsToolbar {
|
||||
transition: 0s !important;
|
||||
}
|
||||
|
||||
#TabsToolbar {
|
||||
--hovered-verticaltab-width: 20em;
|
||||
|
||||
transition: 200ms, margin 200ms, border-color 0 ease-in-out !important;
|
||||
z-index: 1;
|
||||
background-repeat: no-repeat !important;
|
||||
background-position: center center !important;
|
||||
@@ -412,37 +429,48 @@
|
||||
border-top-right-radius: var(--zen-border-radius);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
#navigator-toolbox:not(:hover) #TabsToolbar #tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab .tab-content[class] > .tab-close-button[class] {
|
||||
display: none !important;
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
#TabsToolbar-customization-target:hover > .toolbarbutton-1 > .toolbarbutton-text {
|
||||
transition-delay: 0.2s !important;
|
||||
}
|
||||
|
||||
#TabsToolbar-customization-target:hover > .toolbarbutton-1 > .toolbarbutton-text {
|
||||
transition-delay: 0.2s !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox:hover #TabsToolbar {
|
||||
z-index: 100 !important;
|
||||
width: 250px !important;
|
||||
background-color: var(--zen-dialog-background);
|
||||
border-top-color: var(--zen-colors-border);
|
||||
border-right-color: var(--zen-colors-border);
|
||||
padding-right: .1rem !important;
|
||||
position: absolute;
|
||||
}
|
||||
#navigator-toolbox:hover,
|
||||
#navigator-toolbox:focus-within,
|
||||
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
|
||||
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
|
||||
--zen-navigation-toolbar-min-width: 3.3rem !important;
|
||||
|
||||
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") {
|
||||
#navigator-toolbox:hover {
|
||||
--zen-navigation-toolbar-min-width: 0 !important;
|
||||
position: relative;
|
||||
padding: 0 !important;
|
||||
& #TabsToolbar {
|
||||
z-index: 100 !important;
|
||||
width: 250px !important;
|
||||
background-color: var(--zen-dialog-background);
|
||||
border-top-color: var(--zen-colors-border);
|
||||
border-right-color: var(--zen-colors-border);
|
||||
padding-right: .1rem !important;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
#navigator-toolbox:not(&) #TabsToolbar #tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab .tab-content[class] > .tab-close-button[class] {
|
||||
display: none !important;
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
& #zen-sidebar-icons-wrapper {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
& .zen-sidebar-action-button {
|
||||
width: 100%;
|
||||
|
||||
& > * {
|
||||
--toolbarbutton-active-background: transparent;
|
||||
}
|
||||
|
||||
& label {
|
||||
--toolbarbutton-hover-background: transparent;
|
||||
display: block !important;
|
||||
text-align: start;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") {
|
||||
#TabsToolbar {
|
||||
border-right: 0 !important;
|
||||
border-left: 1px solid transparent;
|
||||
@@ -452,8 +480,17 @@
|
||||
right: 100%;
|
||||
}
|
||||
|
||||
#navigator-toolbox:hover #TabsToolbar {
|
||||
border-left: 1px solid var(--zen-colors-border);
|
||||
#navigator-toolbox:hover,
|
||||
#navigator-toolbox:focus-within,
|
||||
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
|
||||
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
|
||||
--zen-navigation-toolbar-min-width: 0 !important;
|
||||
position: relative;
|
||||
padding: 0 !important;
|
||||
|
||||
& #TabsToolbar {
|
||||
border-left: 1px solid var(--zen-colors-border);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,21 +1,20 @@
|
||||
/* URL and tool bars */
|
||||
|
||||
#urlbar {
|
||||
--toolbarbutton-border-radius: 999px;
|
||||
border: transparent;
|
||||
--toolbarbutton-border-radius: 6px;
|
||||
--urlbarView-separator-color: var(--zen-colors-border);
|
||||
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
||||
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
||||
border: 1px solid var(--zen-colors-border);
|
||||
border-radius: 999px;
|
||||
overflow: hidden;
|
||||
padding: 1px;
|
||||
border-radius: var(--toolbarbutton-border-radius);
|
||||
}
|
||||
|
||||
#urlbar[focused="true"][breakout-extend="true"] {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
#urlbar {
|
||||
border: 1px solid light-dark(rgba(0,0,0,.2), rgba(255,255,255,.2))
|
||||
}
|
||||
|
||||
#searchbar:focus-within {
|
||||
border-color: transparent !important;
|
||||
}
|
||||
@@ -28,6 +27,8 @@
|
||||
background: var(--zen-dialog-background) !important;
|
||||
}
|
||||
|
||||
#urlbar-background { border: transparent !important; }
|
||||
|
||||
#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background,
|
||||
#searchbar:focus-within {
|
||||
outline: none !important;
|
||||
@@ -37,16 +38,29 @@
|
||||
|
||||
#urlbar .urlbar-page-action,
|
||||
#urlbar #tracking-protection-icon-container,
|
||||
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI) #identity-icon-box {
|
||||
#urlbar:not([breakout-extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
#urlbar[breakout-extend="true"] {
|
||||
--toolbarbutton-border-radius: 6px;
|
||||
#urlbar[breakout-extend="true"] .urlbar-page-action,
|
||||
#urlbar[breakout-extend="true"] #tracking-protection-icon-container,
|
||||
#urlbar[breakout-extend="true"] #identity-box #identity-icon-box,
|
||||
.searchbar-engine-one-off-item {
|
||||
border-radius: var(--toolbarbutton-border-radius) !important;
|
||||
}
|
||||
|
||||
#identity-icon-box {
|
||||
#urlbar[breakout-extend="true"] {
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
#identity-icon-box,
|
||||
#identity-permission-box {
|
||||
background: var(--zen-colors-secondary) !important;
|
||||
margin: 0 8px 0 0 !important;
|
||||
}
|
||||
|
||||
#identity-permission-box {
|
||||
background: var(--zen-colors-border) !important;
|
||||
}
|
||||
|
||||
#urlbar:is([focused], [open]) > #urlbar-background, #searchbar:focus-within {
|
||||
@@ -54,39 +68,41 @@
|
||||
}
|
||||
|
||||
#identity-icon-label {
|
||||
padding-inline-start: 8px !important;
|
||||
padding-inline-start: 8px !important;
|
||||
}
|
||||
|
||||
#urlbar #identity-box.chromeUI #identity-icon-box {
|
||||
border-radius: 5px !important;
|
||||
#identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI #identity-icon-box {
|
||||
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
|
||||
border-radius: 20px 10px 10px 20px !important;
|
||||
}
|
||||
|
||||
#urlbar .urlbar-page-action,
|
||||
#urlbar #identity-box #identity-icon-box,
|
||||
#urlbar #tracking-protection-icon-container {
|
||||
margin: 0 1px;
|
||||
}
|
||||
#urlbar:not([extend="true"]) #identity-box #identity-icon-box { position: relative; }
|
||||
|
||||
#urlbar:not([extend="true"]) #identity-box #identity-icon-box { position: relative;}
|
||||
|
||||
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI):not(.localResource) #identity-icon-box {
|
||||
#urlbar:not([extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI):not(.localResource) {
|
||||
#urlbar:not([extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) {
|
||||
margin-inline-end: 0 !important;
|
||||
}
|
||||
|
||||
.urlbar-page-action {
|
||||
width: calc(var(--urlbar-min-height) - 5px - 2 * var(--urlbar-container-padding)) !important;
|
||||
height: calc(var(--urlbar-min-height) - 5px - 2 * var(--urlbar-container-padding)) !important;
|
||||
.urlbar-page-action,
|
||||
#tracking-protection-icon-container {
|
||||
width: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
|
||||
height: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
|
||||
padding: 0 !important;
|
||||
justify-content: center !important;
|
||||
align-items: center !important;
|
||||
margin: 0 0 0 2px !important;
|
||||
}
|
||||
|
||||
#urlbar[breakout-extend="true"] .urlbar-page-action,
|
||||
#urlbar[breakout-extend="true"] #tracking-protection-icon-container {
|
||||
width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||
}
|
||||
|
||||
toolbar .toolbarbutton-1:not(.unified-extensions-item-action-button) {
|
||||
@@ -106,12 +122,16 @@ toolbar .zen-sidebar-panel-button {
|
||||
}
|
||||
|
||||
#identity-permission-box {
|
||||
margin: 0 5px 0 0 !important;
|
||||
border-top-left-radius: 0 !important;
|
||||
border-bottom-left-radius: 0 !important;
|
||||
}
|
||||
|
||||
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])) #identity-icon-box {
|
||||
#identity-box:has(#notification-popup-box:not([hidden="true"])) #identity-icon-box,
|
||||
#identity-box:has(#notification-popup-box:not([hidden="true"])) #identity-permission-box {
|
||||
margin-right: 4px !important;
|
||||
}
|
||||
|
||||
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])):not([pageproxystate="invalid"]) #identity-icon-box {
|
||||
border-top-right-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
@@ -124,10 +144,22 @@ toolbar .zen-sidebar-panel-button {
|
||||
|
||||
#notification-popup-box {
|
||||
border-radius: 999px;
|
||||
margin-right: 5px;
|
||||
transition: .2s;
|
||||
height: 100%;
|
||||
padding: 7px;
|
||||
margin: 0 4px 0 0 !important;
|
||||
padding: 0 4px;
|
||||
min-width: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
|
||||
height: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
#urlbar[breakout-extend="true"] #notification-popup-box {
|
||||
min-width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||
}
|
||||
|
||||
#notification-popup-box > image {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
button.popup-notification-dropmarker {
|
||||
@@ -141,11 +173,12 @@ button.popup-notification-dropmarker {
|
||||
}
|
||||
|
||||
.searchbar-engine-one-off-item {
|
||||
max-width: 20px;
|
||||
min-width: 20px !important;
|
||||
max-width: 28px;
|
||||
min-width: 28px !important;
|
||||
transition: background 0s;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#downloadsHistory {
|
||||
margin-top: 5px
|
||||
}
|
||||
}
|
||||
|
@@ -1,24 +1,34 @@
|
||||
|
||||
#zen-workspaces-button {
|
||||
--zen-workspaces-button-vmargin: 0.35rem;
|
||||
border: 1px solid var(--zen-colors-border);
|
||||
border-radius: 50px;
|
||||
width: calc(var(--zen-sidebar-action-button-width) - 5px) !important;
|
||||
height: calc(var(--zen-sidebar-action-button-width) - 10px) !important;
|
||||
margin-bottom: .1rem !important;
|
||||
margin-top: var(--zen-workspaces-button-vmargin) !important;
|
||||
margin-bottom: var(--zen-workspaces-button-vmargin) !important;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#zen-workspaces-button .zen-workspace-sidebar-name {
|
||||
margin-left: .1rem;
|
||||
margin-left: .2rem;
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
||||
#navigator-toolbox:is([zen-user-hover="true"]:hover, :not([zen-user-hover="true"])) {
|
||||
/** Keep these selectors in sync with the ones in vertical-tabs.css */
|
||||
#navigator-toolbox:is(
|
||||
#navigator-toolbox[zen-user-hover="true"]:hover,
|
||||
#navigator-toolbox[zen-user-hover="true"]:focus-within,
|
||||
#mainPopupSet[zen-user-hover="true"]:has(> #appMenu-popup:hover) ~ toolbox,
|
||||
#navigator-toolbox[zen-user-hover="true"]:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)),
|
||||
:not([zen-user-hover="true"])) {
|
||||
& #zen-workspaces-button .zen-workspace-sidebar-name {
|
||||
display: block;
|
||||
}
|
||||
@@ -37,7 +47,8 @@
|
||||
text-overflow: ellipsis;
|
||||
display: flex;
|
||||
padding: 2px 10px;
|
||||
width: calc(100% - var(--zen-tabbrowser-padding) * 8) !important;
|
||||
width: calc(100% - var(--zen-tabbrowser-padding) * 6) !important;
|
||||
gap: 0.5ch;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,6 +62,8 @@
|
||||
|
||||
#PanelUI-zen-workspaces > panelmultiview {
|
||||
align-items: flex-start;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces panelmultiview panelview {
|
||||
@@ -60,11 +73,13 @@
|
||||
min-height: 150px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-input {
|
||||
#PanelUI-zen-workspaces-create-input,
|
||||
#PanelUI-zen-workspaces-edit-input {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton {
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton,
|
||||
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: flex;
|
||||
@@ -74,27 +89,37 @@
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton[selected="true"] {
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton[selected="true"],
|
||||
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton[selected="true"] {
|
||||
border-color: var(--zen-colors-secondary);
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-icon {
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-icon,
|
||||
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton .toolbarbutton-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-text {
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-text,
|
||||
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton .toolbarbutton-text {
|
||||
min-width: unset;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-icons-container {
|
||||
#PanelUI-zen-workspaces-create-icons-container,
|
||||
#PanelUI-zen-workspaces-edit-icons-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-icons-container toolbarbutton.toolbarbutton-1,
|
||||
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton.toolbarbutton-1 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-list[empty="true"] {
|
||||
@@ -134,6 +159,7 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-weight: 600;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
& .zen-workspace-name {
|
||||
@@ -173,14 +199,16 @@
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-footer {
|
||||
#PanelUI-zen-workspaces-create-footer,
|
||||
#PanelUI-zen-workspaces-edit-footer {
|
||||
padding-bottom: 0 !important;
|
||||
margin-top: 20px;
|
||||
margin-top: 10px;
|
||||
margin-left: 0;
|
||||
margin-bottom: 0 !important;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#PanelUI-zen-workspaces-create-footer button[default="true"] {
|
||||
#PanelUI-zen-workspaces-create-footer button[default="true"],
|
||||
#PanelUI-zen-workspaces-edit-footer button[default="true"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/browser/components/customizableui/content/customizeMode.inc.xhtml b/browser/components/customizableui/content/customizeMode.inc.xhtml
|
||||
index 2788cc6a8fb42b7b968eb45aafc02f8d6fcf771d..5142e65576aebaac0e31677b707a5e05f88dae76 100644
|
||||
--- a/browser/components/customizableui/content/customizeMode.inc.xhtml
|
||||
+++ b/browser/components/customizableui/content/customizeMode.inc.xhtml
|
||||
@@ -94,7 +94,7 @@
|
||||
class="footer-button"
|
||||
oncommand="gCustomizeMode.togglePong(this.checked);"
|
||||
hidden="true"/>
|
||||
-
|
||||
+#include zenCustomizationMode.inc.xhtml
|
||||
<spacer id="customization-footer-spacer"/>
|
||||
#ifdef XP_MACOSX
|
||||
<button id="customization-touchbar-button"
|
@@ -16,6 +16,21 @@ var gZenNewWebPanel = {
|
||||
}
|
||||
},
|
||||
|
||||
addHttpIfMissing(url) {
|
||||
// List of schemes to avoid
|
||||
const avoidSchemes = ['about:', 'chrome:', 'moz-extension:', 'view-source:'];
|
||||
// Check if the URL starts with any of the avoid schemes
|
||||
for (let scheme of avoidSchemes) {
|
||||
if (url.startsWith(scheme)) {
|
||||
return url;
|
||||
}
|
||||
}
|
||||
if (!url.startsWith('http://') && !url.startsWith('https://')) {
|
||||
return 'https://' + url;
|
||||
}
|
||||
return url;
|
||||
},
|
||||
|
||||
handleDialogAccept: async function(aEvent) {
|
||||
document.commandDispatcher.focusedElement?.blur();
|
||||
let url = document.getElementById("zenNWP_url");
|
||||
@@ -23,16 +38,17 @@ var gZenNewWebPanel = {
|
||||
if (!url || !ua) {
|
||||
return;
|
||||
}
|
||||
let urlValue = url.value;
|
||||
try {
|
||||
new URL(url.value);
|
||||
new URL(urlValue);
|
||||
} catch (_) {
|
||||
return;
|
||||
urlValue = this.addHttpIfMissing(url.value);
|
||||
}
|
||||
if (!url.value || !ua.value) {
|
||||
return;
|
||||
}
|
||||
let newSite = {
|
||||
url: url.value,
|
||||
url: urlValue,
|
||||
ua: ua.value,
|
||||
};
|
||||
let currentData = JSON.parse(Services.prefs.getStringPref("zen.sidebar.data"));
|
||||
|
@@ -1,14 +1,15 @@
|
||||
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
||||
index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..fb7c6f419c02701aecd148ef2fe271ed6f1a73c1 100644
|
||||
index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..56b42e2d025e4a47ea0983cf33ae69ffafa0d576 100644
|
||||
--- a/browser/components/preferences/preferences.js
|
||||
+++ b/browser/components/preferences/preferences.js
|
||||
@@ -196,6 +196,9 @@ function init_all() {
|
||||
@@ -196,6 +196,10 @@ function init_all() {
|
||||
// the entire document.
|
||||
Preferences.queueUpdateOfAllElements();
|
||||
Services.telemetry.setEventRecordingEnabled("aboutpreferences", true);
|
||||
+ register_module("paneZenLooks", gZenLooksAndFeel);
|
||||
+ register_module("paneZenWorkspaces", gZenWorkspacesSettings);
|
||||
+ register_module("paneZenCKS", gZenCKSSettings);
|
||||
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
|
||||
|
||||
register_module("paneGeneral", gMainPane);
|
||||
register_module("paneHome", gHomePane);
|
||||
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
||||
index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca1cf7acc5 100644
|
||||
index 3affb19d1a243da4a5782c9a4a5588d165b4119f..837f078ff1f3a65a40877c1380c6d050a8415bab 100644
|
||||
--- a/browser/components/preferences/preferences.xhtml
|
||||
+++ b/browser/components/preferences/preferences.xhtml
|
||||
@@ -43,6 +43,8 @@
|
||||
@@ -24,7 +24,7 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca
|
||||
<!-- category list -->
|
||||
<richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label">
|
||||
<richlistitem id="category-general"
|
||||
@@ -110,6 +118,39 @@
|
||||
@@ -110,6 +118,50 @@
|
||||
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
|
||||
</richlistitem>
|
||||
|
||||
@@ -60,11 +60,22 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca
|
||||
+ <image class="category-icon"/>
|
||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-CKS-title"></label>
|
||||
+ </richlistitem>
|
||||
+
|
||||
+ <richlistitem id="category-zen-marketplace"
|
||||
+ class="category"
|
||||
+ value="paneZenMarketplace"
|
||||
+ helpTopic="prefs-main"
|
||||
+ data-l10n-id="category-zen-marketplace"
|
||||
+ data-l10n-attrs="tooltiptext"
|
||||
+ align="center">
|
||||
+ <image class="category-icon"/>
|
||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-marketplace-title"></label>
|
||||
+ </richlistitem>
|
||||
+
|
||||
<richlistitem id="category-home"
|
||||
class="category"
|
||||
value="paneHome"
|
||||
@@ -228,11 +269,13 @@
|
||||
@@ -228,11 +280,13 @@
|
||||
<html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/>
|
||||
</hbox>
|
||||
</hbox>
|
||||
@@ -78,13 +89,14 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca
|
||||
</hbox>
|
||||
</hbox>
|
||||
<vbox id="mainPrefPane">
|
||||
@@ -246,6 +289,9 @@
|
||||
@@ -246,6 +300,10 @@
|
||||
#include sync.inc.xhtml
|
||||
#include experimental.inc.xhtml
|
||||
#include moreFromMozilla.inc.xhtml
|
||||
+#include zenLooksAndFeel.inc.xhtml
|
||||
+#include zenKeyboardShortcuts.inc.xhtml
|
||||
+#include zenWorkspaces.inc.xhtml
|
||||
+#include zenMarketplace.inc.xhtml
|
||||
</vbox>
|
||||
</vbox>
|
||||
</vbox>
|
||||
|
@@ -23,8 +23,34 @@ const kZenOSToSmallName = {
|
||||
|
||||
var gZenMarketplaceManager = {
|
||||
init() {
|
||||
this._buildThemesList();
|
||||
Services.prefs.addObserver(this.updatePref, this._buildThemesList.bind(this));
|
||||
this._buildThemesList();
|
||||
document.getElementById("zenThemeMarketplaceCheckForUpdates").addEventListener("click", (event) => {
|
||||
if (event.target === document.getElementById("zenThemeMarketplaceCheckForUpdates")) {
|
||||
event.preventDefault();
|
||||
this._checkForThemeUpdates(event);
|
||||
}
|
||||
});
|
||||
document.addEventListener("ZenThemeMarketplace:CheckForUpdatesFinished", (event) => {
|
||||
document.getElementById("zenThemeMarketplaceCheckForUpdates").disabled = false;
|
||||
const updates = event.detail.updates;
|
||||
const success = document.getElementById("zenThemeMarketplaceUpdatesSuccess");
|
||||
const error = document.getElementById("zenThemeMarketplaceUpdatesFailure");
|
||||
if (updates) {
|
||||
success.hidden = false;
|
||||
error.hidden = true;
|
||||
} else {
|
||||
success.hidden = true;
|
||||
error.hidden = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_checkForThemeUpdates(event) {
|
||||
// Send a message to the child to check for theme updates.
|
||||
event.target.disabled = true;
|
||||
// send an event that will be listened by the child process.
|
||||
document.dispatchEvent(new CustomEvent("ZenCheckForThemeUpdates"));
|
||||
},
|
||||
|
||||
get updatePref() {
|
||||
@@ -118,19 +144,21 @@ var gZenMarketplaceManager = {
|
||||
},
|
||||
|
||||
async _buildThemesList() {
|
||||
if (this.__alreadyBuilding) return;
|
||||
this.__alreadyBuilding = true;
|
||||
let themes = await this._getThemes();
|
||||
this.themesList.innerHTML = "";
|
||||
for (let theme of Object.values(themes)) {
|
||||
const fragment = window.MozXULElement.parseXULToFragment(`
|
||||
<hbox class="zenThemeMarketplaceItem">
|
||||
<vbox class="zenThemeMarketplaceItemContent">
|
||||
<hbox class="zenThemeMarketplaceItem" align="center">
|
||||
<vbox class="zenThemeMarketplaceItemContent" flex="1">
|
||||
<label><h3 class="zenThemeMarketplaceItemTitle"></h3></label>
|
||||
<description class="description-deemphasized zenThemeMarketplaceItemDescription"></description>
|
||||
</vbox>
|
||||
<button class="zenThemeMarketplaceItemUninstallButton" data-l10n-id="zen-theme-marketplace-remove-button" zen-theme-id="${theme.id}"></button>
|
||||
</hbox>
|
||||
`);
|
||||
fragment.querySelector(".zenThemeMarketplaceItemTitle").textContent = theme.name;
|
||||
fragment.querySelector(".zenThemeMarketplaceItemTitle").textContent = `${theme.name} (v${theme.version || "1.0.0"})`;
|
||||
fragment.querySelector(".zenThemeMarketplaceItemDescription").textContent = theme.description;
|
||||
fragment.querySelector(".zenThemeMarketplaceItemUninstallButton").addEventListener("click", async (event) => {
|
||||
if (!confirm("Are you sure you want to remove this theme?")) {
|
||||
@@ -176,6 +204,7 @@ var gZenMarketplaceManager = {
|
||||
this.themesList.appendChild(preferencesWrapper);
|
||||
}
|
||||
}
|
||||
this.__alreadyBuilding = false;
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -42,14 +42,6 @@
|
||||
</hbox>
|
||||
|
||||
<groupbox id="zenThemeGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
|
||||
<label><html:h2 data-l10n-id="zen-theme-marketplace-header"/></label>
|
||||
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-description" />
|
||||
<hbox class="indent">
|
||||
<html:a id="zenThemeMarketplaceLink" href="https://zen-browser.app/themes" target="_blank" data-l10n-id="zen-theme-marketplace-link" />
|
||||
</hbox>
|
||||
|
||||
<vbox id="zenThemeMarketplaceList"></vbox>
|
||||
|
||||
<label><html:h2 data-l10n-id="zen-look-and-feel-buttons-header"/></label>
|
||||
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-buttons-description" />
|
||||
|
||||
|
23
src/browser/components/preferences/zenMarketplace.inc.xhtml
Normal file
@@ -0,0 +1,23 @@
|
||||
<html:template id="template-paneZenMarketplace">
|
||||
<hbox id="ZenMarketplaceCategory"
|
||||
class="subcategory"
|
||||
hidden="true"
|
||||
data-category="paneZenMarketplace">
|
||||
<html:h1 data-l10n-id="pane-zen-marketplace-title"/>
|
||||
</hbox>
|
||||
|
||||
<groupbox id="zenMarketplaceGroup" data-category="paneZenMarketplace" hidden="true" class="highlighting-group">
|
||||
<label><html:h2 data-l10n-id="zen-theme-marketplace-header"/></label>
|
||||
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-description" />
|
||||
<hbox class="indent">
|
||||
<html:a id="zenThemeMarketplaceLink" href="https://zen-browser.app/themes" target="_blank" data-l10n-id="zen-theme-marketplace-link" />
|
||||
<button id="zenThemeMarketplaceCheckForUpdates" data-l10n-id="zen-theme-marketplace-check-for-updates-button" />
|
||||
</hbox>
|
||||
|
||||
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-updates-success" hidden="true" id="zenThemeMarketplaceUpdatesSuccess" />
|
||||
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-updates-failure" hidden="true" id="zenThemeMarketplaceUpdatesFailure" />
|
||||
|
||||
<vbox id="zenThemeMarketplaceList"></vbox>
|
||||
</groupbox>
|
||||
|
||||
</html:template>
|
@@ -1,12 +1,36 @@
|
||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||
index d05d561b6d01b11a36c762fc39dc13e14181bce7..cbb85d7019a68f283e38c45172eda605c7b90144 100644
|
||||
index d05d561b6d01b11a36c762fc39dc13e14181bce7..b3aaf776c1fdeb1c02f88f2e8d5f424215b2cc26 100644
|
||||
--- a/browser/components/sidebar/browser-sidebar.js
|
||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||
@@ -471,6 +471,7 @@ var SidebarController = {
|
||||
@@ -446,7 +446,7 @@ var SidebarController = {
|
||||
*/
|
||||
setPosition() {
|
||||
// First reset all ordinals to match DOM ordering.
|
||||
- let browser = document.getElementById("browser");
|
||||
+ let browser = document.getElementById("zen-tabbox-wrapper");
|
||||
[...browser.children].forEach((node, i) => {
|
||||
node.style.order = i + 1;
|
||||
});
|
||||
@@ -460,9 +460,11 @@ var SidebarController = {
|
||||
let boxOrdinal = this._box.style.order;
|
||||
this._box.style.order = appcontent.style.order;
|
||||
|
||||
- appcontent.style.order = boxOrdinal;
|
||||
+ // appcontent.style.order = boxOrdinal;
|
||||
// the launcher should be on the right of the sidebar-box
|
||||
- sidebarContainer.style.order = parseInt(this._box.style.order) + 1;
|
||||
+ this._box.style.order = browser.children.length + 2;
|
||||
+ this._splitter.style.order = browser.children.length + 1;
|
||||
+ this._splitter.style.marginRight = 0;
|
||||
// Indicate we've switched ordering to the box
|
||||
this._box.setAttribute("positionend", true);
|
||||
sidebarMain.setAttribute("positionend", true);
|
||||
@@ -471,6 +473,8 @@ var SidebarController = {
|
||||
this._box.removeAttribute("positionend");
|
||||
sidebarMain.removeAttribute("positionend");
|
||||
sidebarContainer.removeAttribute("positionend");
|
||||
+ this._box.style.order = 0;
|
||||
+ this._splitter.style.removeProperty("margin-right");
|
||||
}
|
||||
|
||||
this.hideSwitcherPanel();
|
||||
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
index 1b87a9ab4aec939acac1da54a2b6670cc581fe86..603de2aa8d07adce7eb1002313f6403e1d90c5ea 100644
|
||||
index da760e143740a166df14d055cf3ec7b095b93d10..093dacee4356d4084432d53639873e3da006dd94 100644
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -370,8 +370,8 @@ bin/libfreebl_64int_3.so
|
||||
@@ -377,17 +377,17 @@ bin/libfreebl_64int_3.so
|
||||
; [MaintenanceService]
|
||||
;
|
||||
#ifdef MOZ_MAINTENANCE_SERVICE
|
||||
@@ -13,3 +13,23 @@ index 1b87a9ab4aec939acac1da54a2b6670cc581fe86..603de2aa8d07adce7eb1002313f6403e
|
||||
#endif
|
||||
|
||||
; [Crash Reporter]
|
||||
;
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
#ifdef XP_MACOSX
|
||||
-@BINPATH@/crashreporter.app/
|
||||
+;@BINPATH@/crashreporter.app/
|
||||
#else
|
||||
-@BINPATH@/crashreporter@BIN_SUFFIX@
|
||||
+;@BINPATH@/crashreporter@BIN_SUFFIX@
|
||||
#if defined(XP_WIN)
|
||||
@BINPATH@/@DLL_PREFIX@mozwer@DLL_SUFFIX@
|
||||
#endif
|
||||
@@ -397,7 +397,7 @@ bin/libfreebl_64int_3.so
|
||||
; [ minidump-analyzer ]
|
||||
;
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
-@BINPATH@/minidump-analyzer@BIN_SUFFIX@
|
||||
+;@BINPATH@/minidump-analyzer@BIN_SUFFIX@
|
||||
#endif
|
||||
|
||||
; [ Ping Sender ]
|
||||
|
@@ -1,32 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/appExtensionFields.ftl b/browser/locales/en-US/browser/appExtensionFields.ftl
|
||||
index 09d7a076eccd4235fac66156770d8b9ae01a7d16..f32affde0d6f77dadd421ff68bf2050bda9f0cd0 100644
|
||||
--- a/browser/locales/en-US/browser/appExtensionFields.ftl
|
||||
+++ b/browser/locales/en-US/browser/appExtensionFields.ftl
|
||||
@@ -8,13 +8,13 @@
|
||||
extension-default-theme-name-auto=System theme — auto
|
||||
extension-default-theme-description=Follow the operating system setting for buttons, menus, and windows.
|
||||
|
||||
-extension-firefox-compact-light-name=Light
|
||||
+extension-firefox-compact-light-name=Zen Light
|
||||
extension-firefox-compact-light-description=A theme with a light color scheme.
|
||||
|
||||
-extension-firefox-compact-dark-name=Dark
|
||||
+extension-firefox-compact-dark-name=Zen Dark
|
||||
extension-firefox-compact-dark-description=A theme with a dark color scheme.
|
||||
|
||||
-extension-firefox-alpenglow-name=Firefox Alpenglow
|
||||
+extension-firefox-alpenglow-name=Zen Universe
|
||||
extension-firefox-alpenglow-description=Use a colorful appearance for buttons, menus, and windows.
|
||||
|
||||
## Colorway Themes
|
||||
@@ -28,3 +28,9 @@ extension-colorways-balanced-name={ $colorway-name } — Balanced
|
||||
# "Bold" is used in the sense of bravery or courage, not in the sense of
|
||||
# emphasized text.
|
||||
extension-colorways-bold-name={ $colorway-name } — Bold
|
||||
+
|
||||
+extension-firefox-compact-galaxy-name=Zen Galaxy
|
||||
+extension-firefox-compact-galaxy-description=A theme with a dark color scheme and a nice galaxy touch!
|
||||
+
|
||||
+extension-firefox-compact-dream-name=Zen Dream
|
||||
+extension-firefox-compact-dream-description=A theme with a light color scheme and a nice dream-y touch!
|
||||
\ No newline at end of file
|
@@ -1,10 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/appmenu.ftl b/browser/locales/en-US/browser/appmenu.ftl
|
||||
index 5ad2d75f6215f7da44948cda5ad938db8fd97e8d..da4442ebcd594b602b9e991c9591071dddcaa5f6 100644
|
||||
--- a/browser/locales/en-US/browser/appmenu.ftl
|
||||
+++ b/browser/locales/en-US/browser/appmenu.ftl
|
||||
@@ -314,3 +314,5 @@ appmenuitem-relay-title = { -relay-brand-short-name }
|
||||
appmenuitem-relay-description = Mask your real email and phone
|
||||
appmenuitem-vpn-title = { -mozilla-vpn-brand-name }
|
||||
appmenuitem-vpn-description = Protect your online activity
|
||||
+
|
||||
+zen-panel-ui-current-profile-text = current profile
|
@@ -1,11 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/customizeMode.ftl b/browser/locales/en-US/browser/customizeMode.ftl
|
||||
index e5f54b231738fc8fee505c8c8dcccde820995cfc..ec81ef8e451faa25878830b7d4796708e15fe395 100644
|
||||
--- a/browser/locales/en-US/browser/customizeMode.ftl
|
||||
+++ b/browser/locales/en-US/browser/customizeMode.ftl
|
||||
@@ -36,3 +36,5 @@ customize-mode-touchbar-cmd =
|
||||
.label = Customize Touch Bar…
|
||||
customize-mode-downloads-button-autohide =
|
||||
.label = Hide button when empty
|
||||
+
|
||||
+customization-zen-browser-space = Content Space
|
||||
\ No newline at end of file
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/editBookmarkOverlay.ftl b/browser/locales/en-US/browser/editBookmarkOverlay.ftl
|
||||
index da74660e48620fe9097d05a51ba4be34f21246e6..3153ee3e3ea534807f7e6c35b016edf25749bbe7 100644
|
||||
--- a/browser/locales/en-US/browser/editBookmarkOverlay.ftl
|
||||
+++ b/browser/locales/en-US/browser/editBookmarkOverlay.ftl
|
||||
@@ -13,7 +13,7 @@ bookmark-overlay-url =
|
||||
# Location refers to the position of the bookmark within the browser's
|
||||
# bookmarks, not to its URL or address.
|
||||
bookmark-overlay-location-2 =
|
||||
- .value = Location
|
||||
+ .value = Folder
|
||||
.accesskey = L
|
||||
|
||||
bookmark-overlay-choose =
|
@@ -1,161 +0,0 @@
|
||||
|
||||
pane-zen-looks-title = Look and Feel
|
||||
category-zen-looks =
|
||||
.tooltiptext = { pane-zen-looks-title }
|
||||
|
||||
zen-warning-language = Changing the default language could make it easier for Websites to track you.
|
||||
|
||||
zen-look-and-feel-colors-header = Pick a theme colour
|
||||
zen-look-and-feel-colors-description = Make { -brand-short-name } look and feel the way you like
|
||||
zen-look-and-feel-themed-toolbar =
|
||||
.label = Make the toolbar themed with the accent color
|
||||
|
||||
pane-zen-side-panels-title = Side Web Panels
|
||||
zen-side-panels-header = General settings for web panels
|
||||
zen-side-panels-description = Increase productivity by having multiple views at once!
|
||||
zen-side-panels-enabled =
|
||||
.label = Enable Web Side Panels
|
||||
|
||||
zen-side-panels-close-on-blur =
|
||||
.label = Close the panel when it loses focus if it's not pinned
|
||||
|
||||
zen-look-and-feel-compact-view-header = Show in compact view
|
||||
zen-look-and-feel-compact-view-description = Only show the toolbars you use!
|
||||
zen-look-and-feel-compact-view-enabled =
|
||||
.label = Enable { -brand-short-name }'s compact mode
|
||||
|
||||
zen-look-and-feel-compact-view-top-toolbar =
|
||||
.label = Hide the top toolbar as well in compact mode
|
||||
|
||||
zen-look-and-feel-buttons-header = Button style
|
||||
zen-look-and-feel-buttons-description = Choose the style of buttons you want to see
|
||||
|
||||
zen-look-and-feel-pilled-buttons =
|
||||
.label = Pilled Buttons
|
||||
|
||||
pane-zen-workspaces-title = Workspaces
|
||||
category-zen-workspaces =
|
||||
.tooltiptext = { pane-workspaces-title }
|
||||
pane-settings-workspaces-title = Workspaces
|
||||
|
||||
pane-zen-workspaces-header = Workspaces
|
||||
zen-settings-workspaces-header = General settings for workspaces
|
||||
zen-settings-workspaces-description = With workspaces, you can have multiple browsing sessions at once!
|
||||
zen-settings-workspaces-enabled =
|
||||
.label = Enable Workspaces (Experimental)
|
||||
|
||||
pane-zen-theme-title = Theme Settings
|
||||
|
||||
zen-vertical-tabs-title = Sidebar and tabs layout
|
||||
zen-vertical-tabs-header = Vertical Tabs
|
||||
zen-vertical-tabs-description = Manage your tabs in a vertical layout
|
||||
zen-vertical-tabs-show-expand-button =
|
||||
.label = Show Expand Button
|
||||
|
||||
zen-vertical-tabs-expand-tabs-by-default = Expand Tabs by Default
|
||||
zen-vertical-tabs-dont-expand-tabs-by-default = Don't Expand Tabs by Default
|
||||
zen-vertical-tabs-expand-tabs-on-hover = Expand Tabs on Hover (Wont work on compact mode)
|
||||
|
||||
zen-vertical-tabs-expand-tabs-header = How to expand tabs
|
||||
zen-vertical-tabs-expand-tabs-description = Choose how to expand tabs in the sidebar
|
||||
|
||||
zen-theme-marketplace-header = Theme Store
|
||||
zen-theme-marketplace-description = Find and install themes from the store.
|
||||
zen-theme-marketplace-remove-button =
|
||||
.label = Remove Theme
|
||||
|
||||
zen-theme-marketplace-link = Visit Store
|
||||
|
||||
pane-zen-CKS-title = Keyboard Shortcuts
|
||||
category-zen-CKS =
|
||||
.tooltiptext = { pane-zen-CKS-title }
|
||||
pane-settings-CKS-title = { -brand-short-name } Keyboard Shortcuts
|
||||
|
||||
zen-settings-CKS-header = Customize your keyboard shortcuts
|
||||
zen-settings-CKS-description = Change the default keyboard shortcuts to your liking and improve your browsing experience
|
||||
|
||||
zen-settings-CKS-disable-firefox =
|
||||
.label = Disable { -brand-short-name }'s default keyboard shortcuts
|
||||
|
||||
zen-cks-group-tab-action = Tab Actions
|
||||
zen-cks-group-page-action = Page Actions
|
||||
zen-cks-group-visible-action = Visible Actions
|
||||
zen-cks-group-history-action = History Actions
|
||||
zen-cks-group-search-action = Search Actions
|
||||
zen-cks-group-tools-action = Tools Actions
|
||||
zen-cks-group-bookmark-action = Bookmark Actions
|
||||
zen-cks-group-open-page-action = Open Page Actions
|
||||
zen-cks-group-downloads-action = Downloads Actions
|
||||
zen-cks-group-sidebar-action = Sidebar Actions
|
||||
zen-cks-group-compact-mode-action = Compact Mode Actions
|
||||
zen-cks-group-split-view-action = Split View Actions
|
||||
zen-cks-group-workspace-action = Workspace Actions
|
||||
|
||||
open-new-tab = Open New Tab
|
||||
close-tab = Close Tab
|
||||
open-new-window = Open New Window
|
||||
open-new-private-window = Open New Private Window
|
||||
close-window = Close Window
|
||||
restore-last-tab = Restore Last Tab
|
||||
restore-last-window = Restore Last Window
|
||||
show-next-tab = Show Next Tab
|
||||
show-previous-tab = Show Previous Tab
|
||||
show-all-tabs-panel = Show All Tabs Panel
|
||||
send-with-mail = Send Page with Mail
|
||||
save-page = Save Page
|
||||
print-page = Print Page
|
||||
mute-current-tab = Mute Current Tab
|
||||
show-source-of-page = Show Source of Page
|
||||
show-page-info = Show Page Info
|
||||
zoom-in = Zoom In
|
||||
zoom-out = Zoom Out
|
||||
reset-zoom = Reset Zoom
|
||||
back = Back
|
||||
forward = Forward
|
||||
stop = Stop
|
||||
reload = Reload
|
||||
force-reload = Force Reload
|
||||
search-in-this-page = Search in This Page
|
||||
show-next-search-result = Show Next Search Result
|
||||
show-previous-search-result = Show Previous Search Result
|
||||
search-the-web = Search the Web
|
||||
open-migration-wizard = Open Migration Wizard
|
||||
quit-from-application = Quit Application
|
||||
enter-into-customize-mode = Enter Customize Mode
|
||||
enter-into-offline-mode = Enter Offline Mode
|
||||
open-screen-capture = Open Screen Capture
|
||||
bookmark-this-page = Bookmark This Page
|
||||
open-bookmark-add-tool = Open Bookmark Add Tool
|
||||
open-bookmarks-manager = Open Bookmarks Manager
|
||||
toggle-bookmark-toolbar = Toggle Bookmark Toolbar
|
||||
open-general-preferences = Open General Preferences
|
||||
open-privacy-preferences = Open Privacy Preferences
|
||||
open-workspaces-preferences = Open Workspaces Preferences
|
||||
open-containers-preferences = Open Containers Preferences
|
||||
open-search-preferences = Open Search Preferences
|
||||
open-sync-preferences = Open Sync Preferences
|
||||
open-task-manager = Open Task Manager
|
||||
open-addons-manager = Open Add-ons Manager
|
||||
open-home-page = Open Home Page
|
||||
forget-history = Forget History
|
||||
quick-forget-history = Quick Forget History
|
||||
clear-recent-history = Clear Recent History
|
||||
restore-last-session = Restore Last Session
|
||||
search-history = Search History
|
||||
manage-history = Manage History
|
||||
open-downloads = Open Downloads
|
||||
show-bookmark-sidebar = Show Bookmark Sidebar
|
||||
show-history-sidebar = Show History Sidebar
|
||||
show-synced-tabs-sidebar = Show Synced Tabs Sidebar
|
||||
reverse-sidebar = Reverse Sidebar Position
|
||||
hide-sidebar = Hide Sidebar
|
||||
toggle-sidebar = Toggle Sidebar
|
||||
zen-toggle-web-panels = Toggle Web Panels
|
||||
zen-toggle-compact-mode = Toggle Compact Mode
|
||||
zen-toggle-compact-mode-sidebar = Toggle Compact Mode Sidebar
|
||||
zen-toggle-compact-mode-toolbar = Toggle Compact Mode Toolbar
|
||||
zen-change-workspace = Cycle Workspaces
|
||||
zen-split-view-grid = Split View Grid
|
||||
zen-split-view-vertical = Split View Vertical
|
||||
zen-split-view-horizontal = Split View Horizontal
|
||||
zen-split-view-close = Close Split View
|
@@ -1,14 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/sidebarMenu.ftl b/browser/locales/en-US/browser/sidebarMenu.ftl
|
||||
index e050a2302c6699ffcabad2db4d45267912297519..d4ff03ace4d08482b4a6de62c4f00016486cad84 100644
|
||||
--- a/browser/locales/en-US/browser/sidebarMenu.ftl
|
||||
+++ b/browser/locales/en-US/browser/sidebarMenu.ftl
|
||||
@@ -19,3 +19,8 @@ sidebar-menu-close =
|
||||
|
||||
sidebar-close-button =
|
||||
.tooltiptext = Close sidebar
|
||||
+
|
||||
+sidebar-zen-sidepanel =
|
||||
+ .label = Side Panels
|
||||
+sidebar-zen-expand =
|
||||
+ .label = Expand Sidebar
|
||||
\ No newline at end of file
|
@@ -1,19 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/tabContextMenu.ftl b/browser/locales/en-US/browser/tabContextMenu.ftl
|
||||
index 5ace34fd8a3950777c88d680b0ba5d6b6878ad7a..780c75eb3705244d3f752aec4695547315669dd3 100644
|
||||
--- a/browser/locales/en-US/browser/tabContextMenu.ftl
|
||||
+++ b/browser/locales/en-US/browser/tabContextMenu.ftl
|
||||
@@ -26,12 +26,12 @@ duplicate-tabs =
|
||||
# The following string is displayed on a menuitem that will close the tabs from the start of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
|
||||
# In left-to-right languages this should use "Left" and in right-to-left languages this should use "Right".
|
||||
close-tabs-to-the-start =
|
||||
- .label = Close Tabs to Left
|
||||
+ .label = Close Tabs Above
|
||||
.accesskey = l
|
||||
# The following string is displayed on a menuitem that will close the tabs from the end of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
|
||||
# In left-to-right languages this should use "Right" and in right-to-left languages this should use "Left".
|
||||
close-tabs-to-the-end =
|
||||
- .label = Close Tabs to Right
|
||||
+ .label = Close Tabs Below
|
||||
.accesskey = i
|
||||
close-other-tabs =
|
||||
.label = Close Other Tabs
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/browser/locales/en-US/browser/unifiedExtensions.ftl b/browser/locales/en-US/browser/unifiedExtensions.ftl
|
||||
index 8db0d9488ac334ada07bf3f537f78cdc99577fb7..acc1d60d5577ffafe982557757c868fa691a1d96 100644
|
||||
--- a/browser/locales/en-US/browser/unifiedExtensions.ftl
|
||||
+++ b/browser/locales/en-US/browser/unifiedExtensions.ftl
|
||||
@@ -10,6 +10,8 @@ unified-extensions-header-title = Extensions
|
||||
unified-extensions-manage-extensions =
|
||||
.label = Manage extensions
|
||||
|
||||
+unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }.
|
||||
+
|
||||
## An extension in the main list
|
||||
|
||||
# Each extension in the unified extensions panel (list) has a secondary button
|
@@ -1,12 +0,0 @@
|
||||
|
||||
tab-zen-split-tabs =
|
||||
.label =
|
||||
{ $tabCount ->
|
||||
[1] Split Tab (multiple selected tabs needed)
|
||||
*[other] Split { $tabCount } Tabs
|
||||
}
|
||||
.accesskey = S
|
||||
|
||||
zen-split-link =
|
||||
.label = Split link to new tab
|
||||
.accesskey = S
|
@@ -1,4 +0,0 @@
|
||||
|
||||
zen-toolbar-context-tabs-right =
|
||||
.label = Tabs on the right
|
||||
.accesskey = R
|
@@ -1,31 +0,0 @@
|
||||
zen-web-side-panel-context-mute-panel =
|
||||
.label = Mute Web Panel
|
||||
.accesskey = M
|
||||
zen-web-side-panel-context-unmute-panel =
|
||||
.label = Unmute Web Panel
|
||||
.accesskey = m
|
||||
|
||||
zen-web-side-panel-context-disable-ua =
|
||||
.label = Disable Mobile UserAgent
|
||||
.accesskey = U
|
||||
zen-web-side-panel-context-enable-ua =
|
||||
.label = Enable Mobile UserAgent
|
||||
.accesskey = M
|
||||
|
||||
zen-web-side-panel-context-unload =
|
||||
.label = Unload Web Panel
|
||||
.accesskey = W
|
||||
zen-web-side-panel-context-delete =
|
||||
.label = Delete Web Panel
|
||||
.accesskey = D
|
||||
zen-web-side-panel-open-in-new-tab =
|
||||
.label = Open in New Tab
|
||||
.accesskey = N
|
||||
|
||||
|
||||
zen-web-side-panel-context-add-to-panel =
|
||||
.label = Add to Web Panels
|
||||
.accesskey = A
|
||||
|
||||
zen-sidebar-introduction-title = Welcome to Zen Sidebar
|
||||
zen-sidebar-introduction-description = Zen Sidebar is a new way to browse the web. Click on any of the icons to open a web panel.
|
@@ -1,26 +0,0 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
welcome-dialog-welcome = 👋 Welcome to { -brand-short-name }
|
||||
welcome-dialog-welcome-subtext = Fast. Beautiful. Private.
|
||||
welcome-dialog-get-started = Get started
|
||||
|
||||
welcome-dialog-import = 😍 Bring your favourites to { -brand-short-name }
|
||||
welcome-dialog-import-subtext = Pick up where you left off in your last browser
|
||||
welcome-dialog-import-action = Import your data
|
||||
|
||||
welcome-dialog-theme = Make yourself at home
|
||||
welcome-dialog-theme-subtext = Personalize your experience with your favorite look!
|
||||
|
||||
welcome-dialog-theme-header-1 = Choose your perfect color
|
||||
welcome-dialog-theme-header-2 = Choose your theme
|
||||
|
||||
welcome-dialog-search = 🔍 Choose a search engine
|
||||
welcome-dialog-search-subtext = Select your preferred search engine to tailor your browsing experience!
|
||||
|
||||
welcome-dialog-thanks = Thank You So Much! ❤️
|
||||
welcome-dialog-thanks-subtext = Your appreciation means the world to us!
|
||||
|
||||
welcome-dialog-back-action = Back
|
||||
welcome-dialog-next-action = Next
|
@@ -1,29 +0,0 @@
|
||||
|
||||
zen-panel-ui-current-window-text = Current Window
|
||||
|
||||
zen-panel-ui-workspaces-text = Other Workspaces
|
||||
|
||||
zen-panel-ui-workspaces-create-text = Create Workspace
|
||||
|
||||
zen-panel-ui-workspaces-create-save =
|
||||
.label = Create Workspace
|
||||
.accesskey = S
|
||||
zen-panel-ui-workspaces-create-cancel =
|
||||
.label = Cancel
|
||||
.accesskey = C
|
||||
|
||||
zen-workspaces-panel-context-delete =
|
||||
.label = Delete Workspace
|
||||
.accesskey = D
|
||||
|
||||
zen-workspaces-panel-context-open =
|
||||
.label = Open Workspace
|
||||
.accesskey = O
|
||||
|
||||
zen-workspaces-panel-context-set-default =
|
||||
.label = Set As Default Workspace
|
||||
.accesskey = S
|
||||
|
||||
context-zen-change-workspace-tab =
|
||||
.label = Change Tab(s) To Workspace
|
||||
.accesskey = C
|
@@ -1,7 +0,0 @@
|
||||
|
||||
zen-new-web-panel-url =
|
||||
.value = Initial URL
|
||||
.accesskey = I
|
||||
zen-new-web-panel-user-agent =
|
||||
.value = Display this web panel in mobile mode
|
||||
.accesskey = m
|
@@ -1,20 +0,0 @@
|
||||
diff --git a/browser/themes/shared/customizableui/customizeMode.css b/browser/themes/shared/customizableui/customizeMode.css
|
||||
index b3ee1ada6cbaef46ade98323d43bf72d84db3b88..a87a7511ba19d02849d1ccab487684156f7d8698 100644
|
||||
--- a/browser/themes/shared/customizableui/customizeMode.css
|
||||
+++ b/browser/themes/shared/customizableui/customizeMode.css
|
||||
@@ -547,3 +547,15 @@ toolbarpaletteitem > #search-container > #searchbar > .searchbar-textbox {
|
||||
80% { border-color: rgb(20,155,249); color: rgb(20,155,249); }
|
||||
100% { border-color: rgb(195,17,206); color: rgb(195,17,206); }
|
||||
}
|
||||
+
|
||||
+#customization-zen-browser-space {
|
||||
+ width: 200px;
|
||||
+ height: 5px;
|
||||
+}
|
||||
+
|
||||
+#zen-customization-uidensity-separator {
|
||||
+ height: 100%;
|
||||
+ width: 1px;
|
||||
+ margin: 0 5px;
|
||||
+ border-left: 1px solid rgba(0,0,0,.15);
|
||||
+}
|
@@ -314,6 +314,10 @@ groupbox h2 {
|
||||
|
||||
/* THemes marketplace */
|
||||
|
||||
#category-zen-marketplace > .category-icon {
|
||||
list-style-image: url("chrome://mozapps/skin/extensions/category-themes.svg");
|
||||
}
|
||||
|
||||
.zenThemeMarketplaceItem {
|
||||
width: 100%;
|
||||
|
||||
@@ -342,6 +346,10 @@ groupbox h2 {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
#zenThemeMarketplaceCheckForUpdates {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* Disable mozilla's settings */
|
||||
|
||||
#dataCollectionCategory,
|
||||
|
1
src/browser/themes/shared/privatebrowsing/favicon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><defs><style>.b{fill:#8000d7;}.b,.c{stroke-width:0px;}.c{fill:#fff;}</style></defs><circle class="b" cx="10" cy="10" r="9.5"/><path class="c" d="M12.7711,11.1656c-1.1727,0-2.1528.798-2.4543,1.876h-.634c-.3015-1.078-1.2816-1.876-2.4543-1.876-1.4113,0-2.5595,1.1492-2.5595,2.5606s1.1482,2.5596,2.5595,2.5596c1.1727,0,2.1528-.7973,2.4543-1.875h.634c.3015,1.0777,1.2816,1.875,2.4543,1.875,1.4114,0,2.5606-1.1483,2.5606-2.5596s-1.1492-2.5606-2.5606-2.5606ZM7.2284,14.9166c-.6568,0-1.1913-.5334-1.1913-1.1903s.5345-1.1914,1.1913-1.1914c.6564,0,1.1909.5345,1.1909,1.1914s-.5345,1.1903-1.1909,1.1903ZM12.7711,14.9166c-.6569,0-1.1904-.5334-1.1904-1.1903s.5335-1.1914,1.1904-1.1914,1.1914.5345,1.1914,1.1914-.5345,1.1903-1.1914,1.1903ZM16.3154,8.9273h-1.4463l-.6548-4.6247c-.0298-.2092-.1542-.3932-.3382-.498-.184-.1043-.407-.1198-.6003-.038l-3.276,1.3538-3.2761-1.3538c-.1953-.0817-.4178-.0668-.6003.038-.184.1049-.3084.2889-.3382.498l-.6543,4.6247h-1.4468c-.3777,0-.6841.3063-.6841.6841s.3063.6841.6841.6841h12.6313c.3783,0,.6846-.3063.6846-.6841s-.3063-.6841-.6846-.6841ZM7.0167,5.3681l2.722,1.1245c.1665.0699.3557.0699.5222,0l2.722-1.1245.5042,3.5592h-6.9741l.5038-3.5592Z"/></svg>
|
After Width: | Height: | Size: 1.3 KiB |
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/fullscreen-and-pointerlock.css b/browser/themes/shared/tabbrowser/fullscreen-and-pointerlock.css
|
||||
index 787e3153e2e07b383445e94aa9e25177eb49c929..c2bbde0458808e7e788f3d8d7b8c8409e6b5afc0 100644
|
||||
index 787e3153e2e07b383445e94aa9e25177eb49c929..a017e4c003f6c3b9af7c226c637b37aea6baa7e5 100644
|
||||
--- a/browser/themes/shared/tabbrowser/fullscreen-and-pointerlock.css
|
||||
+++ b/browser/themes/shared/tabbrowser/fullscreen-and-pointerlock.css
|
||||
@@ -7,7 +7,7 @@
|
||||
@@ -7,7 +7,7 @@ index 787e3153e2e07b383445e94aa9e25177eb49c929..c2bbde0458808e7e788f3d8d7b8c8409
|
||||
:root[inDOMFullscreen] #sidebar-main,
|
||||
:root[inDOMFullscreen] #sidebar-splitter,
|
||||
-:root[inFullscreen]:not([macOSNativeFullscreen]) toolbar:not([fullscreentoolbar=true]),
|
||||
+:root[inFullscreen]:not([macOSNativeFullscreen]) toolbar:not([fullscreentoolbar=true]):not(#zen-sidebar-icons-wrapper),
|
||||
+:root[inFullscreen]:not([macOSNativeFullscreen]) toolbar:not([fullscreentoolbar=true]):not(.zen-dont-hide-on-fullscreen),
|
||||
:root[inFullscreen] .global-notificationbox {
|
||||
visibility: collapse;
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||
index 22d1fe3d0730062abdc181912e93721fdc1c824d..c004692a31ad57aef45423c7bce104e8b056cb3e 100644
|
||||
index 22d1fe3d0730062abdc181912e93721fdc1c824d..70ca793ab5e2c73e6f6b50d1c9740a4799d8f374 100644
|
||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||
@@ -17,7 +17,7 @@
|
||||
@@ -11,7 +11,7 @@ index 22d1fe3d0730062abdc181912e93721fdc1c824d..c004692a31ad57aef45423c7bce104e8
|
||||
--tab-selected-textcolor: var(--toolbar-color);
|
||||
--tab-selected-bgcolor: var(--toolbar-bgcolor);
|
||||
--tab-selected-color-scheme: var(--toolbar-color-scheme);
|
||||
@@ -122,11 +122,11 @@
|
||||
@@ -122,12 +122,12 @@
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
@@ -21,10 +21,12 @@ index 22d1fe3d0730062abdc181912e93721fdc1c824d..c004692a31ad57aef45423c7bce104e8
|
||||
|
||||
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > & {
|
||||
- position: absolute !important;
|
||||
+ /*position: absolute !important;*/
|
||||
display: block;
|
||||
- display: block;
|
||||
+ /*position: absolute !important;
|
||||
+ display: block;*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -357,8 +357,7 @@
|
||||
animation-delay: -1.5s;
|
||||
}
|
||||
|