mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-06 11:28:28 +00:00
Compare commits
439 Commits
1.0.0-a.37
...
1.0.1-a.6
Author | SHA1 | Date | |
---|---|---|---|
![]() |
49de0de5ca | ||
![]() |
84f0a478b4 | ||
![]() |
58fcbd9dfa | ||
![]() |
69093204b9 | ||
![]() |
021e654202 | ||
![]() |
f7ebf48e49 | ||
![]() |
7369490478 | ||
![]() |
6117c4a877 | ||
![]() |
03fe76b14a | ||
![]() |
4eaf8ddaa2 | ||
![]() |
bc03bc06c4 | ||
![]() |
576541c4f1 | ||
![]() |
c9df1d8b99 | ||
![]() |
99569e4588 | ||
![]() |
dcd4dc5d44 | ||
![]() |
40890470fe | ||
![]() |
08c7a397bc | ||
![]() |
469260905c | ||
![]() |
c29a81d710 | ||
![]() |
d0b6f9489c | ||
![]() |
4d019067ef | ||
![]() |
ffcf2a040c | ||
![]() |
a222e866fb | ||
![]() |
f4b77e602f | ||
![]() |
b0f5eb0f47 | ||
![]() |
922e893bbf | ||
![]() |
48a1ac71a3 | ||
![]() |
5c564faf6b | ||
![]() |
6c4af9bc71 | ||
![]() |
fc46e4ae79 | ||
![]() |
78f60b866e | ||
![]() |
cb0d9b8633 | ||
![]() |
cbd3a5bff6 | ||
![]() |
0310187c8e | ||
![]() |
ba66550c2c | ||
![]() |
5ff141ded3 | ||
![]() |
de5619e580 | ||
![]() |
8dfb6e7667 | ||
![]() |
e722fc6cca | ||
![]() |
c9bbc14ee2 | ||
![]() |
54e787a6c5 | ||
![]() |
92f7d5d9f5 | ||
![]() |
fed3f8623c | ||
![]() |
bd9f68e0c0 | ||
![]() |
c32c16d932 | ||
![]() |
d8797fceb2 | ||
![]() |
996c292916 | ||
![]() |
ac7bf6a007 | ||
![]() |
aaee7c44ea | ||
![]() |
71c20bdf98 | ||
![]() |
e9f938fb4b | ||
![]() |
e180e3dbd0 | ||
![]() |
a5f6e689fa | ||
![]() |
10711097a6 | ||
![]() |
c458363d5b | ||
![]() |
bbff11bc71 | ||
![]() |
ff67caa61d | ||
![]() |
c785d4c59c | ||
![]() |
43c86ea74c | ||
![]() |
ed4ab842a5 | ||
![]() |
cc498fad22 | ||
![]() |
614be445a4 | ||
![]() |
bdb1e65dfd | ||
![]() |
9d85ddafaa | ||
![]() |
b1c90ceed2 | ||
![]() |
863abd3a70 | ||
![]() |
45e3b9e22b | ||
![]() |
779fd3fa3a | ||
![]() |
d9c825a7de | ||
![]() |
a0244dc60d | ||
![]() |
5ca57e292c | ||
![]() |
c494973e16 | ||
![]() |
a9e0fca099 | ||
![]() |
dd8299d10a | ||
![]() |
68cfdedc45 | ||
![]() |
5f64f9e651 | ||
![]() |
c17620ce54 | ||
![]() |
aadb3be0ea | ||
![]() |
554a976649 | ||
![]() |
72ec61c302 | ||
![]() |
5b391fe52e | ||
![]() |
e133a7746d | ||
![]() |
96d3393437 | ||
![]() |
14b520a498 | ||
![]() |
22eb216a3d | ||
![]() |
7e35a5cfb5 | ||
![]() |
2d573da55e | ||
![]() |
6c77a913ff | ||
![]() |
445b21c03d | ||
![]() |
9ebe42d9af | ||
![]() |
a5587120e0 | ||
![]() |
a22ebf0731 | ||
![]() |
f42a635555 | ||
![]() |
232fa448ca | ||
![]() |
3b6bf10f6a | ||
![]() |
6f42c30abe | ||
![]() |
52d5a389bf | ||
![]() |
5ee55ba672 | ||
![]() |
4332bf3b95 | ||
![]() |
818ebd1d85 | ||
![]() |
e03d6dd3fd | ||
![]() |
bcfc6c43a2 | ||
![]() |
11ff76d15b | ||
![]() |
a94bcdf40c | ||
![]() |
c29fdc99ea | ||
![]() |
430aa1c6fd | ||
![]() |
b9406728d3 | ||
![]() |
08cbf24b38 | ||
![]() |
c3cae9e960 | ||
![]() |
1bbc73343c | ||
![]() |
dfcabbe9b4 | ||
![]() |
b0755d3834 | ||
![]() |
4cb7f3a105 | ||
![]() |
960d733c76 | ||
![]() |
051439abde | ||
![]() |
4b8c22d88b | ||
![]() |
35ecb5ef31 | ||
![]() |
f5132f33fb | ||
![]() |
e5edc96919 | ||
![]() |
189ff89fd3 | ||
![]() |
95cd749e3b | ||
![]() |
bf4a9a7509 | ||
![]() |
7c047319d2 | ||
![]() |
059f4e5116 | ||
![]() |
59c8598b94 | ||
![]() |
c02505fe13 | ||
![]() |
5d718c4ce4 | ||
![]() |
af5212e2c6 | ||
![]() |
76c749d31a | ||
![]() |
3461dd1481 | ||
![]() |
994fbf8d97 | ||
![]() |
2e40d34e01 | ||
![]() |
bc64f3874f | ||
![]() |
a4edeb5b49 | ||
![]() |
4510bc64d6 | ||
![]() |
e4aa905440 | ||
![]() |
faa9b2f763 | ||
![]() |
76512840e3 | ||
![]() |
aef6c2ac48 | ||
![]() |
14f4dfc12a | ||
![]() |
b06edc0dd9 | ||
![]() |
863d087ae8 | ||
![]() |
413c2819fb | ||
![]() |
cde7e77aea | ||
![]() |
fa0a65f2e7 | ||
![]() |
5649faf085 | ||
![]() |
dbe0124266 | ||
![]() |
3ebf3fdb67 | ||
![]() |
3b426fa0cf | ||
![]() |
37e8ee66bd | ||
![]() |
1d220623ff | ||
![]() |
3219722c64 | ||
![]() |
42c04ca3da | ||
![]() |
e7110d3dbe | ||
![]() |
4ef3ecf0d9 | ||
![]() |
7bdf52eab6 | ||
![]() |
0bdd8dce6c | ||
![]() |
4a7403e929 | ||
![]() |
bd7108e7df | ||
![]() |
ed82f7d459 | ||
![]() |
b5323b00ad | ||
![]() |
4d4c2fd676 | ||
![]() |
787ea8c20d | ||
![]() |
d69d56850f | ||
![]() |
b769fbb8fe | ||
![]() |
7bf77d1d57 | ||
![]() |
2d8f8be70b | ||
![]() |
afb22905f9 | ||
![]() |
15f733cd81 | ||
![]() |
2912e7c833 | ||
![]() |
4f88923d10 | ||
![]() |
7eaa083c61 | ||
![]() |
f3a5ecd76b | ||
![]() |
438b232ede | ||
![]() |
9d76fc8761 | ||
![]() |
1cd57e08c0 | ||
![]() |
87b0ff952c | ||
![]() |
22043a0bf0 | ||
![]() |
fe880279c9 | ||
![]() |
9c26c5aba8 | ||
![]() |
21b2ffb49a | ||
![]() |
1b8e850f03 | ||
![]() |
bf52a194c8 | ||
![]() |
ab2e0c03b8 | ||
![]() |
800a46caca | ||
![]() |
e4dcbccce7 | ||
![]() |
ede39f37e6 | ||
![]() |
7211024602 | ||
![]() |
04599adfcc | ||
![]() |
01a63d0c70 | ||
![]() |
fafde6562a | ||
![]() |
843a383078 | ||
![]() |
379b1ca292 | ||
![]() |
36063ebdcd | ||
![]() |
05969ffeb6 | ||
![]() |
7ade6ec0e0 | ||
![]() |
f355828240 | ||
![]() |
3159536fb5 | ||
![]() |
2e3aa4865e | ||
![]() |
630d1a89c8 | ||
![]() |
9f3a14a673 | ||
![]() |
fbc088225c | ||
![]() |
dcd9e0b94f | ||
![]() |
617a2c89cd | ||
![]() |
de8a049e93 | ||
![]() |
4f6e6e0e39 | ||
![]() |
f790e13f14 | ||
![]() |
f1a18bb112 | ||
![]() |
4725b936c0 | ||
![]() |
fe631c21d5 | ||
![]() |
1647dc78a2 | ||
![]() |
b05dd8f8a0 | ||
![]() |
b7db0edf41 | ||
![]() |
c49769a678 | ||
![]() |
359af36098 | ||
![]() |
3cad9e9629 | ||
![]() |
dcaf5a1636 | ||
![]() |
d9a95b9a8f | ||
![]() |
d502555428 | ||
![]() |
37ee485140 | ||
![]() |
4cf7827df9 | ||
![]() |
bd25205ad5 | ||
![]() |
85c6de8d2a | ||
![]() |
1dc3122bd3 | ||
![]() |
424bcd8161 | ||
![]() |
d38174483f | ||
![]() |
eefb7220d1 | ||
![]() |
035568d81f | ||
![]() |
14c5425276 | ||
![]() |
564e3b5b82 | ||
![]() |
d7cd0ab2c4 | ||
![]() |
71d542f62b | ||
![]() |
473776c0f7 | ||
![]() |
193e1598b0 | ||
![]() |
6846b83985 | ||
![]() |
7eebce2fde | ||
![]() |
a5787a77f3 | ||
![]() |
a60816ee2a | ||
![]() |
8f7b8506a6 | ||
![]() |
41dd9b684e | ||
![]() |
b9d343962f | ||
![]() |
329becfff6 | ||
![]() |
0ff30f0a58 | ||
![]() |
10721816f3 | ||
![]() |
c7e22d5d84 | ||
![]() |
2681955405 | ||
![]() |
81930a0e9c | ||
![]() |
9c202c84c1 | ||
![]() |
2e8daaf9c2 | ||
![]() |
bafd5bb012 | ||
![]() |
2246cb1c91 | ||
![]() |
6df8a4b5bc | ||
![]() |
c35494cbcf | ||
![]() |
53570aba42 | ||
![]() |
0c10aebe3e | ||
![]() |
520f4a1598 | ||
![]() |
b4df509523 | ||
![]() |
bd5bb1282f | ||
![]() |
d9980d1c9f | ||
![]() |
9e02951276 | ||
![]() |
3ea87ba79e | ||
![]() |
795edae41e | ||
![]() |
a9e86c84e4 | ||
![]() |
644aab3ed0 | ||
![]() |
5ae2cc8989 | ||
![]() |
0992236bb6 | ||
![]() |
0c916dc3b9 | ||
![]() |
26a15abfd4 | ||
![]() |
b73f16f09a | ||
![]() |
6508c86dca | ||
![]() |
02e51fc828 | ||
![]() |
d4791df40b | ||
![]() |
9de1e518d8 | ||
![]() |
8c539fa4f4 | ||
![]() |
41829a1bd9 | ||
![]() |
503a7531ef | ||
![]() |
87cd7da948 | ||
![]() |
fa72ba1719 | ||
![]() |
a140fa19e9 | ||
![]() |
dadbab9708 | ||
![]() |
6681e0d39b | ||
![]() |
6ae26931b0 | ||
![]() |
dbf14a5071 | ||
![]() |
50a06d19d4 | ||
![]() |
f8f9d55a53 | ||
![]() |
5e23e8a8b4 | ||
![]() |
cf6c72df08 | ||
![]() |
5da6922894 | ||
![]() |
cf0d35f7c9 | ||
![]() |
f1c1169d42 | ||
![]() |
00ee15236f | ||
![]() |
873bcbc24d | ||
![]() |
ad4f43d46d | ||
![]() |
3a2b027019 | ||
![]() |
313c1161ff | ||
![]() |
cb6e77ac51 | ||
![]() |
a1453aebbd | ||
![]() |
a546d053ae | ||
![]() |
160a449086 | ||
![]() |
bb56066857 | ||
![]() |
65b178e594 | ||
![]() |
73e05b6582 | ||
![]() |
019c676182 | ||
![]() |
2357ea5027 | ||
![]() |
e29c70edd2 | ||
![]() |
016d8eb806 | ||
![]() |
84aed3a780 | ||
![]() |
44c31582da | ||
![]() |
54145170c9 | ||
![]() |
45d0dac197 | ||
![]() |
6a983664fb | ||
![]() |
c6fd3c9c0b | ||
![]() |
26705f20e0 | ||
![]() |
06602ffaa2 | ||
![]() |
c6050a2246 | ||
![]() |
2961aeed08 | ||
![]() |
8023190d4d | ||
![]() |
65f6bf862b | ||
![]() |
6d3b20062e | ||
![]() |
af98bb7758 | ||
![]() |
2ea30c98aa | ||
![]() |
096d1f305c | ||
![]() |
bf723e0251 | ||
![]() |
0d8bede377 | ||
![]() |
6a19315350 | ||
![]() |
9f50343a8f | ||
![]() |
66ffbf1c9a | ||
![]() |
490a6822d4 | ||
![]() |
3565b77557 | ||
![]() |
667321e728 | ||
![]() |
0e57c961c8 | ||
![]() |
da36c5e375 | ||
![]() |
9e251af4a7 | ||
![]() |
1bbac89727 | ||
![]() |
6b20c47f06 | ||
![]() |
22ffac163d | ||
![]() |
8b4bed667c | ||
![]() |
83f71e446e | ||
![]() |
100223ae56 | ||
![]() |
08fe9a5cc7 | ||
![]() |
14ff60b6ad | ||
![]() |
c08c235be3 | ||
![]() |
06638a06f7 | ||
![]() |
264496925f | ||
![]() |
a840822c78 | ||
![]() |
ba71697278 | ||
![]() |
811d925400 | ||
![]() |
76fa8435cf | ||
![]() |
24a1c3e1c2 | ||
![]() |
0e63b1705e | ||
![]() |
80136189b1 | ||
![]() |
b0e7e8cb0d | ||
![]() |
68cbdd9465 | ||
![]() |
84d82c7c4e | ||
![]() |
69e6e4fccd | ||
![]() |
40949076d6 | ||
![]() |
34b54b38d3 | ||
![]() |
00d74ae459 | ||
![]() |
6c335507a5 | ||
![]() |
ef5ef77cbd | ||
![]() |
1c580faab8 | ||
![]() |
9d3fd17c18 | ||
![]() |
d4bbe0fa7b | ||
![]() |
977a2a81dd | ||
![]() |
3350a64a44 | ||
![]() |
7c68779e98 | ||
![]() |
a5e7bd6212 | ||
![]() |
79c0402c70 | ||
![]() |
8ec5473b97 | ||
![]() |
daf4bd48b2 | ||
![]() |
7b75bc8748 | ||
![]() |
150f2fe685 | ||
![]() |
10805c9abb | ||
![]() |
2609cfa754 | ||
![]() |
1be24abb4b | ||
![]() |
8fa89ae960 | ||
![]() |
b8682d9612 | ||
![]() |
06b51725b0 | ||
![]() |
54b34d86b7 | ||
![]() |
b098cff025 | ||
![]() |
e1ef0e4771 | ||
![]() |
a478f7f989 | ||
![]() |
849754a78f | ||
![]() |
af263d931b | ||
![]() |
1eca3d893f | ||
![]() |
7bfe75b859 | ||
![]() |
163668d031 | ||
![]() |
822cafbaad | ||
![]() |
76f264c7c2 | ||
![]() |
04381ea1b0 | ||
![]() |
044bef2266 | ||
![]() |
5e2075e901 | ||
![]() |
380f9f4a7b | ||
![]() |
6b601a7be6 | ||
![]() |
08df5e69ac | ||
![]() |
866b90a884 | ||
![]() |
46fdd7dcc1 | ||
![]() |
41020b7565 | ||
![]() |
1f6e24c192 | ||
![]() |
faecb40361 | ||
![]() |
0c925aef25 | ||
![]() |
195148c1c9 | ||
![]() |
c468c8ba96 | ||
![]() |
831a75a774 | ||
![]() |
d9313efa3e | ||
![]() |
ad95eed29f | ||
![]() |
15a79848af | ||
![]() |
985133748e | ||
![]() |
c6a78fe978 | ||
![]() |
028bd529cf | ||
![]() |
7d10943d84 | ||
![]() |
5b8041a62a | ||
![]() |
306839e274 | ||
![]() |
a7cf75980f | ||
![]() |
7cab991702 | ||
![]() |
374b0f7e2e | ||
![]() |
851de67432 | ||
![]() |
0ff12624ea | ||
![]() |
ff93f63630 | ||
![]() |
cb83aca94a | ||
![]() |
c1c616e431 | ||
![]() |
8f893d0cf5 | ||
![]() |
6605249b2a | ||
![]() |
aab319623c | ||
![]() |
00b8d3443d | ||
![]() |
700d1e9357 | ||
![]() |
f7612bd61a | ||
![]() |
f1134c50c1 | ||
![]() |
9873e66430 | ||
![]() |
fa871a586b | ||
![]() |
165bed9101 | ||
![]() |
2ec8175a3e | ||
![]() |
6e6aef15cb | ||
![]() |
7609e718af | ||
![]() |
34acabd43c | ||
![]() |
0a3ee66633 | ||
![]() |
00fb5c24f9 | ||
![]() |
7728fc6cda | ||
![]() |
bf3511467e |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,2 +1 @@
|
|||||||
|
|
||||||
*.patch linguist-language=C++
|
*.patch linguist-language=C++
|
||||||
|
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@@ -1,3 +1,2 @@
|
|||||||
|
|
||||||
patreon: zen_browser
|
patreon: zen_browser
|
||||||
ko_fi: zen_browser
|
ko_fi: zen_browser
|
||||||
|
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,6 +1,5 @@
|
|||||||
name: Bug Report
|
name: Bug Report
|
||||||
description: File a bug report
|
description: File a bug report
|
||||||
labels: [Triage]
|
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
|
71
.github/workflows/alpha.yml
vendored
71
.github/workflows/alpha.yml
vendored
@@ -11,11 +11,10 @@ on:
|
|||||||
update_version:
|
update_version:
|
||||||
description: 'Update the version number'
|
description: 'Update the version number'
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: false
|
||||||
type: 'boolean'
|
type: 'boolean'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build-data:
|
build-data:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -128,9 +127,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
source:
|
source:
|
||||||
if: false
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -310,8 +307,10 @@ jobs:
|
|||||||
if: ${{ github.event.inputs.create_release == 'true' }}
|
if: ${{ github.event.inputs.create_release == 'true' }}
|
||||||
permissions: write-all
|
permissions: write-all
|
||||||
name: Release
|
name: Release
|
||||||
needs: [build-data, linux, windows-step-3, check-release, mac, appimage]
|
needs: [build-data, linux, windows-step-3, check-release, mac, appimage, source]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
environment:
|
||||||
|
name: Deploy-Release
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -320,7 +319,8 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Git Pull
|
- name: Git Pull
|
||||||
run: git pull
|
run: |
|
||||||
|
git pull
|
||||||
|
|
||||||
- uses: actions/download-artifact@v4
|
- uses: actions/download-artifact@v4
|
||||||
|
|
||||||
@@ -341,8 +341,8 @@ jobs:
|
|||||||
cp -a ../linux_update_manifest_generic/. updates/
|
cp -a ../linux_update_manifest_generic/. updates/
|
||||||
cp -a ../linux_update_manifest_specific/. updates/
|
cp -a ../linux_update_manifest_specific/. updates/
|
||||||
|
|
||||||
cp -a ../windows_update_manifest_generic/. updates/
|
cp -a ../.github/workflows/object/windows-x64-signed-generic/update_manifest/. updates/
|
||||||
cp -a ../windows_update_manifest_specific/. updates/
|
cp -a ../.github/workflows/object/windows-x64-signed-specific/update_manifest/. updates/
|
||||||
|
|
||||||
cp -a ../macos_update_manifest_aarch64/. updates/
|
cp -a ../macos_update_manifest_aarch64/. updates/
|
||||||
cp -a ../macos_update_manifest_x64/. updates/
|
cp -a ../macos_update_manifest_x64/. updates/
|
||||||
@@ -369,16 +369,16 @@ jobs:
|
|||||||
zen-generic.AppImage.zsync
|
zen-generic.AppImage.zsync
|
||||||
zen-specific.AppImage
|
zen-specific.AppImage
|
||||||
zen-specific.AppImage.zsync
|
zen-specific.AppImage.zsync
|
||||||
zen.win-generic.zip
|
.github/workflows/object/windows-x64-signed-generic/zen.win-generic.zip
|
||||||
zen.win-specific.zip
|
.github/workflows/object/windows-x64-signed-specific/zen.win-specific.zip
|
||||||
linux.mar
|
linux.mar
|
||||||
linux-generic.mar
|
linux-generic.mar
|
||||||
windows.mar
|
.github/workflows/object/windows-x64-signed-generic/windows-generic.mar
|
||||||
windows-generic.mar
|
.github/workflows/object/windows-x64-signed-specific/windows.mar
|
||||||
macos-x64.mar
|
macos-x64.mar
|
||||||
macos-aarch64.mar
|
macos-aarch64.mar
|
||||||
zen.installer.exe
|
.github/workflows/object/windows-x64-signed-specific/zen.installer.exe
|
||||||
zen.installer-generic.exe
|
.github/workflows/object/windows-x64-signed-generic/zen.installer-generic.exe
|
||||||
zen.macos-x64.dmg
|
zen.macos-x64.dmg
|
||||||
zen.macos-aarch64.dmg
|
zen.macos-aarch64.dmg
|
||||||
|
|
||||||
@@ -398,6 +398,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
git pull
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
@@ -428,7 +429,6 @@ jobs:
|
|||||||
# output the version to the file
|
# output the version to the file
|
||||||
echo -n ${{ needs.build-data.outputs.version }} > ./flatpak/version
|
echo -n ${{ needs.build-data.outputs.version }} > ./flatpak/version
|
||||||
|
|
||||||
|
|
||||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
with:
|
with:
|
||||||
commit_message: '[release]: Update flatpak manifest'
|
commit_message: '[release]: Update flatpak manifest'
|
||||||
@@ -522,41 +522,22 @@ jobs:
|
|||||||
permissions: write-all
|
permissions: write-all
|
||||||
name: Homebrew release
|
name: Homebrew release
|
||||||
needs: [release, mac, build-data]
|
needs: [release, mac, build-data]
|
||||||
runs-on: ubuntu-latest
|
runs-on: macos-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repo
|
- name: Set up Homebrew
|
||||||
uses: actions/checkout@v4
|
uses: Homebrew/actions/setup-homebrew@master
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.DEPLOY_KEY }}
|
cask: true
|
||||||
|
test-bot: false
|
||||||
|
|
||||||
- name: Setup git
|
- name: Setup git
|
||||||
run: |
|
uses: Homebrew/actions/git-user-config@master
|
||||||
git config --global user.name "github-actions[bot]"
|
|
||||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
||||||
|
|
||||||
- name: Download macOS ARM build
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
with:
|
||||||
name: zen.macos-aarch64.dmg
|
username: zen-browser-bot
|
||||||
|
|
||||||
- name: Download macOS x64 build
|
- name: Bump zen-browser
|
||||||
uses: actions/download-artifact@v4
|
uses: Homebrew/actions/bump-packages@master
|
||||||
with:
|
with:
|
||||||
name: zen.macos-x64.dmg
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
casks: zen-browser
|
||||||
- name: Update zen-browser Cask
|
|
||||||
run: sh .github/workflows/src/update-homebrew.sh ${{ needs.build-data.outputs.version }}
|
|
||||||
|
|
||||||
- name: Clean up
|
|
||||||
run: |
|
|
||||||
rm -rf zen.macos-x64.dmg
|
|
||||||
rm -rf zen.macos-aarch64.dmg
|
|
||||||
|
|
||||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
if: ${{ github.event.inputs.update_version == 'true' }}
|
|
||||||
with:
|
|
||||||
commit_message: 🔖 Update version to ${{ steps.data.outputs.version }} for homebrew!
|
|
||||||
commit_user_name: Zen Browser Robot
|
|
||||||
commit_user_email: zen-browser-bot@users.noreply.github.com
|
|
||||||
|
|
||||||
|
5
.github/workflows/linux-alpha-build.yml
vendored
5
.github/workflows/linux-alpha-build.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
|
name: Linux Alpha Build
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -44,10 +44,10 @@ jobs:
|
|||||||
|
|
||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
run: |
|
||||||
|
set -x
|
||||||
sudo apt-get update --fix-missing
|
sudo apt-get update --fix-missing
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld llvm
|
sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld llvm
|
||||||
pip install pycairo testresources
|
|
||||||
|
|
||||||
- name: Configure sccache
|
- name: Configure sccache
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
@@ -131,7 +131,6 @@ jobs:
|
|||||||
- name: Upload binary
|
- name: Upload binary
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|
||||||
name: zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
name: zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
||||||
path: ./zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
path: ./zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
||||||
|
|
||||||
|
34
.github/workflows/macos-alpha-build.yml
vendored
34
.github/workflows/macos-alpha-build.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
|
name: macOS Alpha Build
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -127,37 +127,29 @@ jobs:
|
|||||||
p12-file-base64: ${{ secrets.macOS_CERTIFICATES_P12_For_App_BASE64 }}
|
p12-file-base64: ${{ secrets.macOS_CERTIFICATES_P12_For_App_BASE64 }}
|
||||||
p12-password: ${{ secrets.macOS_CERTIFICATES_P12_PASSWORD }}
|
p12-password: ${{ secrets.macOS_CERTIFICATES_P12_PASSWORD }}
|
||||||
|
|
||||||
|
|
||||||
- name: Decode .p12 file
|
|
||||||
id: decode_p12
|
|
||||||
run: |
|
|
||||||
echo "$P12_BASE64" | base64 --decode > certificate.p12
|
|
||||||
echo "$P12_PASSWORD" > certificate.p12.password
|
|
||||||
env:
|
|
||||||
P12_BASE64: ${{ secrets.macOS_CERTIFICATES_P12_For_App_BASE64 }}
|
|
||||||
P12_PASSWORD: ${{ secrets.macOS_CERTIFICATES_P12_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Install rcodesign
|
|
||||||
run: |
|
|
||||||
cargo install --git https://github.com/indygreg/apple-platform-rs --branch main --bin rcodesign apple-codesign
|
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
env:
|
env:
|
||||||
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
|
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
|
||||||
run: pnpm package
|
run: |
|
||||||
|
export MACOS_APPLE_DEVELOPER_ID="${{ secrets.macOS_AppleDeveloperId }}"
|
||||||
|
pnpm package
|
||||||
|
|
||||||
- name: Rename artifacts
|
- name: Rename artifacts
|
||||||
run: |
|
run: |
|
||||||
mv ./dist/*.dmg "zen.macos-${{ matrix.arch }}.dmg"
|
|
||||||
mv ./dist/output.mar macos-${{ matrix.arch }}.mar
|
mv ./dist/output.mar macos-${{ matrix.arch }}.mar
|
||||||
|
|
||||||
rm -rf certificate.p12
|
|
||||||
rm -rf certificate.p12.password
|
|
||||||
|
|
||||||
- name: Sign to .dmg
|
- name: Sign to .dmg
|
||||||
run: |
|
run: |
|
||||||
|
set -ex
|
||||||
|
hdiutil convert ./dist/*.dmg -format UDZO -imagekey zlib-level=9 -o zen.macos-${{ matrix.arch }}.dmg
|
||||||
|
xattr -cr zen.macos-${{ matrix.arch }}.dmg
|
||||||
codesign -s "${{ secrets.macOS_AppleDeveloperId }}" zen.macos-${{ matrix.arch }}.dmg
|
codesign -s "${{ secrets.macOS_AppleDeveloperId }}" zen.macos-${{ matrix.arch }}.dmg
|
||||||
|
xcrun notarytool submit "zen.macos-${{ matrix.arch }}.dmg" \
|
||||||
|
--apple-id "${{ secrets.macOS_AppleAccountId }}" \
|
||||||
|
--team-id "${{ secrets.macOS_AppleDeveloperIdTeamId }}" \
|
||||||
|
--password "${{ secrets.macOS_AppleDeveloperIdPassword }}" \
|
||||||
|
--wait
|
||||||
|
xcrun stapler staple "zen.macos-${{ matrix.arch }}.dmg"
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<updates>
|
||||||
|
<update type="minor" displayVersion="1.0.1-a.5" appVersion="1.0.1-a.5" platformVersion="130.0.1" buildID="20240924220503">
|
||||||
|
<patch type="complete" URL="https://github.com/zen-browser/desktop/releases/download/1.0.1-a.5/windows-generic.mar" hashFunction="sha512" hashValue="a3cb65d8286bbfe126091d426f80521869ac34b35ed2b3e408abb2beed2211caf66e14bcec4cc7608c24533691427c3bed272338cded84952a3f474945f1d422" size="72356444"/>
|
||||||
|
</update>
|
||||||
|
</updates>
|
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<updates>
|
||||||
|
<update type="minor" displayVersion="1.0.1-a.5" appVersion="1.0.1-a.5" platformVersion="130.0.1" buildID="20240924220503">
|
||||||
|
<patch type="complete" URL="https://github.com/zen-browser/desktop/releases/download/1.0.1-a.5/windows-generic.mar" hashFunction="sha512" hashValue="a3cb65d8286bbfe126091d426f80521869ac34b35ed2b3e408abb2beed2211caf66e14bcec4cc7608c24533691427c3bed272338cded84952a3f474945f1d422" size="72356444"/>
|
||||||
|
</update>
|
||||||
|
</updates>
|
BIN
.github/workflows/object/windows-x64-signed-generic/windows-generic.mar
vendored
Normal file
BIN
.github/workflows/object/windows-x64-signed-generic/windows-generic.mar
vendored
Normal file
Binary file not shown.
BIN
.github/workflows/object/windows-x64-signed-generic/zen.installer-generic.exe
vendored
Normal file
BIN
.github/workflows/object/windows-x64-signed-generic/zen.installer-generic.exe
vendored
Normal file
Binary file not shown.
BIN
.github/workflows/object/windows-x64-signed-generic/zen.win-generic.zip
vendored
Normal file
BIN
.github/workflows/object/windows-x64-signed-generic/zen.win-generic.zip
vendored
Normal file
Binary file not shown.
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<updates>
|
||||||
|
<update type="minor" displayVersion="1.0.1-a.5" appVersion="1.0.1-a.5" platformVersion="130.0.1" buildID="20240924220342">
|
||||||
|
<patch type="complete" URL="https://github.com/zen-browser/desktop/releases/download/1.0.1-a.5/windows.mar" hashFunction="sha512" hashValue="ca7f2506ea94095b0146820263e95f17888c06bf3eeda9728425e073c24a8f754143c3cd92b834a7583144eb2fb9a6a0618b1a961452e15a341cb5fd93d9af9d" size="72318312"/>
|
||||||
|
</update>
|
||||||
|
</updates>
|
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<updates>
|
||||||
|
<update type="minor" displayVersion="1.0.1-a.5" appVersion="1.0.1-a.5" platformVersion="130.0.1" buildID="20240924220342">
|
||||||
|
<patch type="complete" URL="https://github.com/zen-browser/desktop/releases/download/1.0.1-a.5/windows.mar" hashFunction="sha512" hashValue="ca7f2506ea94095b0146820263e95f17888c06bf3eeda9728425e073c24a8f754143c3cd92b834a7583144eb2fb9a6a0618b1a961452e15a341cb5fd93d9af9d" size="72318312"/>
|
||||||
|
</update>
|
||||||
|
</updates>
|
BIN
.github/workflows/object/windows-x64-signed-specific/windows.mar
vendored
Normal file
BIN
.github/workflows/object/windows-x64-signed-specific/windows.mar
vendored
Normal file
Binary file not shown.
BIN
.github/workflows/object/windows-x64-signed-specific/zen.installer.exe
vendored
Normal file
BIN
.github/workflows/object/windows-x64-signed-specific/zen.installer.exe
vendored
Normal file
Binary file not shown.
BIN
.github/workflows/object/windows-x64-signed-specific/zen.win-specific.zip
vendored
Normal file
BIN
.github/workflows/object/windows-x64-signed-specific/zen.win-specific.zip
vendored
Normal file
Binary file not shown.
8
.github/workflows/src/update-homebrew.sh
vendored
8
.github/workflows/src/update-homebrew.sh
vendored
@@ -1,8 +0,0 @@
|
|||||||
|
|
||||||
latest_version=$1
|
|
||||||
sed -i "s/version(.*)/version('${latest_version}')/" ./Casks/zen-browser.rb
|
|
||||||
|
|
||||||
sha_x64=$(shasum -a 256 zen.macos-x64.dmg)
|
|
||||||
sha_arm=$(shasum -a 256 zen.macos-aarch64.dmg)
|
|
||||||
|
|
||||||
sed -i "s/sha256(.*)/sha256(arm:'${sha_arm}', intel:'${sha_x64}')/" ./Casks/zen-browser.rb
|
|
29
.github/workflows/stale.yml
vendored
Normal file
29
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
name: Close inactive issues
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-issues:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v5
|
||||||
|
with:
|
||||||
|
days-before-issue-stale: 30
|
||||||
|
days-before-issue-close: 14
|
||||||
|
stale-issue-label: 'stale'
|
||||||
|
stale-issue-message: |
|
||||||
|
This issue is stale because it has been open for 30 days with no activity.
|
||||||
|
|
||||||
|
Please close this issue if you feel it is no longer relevant, or comment if you have more information to share.
|
||||||
|
close-issue-message: |
|
||||||
|
This issue was closed because it has been inactive for 14 days since being marked as stale.
|
||||||
|
|
||||||
|
If you think this issue should remain open, please comment with a request for it to be re-opened or open a new issue.
|
||||||
|
days-before-pr-stale: -1
|
||||||
|
days-before-pr-close: -1
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
39
.github/workflows/windows-alpha-build.yml
vendored
39
.github/workflows/windows-alpha-build.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
|
name: Windows Alpha Build
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
- name: Download
|
- name: Download
|
||||||
run: pnpm surfer download
|
run: pnpm surfer download
|
||||||
|
|
||||||
- name: "win-cross Cache"
|
- name: 'win-cross Cache'
|
||||||
env:
|
env:
|
||||||
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 5
|
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 5
|
||||||
id: cache-win-cross
|
id: cache-win-cross
|
||||||
@@ -197,13 +197,6 @@ jobs:
|
|||||||
mv ./dist/output.mar windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
mv ./dist/output.mar windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||||
mv ./dist/zen.installer.exe ./zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
mv ./dist/zen.installer.exe ./zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
||||||
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: ${{ !inputs.generate-gpo }}
|
|
||||||
with:
|
|
||||||
name: zen.win-${{ matrix.generic == true && 'generic' || 'specific' }}.zip
|
|
||||||
path: ./zen.win-${{ matrix.generic == true && 'generic' || 'specific' }}.zip
|
|
||||||
|
|
||||||
- name: Upload PGO build
|
- name: Upload PGO build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: ${{ inputs.generate-gpo }}
|
if: ${{ inputs.generate-gpo }}
|
||||||
@@ -211,30 +204,16 @@ jobs:
|
|||||||
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-${{ inputs.profile-data-path-archive }}
|
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-${{ inputs.profile-data-path-archive }}
|
||||||
path: ./zen.win64-pgo-stage-1.zip
|
path: ./zen.win64-pgo-stage-1.zip
|
||||||
|
|
||||||
- name: Upload mar
|
- name: Remove symlinks from obj folder
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: ${{ !inputs.generate-gpo }}
|
if: ${{ !inputs.generate-gpo }}
|
||||||
with:
|
run: |
|
||||||
name: windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
set -x
|
||||||
path: ./windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
find engine/obj-x86_64-pc-windows-msvc/ -type l -delete
|
||||||
|
|
||||||
- name: Upload installer
|
- name: Upload dist object
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: ${{ !inputs.generate-gpo }}
|
if: ${{ !inputs.generate-gpo }}
|
||||||
with:
|
|
||||||
name: zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
|
||||||
path: ./zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
|
||||||
|
|
||||||
- name: Upload installer stub
|
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: ${{ !inputs.generate-gpo && false }}
|
|
||||||
with:
|
with:
|
||||||
name: zen.installer.pretty.exe
|
name: windows-x64-obj-${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||||
path: ./dist/zen.installer.pretty.exe
|
path: engine/obj-x86_64-pc-windows-msvc/
|
||||||
|
|
||||||
- name: Upload update manifests
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: ${{ !inputs.generate-gpo }}
|
|
||||||
with:
|
|
||||||
name: windows_update_manifest_${{ matrix.generic == true && 'generic' || 'specific' }}
|
|
||||||
path: ./dist/update
|
|
||||||
|
4
.github/workflows/windows-profile-build.yml
vendored
4
.github/workflows/windows-profile-build.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
|
name: Windows PGO Builds
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -45,7 +45,7 @@ jobs:
|
|||||||
path: C:\artifact
|
path: C:\artifact
|
||||||
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-zen-windows-x86_64-profile-data-and-jarlog.zip
|
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-zen-windows-x86_64-profile-data-and-jarlog.zip
|
||||||
|
|
||||||
- name: Unpack artifact
|
- name: Unpack artifact
|
||||||
run: |
|
run: |
|
||||||
cd C:\artifact
|
cd C:\artifact
|
||||||
ls
|
ls
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,3 +7,5 @@ node_modules/
|
|||||||
|
|
||||||
__pycache__/
|
__pycache__/
|
||||||
dist/
|
dist/
|
||||||
|
|
||||||
|
windsign-temp/
|
1
.husky/pre-commit
Normal file
1
.husky/pre-commit
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# npx lint-staged
|
12
.prettierignore
Normal file
12
.prettierignore
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
engine/
|
||||||
|
|
||||||
|
**/*.html
|
||||||
|
**/*.xhtml
|
||||||
|
**/*.inc.xhtml
|
||||||
|
|
||||||
|
**/*.svg
|
||||||
|
|
||||||
|
src/browser/app/profile/*.js
|
||||||
|
pnpm-lock.yaml
|
||||||
|
|
||||||
|
**/engine/
|
12
.prettierrc.json
Normal file
12
.prettierrc.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"bracketSameLine": true,
|
||||||
|
"endOfLine": "lf",
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"singleQuote": true,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"useTabs": false,
|
||||||
|
"jsxSingleQuote": false,
|
||||||
|
"semi": true,
|
||||||
|
"printWidth": 128,
|
||||||
|
"plugins": []
|
||||||
|
}
|
10
.vscode/settings.json
vendored
10
.vscode/settings.json
vendored
@@ -17,6 +17,14 @@
|
|||||||
"string": "cpp",
|
"string": "cpp",
|
||||||
"string_view": "cpp",
|
"string_view": "cpp",
|
||||||
"span": "cpp",
|
"span": "cpp",
|
||||||
"vector": "cpp"
|
"vector": "cpp",
|
||||||
|
"charconv": "cpp",
|
||||||
|
"chrono": "cpp",
|
||||||
|
"optional": "cpp",
|
||||||
|
"format": "cpp",
|
||||||
|
"ratio": "cpp",
|
||||||
|
"system_error": "cpp",
|
||||||
|
"regex": "cpp",
|
||||||
|
"type_traits": "cpp"
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"policies": {
|
"policies": {
|
||||||
"DisableAppUpdate": true,
|
"DisableAppUpdate": true,
|
||||||
"AppAutoUpdate": false,
|
"AppAutoUpdate": false,
|
||||||
"ManualAppUpdateOnly": true,
|
"ManualAppUpdateOnly": true,
|
||||||
"BackgroundAppUpdate": false
|
"BackgroundAppUpdate": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,26 +0,0 @@
|
|||||||
cask("zen-browser") do
|
|
||||||
arch(arm: "aarch64", intel: "x64")
|
|
||||||
version("1.0.0-a.34")
|
|
||||||
sha256(arm: "6cc6e72c4a6a11d0139489d438ccf811715e170eebc01da739da32ace2580747", intel: "b9cb48f21a4ee39f3f3ae2361b9b0a55ae7219638cf798e1483c0eb8cf4660a6")
|
|
||||||
|
|
||||||
url("https://github.com/zen-browser/desktop/releases/download/#{version}/zen.macos-#{arch}.dmg")
|
|
||||||
name("Zen Browser")
|
|
||||||
desc("Beautifully designed, privacy-focused browser packed with awesome features")
|
|
||||||
homepage("https://zen-browser.app/")
|
|
||||||
|
|
||||||
livecheck do
|
|
||||||
url(:stable)
|
|
||||||
regex(/[0-9].*-a.[0-9]*/i)
|
|
||||||
end
|
|
||||||
|
|
||||||
zap trash: [
|
|
||||||
"~/Library/Preferences/org.mozilla.com.zen.browser.plist",
|
|
||||||
"~/Library/Saved Application State/org.mozilla.com.zen.browser.savedState"
|
|
||||||
]
|
|
||||||
|
|
||||||
app("Zen Browser.app")
|
|
||||||
|
|
||||||
postflight do
|
|
||||||
system("xattr -c '/Applications/Zen Browser.app/'")
|
|
||||||
end
|
|
||||||
end
|
|
68
README.md
68
README.md
@@ -1,6 +1,6 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<picture>
|
<picture>
|
||||||
<img src="./zen-black.svg" width="128px">
|
<img src="./docs/assets/zen-black.svg" width="128px">
|
||||||
</picture>
|
</picture>
|
||||||
</div>
|
</div>
|
||||||
<h1 align="center">
|
<h1 align="center">
|
||||||
@@ -9,9 +9,9 @@ Zen Browser
|
|||||||
|
|
||||||
Experience tranquillity while browsing the web without people tracking you!
|
Experience tranquillity while browsing the web without people tracking you!
|
||||||
|
|
||||||
* [Website](https://www.zen-browser.app)
|
- [Website](https://zen-browser.app)
|
||||||
* [Download](https://www.zen-browser.app/download)
|
- [Download](https://zen-browser.app/download)
|
||||||
* [Release Notes](https://www.zen-browser.app/release-notes/latest)
|
- [Release Notes](https://zen-browser.app/release-notes/latest)
|
||||||
|
|
||||||
[](https://github.com/zen-browser/desktop/releases)
|
[](https://github.com/zen-browser/desktop/releases)
|
||||||
[](https://crowdin.com/project/zen-browser)
|
[](https://crowdin.com/project/zen-browser)
|
||||||
@@ -26,24 +26,66 @@ Experience tranquillity while browsing the web without people tracking you!
|
|||||||
|
|
||||||
Zen is currently built using firefox version `130.0`!
|
Zen is currently built using firefox version `130.0`!
|
||||||
|
|
||||||
* Check out the latest [release notes](https://www.zen-browser.app/release-notes)!
|
- Check out the latest [release notes](https://zen-browser.app/release-notes)!
|
||||||
|
|
||||||
# Performance
|
# Performance
|
||||||
|
|
||||||
Zen is built with performance in mind, and we have optimized the browser to be as fast as possible!
|
Zen is built with performance in mind, and we have optimized the browser to be as fast as possible!
|
||||||
|
|
||||||
* Checkout the latest [performance benchmarks](https://docs.zen-browser.app/benchmarks)!
|
- Checkout the latest [performance benchmarks](https://docs.zen-browser.app/benchmarks)!
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
## MacOS
|
## Supported Operating Systems
|
||||||
You can install the Zen Browser using Homebrew:
|
|
||||||
|
Zen is available for Linux, macOS, and Windows. You can download the latest version from the official website at [zen-browser.app](https://zen-browser.app/download), or from the [GitHub Releases](https://github.com/zen-browser/desktop/releases) page.
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
#### Winget
|
||||||
|
|
||||||
|
- Generic
|
||||||
|
|
||||||
```
|
```
|
||||||
brew tap zen-browser/browser https://github.com/zen-browser/desktop.git
|
winget install --id Zen-Team.Zen-Browser
|
||||||
brew install zen-browser
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- Optimized
|
||||||
|
|
||||||
|
```
|
||||||
|
winget install --id Zen-Team.Zen-Browser.Optimized
|
||||||
|
```
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
- Requires macOS 10.15 or later
|
||||||
|
- Available for ARM and Intel architectures
|
||||||
|
|
||||||
|
You can also install Zen using Homebrew:
|
||||||
|
|
||||||
|
```
|
||||||
|
brew install --cask zen-browser
|
||||||
|
```
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
#### AppImage
|
||||||
|
|
||||||
|
- `zsync` is required for the Update feature of the script below
|
||||||
|
|
||||||
|
```
|
||||||
|
bash <(curl https://updates.zen-browser.app/appimage.sh)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Flatpak
|
||||||
|
```
|
||||||
|
flatpak install flathub io.github.zen_browser.zen
|
||||||
|
```
|
||||||
|
|
||||||
|
To upgrade the browser to a newer version, use the embedded update functionality in `About Zen`.
|
||||||
|
|
||||||
# Core Components
|
# 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).
|
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).
|
||||||
@@ -69,6 +111,11 @@ Download and bootstrap the browser
|
|||||||
npm run init
|
npm run init
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Copy a language pack
|
||||||
|
```
|
||||||
|
sh scripts/update-en-US-packs.sh
|
||||||
|
```
|
||||||
|
|
||||||
Start building the browser
|
Start building the browser
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -107,4 +154,3 @@ Zen couldn't be in its current state without the help of these amazing projects!
|
|||||||
<img alt="Star History Chart" src="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>
|
</picture>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
169
build/codesign/codesign.bash
Normal file
169
build/codesign/codesign.bash
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# 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 https://mozilla.org/MPL/2.0/.
|
||||||
|
#
|
||||||
|
# Runs codesign commands to codesign a Firefox .app bundle and enable macOS
|
||||||
|
# Hardened Runtime. Intended to be manually run by developers working on macOS
|
||||||
|
# 10.14+ who want to enable Hardened Runtime for manual testing. This is
|
||||||
|
# provided as a stop-gap until automated build tooling is available that signs
|
||||||
|
# binaries with a certificate generated during builds (bug 1522409). This
|
||||||
|
# script requires macOS 10.14 because Hardened Runtime is only available for
|
||||||
|
# applications running on 10.14 despite support for the codesign "-o runtime"
|
||||||
|
# option being available in 10.13.6 and newer.
|
||||||
|
#
|
||||||
|
# The script requires an identity string (-i option) from an Apple Developer
|
||||||
|
# ID certificate. This can be found in the macOS KeyChain after configuring an
|
||||||
|
# Apple Developer ID certificate.
|
||||||
|
#
|
||||||
|
# Example usage on macOS 10.14:
|
||||||
|
#
|
||||||
|
# $ ./mach build
|
||||||
|
# $ ./mach build package
|
||||||
|
# $ open </PATH/TO/DMG/FILE.dmg>
|
||||||
|
# <Drag Nightly.app to ~>
|
||||||
|
# $ ./security/mac/hardenedruntime/codesign.bash \
|
||||||
|
# -a ~/Nightly.app \
|
||||||
|
# -i <MY-IDENTITY-STRING> \
|
||||||
|
# -b security/mac/hardenedruntime/browser.developer.entitlements.xml
|
||||||
|
# -p security/mac/hardenedruntime/plugin-container.developer.entitlements.xml
|
||||||
|
# $ open ~/Nightly.app
|
||||||
|
#
|
||||||
|
|
||||||
|
usage ()
|
||||||
|
{
|
||||||
|
echo "Usage: $0 "
|
||||||
|
echo " -a <PATH-TO-BROWSER.app>"
|
||||||
|
echo " -i <IDENTITY>"
|
||||||
|
echo " -b <ENTITLEMENTS-FILE>"
|
||||||
|
echo " -p <CHILD-ENTITLEMENTS-FILE>"
|
||||||
|
echo " [-o <OUTPUT-DMG-FILE>]"
|
||||||
|
exit -1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make sure we are running on macOS with the sw_vers command available.
|
||||||
|
SWVERS=/usr/bin/sw_vers
|
||||||
|
if [ ! -x ${SWVERS} ]; then
|
||||||
|
echo "ERROR: macOS 10.14 or later is required"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Require macOS 10.14 or newer.
|
||||||
|
OSVERSION=`${SWVERS} -productVersion|sed -En 's/[0-9]+\.([0-9]+)\.[0-9]+/\1/p'`;
|
||||||
|
if [ ${OSVERSION} \< 14 ]; then
|
||||||
|
echo "ERROR: macOS 10.14 or later is required"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
while getopts "a:i:b:o:p:" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
a ) BUNDLE=$OPTARG ;;
|
||||||
|
i ) IDENTITY=$OPTARG ;;
|
||||||
|
b ) BROWSER_ENTITLEMENTS_FILE=$OPTARG ;;
|
||||||
|
p ) PLUGINCONTAINER_ENTITLEMENTS_FILE=$OPTARG ;;
|
||||||
|
o ) OUTPUT_DMG_FILE=$OPTARG ;;
|
||||||
|
\? ) usage; exit -1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${BUNDLE}" ] ||
|
||||||
|
[ -z "${IDENTITY}" ] ||
|
||||||
|
[ -z "${PLUGINCONTAINER_ENTITLEMENTS_FILE}" ] ||
|
||||||
|
[ -z "${BROWSER_ENTITLEMENTS_FILE}" ]; then
|
||||||
|
usage
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${BUNDLE}" ]; then
|
||||||
|
echo "Invalid bundle. Bundle should be a .app directory"
|
||||||
|
usage
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e "${PLUGINCONTAINER_ENTITLEMENTS_FILE}" ]; then
|
||||||
|
echo "Invalid entitlements file"
|
||||||
|
usage
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e "${BROWSER_ENTITLEMENTS_FILE}" ]; then
|
||||||
|
echo "Invalid entitlements file"
|
||||||
|
usage
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# DMG file output flag is optional
|
||||||
|
if [ ! -z "${OUTPUT_DMG_FILE}" ] &&
|
||||||
|
[ -e "${OUTPUT_DMG_FILE}" ]; then
|
||||||
|
echo "Output dmg file ${OUTPUT_DMG_FILE} exists. Please delete it first."
|
||||||
|
usage
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "-------------------------------------------------------------------------"
|
||||||
|
echo "bundle: $BUNDLE"
|
||||||
|
echo "identity: $IDENTITY"
|
||||||
|
echo "browser entitlements file: $BROWSER_ENTITLEMENTS_FILE"
|
||||||
|
echo "plugin-container entitlements file: $PLUGINCONTAINER_ENTITLEMENTS_FILE"
|
||||||
|
echo "output dmg file (optional): $OUTPUT_DMG_FILE"
|
||||||
|
echo "-------------------------------------------------------------------------"
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# Clear extended attributes which cause codesign to fail
|
||||||
|
xattr -cr "${BUNDLE}"
|
||||||
|
|
||||||
|
# Sign these binaries first. Signing of some binaries has an ordering
|
||||||
|
# requirement where other binaries must be signed first.
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" \
|
||||||
|
"${BUNDLE}/Contents/Library/LaunchServices/org.mozilla.updater" \
|
||||||
|
"${BUNDLE}/Contents/MacOS/XUL" \
|
||||||
|
"${BUNDLE}/Contents/MacOS/pingsender" \
|
||||||
|
"${BUNDLE}/Contents/MacOS/*.dylib" \
|
||||||
|
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" --deep \
|
||||||
|
"${BUNDLE}"/Contents/MacOS/updater.app
|
||||||
|
|
||||||
|
# Sign zen main executable
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" --deep \
|
||||||
|
--entitlements ${BROWSER_ENTITLEMENTS_FILE} \
|
||||||
|
"${BUNDLE}"/Contents/MacOS/zen
|
||||||
|
|
||||||
|
# Sign Library/LaunchServices
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" --deep \
|
||||||
|
"${BUNDLE}"/Contents/Library/LaunchServices/org.mozilla.updater
|
||||||
|
|
||||||
|
# Sign gmp-clearkey files
|
||||||
|
find "${BUNDLE}"/Contents/Resources/gmp-clearkey -type f -exec \
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" {} \;
|
||||||
|
|
||||||
|
# Sign the main bundle
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" \
|
||||||
|
--entitlements ${BROWSER_ENTITLEMENTS_FILE} "${BUNDLE}"
|
||||||
|
|
||||||
|
# Sign the plugin-container bundle with deep
|
||||||
|
codesign --force -o runtime --verbose --sign "$IDENTITY" --deep \
|
||||||
|
--entitlements ${PLUGINCONTAINER_ENTITLEMENTS_FILE} \
|
||||||
|
"${BUNDLE}"/Contents/MacOS/plugin-container.app
|
||||||
|
|
||||||
|
# Validate
|
||||||
|
codesign -vvv --deep --strict "${BUNDLE}"
|
||||||
|
|
||||||
|
# Create a DMG
|
||||||
|
if [ ! -z "${OUTPUT_DMG_FILE}" ]; then
|
||||||
|
DISK_IMAGE_DIR=`mktemp -d`
|
||||||
|
TEMP_FILE=`mktemp`
|
||||||
|
TEMP_DMG=${TEMP_FILE}.dmg
|
||||||
|
NAME=`basename "${BUNDLE}"`
|
||||||
|
|
||||||
|
ditto "${BUNDLE}" "${DISK_IMAGE_DIR}/${NAME}"
|
||||||
|
hdiutil create -size 400m -fs HFS+ \
|
||||||
|
-volname Firefox -srcfolder "${DISK_IMAGE_DIR}" "${TEMP_DMG}"
|
||||||
|
hdiutil convert -format UDZO \
|
||||||
|
-o "${OUTPUT_DMG_FILE}" "${TEMP_DMG}"
|
||||||
|
|
||||||
|
rm ${TEMP_FILE}
|
||||||
|
rm ${TEMP_DMG}
|
||||||
|
rm -rf "${DISK_IMAGE_DIR}"
|
||||||
|
fi
|
BIN
build/winsign/mar.exe
Normal file
BIN
build/winsign/mar.exe
Normal file
Binary file not shown.
113
build/winsign/sign.ps1
Normal file
113
build/winsign/sign.ps1
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
param(
|
||||||
|
[string][Parameter(Mandatory=$true)]$SignIdentity
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
|
echo "Preparing environment"
|
||||||
|
git pull --recurse-submodules
|
||||||
|
mkdir windsign-temp -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
echo "Please UNZIP the generic and specific artifacts into windsign-temp"
|
||||||
|
echo "With the following filenames:"
|
||||||
|
echo " - $pwd\windsign-temp\windows-x64-obj-specific"
|
||||||
|
echo " - $pwd\windsign-temp\windows-x64-obj-generic"
|
||||||
|
Read-Host "Press Enter to continue when ready"
|
||||||
|
mkdir engine\obj-x86_64-pc-windows-msvc\ -ErrorAction SilentlyContinue
|
||||||
|
mkdir .\.github\workflows\object\ -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
pnpm surfer ci --brand alpha
|
||||||
|
|
||||||
|
function SignAndPackage($name) {
|
||||||
|
echo "Executing on $name"
|
||||||
|
rmdir .\dist -Recurse -ErrorAction SilentlyContinue
|
||||||
|
rmdir engine\obj-x86_64-pc-windows-msvc\ -Recurse -ErrorAction SilentlyContinue
|
||||||
|
cp windsign-temp\windows-x64-obj-$name engine\obj-x86_64-pc-windows-msvc\ -Recurse
|
||||||
|
echo "Signing $name"
|
||||||
|
|
||||||
|
# Collect all .exe and .dll files into a list
|
||||||
|
$files = Get-ChildItem engine\obj-x86_64-pc-windows-msvc\ -Recurse -Include *.exe
|
||||||
|
$files += Get-ChildItem engine\obj-x86_64-pc-windows-msvc\ -Recurse -Include *.dll
|
||||||
|
|
||||||
|
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
|
||||||
|
echo "Packaging $name"
|
||||||
|
$env:SURFER_SIGNING_MODE="sign"
|
||||||
|
$env:MAR="$PWD\\build\\winsign\\mar.exe"
|
||||||
|
if ($name -eq "generic") {
|
||||||
|
$env:SURFER_COMPAT="true"
|
||||||
|
} else {
|
||||||
|
rm env:SURFER_COMPAT -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Compat Mode? $env:SURFER_COMPAT"
|
||||||
|
pnpm surfer package --verbose
|
||||||
|
|
||||||
|
# In the release script, we do the following:
|
||||||
|
# tar -xvf .github/workflows/object/windows-x64-signed-generic.tar.gz -C windows-x64-signed-generic
|
||||||
|
# We need to create a tar with the same structure and no top-level directory
|
||||||
|
# Inside, we need:
|
||||||
|
# - update_manifest/*
|
||||||
|
# - windows.mar or windows-generic.mar
|
||||||
|
# - zen.installer.exe or zen.installer-generic.exe
|
||||||
|
# - zen.win-generic.zip or zen.win-specific.zip
|
||||||
|
echo "Creating tar for $name"
|
||||||
|
rm .\windsign-temp\windows-x64-signed-$name -Recurse -ErrorAction SilentlyContinue
|
||||||
|
mkdir windsign-temp\windows-x64-signed-$name
|
||||||
|
|
||||||
|
# Move the MAR, add the `-generic` suffix if needed
|
||||||
|
if ($name -eq "generic") {
|
||||||
|
mv .\dist\output.mar windsign-temp\windows-x64-signed-$name\windows-generic.mar
|
||||||
|
} else {
|
||||||
|
mv .\dist\output.mar windsign-temp\windows-x64-signed-$name\windows.mar
|
||||||
|
}
|
||||||
|
|
||||||
|
# Move the installer
|
||||||
|
if ($name -eq "generic") {
|
||||||
|
mv .\dist\zen.installer.exe windsign-temp\windows-x64-signed-$name\zen.installer-generic.exe
|
||||||
|
} else {
|
||||||
|
mv .\dist\zen.installer.exe windsign-temp\windows-x64-signed-$name\zen.installer.exe
|
||||||
|
}
|
||||||
|
|
||||||
|
# Move the zip
|
||||||
|
mv (Get-Item .\dist\*.en-US.win64.zip) windsign-temp\windows-x64-signed-$name\zen.win-$name.zip
|
||||||
|
|
||||||
|
# Extract the zip, sign everything inside, and repackage it
|
||||||
|
Expand-Archive -Path windsign-temp\windows-x64-signed-$name\zen.win-$name.zip -DestinationPath windsign-temp\windows-x64-signed-$name\zen.win-$name
|
||||||
|
rm windsign-temp\windows-x64-signed-$name\zen.win-$name.zip
|
||||||
|
$files = Get-ChildItem windsign-temp\windows-x64-signed-$name\zen.win-$name -Recurse -Include *.exe
|
||||||
|
$files += Get-ChildItem windsign-temp\windows-x64-signed-$name\zen.win-$name -Recurse -Include *.dll
|
||||||
|
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
|
||||||
|
Compress-Archive -Path windsign-temp\windows-x64-signed-$name\zen.win-$name -DestinationPath windsign-temp\windows-x64-signed-$name\zen.win-$name.zip
|
||||||
|
rmdir windsign-temp\windows-x64-signed-$name\zen.win-$name -Recurse -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
# Move the manifest
|
||||||
|
mv .\dist\update\. windsign-temp\windows-x64-signed-$name\update_manifest
|
||||||
|
|
||||||
|
echo "Invoking tar for $name"
|
||||||
|
# note: We need to sign it into a parent folder, called windows-x64-signed-$name
|
||||||
|
rmdir .\.github\workflows\object\windows-x64-signed-$name -Recurse -ErrorAction SilentlyContinue
|
||||||
|
mv .\windsign-temp\windows-x64-signed-$name .\.github\workflows\object\windows-x64-signed-$name -Force
|
||||||
|
|
||||||
|
echo "Finished $name"
|
||||||
|
}
|
||||||
|
|
||||||
|
SignAndPackage specific
|
||||||
|
SignAndPackage generic
|
||||||
|
|
||||||
|
echo "All artifacts signed and packaged, ready for release!"
|
||||||
|
echo "Commiting the changes to the repository"
|
||||||
|
git add .\.github\workflows\object
|
||||||
|
git commit -m "Sign and package windows artifacts"
|
||||||
|
git push
|
||||||
|
|
||||||
|
# Cleaning up
|
||||||
|
|
||||||
|
echo "All done!"
|
||||||
|
echo "All the artifacts (Generic and Specific) are signed and packaged, get a rest now!"
|
||||||
|
Read-Host "Press Enter to continue"
|
||||||
|
|
||||||
|
echo "Cleaning up"
|
||||||
|
rmdir windsign-temp -Recurse -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
echo "Opening visual studio code"
|
||||||
|
code .
|
@@ -90,12 +90,11 @@ ac_add_options --enable-jxl
|
|||||||
ac_add_options --enable-av1
|
ac_add_options --enable-av1
|
||||||
ac_add_options --enable-eme=widevine
|
ac_add_options --enable-eme=widevine
|
||||||
|
|
||||||
ac_add_options --allow-addon-sideload
|
|
||||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
|
|
||||||
mk_add_options MOZ_DATA_REPORTING=0
|
mk_add_options MOZ_DATA_REPORTING=
|
||||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
mk_add_options MOZ_SERVICES_HEALTHREPORT=
|
||||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
mk_add_options MOZ_TELEMETRY_REPORTING=
|
||||||
|
|
||||||
# Allow loading unsigned extensions
|
# Allow loading unsigned extensions
|
||||||
export MOZ_REQUIRE_SIGNING=
|
export MOZ_REQUIRE_SIGNING=
|
||||||
|
@@ -42,9 +42,9 @@ if test "$ZEN_RELEASE"; then
|
|||||||
ac_add_options --enable-wasm-avx
|
ac_add_options --enable-wasm-avx
|
||||||
ac_add_options --enable-optimize="-O3 -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
ac_add_options --enable-optimize="-O3 -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
||||||
|
|
||||||
export CFLAGS="$CFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
export CFLAGS="$CFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||||
export CPPFLAGS="$CPPFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
export CPPFLAGS="$CPPFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||||
export CXXFLAGS="$CXXFLAGS -O3 -flto=thin -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
export CXXFLAGS="$CXXFLAGS -O3 -flto=thin -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||||
export LDFLAGS="$LDFLAGS -Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64-v3"
|
export LDFLAGS="$LDFLAGS -Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64-v3"
|
||||||
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64-v3 -C target-feature=+sse4.1 -C target-feature=+avx2 -C codegen-units=1 -Clink-args=--icf=safe"
|
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64-v3 -C target-feature=+sse4.1 -C target-feature=+avx2 -C codegen-units=1 -Clink-args=--icf=safe"
|
||||||
fi
|
fi
|
||||||
|
@@ -26,6 +26,9 @@ else
|
|||||||
|
|
||||||
ac_add_options --enable-optimize="-O3 -mcpu=apple-m1 -march=armv8.3-a+simd"
|
ac_add_options --enable-optimize="-O3 -mcpu=apple-m1 -march=armv8.3-a+simd"
|
||||||
|
|
||||||
|
# As of Clang 13, the default is -mcpu=apple-m1 when using a aarch64-apple-macos target,
|
||||||
|
# but we're using apple64-apple-darwin, which defaults to -mcpu=apple-a7, which disables
|
||||||
|
# a bunch of # performance-enabling CPU features.
|
||||||
export CFLAGS="-O3 -march=armv8.3-a+simd -mcpu=apple-m1"
|
export CFLAGS="-O3 -march=armv8.3-a+simd -mcpu=apple-m1"
|
||||||
export CPPFLAGS="-O3 -march=armv8.3-a+simd -mcpu=apple-m1"
|
export CPPFLAGS="-O3 -march=armv8.3-a+simd -mcpu=apple-m1"
|
||||||
export CXXFLAGS="-O3 -march=armv8.3-a+simd -mcpu=apple-m1"
|
export CXXFLAGS="-O3 -march=armv8.3-a+simd -mcpu=apple-m1"
|
||||||
|
@@ -40,14 +40,14 @@ if test "$SURFER_COMPAT" = "true"; then
|
|||||||
export LDFLAGS="-Wl,-O2"
|
export LDFLAGS="-Wl,-O2"
|
||||||
export RUSTFLAGS="-Clink-args=--icf=safe -C codegen-units=1 -Ctarget-cpu=x86-64"
|
export RUSTFLAGS="-Clink-args=--icf=safe -C codegen-units=1 -Ctarget-cpu=x86-64"
|
||||||
else
|
else
|
||||||
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -ftree-vectorize -Xclang -w"
|
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -ftree-vectorize -Xclang -w"
|
||||||
ac_add_options --enable-wasm-avx
|
ac_add_options --enable-wasm-avx
|
||||||
|
|
||||||
export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
|
export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -march=x86-64-v3"
|
||||||
export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
|
export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -march=x86-64-v3"
|
||||||
export CXXFLAGS="-O2 -flto=thin -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
|
export CXXFLAGS="-O2 -flto=thin -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -march=x86-64-v3"
|
||||||
export LDFLAGS="-Wl,-O3 -march=x86-64-v3"
|
export LDFLAGS="-Wl,-O3 -march=x86-64-v3"
|
||||||
export RUSTFLAGS="-Clink-args=--icf=safe -C target-feature=+avx -C codegen-units=1 -Ctarget-cpu=x86-64-v3"
|
export RUSTFLAGS="-Clink-args=--icf=safe -C target-feature=+avx2 -C codegen-units=1 -Ctarget-cpu=x86-64-v3"
|
||||||
fi
|
fi
|
||||||
export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
|
export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
|
||||||
export VERBOSE=1
|
export VERBOSE=1
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -1,15 +1,14 @@
|
|||||||
|
|
||||||
## Changed things that should be tested each release
|
## Changed things that should be tested each release
|
||||||
|
|
||||||
* Workspaces
|
- Workspaces
|
||||||
* Sidebar
|
- Sidebar
|
||||||
* Split views
|
- Split views
|
||||||
* Vertical tabs (expanded and not expanded)
|
- Vertical tabs (expanded and not expanded)
|
||||||
* Tab groups
|
- Tab groups
|
||||||
* Welcome Page
|
- Welcome Page
|
||||||
* Overall performance
|
- Overall performance
|
||||||
* Overall stability
|
- Overall stability
|
||||||
* Pinning tabs (Grid layout)
|
- Pinning tabs (Grid layout)
|
||||||
* Overall UX
|
- Overall UX
|
||||||
* Themes Page
|
- Themes Page
|
||||||
* Settings Page
|
- Settings Page
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# Custom Keyboard Shortcuts
|
# Custom Keyboard Shortcuts
|
||||||
|
|
||||||
```json
|
```json
|
||||||
|
@@ -1,31 +1,30 @@
|
|||||||
|
|
||||||
# Supported CPUs for optimized builds (Windows and Linux)
|
# Supported CPUs for optimized builds (Windows and Linux)
|
||||||
|
|
||||||
> If you CPU is not listed, you should use the "Generic" build.
|
> If you CPU is not listed, you should use the "Generic" build.
|
||||||
|
|
||||||
* AMD Family 15h (Excavator)
|
- AMD Family 15h (Excavator)
|
||||||
* AMD Family 17h (Zen)
|
- AMD Family 17h (Zen)
|
||||||
* AMD Family 17h (Zen+)
|
- AMD Family 17h (Zen+)
|
||||||
* AMD Family 17h (Zen 2)
|
- AMD Family 17h (Zen 2)
|
||||||
* AMD Family 19h (Zen 3)
|
- AMD Family 19h (Zen 3)
|
||||||
* Intel 4th Gen Core (Haswell)
|
- Intel 4th Gen Core (Haswell)
|
||||||
* Intel 5th Gen Core (Broadwell)
|
- Intel 5th Gen Core (Broadwell)
|
||||||
* Intel 6th Gen Core (Skylake)
|
- Intel 6th Gen Core (Skylake)
|
||||||
* Intel 7th Gen Core (Kaby Lake)
|
- Intel 7th Gen Core (Kaby Lake)
|
||||||
* Intel 8/9th Gen Core (Coffee Lake)
|
- Intel 8/9th Gen Core (Coffee Lake)
|
||||||
* Intel 10th Gen Core (Comet Lake)
|
- Intel 10th Gen Core (Comet Lake)
|
||||||
* Intel 12th Gen (Alder Lake)
|
- Intel 12th Gen (Alder Lake)
|
||||||
* Intel 13th Gen (Raptor Lake)
|
- Intel 13th Gen (Raptor Lake)
|
||||||
* Intel 14th Gen (Raptor Lake Refresh)
|
- Intel 14th Gen (Raptor Lake Refresh)
|
||||||
* Intel 15th Gen (Lunar / Arrow Lake)
|
- Intel 15th Gen (Lunar / Arrow Lake)
|
||||||
* AMD Family 19h (Zen 4 / Zen 4c)
|
- AMD Family 19h (Zen 4 / Zen 4c)
|
||||||
* AMD Family 1Ah (Zen 5 / Zen 5c)
|
- AMD Family 1Ah (Zen 5 / Zen 5c)
|
||||||
* Intel 6th Gen Core (Skylake X)
|
- Intel 6th Gen Core (Skylake X)
|
||||||
* Intel 8th Gen Core i3 (Cannon Lake)
|
- Intel 8th Gen Core i3 (Cannon Lake)
|
||||||
* Intel Xeon / 10th Gen Core (Ice Lake)
|
- Intel Xeon / 10th Gen Core (Ice Lake)
|
||||||
* Intel Xeon (Cascade Lake)
|
- Intel Xeon (Cascade Lake)
|
||||||
* Intel Xeon (Cooper Lake)
|
- Intel Xeon (Cooper Lake)
|
||||||
* Intel 3rd Gen 10nm++ (Tiger Lake)
|
- Intel 3rd Gen 10nm++ (Tiger Lake)
|
||||||
* Intel 4th Gen 10nm++ (Sapphire Rapids)
|
- Intel 4th Gen 10nm++ (Sapphire Rapids)
|
||||||
* Intel 5th Gen 10nm++ (Emerald Rapids)
|
- Intel 5th Gen 10nm++ (Emerald Rapids)
|
||||||
* Intel 11th Gen (Rocket Lake)
|
- Intel 11th Gen (Rocket Lake)
|
||||||
|
@@ -4,14 +4,12 @@ The `zen.sidepanels.data` configuration will be a JSON string that follows the f
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
data: {
|
"data": {
|
||||||
"p1": {
|
"p1": {
|
||||||
"url": "https://google.com",
|
"url": "https://google.com",
|
||||||
"ua": false, // "ua" may not be declared! (default: false)
|
"ua": false // "ua" may not be declared! (default: false)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"index": [
|
"index": ["p1"]
|
||||||
"p1"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
```
|
```
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# Workspaces Layout
|
# Workspaces Layout
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@@ -14,6 +13,7 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
To save the tabs and identity them, they will contain a `zen-workspace-uuid` attribute with the workspace uuid.
|
To save the tabs and identity them, they will contain a `zen-workspace-uuid` attribute with the workspace uuid.
|
||||||
|
|
||||||
We will make use of firefox's builtin session restore feature to save the tabs and windows after the user closes the browser.
|
We will make use of firefox's builtin session restore feature to save the tabs and windows after the user closes the browser.
|
||||||
|
@@ -4,6 +4,11 @@ runtime-version: '23.08'
|
|||||||
sdk: org.freedesktop.Sdk
|
sdk: org.freedesktop.Sdk
|
||||||
base: org.mozilla.firefox.BaseApp
|
base: org.mozilla.firefox.BaseApp
|
||||||
base-version: '23.08'
|
base-version: '23.08'
|
||||||
|
add-extensions:
|
||||||
|
org.freedesktop.Platform.ffmpeg-full:
|
||||||
|
directory: lib/ffmpeg
|
||||||
|
version: 23.08
|
||||||
|
add-ld-path: .
|
||||||
command: launch-script.sh
|
command: launch-script.sh
|
||||||
finish-args:
|
finish-args:
|
||||||
- --share=ipc
|
- --share=ipc
|
||||||
@@ -22,11 +27,13 @@ finish-args:
|
|||||||
- --own-name=org.mpris.MediaPlayer2.firefox.*
|
- --own-name=org.mpris.MediaPlayer2.firefox.*
|
||||||
- --system-talk-name=org.freedesktop.NetworkManager
|
- --system-talk-name=org.freedesktop.NetworkManager
|
||||||
- --talk-name=org.a11y.Bus
|
- --talk-name=org.a11y.Bus
|
||||||
|
- --env=GTK_PATH=/app/lib/gtkmodules
|
||||||
modules:
|
modules:
|
||||||
- name: zen_browser
|
- name: zen_browser
|
||||||
buildsystem: simple
|
buildsystem: simple
|
||||||
build-commands:
|
build-commands:
|
||||||
- mv zen /app/
|
- mv zen /app/
|
||||||
|
- mkdir -p /app/lib/ffmpeg
|
||||||
|
|
||||||
- install -Dm0755 metadata/launch-script.sh ${{FLATPAK_DEST}}/bin/launch-script.sh
|
- install -Dm0755 metadata/launch-script.sh ${{FLATPAK_DEST}}/bin/launch-script.sh
|
||||||
- install -Dm0644 metadata/policies.json ${{FLATPAK_DEST}}/bin/distribution/policies.json
|
- install -Dm0644 metadata/policies.json ${{FLATPAK_DEST}}/bin/distribution/policies.json
|
||||||
|
2
l10n
2
l10n
Submodule l10n updated: c4bb278c97...0bd8f65ca3
15
package.json
15
package.json
@@ -2,6 +2,9 @@
|
|||||||
"name": "zen-core",
|
"name": "zen-core",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
|
"lint-staged": {
|
||||||
|
"**/*": ""
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "surfer build",
|
"build": "surfer build",
|
||||||
"build:ui": "surfer build --ui",
|
"build:ui": "surfer build --ui",
|
||||||
@@ -13,7 +16,10 @@
|
|||||||
"package": "surfer package",
|
"package": "surfer package",
|
||||||
"update-ff": "python3 scripts/update_ff.py",
|
"update-ff": "python3 scripts/update_ff.py",
|
||||||
"update-ff:raw": "surfer update",
|
"update-ff:raw": "surfer update",
|
||||||
"update-newtab": "python3 scripts/update_newtab.py"
|
"update-newtab": "python3 scripts/update_newtab.py",
|
||||||
|
"pretty": "prettier . --write",
|
||||||
|
"lint": "npx prettier . --check",
|
||||||
|
"prepare": "husky"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -27,6 +33,11 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/zen-browser/core#readme",
|
"homepage": "https://github.com/zen-browser/core#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@zen-browser/surfer": "^1.3.7"
|
"@zen-browser/surfer": "^1.4.21"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"husky": "^9.1.5",
|
||||||
|
"lint-staged": "^15.2.10",
|
||||||
|
"prettier": "^3.3.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
413
pnpm-lock.yaml
generated
413
pnpm-lock.yaml
generated
@@ -9,8 +9,18 @@ importers:
|
|||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@zen-browser/surfer':
|
'@zen-browser/surfer':
|
||||||
specifier: ^1.3.7
|
specifier: ^1.4.21
|
||||||
version: 1.3.7
|
version: 1.4.21
|
||||||
|
devDependencies:
|
||||||
|
husky:
|
||||||
|
specifier: ^9.1.5
|
||||||
|
version: 9.1.5
|
||||||
|
lint-staged:
|
||||||
|
specifier: ^15.2.10
|
||||||
|
version: 15.2.10
|
||||||
|
prettier:
|
||||||
|
specifier: ^3.3.3
|
||||||
|
version: 3.3.3
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -109,18 +119,30 @@ packages:
|
|||||||
'@types/node@17.0.45':
|
'@types/node@17.0.45':
|
||||||
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
|
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
|
||||||
|
|
||||||
'@zen-browser/surfer@1.3.7':
|
'@zen-browser/surfer@1.4.21':
|
||||||
resolution: {integrity: sha512-AZEk/xvmRhYUR6gpDPL/liv+b+BZ79mnGopP6cisrJ5Dl55m4EN3ZxAqVz6+IO2njLAfLBN99MxJlQ0ZPJTZpA==}
|
resolution: {integrity: sha512-v05Mq6kjISGwWD7d6Bwl0zuH3JKu+xV5x/iJmMjgW3kReYwlKjexqkxQquKpn8bhwAbOBS/CtYBlRKi17Pqxpg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
ansi-escapes@7.0.0:
|
||||||
|
resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
ansi-regex@5.0.1:
|
ansi-regex@5.0.1:
|
||||||
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
ansi-regex@6.0.1:
|
||||||
|
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
ansi-styles@4.3.0:
|
ansi-styles@4.3.0:
|
||||||
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
ansi-styles@6.2.1:
|
||||||
|
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
argparse@1.0.10:
|
argparse@1.0.10:
|
||||||
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
||||||
|
|
||||||
@@ -160,6 +182,10 @@ packages:
|
|||||||
brace-expansion@1.1.11:
|
brace-expansion@1.1.11:
|
||||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||||
|
|
||||||
|
braces@3.0.3:
|
||||||
|
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
buffer-alloc-unsafe@1.1.0:
|
buffer-alloc-unsafe@1.1.0:
|
||||||
resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
|
resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
|
||||||
|
|
||||||
@@ -179,13 +205,25 @@ packages:
|
|||||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
chalk@5.3.0:
|
||||||
|
resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
|
||||||
|
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
|
||||||
|
|
||||||
chownr@1.1.4:
|
chownr@1.1.4:
|
||||||
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
||||||
|
|
||||||
|
cli-cursor@5.0.0:
|
||||||
|
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
cli-progress@3.12.0:
|
cli-progress@3.12.0:
|
||||||
resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==}
|
resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
|
|
||||||
|
cli-truncate@4.0.0:
|
||||||
|
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
color-convert@2.0.1:
|
color-convert@2.0.1:
|
||||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||||
engines: {node: '>=7.0.0'}
|
engines: {node: '>=7.0.0'}
|
||||||
@@ -200,6 +238,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
|
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
|
||||||
engines: {node: '>=12.5.0'}
|
engines: {node: '>=12.5.0'}
|
||||||
|
|
||||||
|
colorette@2.0.20:
|
||||||
|
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
|
||||||
|
|
||||||
|
commander@12.1.0:
|
||||||
|
resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
commander@6.2.1:
|
commander@6.2.1:
|
||||||
resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
|
resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
@@ -228,6 +273,15 @@ packages:
|
|||||||
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
|
debug@4.3.7:
|
||||||
|
resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
|
||||||
|
engines: {node: '>=6.0'}
|
||||||
|
peerDependencies:
|
||||||
|
supports-color: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
|
|
||||||
decompress-response@6.0.0:
|
decompress-response@6.0.0:
|
||||||
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@@ -243,21 +297,35 @@ packages:
|
|||||||
duplexify@4.1.3:
|
duplexify@4.1.3:
|
||||||
resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
|
resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
|
||||||
|
|
||||||
|
emoji-regex@10.4.0:
|
||||||
|
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
|
||||||
|
|
||||||
emoji-regex@8.0.0:
|
emoji-regex@8.0.0:
|
||||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||||
|
|
||||||
end-of-stream@1.4.4:
|
end-of-stream@1.4.4:
|
||||||
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
|
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
|
||||||
|
|
||||||
|
environment@1.1.0:
|
||||||
|
resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
esprima@4.0.1:
|
esprima@4.0.1:
|
||||||
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
|
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
eventemitter3@5.0.1:
|
||||||
|
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
|
||||||
|
|
||||||
execa@5.1.1:
|
execa@5.1.1:
|
||||||
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
|
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
execa@8.0.1:
|
||||||
|
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
|
||||||
|
engines: {node: '>=16.17'}
|
||||||
|
|
||||||
expand-template@2.0.3:
|
expand-template@2.0.3:
|
||||||
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
|
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -273,6 +341,10 @@ packages:
|
|||||||
fifo@2.4.1:
|
fifo@2.4.1:
|
||||||
resolution: {integrity: sha512-XTbUCNmo54Jav0hcL6VxDuY4x1eCQH61HEF80C2Oww283pfjQ2C8avZeyq4v43sW2S2403kmzssE9j4lbF66Sg==}
|
resolution: {integrity: sha512-XTbUCNmo54Jav0hcL6VxDuY4x1eCQH61HEF80C2Oww283pfjQ2C8avZeyq4v43sW2S2403kmzssE9j4lbF66Sg==}
|
||||||
|
|
||||||
|
fill-range@7.1.1:
|
||||||
|
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
flush-write-stream@2.0.0:
|
flush-write-stream@2.0.0:
|
||||||
resolution: {integrity: sha512-uXClqPxT4xW0lcdSBheb2ObVU+kuqUk3Jk64EwieirEXZx9XUrVwp/JuBfKAWaM4T5Td/VL7QLDWPXp/MvGm/g==}
|
resolution: {integrity: sha512-uXClqPxT4xW0lcdSBheb2ObVU+kuqUk3Jk64EwieirEXZx9XUrVwp/JuBfKAWaM4T5Td/VL7QLDWPXp/MvGm/g==}
|
||||||
|
|
||||||
@@ -303,10 +375,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||||
engines: {node: 6.* || 8.* || >= 10.*}
|
engines: {node: 6.* || 8.* || >= 10.*}
|
||||||
|
|
||||||
|
get-east-asian-width@1.2.0:
|
||||||
|
resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
get-stream@6.0.1:
|
get-stream@6.0.1:
|
||||||
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
get-stream@8.0.1:
|
||||||
|
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
||||||
|
engines: {node: '>=16'}
|
||||||
|
|
||||||
github-from-package@0.0.0:
|
github-from-package@0.0.0:
|
||||||
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
|
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
|
||||||
|
|
||||||
@@ -334,6 +414,15 @@ packages:
|
|||||||
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
||||||
engines: {node: '>=10.17.0'}
|
engines: {node: '>=10.17.0'}
|
||||||
|
|
||||||
|
human-signals@5.0.0:
|
||||||
|
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
|
||||||
|
engines: {node: '>=16.17.0'}
|
||||||
|
|
||||||
|
husky@9.1.5:
|
||||||
|
resolution: {integrity: sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
ieee754@1.2.1:
|
ieee754@1.2.1:
|
||||||
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
||||||
|
|
||||||
@@ -373,6 +462,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
is-fullwidth-code-point@4.0.0:
|
||||||
|
resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
is-fullwidth-code-point@5.0.0:
|
||||||
|
resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
is-number@7.0.0:
|
||||||
|
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||||
|
engines: {node: '>=0.12.0'}
|
||||||
|
|
||||||
is-promise@4.0.0:
|
is-promise@4.0.0:
|
||||||
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
|
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
|
||||||
|
|
||||||
@@ -384,6 +485,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
|
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
is-stream@3.0.0:
|
||||||
|
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
|
||||||
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
|
||||||
is-unc-path@1.0.0:
|
is-unc-path@1.0.0:
|
||||||
resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==}
|
resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -416,19 +521,48 @@ packages:
|
|||||||
lifecycle@1.0.4:
|
lifecycle@1.0.4:
|
||||||
resolution: {integrity: sha512-FJx0SNrM2rouctdOH4rATsHT+BvgyXX4LEQ+Yn9COQNPK3u4XAPp9qS7OKpRO22MeT39oxkjZkRcLnHxSmiduw==}
|
resolution: {integrity: sha512-FJx0SNrM2rouctdOH4rATsHT+BvgyXX4LEQ+Yn9COQNPK3u4XAPp9qS7OKpRO22MeT39oxkjZkRcLnHxSmiduw==}
|
||||||
|
|
||||||
|
lilconfig@3.1.2:
|
||||||
|
resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
|
lint-staged@15.2.10:
|
||||||
|
resolution: {integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==}
|
||||||
|
engines: {node: '>=18.12.0'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
|
listr2@8.2.4:
|
||||||
|
resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==}
|
||||||
|
engines: {node: '>=18.0.0'}
|
||||||
|
|
||||||
lodash.compact@3.0.1:
|
lodash.compact@3.0.1:
|
||||||
resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==}
|
resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==}
|
||||||
|
|
||||||
lodash.throttle@4.1.1:
|
lodash.throttle@4.1.1:
|
||||||
resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
|
resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
|
||||||
|
|
||||||
|
log-update@6.1.0:
|
||||||
|
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
merge-stream@2.0.0:
|
merge-stream@2.0.0:
|
||||||
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
||||||
|
|
||||||
|
micromatch@4.0.8:
|
||||||
|
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
|
||||||
|
engines: {node: '>=8.6'}
|
||||||
|
|
||||||
mimic-fn@2.1.0:
|
mimic-fn@2.1.0:
|
||||||
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
mimic-fn@4.0.0:
|
||||||
|
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
mimic-function@5.0.1:
|
||||||
|
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
mimic-response@3.1.0:
|
mimic-response@3.1.0:
|
||||||
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
|
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@@ -452,6 +586,12 @@ packages:
|
|||||||
modern-async@1.1.4:
|
modern-async@1.1.4:
|
||||||
resolution: {integrity: sha512-jaZlzQB3W9PRF43+T144lYWb7UaTapJM6MZxNGLqpgPVal6uV4ixkR+t/1H1/7UM03jDu5BnvAYDqeawvL7kiw==}
|
resolution: {integrity: sha512-jaZlzQB3W9PRF43+T144lYWb7UaTapJM6MZxNGLqpgPVal6uV4ixkR+t/1H1/7UM03jDu5BnvAYDqeawvL7kiw==}
|
||||||
|
|
||||||
|
mount-dmg@1.0.1:
|
||||||
|
resolution: {integrity: sha512-YEHSgtE1d6jIm6ht0uqo4MWQSXHvHYujgURXf+59hQDErH5bL5rv4uGwko8ejiFIeK6ySk8jBX1oX9NrlmBTCg==}
|
||||||
|
|
||||||
|
ms@2.1.3:
|
||||||
|
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||||
|
|
||||||
nanoassert@2.0.0:
|
nanoassert@2.0.0:
|
||||||
resolution: {integrity: sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==}
|
resolution: {integrity: sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==}
|
||||||
|
|
||||||
@@ -476,6 +616,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
npm-run-path@5.3.0:
|
||||||
|
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
|
||||||
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
|
||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
|
|
||||||
@@ -483,6 +627,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
onetime@6.0.0:
|
||||||
|
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
onetime@7.0.0:
|
||||||
|
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
os-shim@0.1.3:
|
os-shim@0.1.3:
|
||||||
resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==}
|
resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==}
|
||||||
engines: {node: '>= 0.4.0'}
|
engines: {node: '>= 0.4.0'}
|
||||||
@@ -495,10 +647,19 @@ packages:
|
|||||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
path-key@4.0.0:
|
||||||
|
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
picomatch@2.3.1:
|
picomatch@2.3.1:
|
||||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||||
engines: {node: '>=8.6'}
|
engines: {node: '>=8.6'}
|
||||||
|
|
||||||
|
pidtree@0.6.0:
|
||||||
|
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
|
||||||
|
engines: {node: '>=0.10'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
png-to-ico@2.1.8:
|
png-to-ico@2.1.8:
|
||||||
resolution: {integrity: sha512-Nf+IIn/cZ/DIZVdGveJp86NG5uNib1ZXMiDd/8x32HCTeKSvgpyg6D/6tUBn1QO/zybzoMK0/mc3QRgAyXdv9w==}
|
resolution: {integrity: sha512-Nf+IIn/cZ/DIZVdGveJp86NG5uNib1ZXMiDd/8x32HCTeKSvgpyg6D/6tUBn1QO/zybzoMK0/mc3QRgAyXdv9w==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -513,6 +674,11 @@ packages:
|
|||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
prettier@3.3.3:
|
||||||
|
resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
process-nextick-args@2.0.1:
|
process-nextick-args@2.0.1:
|
||||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||||
|
|
||||||
@@ -551,6 +717,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==}
|
resolution: {integrity: sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
restore-cursor@5.1.0:
|
||||||
|
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
rfdc@1.4.1:
|
||||||
|
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
|
||||||
|
|
||||||
rimraf@2.7.1:
|
rimraf@2.7.1:
|
||||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||||
deprecated: Rimraf versions prior to v4 are no longer supported
|
deprecated: Rimraf versions prior to v4 are no longer supported
|
||||||
@@ -586,12 +759,19 @@ packages:
|
|||||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
shell-escape@0.2.0:
|
||||||
|
resolution: {integrity: sha512-uRRBT2MfEOyxuECseCZd28jC1AJ8hmqqneWQ4VWUTgCAFvb3wKU1jLqj6egC4Exrr88ogg3dp+zroH4wJuaXzw==}
|
||||||
|
|
||||||
short-hash@1.0.0:
|
short-hash@1.0.0:
|
||||||
resolution: {integrity: sha512-qbUCD2Pkl4IXRyVqneEjGnUr0NGDGLzZnBUVGJngIQZf/FrhOL0yJhH+JQzak0t8xMmScIKpoX1SxOsPHdwa4w==}
|
resolution: {integrity: sha512-qbUCD2Pkl4IXRyVqneEjGnUr0NGDGLzZnBUVGJngIQZf/FrhOL0yJhH+JQzak0t8xMmScIKpoX1SxOsPHdwa4w==}
|
||||||
|
|
||||||
signal-exit@3.0.7:
|
signal-exit@3.0.7:
|
||||||
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||||
|
|
||||||
|
signal-exit@4.1.0:
|
||||||
|
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
simple-concat@1.0.1:
|
simple-concat@1.0.1:
|
||||||
resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
|
resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
|
||||||
|
|
||||||
@@ -604,6 +784,14 @@ packages:
|
|||||||
sisteransi@1.0.5:
|
sisteransi@1.0.5:
|
||||||
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
|
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
|
||||||
|
|
||||||
|
slice-ansi@5.0.0:
|
||||||
|
resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
slice-ansi@7.1.0:
|
||||||
|
resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
speedometer@1.0.0:
|
speedometer@1.0.0:
|
||||||
resolution: {integrity: sha512-lgxErLl/7A5+vgIIXsh9MbeukOaCb2axgQ+bKCdIE+ibNT4XNYGNCR1qFEGq6F+YDASXK3Fh/c5FgtZchFolxw==}
|
resolution: {integrity: sha512-lgxErLl/7A5+vgIIXsh9MbeukOaCb2axgQ+bKCdIE+ibNT4XNYGNCR1qFEGq6F+YDASXK3Fh/c5FgtZchFolxw==}
|
||||||
|
|
||||||
@@ -617,10 +805,18 @@ packages:
|
|||||||
stream-shift@1.0.3:
|
stream-shift@1.0.3:
|
||||||
resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
|
resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
|
||||||
|
|
||||||
|
string-argv@0.3.2:
|
||||||
|
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
|
||||||
|
engines: {node: '>=0.6.19'}
|
||||||
|
|
||||||
string-width@4.2.3:
|
string-width@4.2.3:
|
||||||
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
string-width@7.2.0:
|
||||||
|
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
string_decoder@1.1.1:
|
string_decoder@1.1.1:
|
||||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||||
|
|
||||||
@@ -631,10 +827,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
strip-ansi@7.1.0:
|
||||||
|
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
strip-final-newline@2.0.0:
|
strip-final-newline@2.0.0:
|
||||||
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
strip-final-newline@3.0.0:
|
||||||
|
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
strip-json-comments@2.0.1:
|
strip-json-comments@2.0.1:
|
||||||
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
|
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -671,6 +875,10 @@ packages:
|
|||||||
tiny-glob@0.2.9:
|
tiny-glob@0.2.9:
|
||||||
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
|
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
|
||||||
|
|
||||||
|
to-regex-range@5.0.1:
|
||||||
|
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||||
|
engines: {node: '>=8.0'}
|
||||||
|
|
||||||
to-utf8@0.0.1:
|
to-utf8@0.0.1:
|
||||||
resolution: {integrity: sha512-zks18/TWT1iHO3v0vFp5qLKOG27m67ycq/Y7a7cTiRuUNlc4gf3HGnkRgMv0NyhnfTamtkYBJl+YeD1/j07gBQ==}
|
resolution: {integrity: sha512-zks18/TWT1iHO3v0vFp5qLKOG27m67ycq/Y7a7cTiRuUNlc4gf3HGnkRgMv0NyhnfTamtkYBJl+YeD1/j07gBQ==}
|
||||||
|
|
||||||
@@ -696,6 +904,10 @@ packages:
|
|||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
wrap-ansi@9.0.0:
|
||||||
|
resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
wrappy@1.0.2:
|
wrappy@1.0.2:
|
||||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
|
|
||||||
@@ -707,6 +919,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
||||||
engines: {node: '>=0.4'}
|
engines: {node: '>=0.4'}
|
||||||
|
|
||||||
|
yaml@2.5.1:
|
||||||
|
resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==}
|
||||||
|
engines: {node: '>= 14'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
zip-iterator@1.0.1:
|
zip-iterator@1.0.1:
|
||||||
resolution: {integrity: sha512-0mrjvo33Z9E/7rd2iiNmEJMjbiv+/czKyTl+IOdgpY87+y9vUW+bB6HmhGU9s7G3TpWsEIID3n+7cckK3D2hwQ==}
|
resolution: {integrity: sha512-0mrjvo33Z9E/7rd2iiNmEJMjbiv+/czKyTl+IOdgpY87+y9vUW+bB6HmhGU9s7G3TpWsEIID3n+7cckK3D2hwQ==}
|
||||||
engines: {node: '>=0.8'}
|
engines: {node: '>=0.8'}
|
||||||
@@ -786,7 +1003,7 @@ snapshots:
|
|||||||
|
|
||||||
'@types/node@17.0.45': {}
|
'@types/node@17.0.45': {}
|
||||||
|
|
||||||
'@zen-browser/surfer@1.3.7':
|
'@zen-browser/surfer@1.4.21':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@resvg/resvg-js': 1.4.0
|
'@resvg/resvg-js': 1.4.0
|
||||||
async-icns: 1.0.2
|
async-icns: 1.0.2
|
||||||
@@ -801,6 +1018,7 @@ snapshots:
|
|||||||
is-apple-silicon: https://codeload.github.com/trickypr/is-apple-silicon/tar.gz/5f75501a1d7566ba9f94174b6825d7bd9d302b6a
|
is-apple-silicon: https://codeload.github.com/trickypr/is-apple-silicon/tar.gz/5f75501a1d7566ba9f94174b6825d7bd9d302b6a
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
modern-async: 1.1.4
|
modern-async: 1.1.4
|
||||||
|
mount-dmg: 1.0.1
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
png-to-ico: 2.1.8
|
png-to-ico: 2.1.8
|
||||||
prompts: 2.4.2
|
prompts: 2.4.2
|
||||||
@@ -812,12 +1030,20 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- debug
|
- debug
|
||||||
|
|
||||||
|
ansi-escapes@7.0.0:
|
||||||
|
dependencies:
|
||||||
|
environment: 1.1.0
|
||||||
|
|
||||||
ansi-regex@5.0.1: {}
|
ansi-regex@5.0.1: {}
|
||||||
|
|
||||||
|
ansi-regex@6.0.1: {}
|
||||||
|
|
||||||
ansi-styles@4.3.0:
|
ansi-styles@4.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
color-convert: 2.0.1
|
color-convert: 2.0.1
|
||||||
|
|
||||||
|
ansi-styles@6.2.1: {}
|
||||||
|
|
||||||
argparse@1.0.10:
|
argparse@1.0.10:
|
||||||
dependencies:
|
dependencies:
|
||||||
sprintf-js: 1.0.3
|
sprintf-js: 1.0.3
|
||||||
@@ -868,6 +1094,10 @@ snapshots:
|
|||||||
balanced-match: 1.0.2
|
balanced-match: 1.0.2
|
||||||
concat-map: 0.0.1
|
concat-map: 0.0.1
|
||||||
|
|
||||||
|
braces@3.0.3:
|
||||||
|
dependencies:
|
||||||
|
fill-range: 7.1.1
|
||||||
|
|
||||||
buffer-alloc-unsafe@1.1.0: {}
|
buffer-alloc-unsafe@1.1.0: {}
|
||||||
|
|
||||||
buffer-alloc@1.2.0:
|
buffer-alloc@1.2.0:
|
||||||
@@ -889,12 +1119,23 @@ snapshots:
|
|||||||
ansi-styles: 4.3.0
|
ansi-styles: 4.3.0
|
||||||
supports-color: 7.2.0
|
supports-color: 7.2.0
|
||||||
|
|
||||||
|
chalk@5.3.0: {}
|
||||||
|
|
||||||
chownr@1.1.4: {}
|
chownr@1.1.4: {}
|
||||||
|
|
||||||
|
cli-cursor@5.0.0:
|
||||||
|
dependencies:
|
||||||
|
restore-cursor: 5.1.0
|
||||||
|
|
||||||
cli-progress@3.12.0:
|
cli-progress@3.12.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
string-width: 4.2.3
|
string-width: 4.2.3
|
||||||
|
|
||||||
|
cli-truncate@4.0.0:
|
||||||
|
dependencies:
|
||||||
|
slice-ansi: 5.0.0
|
||||||
|
string-width: 7.2.0
|
||||||
|
|
||||||
color-convert@2.0.1:
|
color-convert@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
color-name: 1.1.4
|
color-name: 1.1.4
|
||||||
@@ -911,6 +1152,10 @@ snapshots:
|
|||||||
color-convert: 2.0.1
|
color-convert: 2.0.1
|
||||||
color-string: 1.9.1
|
color-string: 1.9.1
|
||||||
|
|
||||||
|
colorette@2.0.20: {}
|
||||||
|
|
||||||
|
commander@12.1.0: {}
|
||||||
|
|
||||||
commander@6.2.1: {}
|
commander@6.2.1: {}
|
||||||
|
|
||||||
commander@9.5.0: {}
|
commander@9.5.0: {}
|
||||||
@@ -933,6 +1178,10 @@ snapshots:
|
|||||||
shebang-command: 2.0.0
|
shebang-command: 2.0.0
|
||||||
which: 2.0.2
|
which: 2.0.2
|
||||||
|
|
||||||
|
debug@4.3.7:
|
||||||
|
dependencies:
|
||||||
|
ms: 2.1.3
|
||||||
|
|
||||||
decompress-response@6.0.0:
|
decompress-response@6.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-response: 3.1.0
|
mimic-response: 3.1.0
|
||||||
@@ -948,14 +1197,20 @@ snapshots:
|
|||||||
readable-stream: 3.6.2
|
readable-stream: 3.6.2
|
||||||
stream-shift: 1.0.3
|
stream-shift: 1.0.3
|
||||||
|
|
||||||
|
emoji-regex@10.4.0: {}
|
||||||
|
|
||||||
emoji-regex@8.0.0: {}
|
emoji-regex@8.0.0: {}
|
||||||
|
|
||||||
end-of-stream@1.4.4:
|
end-of-stream@1.4.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
|
|
||||||
|
environment@1.1.0: {}
|
||||||
|
|
||||||
esprima@4.0.1: {}
|
esprima@4.0.1: {}
|
||||||
|
|
||||||
|
eventemitter3@5.0.1: {}
|
||||||
|
|
||||||
execa@5.1.1:
|
execa@5.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn: 7.0.3
|
cross-spawn: 7.0.3
|
||||||
@@ -968,6 +1223,18 @@ snapshots:
|
|||||||
signal-exit: 3.0.7
|
signal-exit: 3.0.7
|
||||||
strip-final-newline: 2.0.0
|
strip-final-newline: 2.0.0
|
||||||
|
|
||||||
|
execa@8.0.1:
|
||||||
|
dependencies:
|
||||||
|
cross-spawn: 7.0.3
|
||||||
|
get-stream: 8.0.1
|
||||||
|
human-signals: 5.0.0
|
||||||
|
is-stream: 3.0.0
|
||||||
|
merge-stream: 2.0.0
|
||||||
|
npm-run-path: 5.3.0
|
||||||
|
onetime: 6.0.0
|
||||||
|
signal-exit: 4.1.0
|
||||||
|
strip-final-newline: 3.0.0
|
||||||
|
|
||||||
expand-template@2.0.3: {}
|
expand-template@2.0.3: {}
|
||||||
|
|
||||||
extract-base-iterator@1.0.1:
|
extract-base-iterator@1.0.1:
|
||||||
@@ -1009,6 +1276,10 @@ snapshots:
|
|||||||
|
|
||||||
fifo@2.4.1: {}
|
fifo@2.4.1: {}
|
||||||
|
|
||||||
|
fill-range@7.1.1:
|
||||||
|
dependencies:
|
||||||
|
to-regex-range: 5.0.1
|
||||||
|
|
||||||
flush-write-stream@2.0.0:
|
flush-write-stream@2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
@@ -1030,8 +1301,12 @@ snapshots:
|
|||||||
|
|
||||||
get-caller-file@2.0.5: {}
|
get-caller-file@2.0.5: {}
|
||||||
|
|
||||||
|
get-east-asian-width@1.2.0: {}
|
||||||
|
|
||||||
get-stream@6.0.1: {}
|
get-stream@6.0.1: {}
|
||||||
|
|
||||||
|
get-stream@8.0.1: {}
|
||||||
|
|
||||||
github-from-package@0.0.0: {}
|
github-from-package@0.0.0: {}
|
||||||
|
|
||||||
glob@7.2.3:
|
glob@7.2.3:
|
||||||
@@ -1055,6 +1330,10 @@ snapshots:
|
|||||||
|
|
||||||
human-signals@2.1.0: {}
|
human-signals@2.1.0: {}
|
||||||
|
|
||||||
|
human-signals@5.0.0: {}
|
||||||
|
|
||||||
|
husky@9.1.5: {}
|
||||||
|
|
||||||
ieee754@1.2.1: {}
|
ieee754@1.2.1: {}
|
||||||
|
|
||||||
imurmurhash@0.1.4: {}
|
imurmurhash@0.1.4: {}
|
||||||
@@ -1083,6 +1362,14 @@ snapshots:
|
|||||||
|
|
||||||
is-fullwidth-code-point@3.0.0: {}
|
is-fullwidth-code-point@3.0.0: {}
|
||||||
|
|
||||||
|
is-fullwidth-code-point@4.0.0: {}
|
||||||
|
|
||||||
|
is-fullwidth-code-point@5.0.0:
|
||||||
|
dependencies:
|
||||||
|
get-east-asian-width: 1.2.0
|
||||||
|
|
||||||
|
is-number@7.0.0: {}
|
||||||
|
|
||||||
is-promise@4.0.0: {}
|
is-promise@4.0.0: {}
|
||||||
|
|
||||||
is-relative@1.0.0:
|
is-relative@1.0.0:
|
||||||
@@ -1091,6 +1378,8 @@ snapshots:
|
|||||||
|
|
||||||
is-stream@2.0.1: {}
|
is-stream@2.0.1: {}
|
||||||
|
|
||||||
|
is-stream@3.0.0: {}
|
||||||
|
|
||||||
is-unc-path@1.0.0:
|
is-unc-path@1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
unc-path-regex: 0.1.2
|
unc-path-regex: 0.1.2
|
||||||
@@ -1118,14 +1407,57 @@ snapshots:
|
|||||||
|
|
||||||
lifecycle@1.0.4: {}
|
lifecycle@1.0.4: {}
|
||||||
|
|
||||||
|
lilconfig@3.1.2: {}
|
||||||
|
|
||||||
|
lint-staged@15.2.10:
|
||||||
|
dependencies:
|
||||||
|
chalk: 5.3.0
|
||||||
|
commander: 12.1.0
|
||||||
|
debug: 4.3.7
|
||||||
|
execa: 8.0.1
|
||||||
|
lilconfig: 3.1.2
|
||||||
|
listr2: 8.2.4
|
||||||
|
micromatch: 4.0.8
|
||||||
|
pidtree: 0.6.0
|
||||||
|
string-argv: 0.3.2
|
||||||
|
yaml: 2.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
|
||||||
|
listr2@8.2.4:
|
||||||
|
dependencies:
|
||||||
|
cli-truncate: 4.0.0
|
||||||
|
colorette: 2.0.20
|
||||||
|
eventemitter3: 5.0.1
|
||||||
|
log-update: 6.1.0
|
||||||
|
rfdc: 1.4.1
|
||||||
|
wrap-ansi: 9.0.0
|
||||||
|
|
||||||
lodash.compact@3.0.1: {}
|
lodash.compact@3.0.1: {}
|
||||||
|
|
||||||
lodash.throttle@4.1.1: {}
|
lodash.throttle@4.1.1: {}
|
||||||
|
|
||||||
|
log-update@6.1.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-escapes: 7.0.0
|
||||||
|
cli-cursor: 5.0.0
|
||||||
|
slice-ansi: 7.1.0
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
wrap-ansi: 9.0.0
|
||||||
|
|
||||||
merge-stream@2.0.0: {}
|
merge-stream@2.0.0: {}
|
||||||
|
|
||||||
|
micromatch@4.0.8:
|
||||||
|
dependencies:
|
||||||
|
braces: 3.0.3
|
||||||
|
picomatch: 2.3.1
|
||||||
|
|
||||||
mimic-fn@2.1.0: {}
|
mimic-fn@2.1.0: {}
|
||||||
|
|
||||||
|
mimic-fn@4.0.0: {}
|
||||||
|
|
||||||
|
mimic-function@5.0.1: {}
|
||||||
|
|
||||||
mimic-response@3.1.0: {}
|
mimic-response@3.1.0: {}
|
||||||
|
|
||||||
minimatch@3.1.2:
|
minimatch@3.1.2:
|
||||||
@@ -1148,6 +1480,12 @@ snapshots:
|
|||||||
core-js-pure: 3.37.1
|
core-js-pure: 3.37.1
|
||||||
nanoassert: 2.0.0
|
nanoassert: 2.0.0
|
||||||
|
|
||||||
|
mount-dmg@1.0.1:
|
||||||
|
dependencies:
|
||||||
|
shell-escape: 0.2.0
|
||||||
|
|
||||||
|
ms@2.1.3: {}
|
||||||
|
|
||||||
nanoassert@2.0.0: {}
|
nanoassert@2.0.0: {}
|
||||||
|
|
||||||
napi-build-utils@1.0.2: {}
|
napi-build-utils@1.0.2: {}
|
||||||
@@ -1166,6 +1504,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
path-key: 3.1.1
|
path-key: 3.1.1
|
||||||
|
|
||||||
|
npm-run-path@5.3.0:
|
||||||
|
dependencies:
|
||||||
|
path-key: 4.0.0
|
||||||
|
|
||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
@@ -1174,14 +1516,26 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
mimic-fn: 2.1.0
|
mimic-fn: 2.1.0
|
||||||
|
|
||||||
|
onetime@6.0.0:
|
||||||
|
dependencies:
|
||||||
|
mimic-fn: 4.0.0
|
||||||
|
|
||||||
|
onetime@7.0.0:
|
||||||
|
dependencies:
|
||||||
|
mimic-function: 5.0.1
|
||||||
|
|
||||||
os-shim@0.1.3: {}
|
os-shim@0.1.3: {}
|
||||||
|
|
||||||
path-is-absolute@1.0.1: {}
|
path-is-absolute@1.0.1: {}
|
||||||
|
|
||||||
path-key@3.1.1: {}
|
path-key@3.1.1: {}
|
||||||
|
|
||||||
|
path-key@4.0.0: {}
|
||||||
|
|
||||||
picomatch@2.3.1: {}
|
picomatch@2.3.1: {}
|
||||||
|
|
||||||
|
pidtree@0.6.0: {}
|
||||||
|
|
||||||
png-to-ico@2.1.8:
|
png-to-ico@2.1.8:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 17.0.45
|
'@types/node': 17.0.45
|
||||||
@@ -1205,6 +1559,8 @@ snapshots:
|
|||||||
tar-fs: 2.1.1
|
tar-fs: 2.1.1
|
||||||
tunnel-agent: 0.6.0
|
tunnel-agent: 0.6.0
|
||||||
|
|
||||||
|
prettier@3.3.3: {}
|
||||||
|
|
||||||
process-nextick-args@2.0.1: {}
|
process-nextick-args@2.0.1: {}
|
||||||
|
|
||||||
progress-stream@2.0.0:
|
progress-stream@2.0.0:
|
||||||
@@ -1260,6 +1616,13 @@ snapshots:
|
|||||||
|
|
||||||
resolve-from@2.0.0: {}
|
resolve-from@2.0.0: {}
|
||||||
|
|
||||||
|
restore-cursor@5.1.0:
|
||||||
|
dependencies:
|
||||||
|
onetime: 7.0.0
|
||||||
|
signal-exit: 4.1.0
|
||||||
|
|
||||||
|
rfdc@1.4.1: {}
|
||||||
|
|
||||||
rimraf@2.7.1:
|
rimraf@2.7.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
glob: 7.2.3
|
glob: 7.2.3
|
||||||
@@ -1291,12 +1654,16 @@ snapshots:
|
|||||||
|
|
||||||
shebang-regex@3.0.0: {}
|
shebang-regex@3.0.0: {}
|
||||||
|
|
||||||
|
shell-escape@0.2.0: {}
|
||||||
|
|
||||||
short-hash@1.0.0:
|
short-hash@1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
hash-string: 1.0.0
|
hash-string: 1.0.0
|
||||||
|
|
||||||
signal-exit@3.0.7: {}
|
signal-exit@3.0.7: {}
|
||||||
|
|
||||||
|
signal-exit@4.1.0: {}
|
||||||
|
|
||||||
simple-concat@1.0.1: {}
|
simple-concat@1.0.1: {}
|
||||||
|
|
||||||
simple-get@4.0.1:
|
simple-get@4.0.1:
|
||||||
@@ -1311,6 +1678,16 @@ snapshots:
|
|||||||
|
|
||||||
sisteransi@1.0.5: {}
|
sisteransi@1.0.5: {}
|
||||||
|
|
||||||
|
slice-ansi@5.0.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-styles: 6.2.1
|
||||||
|
is-fullwidth-code-point: 4.0.0
|
||||||
|
|
||||||
|
slice-ansi@7.1.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-styles: 6.2.1
|
||||||
|
is-fullwidth-code-point: 5.0.0
|
||||||
|
|
||||||
speedometer@1.0.0: {}
|
speedometer@1.0.0: {}
|
||||||
|
|
||||||
sprintf-js@1.0.3: {}
|
sprintf-js@1.0.3: {}
|
||||||
@@ -1323,12 +1700,20 @@ snapshots:
|
|||||||
|
|
||||||
stream-shift@1.0.3: {}
|
stream-shift@1.0.3: {}
|
||||||
|
|
||||||
|
string-argv@0.3.2: {}
|
||||||
|
|
||||||
string-width@4.2.3:
|
string-width@4.2.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
emoji-regex: 8.0.0
|
emoji-regex: 8.0.0
|
||||||
is-fullwidth-code-point: 3.0.0
|
is-fullwidth-code-point: 3.0.0
|
||||||
strip-ansi: 6.0.1
|
strip-ansi: 6.0.1
|
||||||
|
|
||||||
|
string-width@7.2.0:
|
||||||
|
dependencies:
|
||||||
|
emoji-regex: 10.4.0
|
||||||
|
get-east-asian-width: 1.2.0
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
|
||||||
string_decoder@1.1.1:
|
string_decoder@1.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer: 5.1.2
|
safe-buffer: 5.1.2
|
||||||
@@ -1341,8 +1726,14 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex: 5.0.1
|
ansi-regex: 5.0.1
|
||||||
|
|
||||||
|
strip-ansi@7.1.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-regex: 6.0.1
|
||||||
|
|
||||||
strip-final-newline@2.0.0: {}
|
strip-final-newline@2.0.0: {}
|
||||||
|
|
||||||
|
strip-final-newline@3.0.0: {}
|
||||||
|
|
||||||
strip-json-comments@2.0.1: {}
|
strip-json-comments@2.0.1: {}
|
||||||
|
|
||||||
supports-color@7.2.0:
|
supports-color@7.2.0:
|
||||||
@@ -1402,6 +1793,10 @@ snapshots:
|
|||||||
globalyzer: 0.1.0
|
globalyzer: 0.1.0
|
||||||
globrex: 0.1.2
|
globrex: 0.1.2
|
||||||
|
|
||||||
|
to-regex-range@5.0.1:
|
||||||
|
dependencies:
|
||||||
|
is-number: 7.0.0
|
||||||
|
|
||||||
to-utf8@0.0.1: {}
|
to-utf8@0.0.1: {}
|
||||||
|
|
||||||
tunnel-agent@0.6.0:
|
tunnel-agent@0.6.0:
|
||||||
@@ -1423,6 +1818,12 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
isexe: 2.0.0
|
isexe: 2.0.0
|
||||||
|
|
||||||
|
wrap-ansi@9.0.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-styles: 6.2.1
|
||||||
|
string-width: 7.2.0
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
|
||||||
wrappy@1.0.2: {}
|
wrappy@1.0.2: {}
|
||||||
|
|
||||||
xmlbuilder2@3.1.1:
|
xmlbuilder2@3.1.1:
|
||||||
@@ -1434,6 +1835,8 @@ snapshots:
|
|||||||
|
|
||||||
xtend@4.0.2: {}
|
xtend@4.0.2: {}
|
||||||
|
|
||||||
|
yaml@2.5.1: {}
|
||||||
|
|
||||||
zip-iterator@1.0.1:
|
zip-iterator@1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer-v6-polyfill: 1.0.5
|
buffer-v6-polyfill: 1.0.5
|
||||||
|
@@ -9,6 +9,7 @@ copy_browser_locales() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
rm -rf $browser_locales/$langId/
|
rm -rf $browser_locales/$langId/
|
||||||
|
# TODO: Copy the rest of the l10n directories to their respective locations
|
||||||
rsync -av --exclude=.git ./l10n/$langId/ $browser_locales/$langId/
|
rsync -av --exclude=.git ./l10n/$langId/ $browser_locales/$langId/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Betterfox *
|
* Betterfox *
|
||||||
* "Ad meliora" *
|
* "Ad meliora" *
|
||||||
* version: 128 *
|
* version: 130 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -21,20 +21,21 @@
|
|||||||
* SECTION: FASTFOX *
|
* SECTION: FASTFOX *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/** GENERAL ***/
|
/** GENERAL ***/
|
||||||
pref("content.notify.interval", 100000); // (.10s); alt=500000 (.50s)
|
//pref("content.notify.interval", 100000); // (.10s); alt=500000 (.50s)
|
||||||
|
|
||||||
/** GFX ***/
|
/** GFX ***/
|
||||||
pref("gfx.canvas.accelerated.cache-items", 4096);
|
pref("gfx.canvas.accelerated.cache-items", 32768);
|
||||||
pref("gfx.canvas.accelerated.cache-size", 512);
|
pref("gfx.canvas.accelerated.cache-size", 4096);
|
||||||
pref("gfx.content.skia-font-cache-size", 20);
|
pref("gfx.content.skia-font-cache-size", 80);
|
||||||
|
|
||||||
/** DISK CACHE ***/
|
/** DISK CACHE ***/
|
||||||
pref("browser.cache.jsbc_compression_level", 3);
|
pref("browser.cache.jsbc_compression_level", 3);
|
||||||
|
|
||||||
/** MEDIA CACHE ***/
|
/** MEDIA CACHE ***/
|
||||||
pref("media.memory_cache_max_size", 65536);
|
pref("media.memory_cache_max_size", 1048576);
|
||||||
pref("media.cache_readahead_limit", 7200);
|
pref("media.cache_readahead_limit", 9000);
|
||||||
pref("media.cache_resume_threshold", 3600);
|
pref("media.cache_resume_threshold", 3600);
|
||||||
|
pref("media.memory_caches_combined_limit_kb", 2560000);
|
||||||
|
|
||||||
/** IMAGE CACHE ***/
|
/** IMAGE CACHE ***/
|
||||||
pref("image.mem.decode_bytes_at_a_time", 32768);
|
pref("image.mem.decode_bytes_at_a_time", 32768);
|
||||||
@@ -47,7 +48,7 @@ pref("network.http.pacing.requests.enabled", false);
|
|||||||
pref("network.dnsCacheExpiration", 3600);
|
pref("network.dnsCacheExpiration", 3600);
|
||||||
pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
|
pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
|
||||||
pref("network.websocket.max-connections", 400); // default=200
|
pref("network.websocket.max-connections", 400); // default=200
|
||||||
pref("network.ssl_tokens_cache_capacity", 10240);
|
pref("network.ssl_tokens_cache_capacity", 32768);
|
||||||
|
|
||||||
/** MIXED CONTENT + CROSS-SITE ***/
|
/** MIXED CONTENT + CROSS-SITE ***/
|
||||||
pref("pdfjs.enableScripting", false);
|
pref("pdfjs.enableScripting", false);
|
||||||
@@ -82,7 +83,6 @@ pref("security.tls.enable_0rtt_data", false);
|
|||||||
|
|
||||||
/** DISK AVOIDANCE ***/
|
/** DISK AVOIDANCE ***/
|
||||||
pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
||||||
pref("browser.sessionstore.interval", 60000);
|
|
||||||
|
|
||||||
/** SHUTDOWN & SANITIZING ***/
|
/** SHUTDOWN & SANITIZING ***/
|
||||||
pref("privacy.history.custom", true);
|
pref("privacy.history.custom", true);
|
||||||
@@ -104,10 +104,6 @@ pref("network.IDN_show_punycode", true);
|
|||||||
/** CONTAINERS ***/
|
/** CONTAINERS ***/
|
||||||
pref("privacy.userContext.ui.enabled", true);
|
pref("privacy.userContext.ui.enabled", true);
|
||||||
|
|
||||||
/** WEBRTC ***/
|
|
||||||
pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
|
|
||||||
pref("media.peerconnection.ice.default_address_only", true);
|
|
||||||
|
|
||||||
/** SAFE BROWSING ***/
|
/** SAFE BROWSING ***/
|
||||||
pref("browser.safebrowsing.downloads.remote.enabled", false);
|
pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
||||||
index b8aa71126c2bb4521caf25f9caf845a8a429dc64..59cdc2e9998e802d6c79ff967eaa30088a3b7a21 100644
|
index a39a4f287ef843f7e0cdeac8320eeff81318116f..f84cdb85c249221522089667010d547cfab67819 100644
|
||||||
--- a/browser/app/profile/firefox.js
|
--- a/browser/app/profile/firefox.js
|
||||||
+++ b/browser/app/profile/firefox.js
|
+++ b/browser/app/profile/firefox.js
|
||||||
@@ -3110,3 +3110,5 @@ pref("toolkit.contentRelevancy.enabled", false);
|
@@ -3190,3 +3190,5 @@ pref("toolkit.contentRelevancy.enabled", false);
|
||||||
pref("toolkit.contentRelevancy.ingestEnabled", false);
|
pref("toolkit.contentRelevancy.ingestEnabled", false);
|
||||||
// Pref to enable extra logging for the content relevancy feature
|
// Pref to enable extra logging for the content relevancy feature
|
||||||
pref("toolkit.contentRelevancy.log", false);
|
pref("toolkit.contentRelevancy.log", false);
|
||||||
|
@@ -19,6 +19,9 @@ pref("devtools.debugger.prompt-connection", true);
|
|||||||
// Dont download the multilingual dictionary
|
// Dont download the multilingual dictionary
|
||||||
pref("intl.multilingual.downloadEnabled", false);
|
pref("intl.multilingual.downloadEnabled", false);
|
||||||
|
|
||||||
|
// Restore session on startup
|
||||||
|
pref("browser.startup.page", 3);
|
||||||
|
|
||||||
// Theme
|
// Theme
|
||||||
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
||||||
pref('browser.compactmode.show', true);
|
pref('browser.compactmode.show', true);
|
||||||
@@ -27,6 +30,9 @@ pref('browser.newtabpage.activity-stream.newtabWallpapers.enabled', true);
|
|||||||
pref('browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled', true);
|
pref('browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled', true);
|
||||||
pref('browser.translations.newSettingsUI.enable', true);
|
pref('browser.translations.newSettingsUI.enable', true);
|
||||||
|
|
||||||
|
pref('privacy.userContext.enabled', true);
|
||||||
|
pref('privacy.userContext.ui.enabled', true);
|
||||||
|
|
||||||
pref("browser.urlbar.trimHttps", true);
|
pref("browser.urlbar.trimHttps", true);
|
||||||
pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
|
pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
|
||||||
|
|
||||||
@@ -48,6 +54,8 @@ pref('pdfjs.enableHighlightEditor', true);
|
|||||||
pref('pdfjs.enableHighlightFloatingButton', true);
|
pref('pdfjs.enableHighlightFloatingButton', true);
|
||||||
|
|
||||||
pref("alerts.showFavicons", true);
|
pref("alerts.showFavicons", true);
|
||||||
|
|
||||||
|
pref("browser.tabs.loadBookmarksInTabs", false);
|
||||||
pref('browser.toolbars.bookmarks.visibility', 'never');
|
pref('browser.toolbars.bookmarks.visibility', 'never');
|
||||||
|
|
||||||
// Enable Do Not Track and GPC by default.
|
// Enable Do Not Track and GPC by default.
|
||||||
@@ -59,7 +67,7 @@ pref("browser.ping-centre.telemetry", false);
|
|||||||
pref("browser.attribution.enabled", false);
|
pref("browser.attribution.enabled", false);
|
||||||
pref("toolkit.telemetry.pioneer-new-studies-available", false);
|
pref("toolkit.telemetry.pioneer-new-studies-available", false);
|
||||||
|
|
||||||
pref("app.update.checkInstallTime.days", 2);
|
pref("app.update.checkInstallTime.days", 6);
|
||||||
|
|
||||||
// CUSTOM ZEN PREFS
|
// CUSTOM ZEN PREFS
|
||||||
|
|
||||||
@@ -68,12 +76,22 @@ pref('zen.welcomeScreen.seen', false);
|
|||||||
pref('zen.tabs.vertical', true);
|
pref('zen.tabs.vertical', true);
|
||||||
pref('zen.tabs.vertical.right-side', false);
|
pref('zen.tabs.vertical.right-side', false);
|
||||||
pref('zen.theme.accent-color', "#aac7ff");
|
pref('zen.theme.accent-color', "#aac7ff");
|
||||||
pref('zen.theme.border-radius', 10); // In pixels
|
pref('zen.theme.border-radius', 5); // In pixels
|
||||||
|
pref('zen.theme.content-element-separation', 6); // In pixels
|
||||||
pref('zen.theme.toolbar-themed', true);
|
pref('zen.theme.toolbar-themed', true);
|
||||||
pref('zen.theme.pill-button', false);
|
pref('zen.theme.pill-button', false);
|
||||||
pref('zen.view.compact', false);
|
pref('zen.view.compact', false);
|
||||||
pref('zen.view.compact.hide-toolbar', false);
|
|
||||||
|
|
||||||
|
pref('zen.theme.color-prefs.amoled', false);
|
||||||
|
pref('zen.theme.color-prefs.colorful', false);
|
||||||
|
|
||||||
|
pref('zen.view.compact.hide-tabbar', true);
|
||||||
|
pref('zen.view.compact.hide-toolbar', false);
|
||||||
|
pref('zen.view.compact.toolbar-flash-popup', true);
|
||||||
|
pref('zen.view.compact.toolbar-flash-popup.duration', 800);
|
||||||
|
pref('zen.view.compact.toolbar-hide-after-hover.duration', 1000);
|
||||||
|
|
||||||
|
pref('zen.view.sidebar-height-throttle', 200); // in ms
|
||||||
pref('zen.view.sidebar-expanded', false);
|
pref('zen.view.sidebar-expanded', false);
|
||||||
pref('zen.view.sidebar-expanded.on-hover', false);
|
pref('zen.view.sidebar-expanded.on-hover', false);
|
||||||
pref('zen.view.sidebar-expanded.show-button', true);
|
pref('zen.view.sidebar-expanded.show-button', true);
|
||||||
@@ -81,12 +99,14 @@ pref('zen.view.sidebar-expanded.max-width', 400);
|
|||||||
|
|
||||||
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
||||||
|
|
||||||
pref('zen.keyboard.shortcuts.enabled', true);
|
pref('zen.keyboard.shortcuts.enabled', true, locked);
|
||||||
pref('zen.keyboard.shortcuts', ""); // Empty string means default shortcuts
|
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
||||||
pref('zen.keyboard.shortcuts.disable-firefox', false);
|
|
||||||
pref('zen.tabs.dim-pending', true);
|
pref('zen.tabs.dim-pending', true);
|
||||||
pref('zen.themes.updated-value-observer', false);
|
pref('zen.themes.updated-value-observer', false);
|
||||||
pref('zen.themes.tabs.legacy-location', false);
|
|
||||||
|
pref('zen.tab-unloader.enabled', true);
|
||||||
|
pref('zen.tab-unloader.timeout-minutes', 20);
|
||||||
|
pref('zen.tab-unloader.excluded-urls', "example.com,example.org");
|
||||||
|
|
||||||
// Pref to enable the new profiles (TODO: Check this out!)
|
// Pref to enable the new profiles (TODO: Check this out!)
|
||||||
//pref("browser.profiles.enabled", true);
|
//pref("browser.profiles.enabled", true);
|
||||||
@@ -98,9 +118,15 @@ pref('zen.sidebar.close-on-blur', true);
|
|||||||
|
|
||||||
// Zen Split View
|
// Zen Split View
|
||||||
pref('zen.splitView.working', false);
|
pref('zen.splitView.working', false);
|
||||||
|
pref('zen.splitView.min-resize-width', 7);
|
||||||
|
pref('zen.splitView.change-on-hover', false);
|
||||||
|
|
||||||
// Zen Workspaces
|
// Zen Workspaces
|
||||||
pref('zen.workspaces.enabled', true);
|
pref('zen.workspaces.enabled', true);
|
||||||
|
pref('zen.workspaces.hide-default-container-indicator', true);
|
||||||
|
pref('zen.workspaces.individual-pinned-tabs', true);
|
||||||
|
pref('zen.workspaces.show-icon-strip', true);
|
||||||
|
pref('zen.workspaces.icons', '["🌐", "📁", "💼", "📝", "📅", "📊","🧠"]');
|
||||||
|
|
||||||
// Zen Watermark
|
// Zen Watermark
|
||||||
pref('zen.watermark.enabled', true, sticky);
|
pref('zen.watermark.enabled', true, sticky);
|
||||||
@@ -115,11 +141,6 @@ pref('dom.security.https_only_mode', true);
|
|||||||
|
|
||||||
pref('media.eme.enabled', true);
|
pref('media.eme.enabled', true);
|
||||||
|
|
||||||
pref("app.update.url.manual", "https://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");
|
|
||||||
|
|
||||||
// Enable importers for other browsers
|
// Enable importers for other browsers
|
||||||
pref('browser.migrate.vivaldi.enabled', true);
|
pref('browser.migrate.vivaldi.enabled', true);
|
||||||
pref('browser.migrate.opera-gx.enabled', true);
|
pref('browser.migrate.opera-gx.enabled', true);
|
||||||
@@ -134,25 +155,23 @@ pref('xpinstall.signatures.required', false);
|
|||||||
// Experimental Zen Features
|
// Experimental Zen Features
|
||||||
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
|
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
|
||||||
pref('dom.script_loader.bytecode_cache.strategy', 2);
|
pref('dom.script_loader.bytecode_cache.strategy', 2);
|
||||||
|
pref("dom.text_fragments.enabled", true);
|
||||||
|
|
||||||
// Font rendering, not for MacOSX and Linux
|
// Enable private suggestions
|
||||||
#ifndef XP_UNIX
|
pref('browser.search.suggest.enabled', true);
|
||||||
#ifndef XP_MACOSX
|
pref('browser.search.suggest.enabled.private', true);
|
||||||
pref("gfx.font_rendering.directwrite.bold_simulation", 2);
|
|
||||||
pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 25);
|
|
||||||
pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", "");
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Enable GPU by default
|
pref("extensions.enabledScopes", 5); // [HIDDEN PREF]
|
||||||
pref('gfx.webrender.all', true);
|
|
||||||
pref('layers.acceleration.force-enabled', true);
|
// Enable JXL support
|
||||||
pref('media.ffmpeg.vaapi.enabled', true);
|
pref('image.jxl.enabled', true);
|
||||||
|
|
||||||
#if defined(XP_WIN)
|
#if defined(XP_WIN)
|
||||||
pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false);
|
pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
pref('browser.sessionstore.restore_pinned_tabs_on_demand', true);
|
||||||
|
|
||||||
// Enable experimental settings page (Usef for Zen Labs)
|
// Enable experimental settings page (Usef for Zen Labs)
|
||||||
pref('browser.preferences.experimental', true);
|
pref('browser.preferences.experimental', true);
|
||||||
|
|
||||||
@@ -186,3 +205,15 @@ pref("widget.non-native-theme.use-theme-accent", true);
|
|||||||
// Expose Letterboxing https://github.com/zen-browser/desktop/issues/475
|
// Expose Letterboxing https://github.com/zen-browser/desktop/issues/475
|
||||||
pref("privacy.resistFingerprinting.letterboxing", false);
|
pref("privacy.resistFingerprinting.letterboxing", false);
|
||||||
pref("privacy.resistFingerprinting.letterboxing.dimensions", "");
|
pref("privacy.resistFingerprinting.letterboxing.dimensions", "");
|
||||||
|
|
||||||
|
// Remove Inspect Accessibity Properties menu
|
||||||
|
pref("devtools.accessibility.enabled", false);
|
||||||
|
|
||||||
|
// Enable GPU by default
|
||||||
|
pref('gfx.webrender.all', true);
|
||||||
|
pref('layers.acceleration.force-enabled', true);
|
||||||
|
pref('media.ffmpeg.vaapi.enabled', true);
|
||||||
|
pref('media.ffmpeg.encoder.enabled', true);
|
||||||
|
|
||||||
|
pref("media.hardware-video-decoding.enabled", true);
|
||||||
|
pref("gfx.canvas.accelerated", true);
|
||||||
|
126
src/browser/base/content/ZenCustomizableUI.sys.mjs
Normal file
126
src/browser/base/content/ZenCustomizableUI.sys.mjs
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
|
||||||
|
export var ZenCustomizableUI = new class {
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
TYPE_TOOLBAR = 'toolbar';
|
||||||
|
defaultSidebarIcons = [
|
||||||
|
'zen-sidepanel-button',
|
||||||
|
'zen-workspaces-button',
|
||||||
|
'new-tab-button'
|
||||||
|
];
|
||||||
|
|
||||||
|
startup(CustomizableUIInternal) {
|
||||||
|
CustomizableUIInternal.registerArea(
|
||||||
|
"zen-sidebar-top-buttons",
|
||||||
|
{
|
||||||
|
type: this.TYPE_TOOLBAR,
|
||||||
|
defaultPlacements: [
|
||||||
|
"preferences-button", "zen-expand-sidebar-button", "zen-profile-button"
|
||||||
|
],
|
||||||
|
defaultCollapsed: null,
|
||||||
|
},
|
||||||
|
true
|
||||||
|
);
|
||||||
|
CustomizableUIInternal.registerArea(
|
||||||
|
"zen-sidebar-icons-wrapper",
|
||||||
|
{
|
||||||
|
type: this.TYPE_TOOLBAR,
|
||||||
|
defaultPlacements: this.defaultSidebarIcons,
|
||||||
|
defaultCollapsed: null,
|
||||||
|
},
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// We do not have access to the window object here
|
||||||
|
init(window) {
|
||||||
|
this._addSidebarButtons(window);
|
||||||
|
this._hideToolbarButtons(window);
|
||||||
|
}
|
||||||
|
|
||||||
|
_addSidebarButtons(window) {
|
||||||
|
const sidebarBox = window.MozXULElement.parseXULToFragment(`
|
||||||
|
<toolbar id="zen-sidebar-top-buttons"
|
||||||
|
fullscreentoolbar="true"
|
||||||
|
class="browser-toolbar customization-target zen-dont-hide-on-fullscreen"
|
||||||
|
brighttext="true"
|
||||||
|
data-l10n-id="tabs-toolbar"
|
||||||
|
customizable="true"
|
||||||
|
context="toolbar-context-menu"
|
||||||
|
flex="1"
|
||||||
|
skipintoolbarset="true"
|
||||||
|
customizationtarget="zen-sidebar-top-buttons-customization-target"
|
||||||
|
mode="icons">
|
||||||
|
<hbox id="zen-sidebar-top-buttons-customization-target" class="customization-target" flex="1">
|
||||||
|
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" data-l10n-id="sidebar-zen-expand" cui-areatype="toolbar" oncommand="gZenVerticalTabsManager.toggleExpand();"></toolbarbutton>
|
||||||
|
<toolbarbutton id="zen-profile-button"
|
||||||
|
class="zen-sidebar-action-button toolbarbutton-1 chromeclass-toolbar-additional"
|
||||||
|
delegatesanchor="true"
|
||||||
|
onmousedown="ZenProfileDialogUI.showSubView(this, event)"
|
||||||
|
onkeypress="ZenProfileDialogUI.showSubView(this, event)"
|
||||||
|
consumeanchor="zen-profile-button"
|
||||||
|
closemenu="none"
|
||||||
|
data-l10n-id="toolbar-button-account"
|
||||||
|
cui-areatype="toolbar"
|
||||||
|
badged="true"
|
||||||
|
removable="true">
|
||||||
|
<vbox>
|
||||||
|
<image id="zen-profile-button-icon" />
|
||||||
|
</vbox>
|
||||||
|
</toolbarbutton>
|
||||||
|
</hbox>
|
||||||
|
</toolbar>
|
||||||
|
`);
|
||||||
|
window.document.getElementById('navigator-toolbox').prepend(sidebarBox);
|
||||||
|
|
||||||
|
const newTab = window.document.getElementById('vertical-tabs-newtab-button');
|
||||||
|
newTab.classList.add('zen-sidebar-action-button');
|
||||||
|
|
||||||
|
const wrapper = window.document.createXULElement('toolbarbutton');
|
||||||
|
wrapper.id = 'zen-workspaces-button';
|
||||||
|
window.document.getElementById('zen-sidebar-icons-wrapper').prepend(wrapper);
|
||||||
|
|
||||||
|
for (let id of this.defaultSidebarIcons) {
|
||||||
|
const elem = window.document.getElementById(id);
|
||||||
|
if (!elem) continue;
|
||||||
|
elem.setAttribute('removable', 'true');
|
||||||
|
}
|
||||||
|
|
||||||
|
this._moveWindowButtons(window);
|
||||||
|
}
|
||||||
|
|
||||||
|
_moveWindowButtons(window) {
|
||||||
|
const windowControls = window.document.getElementsByClassName('titlebar-buttonbox-container');
|
||||||
|
const toolboxIcons = window.document.getElementById('zen-sidebar-top-buttons-customization-target');
|
||||||
|
if (window.AppConstants.platform === "macosx") {
|
||||||
|
for (let i = 0; i < windowControls.length; i++) {
|
||||||
|
if (i === 0) {
|
||||||
|
toolboxIcons.prepend(windowControls[i]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
windowControls[i].remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_hideToolbarButtons(window) {
|
||||||
|
const elementsToHide = [
|
||||||
|
'alltabs-button',
|
||||||
|
];
|
||||||
|
for (let id of elementsToHide) {
|
||||||
|
const elem = window.document.getElementById(id);
|
||||||
|
if (elem) {
|
||||||
|
elem.setAttribute('hidden', 'true');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
registerToolbarNodes(window) {
|
||||||
|
window.CustomizableUI.registerToolbarNode(
|
||||||
|
window.document.getElementById('zen-sidebar-top-buttons')
|
||||||
|
);
|
||||||
|
window.CustomizableUI.registerToolbarNode(
|
||||||
|
window.document.getElementById('zen-sidebar-icons-wrapper')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
@@ -1,134 +1,154 @@
|
|||||||
|
{
|
||||||
|
const lazy = {};
|
||||||
|
XPCOMUtils.defineLazyPreferenceGetter(lazy, 'sidebarHeightThrottle', 'zen.view.sidebar-height-throttle', 500);
|
||||||
|
var ZenStartup = {
|
||||||
|
init() {
|
||||||
|
this.logHeader();
|
||||||
|
this.openWatermark();
|
||||||
|
window.SessionStore.promiseInitialized.then(async () => {
|
||||||
|
this._changeSidebarLocation();
|
||||||
|
this._zenInitBrowserLayout();
|
||||||
|
this._initSearchBar();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
var ZenStartup = {
|
_zenInitBrowserLayout() {
|
||||||
init() {
|
if (this.__hasInitBrowserLayout) return;
|
||||||
this._changeSidebarLocation();
|
this.__hasInitBrowserLayout = true;
|
||||||
this._zenInitBrowserLayout();
|
try {
|
||||||
window.SessionStore.promiseInitialized.then(async () => {
|
console.info('ZenThemeModifier: init browser layout');
|
||||||
this._focusSearchBar();
|
const kNavbarItems = ['nav-bar', 'PersonalToolbar'];
|
||||||
});
|
const kNewContainerId = 'zen-appcontent-navbar-container';
|
||||||
},
|
let newContainer = document.getElementById(kNewContainerId);
|
||||||
|
for (let id of kNavbarItems) {
|
||||||
|
const node = document.getElementById(id);
|
||||||
|
console.assert(node, 'Could not find node with id: ' + id);
|
||||||
|
if (!node) continue;
|
||||||
|
newContainer.appendChild(node);
|
||||||
|
}
|
||||||
|
|
||||||
_zenInitBrowserLayout() {
|
// Fix notification deck
|
||||||
if (this.__hasInitBrowserLayout) return;
|
document
|
||||||
this.__hasInitBrowserLayout = true;
|
.getElementById('zen-appcontent-navbar-container')
|
||||||
this.openWatermark();
|
.appendChild(document.getElementById('tab-notification-deck-template'));
|
||||||
console.info("ZenThemeModifier: init browser layout");
|
|
||||||
const kNavbarItems = [
|
|
||||||
"nav-bar",
|
|
||||||
"PersonalToolbar"
|
|
||||||
];
|
|
||||||
const kNewContainerId = "zen-appcontent-navbar-container";
|
|
||||||
let newContainer = document.getElementById(kNewContainerId);
|
|
||||||
for (let id of kNavbarItems) {
|
|
||||||
const node = document.getElementById(id);
|
|
||||||
console.assert(node, "Could not find node with id: " + id);
|
|
||||||
if (!node) continue;
|
|
||||||
newContainer.appendChild(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fix notification deck
|
// Disable smooth scroll
|
||||||
document.getElementById("zen-appcontent-navbar-container")
|
gBrowser.tabContainer.arrowScrollbox.smoothScroll = false;
|
||||||
.appendChild(document.getElementById("tab-notification-deck-template"));
|
|
||||||
|
|
||||||
gZenVerticalTabsManager.init();
|
ZenWorkspaces.init();
|
||||||
gZenCompactModeManager.init();
|
gZenUIManager.init();
|
||||||
gZenKeyboardShortcuts.init();
|
gZenVerticalTabsManager.init();
|
||||||
|
gZenCompactModeManager.init();
|
||||||
|
gZenKeyboardShortcutsManager.init();
|
||||||
|
|
||||||
function throttle(f, delay) {
|
function throttle(f, delay) {
|
||||||
let timer = 0;
|
let timer = 0;
|
||||||
return function(...args) {
|
return function (...args) {
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
timer = setTimeout(() => f.apply(this, args), delay);
|
timer = setTimeout(() => f.apply(this, args), delay);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
new ResizeObserver(throttle(this._updateTabsToolbar.bind(this), lazy.sidebarHeightThrottle)).observe(
|
||||||
|
document.getElementById('tabbrowser-tabs')
|
||||||
|
);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('ZenThemeModifier: Error initializing browser layout', e);
|
||||||
}
|
}
|
||||||
}
|
this.closeWatermark();
|
||||||
|
},
|
||||||
|
|
||||||
new ResizeObserver(throttle(
|
_updateTabsToolbar() {
|
||||||
this._updateTabsToolbar.bind(this), 1000
|
// Set tabs max-height to the "toolbar-items" height
|
||||||
)).observe(document.getElementById("tabbrowser-tabs"));
|
const toolbarItems = document.getElementById('tabbrowser-tabs');
|
||||||
|
const tabs = document.getElementById('tabbrowser-arrowscrollbox');
|
||||||
this.closeWatermark();
|
tabs.style.maxHeight = '0px'; // reset to 0
|
||||||
},
|
const toolbarRect = toolbarItems.getBoundingClientRect();
|
||||||
|
// -5 for the controls padding
|
||||||
_updateTabsToolbar() {
|
let totalHeight = toolbarRect.height - 5;
|
||||||
// Set tabs max-height to the "toolbar-items" height
|
// remove the height from other elements that aren't hidden
|
||||||
const toolbarItems = document.getElementById("tabbrowser-tabs");
|
const otherElements = document.querySelectorAll('#tabbrowser-tabs > *:not([hidden="true"])');
|
||||||
const tabs = document.getElementById("tabbrowser-arrowscrollbox");
|
for (let tab of otherElements) {
|
||||||
tabs.style.maxHeight = '0px'; // reset to 0
|
if (tabs === tab) continue;
|
||||||
const toolbarRect = toolbarItems.getBoundingClientRect();
|
totalHeight -= tab.getBoundingClientRect().height;
|
||||||
// -5 for the controls padding
|
|
||||||
let totalHeight = toolbarRect.height - 15;
|
|
||||||
// remove the height from other elements that aren't hidden
|
|
||||||
const otherElements = document.querySelectorAll("#tabbrowser-tabs > *:not([hidden=\"true\"])");
|
|
||||||
for (let tab of otherElements) {
|
|
||||||
if (tabs === tab) continue;
|
|
||||||
totalHeight -= tab.getBoundingClientRect().height;
|
|
||||||
}
|
|
||||||
tabs.style.maxHeight = totalHeight + "px";
|
|
||||||
console.info("ZenThemeModifier: set tabs max-height to", totalHeight + "px");
|
|
||||||
},
|
|
||||||
|
|
||||||
openWatermark() {
|
|
||||||
if (!Services.prefs.getBoolPref("zen.watermark.enabled", false)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const watermark = window.MozXULElement.parseXULToFragment(`
|
|
||||||
<html:div id="zen-watermark">
|
|
||||||
<image src="chrome://branding/content/about-logo.png" />
|
|
||||||
</html:div>
|
|
||||||
`);
|
|
||||||
document.body.appendChild(watermark);
|
|
||||||
},
|
|
||||||
|
|
||||||
closeWatermark() {
|
|
||||||
const watermark = document.getElementById("zen-watermark");
|
|
||||||
if (watermark) {
|
|
||||||
watermark.setAttribute("hidden", "true");
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_changeSidebarLocation() {
|
|
||||||
const legacyLocation = Services.prefs.getBoolPref("zen.themes.tabs.legacy-location", false);
|
|
||||||
const kElementsToAppend = [
|
|
||||||
"sidebar-splitter",
|
|
||||||
"sidebar-box",
|
|
||||||
];
|
|
||||||
if (legacyLocation) {
|
|
||||||
kElementsToAppend.push("navigator-toolbox");
|
|
||||||
window.document.documentElement.setAttribute("zen-sidebar-legacy", "true");
|
|
||||||
}
|
|
||||||
const wrapper = document.getElementById("zen-tabbox-wrapper");
|
|
||||||
const appWrapepr = document.getElementById("zen-sidebar-box-container");
|
|
||||||
for (let id of kElementsToAppend) {
|
|
||||||
const elem = document.getElementById(id);
|
|
||||||
if (elem) {
|
|
||||||
wrapper.prepend(elem);
|
|
||||||
}
|
}
|
||||||
}
|
tabs.style.maxHeight = totalHeight + 'px';
|
||||||
appWrapepr.setAttribute("hidden", "true");
|
//console.info('ZenThemeModifier: set tabs max-height to', totalHeight + 'px');
|
||||||
|
},
|
||||||
|
|
||||||
const browser = document.getElementById("browser")
|
openWatermark() {
|
||||||
const toolbox = document.getElementById("navigator-toolbox");
|
if (!Services.prefs.getBoolPref('zen.watermark.enabled', false)) {
|
||||||
if (!legacyLocation) {
|
return;
|
||||||
|
}
|
||||||
|
const watermark = window.MozXULElement.parseXULToFragment(`
|
||||||
|
<html:div id="zen-watermark">
|
||||||
|
<image src="chrome://branding/content/about-logo.png" />
|
||||||
|
</html:div>
|
||||||
|
`);
|
||||||
|
document.body.appendChild(watermark);
|
||||||
|
},
|
||||||
|
|
||||||
|
closeWatermark() {
|
||||||
|
const watermark = document.getElementById('zen-watermark');
|
||||||
|
if (watermark) {
|
||||||
|
watermark.setAttribute('hidden', 'true');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_changeSidebarLocation() {
|
||||||
|
const kElementsToAppend = ['sidebar-splitter', 'sidebar-box'];
|
||||||
|
const wrapper = document.getElementById('zen-tabbox-wrapper');
|
||||||
|
const appWrapepr = document.getElementById('zen-sidebar-box-container');
|
||||||
|
for (let id of kElementsToAppend) {
|
||||||
|
const elem = document.getElementById(id);
|
||||||
|
if (elem) {
|
||||||
|
wrapper.prepend(elem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appWrapepr.setAttribute('hidden', 'true');
|
||||||
|
|
||||||
|
const browser = document.getElementById('browser');
|
||||||
|
const toolbox = document.getElementById('navigator-toolbox');
|
||||||
browser.prepend(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');
|
||||||
|
toolbox.insertAdjacentElement('afterend', splitter);
|
||||||
|
},
|
||||||
|
|
||||||
|
_initSearchBar() {
|
||||||
|
// Only focus the url bar
|
||||||
|
gURLBar.focus();
|
||||||
|
|
||||||
|
gURLBar._initCopyCutController();
|
||||||
|
gURLBar._initPasteAndGo();
|
||||||
|
gURLBar._initStripOnShare();
|
||||||
|
},
|
||||||
|
|
||||||
|
logHeader() {
|
||||||
|
console.info(`
|
||||||
|
|
||||||
|
Welcome to Zen Browser!
|
||||||
|
|
||||||
|
If you are seeing this message, it means that you have successfully opened Zen's developer console.
|
||||||
|
Here you can see all the logs and errors that Zen is generating.
|
||||||
|
|
||||||
|
If you have any questions or need help, please contact us in any media in https://zen-browser.app/
|
||||||
|
|
||||||
|
Note: This developer console is not the same as the browser console, it has access to Zen's internal functions and variables, including your passwords and other sensitive information. Please do not paste any code here unless you know what you are doing.
|
||||||
|
|
||||||
|
`);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// remove all styles except for the width, since we are xulstoring the complet style list
|
ZenStartup.init();
|
||||||
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");
|
|
||||||
toolbox.insertAdjacentElement("afterend", splitter);
|
|
||||||
},
|
|
||||||
|
|
||||||
_focusSearchBar() {
|
|
||||||
gURLBar.focus();
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
ZenStartup.init();
|
|
||||||
|
@@ -1,5 +1,12 @@
|
|||||||
|
|
||||||
var gZenUIManager = {
|
var gZenUIManager = {
|
||||||
|
_popupTrackingElements: [],
|
||||||
|
|
||||||
|
init () {
|
||||||
|
|
||||||
|
document.addEventListener('popupshowing', this.onPopupShowing.bind(this));
|
||||||
|
document.addEventListener('popuphidden', this.onPopupHidden.bind(this));
|
||||||
|
},
|
||||||
|
|
||||||
openAndChangeToTab(url, options) {
|
openAndChangeToTab(url, options) {
|
||||||
if (window.ownerGlobal.parent) {
|
if (window.ownerGlobal.parent) {
|
||||||
let tab = window.ownerGlobal.parent.gBrowser.addTrustedTab(url, options);
|
let tab = window.ownerGlobal.parent.gBrowser.addTrustedTab(url, options);
|
||||||
@@ -12,8 +19,8 @@ var gZenUIManager = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
generateUuidv4() {
|
generateUuidv4() {
|
||||||
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
|
return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
|
||||||
(+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)
|
(+c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (+c / 4)))).toString(16)
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -24,23 +31,72 @@ var gZenUIManager = {
|
|||||||
|
|
||||||
createValidXULText(text) {
|
createValidXULText(text) {
|
||||||
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
||||||
}
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the 'has-popup-menu' attribute to the element when popup is opened on it.
|
||||||
|
* @param element element to track
|
||||||
|
*/
|
||||||
|
addPopupTrackingAttribute(element) {
|
||||||
|
this._popupTrackingElements.push(element);
|
||||||
|
},
|
||||||
|
|
||||||
|
removePopupTrackingAttribute(element) {
|
||||||
|
this._popupTrackingElements.remove(element);
|
||||||
|
},
|
||||||
|
|
||||||
|
onPopupShowing(showEvent) {
|
||||||
|
for (const el of this._popupTrackingElements) {
|
||||||
|
if (!el.contains(event.explicitOriginalTarget)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
document.removeEventListener('mousemove', this.__removeHasPopupAttribute);
|
||||||
|
el.setAttribute('has-popup-menu', '');
|
||||||
|
this.__currentPopup = showEvent.target;
|
||||||
|
this.__currentPopupTrackElement = el;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onPopupHidden(hideEvent) {
|
||||||
|
if (!this.__currentPopup || this.__currentPopup !== hideEvent.target) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const element = this.__currentPopupTrackElement;
|
||||||
|
if (document.getElementById('main-window').matches(':hover')) {
|
||||||
|
element.removeAttribute('has-popup-menu');
|
||||||
|
} else {
|
||||||
|
this.__removeHasPopupAttribute = () => element.removeAttribute('has-popup-menu');
|
||||||
|
document.addEventListener('mousemove', this.__removeHasPopupAttribute, {once: true});
|
||||||
|
}
|
||||||
|
this.__currentPopup = null;
|
||||||
|
this.__currentPopupTrackElement = null;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
var gZenVerticalTabsManager = {
|
var gZenVerticalTabsManager = {
|
||||||
init() {
|
init() {
|
||||||
//Services.prefs.addObserver('zen.view.compact', this._updateEvent.bind(this));
|
var updateEvent = this._updateEvent.bind(this);
|
||||||
Services.prefs.addObserver('zen.view.sidebar-expanded', this._updateEvent.bind(this));
|
Services.prefs.addObserver('zen.view.sidebar-expanded', updateEvent);
|
||||||
Services.prefs.addObserver('zen.view.sidebar-expanded.max-width', this._updateEvent.bind(this));
|
Services.prefs.addObserver('zen.tabs.vertical.right-side', updateEvent);
|
||||||
Services.prefs.addObserver('zen.view.sidebar-expanded.on-hover', this._updateOnHoverVerticalTabs.bind(this));
|
Services.prefs.addObserver('zen.view.sidebar-expanded.max-width', updateEvent);
|
||||||
this._updateMaxWidth();
|
Services.prefs.addObserver('zen.view.sidebar-expanded.on-hover', updateEvent);
|
||||||
|
gZenCompactModeManager.addEventListener(updateEvent);
|
||||||
|
this._updateEvent();
|
||||||
this.initRightSideOrderContextMenu();
|
this.initRightSideOrderContextMenu();
|
||||||
this._updateOnHoverVerticalTabs();
|
},
|
||||||
|
|
||||||
|
get navigatorToolbox() {
|
||||||
|
if (this._navigatorToolbox) {
|
||||||
|
return this._navigatorToolbox;
|
||||||
|
}
|
||||||
|
this._navigatorToolbox = document.getElementById('navigator-toolbox');
|
||||||
|
return this._navigatorToolbox;
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateOnHoverVerticalTabs() {
|
_updateOnHoverVerticalTabs() {
|
||||||
let onHover = Services.prefs.getBoolPref('zen.view.sidebar-expanded.on-hover');
|
let onHover = Services.prefs.getBoolPref('zen.view.sidebar-expanded.on-hover');
|
||||||
let sidebar = document.getElementById('navigator-toolbox');
|
let sidebar = this.navigatorToolbox;
|
||||||
if (onHover) {
|
if (onHover) {
|
||||||
sidebar.setAttribute('zen-user-hover', 'true');
|
sidebar.setAttribute('zen-user-hover', 'true');
|
||||||
} else {
|
} else {
|
||||||
@@ -56,7 +112,7 @@ var gZenVerticalTabsManager = {
|
|||||||
${Services.prefs.getBoolPref(kConfigKey) ? 'checked="true"' : ''}
|
${Services.prefs.getBoolPref(kConfigKey) ? 'checked="true"' : ''}
|
||||||
data-lazy-l10n-id="zen-toolbar-context-tabs-right"/>
|
data-lazy-l10n-id="zen-toolbar-context-tabs-right"/>
|
||||||
`);
|
`);
|
||||||
fragment.getElementById("zen-toolbar-context-tabs-right").addEventListener('click', () => {
|
fragment.getElementById('zen-toolbar-context-tabs-right').addEventListener('click', () => {
|
||||||
let rightSide = Services.prefs.getBoolPref(kConfigKey);
|
let rightSide = Services.prefs.getBoolPref(kConfigKey);
|
||||||
Services.prefs.setBoolPref(kConfigKey, !rightSide);
|
Services.prefs.setBoolPref(kConfigKey, !rightSide);
|
||||||
});
|
});
|
||||||
@@ -65,6 +121,34 @@ var gZenVerticalTabsManager = {
|
|||||||
|
|
||||||
_updateEvent() {
|
_updateEvent() {
|
||||||
this._updateMaxWidth();
|
this._updateMaxWidth();
|
||||||
|
const topButtons = document.getElementById('zen-sidebar-top-buttons');
|
||||||
|
const customizationTarget = document.getElementById('nav-bar-customization-target');
|
||||||
|
const tabboxWrapper = document.getElementById('zen-tabbox-wrapper');
|
||||||
|
const browser = document.getElementById('browser');
|
||||||
|
if (Services.prefs.getBoolPref('zen.tabs.vertical.right-side')) {
|
||||||
|
this.navigatorToolbox.setAttribute('zen-right-side', 'true');
|
||||||
|
} else {
|
||||||
|
this.navigatorToolbox.removeAttribute('zen-right-side');
|
||||||
|
}
|
||||||
|
if (Services.prefs.getBoolPref('zen.view.sidebar-expanded')) {
|
||||||
|
this.navigatorToolbox.setAttribute('zen-expanded', 'true');
|
||||||
|
} else {
|
||||||
|
this.navigatorToolbox.removeAttribute('zen-expanded');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.navigatorToolbox.hasAttribute('zen-expanded') && !this.navigatorToolbox.hasAttribute('zen-right-side')
|
||||||
|
&& !Services.prefs.getBoolPref('zen.view.compact') && !Services.prefs.getBoolPref('zen.view.sidebar-expanded.on-hover')) {
|
||||||
|
this.navigatorToolbox.prepend(topButtons);
|
||||||
|
browser.prepend(this.navigatorToolbox);
|
||||||
|
} else {
|
||||||
|
customizationTarget.prepend(topButtons);
|
||||||
|
tabboxWrapper.prepend(this.navigatorToolbox);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Always move the splitter next to the sidebar
|
||||||
|
this.navigatorToolbox.after(document.getElementById('zen-sidebar-splitter'));
|
||||||
|
|
||||||
|
this._updateOnHoverVerticalTabs();
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateMaxWidth() {
|
_updateMaxWidth() {
|
||||||
@@ -108,35 +192,3 @@ var gZenVerticalTabsManager = {
|
|||||||
Services.prefs.setBoolPref('zen.view.sidebar-expanded.on-hover', false);
|
Services.prefs.setBoolPref('zen.view.sidebar-expanded.on-hover', false);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
var gZenCompactModeManager = {
|
|
||||||
init() {
|
|
||||||
Services.prefs.addObserver('zen.view.compact', this._updateEvent.bind(this));
|
|
||||||
},
|
|
||||||
|
|
||||||
get prefefence() {
|
|
||||||
return Services.prefs.getBoolPref('zen.view.compact');
|
|
||||||
},
|
|
||||||
|
|
||||||
set preference(value) {
|
|
||||||
Services.prefs.setBoolPref('zen.view.compact', value);
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateEvent() {
|
|
||||||
Services.prefs.setBoolPref('zen.view.sidebar-expanded.on-hover', false);
|
|
||||||
},
|
|
||||||
|
|
||||||
toggle() {
|
|
||||||
this.preference = !this.prefefence;
|
|
||||||
},
|
|
||||||
|
|
||||||
toggleSidebar() {
|
|
||||||
let sidebar = document.getElementById('navigator-toolbox');
|
|
||||||
sidebar.toggleAttribute('zen-user-show');
|
|
||||||
},
|
|
||||||
|
|
||||||
toggleToolbar() {
|
|
||||||
let toolbar = document.getElementById('zen-appcontent-navbar-container');
|
|
||||||
toolbar.toggleAttribute('zen-user-show');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
|
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
|
||||||
index 55de24241514d11f6a174dd97ca37c8a4a99b8af..1459c91ff11429788e103d385f1598b6275592c8 100644
|
index 1e5c0f1c59175ec4a39938974c4a7a5c6355439f..ac9fe4b792c12a1aecba1fbbc941da9be6a53ce4 100644
|
||||||
--- a/browser/base/content/aboutDialog.xhtml
|
--- a/browser/base/content/aboutDialog.xhtml
|
||||||
+++ b/browser/base/content/aboutDialog.xhtml
|
+++ b/browser/base/content/aboutDialog.xhtml
|
||||||
@@ -36,6 +36,7 @@
|
@@ -36,6 +36,7 @@
|
||||||
@@ -10,7 +10,7 @@ index 55de24241514d11f6a174dd97ca37c8a4a99b8af..1459c91ff11429788e103d385f1598b6
|
|||||||
</linkset>
|
</linkset>
|
||||||
|
|
||||||
<html:div id="aboutDialogContainer">
|
<html:div id="aboutDialogContainer">
|
||||||
@@ -134,13 +135,15 @@
|
@@ -130,13 +131,15 @@
|
||||||
</description>
|
</description>
|
||||||
</vbox>
|
</vbox>
|
||||||
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
|
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
|
||||||
@@ -27,3 +27,12 @@ index 55de24241514d11f6a174dd97ca37c8a4a99b8af..1459c91ff11429788e103d385f1598b6
|
|||||||
</vbox>
|
</vbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
@@ -144,7 +147,7 @@
|
||||||
|
<hbox pack="center">
|
||||||
|
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="bottomLinks-license"/>
|
||||||
|
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:rights" data-l10n-id="bottomLinks-rights"/>
|
||||||
|
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/?utm_source=firefox-browser&utm_medium=firefox-desktop&utm_campaign=about-dialog" data-l10n-id="bottomLinks-privacy"/>
|
||||||
|
+ <label is="text-link" class="bottom-link" href="https://www.zen-browser.app/privacy-policy/" data-l10n-id="bottomLinks-privacy"/>
|
||||||
|
</hbox>
|
||||||
|
<description id="trademark" data-l10n-id="trademarkInfo"></description>
|
||||||
|
</vbox>
|
||||||
|
@@ -1,8 +1,25 @@
|
|||||||
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
||||||
index f8d49ac2a3a62f389ea44b07a26fcb102abc0b24..c29415e10c776ebc435f33e55f8afb71f0dcf22a 100644
|
index bee5309c04775adff8652bfe6c54b2d466e821ac..cfeaf7cf2e98c35e76bdd5451f90b004a04d4474 100644
|
||||||
--- a/browser/base/content/browser-init.js
|
--- a/browser/base/content/browser-init.js
|
||||||
+++ b/browser/base/content/browser-init.js
|
+++ b/browser/base/content/browser-init.js
|
||||||
@@ -237,6 +237,10 @@ var gBrowserInit = {
|
@@ -143,13 +143,15 @@ var gBrowserInit = {
|
||||||
|
gNavToolbox.palette = document.getElementById(
|
||||||
|
"BrowserToolbarPalette"
|
||||||
|
).content;
|
||||||
|
+ ZenCustomizableUI.init(window);
|
||||||
|
for (let area of CustomizableUI.areas) {
|
||||||
|
let type = CustomizableUI.getAreaType(area);
|
||||||
|
- if (type == CustomizableUI.TYPE_TOOLBAR) {
|
||||||
|
+ if (type == CustomizableUI.TYPE_TOOLBAR && !area.startsWith("zen-")) {
|
||||||
|
let node = document.getElementById(area);
|
||||||
|
CustomizableUI.registerToolbarNode(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ ZenCustomizableUI.registerToolbarNodes(window);
|
||||||
|
BrowserSearch.initPlaceHolder();
|
||||||
|
|
||||||
|
// Hack to ensure that the various initial pages favicon is loaded
|
||||||
|
@@ -239,6 +241,10 @@ var gBrowserInit = {
|
||||||
gPrivateBrowsingUI.init();
|
gPrivateBrowsingUI.init();
|
||||||
BrowserSearch.init();
|
BrowserSearch.init();
|
||||||
BrowserPageActions.init();
|
BrowserPageActions.init();
|
||||||
|
@@ -1,8 +1,16 @@
|
|||||||
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
||||||
index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b915a3ea700 100644
|
index a29d7a84e84651ea0bdc9be8e4ac650bde2e048a..bc22e55a66686fbae95047686f845f71a0c3aae9 100644
|
||||||
--- a/browser/base/content/browser.js
|
--- a/browser/base/content/browser.js
|
||||||
+++ b/browser/base/content/browser.js
|
+++ b/browser/base/content/browser.js
|
||||||
@@ -630,6 +630,15 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
@@ -32,6 +32,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||||
|
ContextualIdentityService:
|
||||||
|
"resource://gre/modules/ContextualIdentityService.sys.mjs",
|
||||||
|
CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
|
||||||
|
+ ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
|
||||||
|
DevToolsSocketStatus:
|
||||||
|
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
|
||||||
|
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
|
||||||
|
@@ -629,6 +630,15 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -18,17 +26,18 @@ index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b91
|
|||||||
customElements.setElementCreationCallback("screenshots-buttons", () => {
|
customElements.setElementCreationCallback("screenshots-buttons", () => {
|
||||||
Services.scriptloader.loadSubScript(
|
Services.scriptloader.loadSubScript(
|
||||||
"chrome://browser/content/screenshots/screenshots-buttons.js",
|
"chrome://browser/content/screenshots/screenshots-buttons.js",
|
||||||
@@ -3679,6 +3688,9 @@ var XULBrowserWindow = {
|
@@ -3435,6 +3445,10 @@ var XULBrowserWindow = {
|
||||||
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
|
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
|
||||||
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
|
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
|
||||||
|
|
||||||
+ gZenViewSplitter.onLocationChange(gBrowser.selectedBrowser);
|
+ gZenViewSplitter.onLocationChange(gBrowser.selectedBrowser);
|
||||||
+ ZenWorkspaces.onLocationChange(gBrowser.selectedBrowser);
|
+ ZenWorkspaces.onLocationChange(gBrowser.selectedBrowser);
|
||||||
|
+ gZenTabUnloader.onLocationChange(gBrowser.selectedBrowser);
|
||||||
+
|
+
|
||||||
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
|
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
|
||||||
|
|
||||||
if (!gMultiProcessBrowser) {
|
if (!gMultiProcessBrowser) {
|
||||||
@@ -5001,7 +5013,7 @@ function setToolbarVisibility(
|
@@ -4769,7 +4783,7 @@ function setToolbarVisibility(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,7 +46,7 @@ index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b91
|
|||||||
switch (isVisible) {
|
switch (isVisible) {
|
||||||
case true:
|
case true:
|
||||||
case "always":
|
case "always":
|
||||||
@@ -7832,6 +7844,12 @@ var gDialogBox = {
|
@@ -7609,6 +7623,12 @@ var gDialogBox = {
|
||||||
parentElement.showModal();
|
parentElement.showModal();
|
||||||
this._didOpenHTMLDialog = true;
|
this._didOpenHTMLDialog = true;
|
||||||
|
|
||||||
|
@@ -26,9 +26,12 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window.addEventListener("DOMContentLoaded", async () => {
|
window.addEventListener("DOMContentLoaded", async () => {
|
||||||
// Theme importer always needs to be loaded first
|
// Theme importer always needs to be loaded first
|
||||||
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenThemesCommon.mjs");
|
||||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenThemesImporter.mjs");
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenThemesImporter.mjs");
|
||||||
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenCompactMode.mjs");
|
||||||
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
|
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
|
||||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenSidebarManager.mjs");
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenSidebarManager.mjs");
|
||||||
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenTabUnloader.mjs");
|
||||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaces.mjs");
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaces.mjs");
|
||||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenViewSplitter.mjs");
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenViewSplitter.mjs");
|
||||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenProfileDialogUI.mjs");
|
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenProfileDialogUI.mjs");
|
||||||
|
@@ -3,13 +3,17 @@
|
|||||||
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
|
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
|
||||||
content/browser/ZenStartup.mjs (content/ZenStartup.mjs)
|
content/browser/ZenStartup.mjs (content/ZenStartup.mjs)
|
||||||
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
|
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
|
||||||
|
content/browser/ZenCustomizableUI.sys.mjs (content/ZenCustomizableUI.sys.mjs)
|
||||||
|
content/browser/zen-components/ZenCompactMode.mjs (content/zen-components/src/ZenCompactMode.mjs)
|
||||||
content/browser/zen-components/ZenViewSplitter.mjs (content/zen-components/src/ZenViewSplitter.mjs)
|
content/browser/zen-components/ZenViewSplitter.mjs (content/zen-components/src/ZenViewSplitter.mjs)
|
||||||
|
content/browser/zen-components/ZenThemesCommon.mjs (content/zen-components/src/ZenThemesCommon.mjs)
|
||||||
content/browser/zen-components/ZenWorkspaces.mjs (content/zen-components/src/ZenWorkspaces.mjs)
|
content/browser/zen-components/ZenWorkspaces.mjs (content/zen-components/src/ZenWorkspaces.mjs)
|
||||||
content/browser/zen-components/ZenSidebarManager.mjs (content/zen-components/src/ZenSidebarManager.mjs)
|
content/browser/zen-components/ZenSidebarManager.mjs (content/zen-components/src/ZenSidebarManager.mjs)
|
||||||
content/browser/zen-components/ZenProfileDialogUI.mjs (content/zen-components/src/ZenProfileDialogUI.mjs)
|
content/browser/zen-components/ZenProfileDialogUI.mjs (content/zen-components/src/ZenProfileDialogUI.mjs)
|
||||||
content/browser/zen-components/ZenKeyboardShortcuts.mjs (content/zen-components/src/ZenKeyboardShortcuts.mjs)
|
content/browser/zen-components/ZenKeyboardShortcuts.mjs (content/zen-components/src/ZenKeyboardShortcuts.mjs)
|
||||||
content/browser/zen-components/ZenThemeBuilder.mjs (content/zen-components/src/ZenThemeBuilder.mjs)
|
content/browser/zen-components/ZenThemeBuilder.mjs (content/zen-components/src/ZenThemeBuilder.mjs)
|
||||||
content/browser/zen-components/ZenThemesImporter.mjs (content/zen-components/src/ZenThemesImporter.mjs)
|
content/browser/zen-components/ZenThemesImporter.mjs (content/zen-components/src/ZenThemesImporter.mjs)
|
||||||
|
content/browser/zen-components/ZenTabUnloader.mjs (content/zen-components/src/ZenTabUnloader.mjs)
|
||||||
|
|
||||||
content/browser/zen-styles/zen-theme.css (content/zen-styles/zen-theme.css)
|
content/browser/zen-styles/zen-theme.css (content/zen-styles/zen-theme.css)
|
||||||
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
|
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# Zen's Avatars
|
# Zen's Avatars
|
||||||
|
|
||||||
All avatars are fetched from [boring avatars](https://boringavatars.com/). Thanks a lot! <3
|
All avatars are fetched from [boring avatars](https://boringavatars.com/). Thanks a lot! <3
|
||||||
|
Submodule src/browser/base/content/zen-components updated: 9a5efb4a87...e26ea1f4f0
@@ -136,5 +136,15 @@
|
|||||||
<menuseparator/>
|
<menuseparator/>
|
||||||
<menuitem id="context_zenSetAsDefaultWorkspace" oncommand="ZenWorkspaces.setDefaultWorkspace();" data-l10n-id="zen-workspaces-panel-context-set-default"/>
|
<menuitem id="context_zenSetAsDefaultWorkspace" oncommand="ZenWorkspaces.setDefaultWorkspace();" data-l10n-id="zen-workspaces-panel-context-set-default"/>
|
||||||
<menuitem id="context_zenEditWorkspace" oncommand="ZenWorkspaces.contextEdit(event);" data-l10n-id="zen-workspaces-panel-context-edit"/>
|
<menuitem id="context_zenEditWorkspace" oncommand="ZenWorkspaces.contextEdit(event);" data-l10n-id="zen-workspaces-panel-context-edit"/>
|
||||||
|
<menu id="context_zenWorkspacesOpenInContainerTab"
|
||||||
|
data-l10n-id="zen-workspaces-panel-context-open-in-container-tab"
|
||||||
|
selection-type="single"
|
||||||
|
node-type="link"
|
||||||
|
hide-if-private-browsing="true"
|
||||||
|
hide-if-usercontext-disabled="true">
|
||||||
|
<menupopup oncommand="ZenWorkspaces.contextChangeContainerTab(event);"
|
||||||
|
onpopupshowing="return ZenWorkspaces.createContainerTabMenu(event);" />
|
||||||
|
</menu>
|
||||||
|
<menuseparator/>
|
||||||
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete(event);" data-l10n-id="zen-workspaces-panel-context-delete"/>
|
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete(event);" data-l10n-id="zen-workspaces-panel-context-delete"/>
|
||||||
</menupopup>
|
</menupopup>
|
@@ -1,9 +1,11 @@
|
|||||||
<toolbar brighttext="true" id="zen-sidebar-icons-wrapper" class="zen-dont-hide-on-fullscreen">
|
<toolbar brighttext="true"
|
||||||
<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)">
|
id="zen-sidebar-icons-wrapper"
|
||||||
</toolbarbutton>
|
fullscreentoolbar="true"
|
||||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" data-l10n-id="sidebar-zen-expand" oncommand="gZenVerticalTabsManager.toggleExpand();"></toolbarbutton>
|
class="browser-toolbar customization-target zen-dont-hide-on-fullscreen"
|
||||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-sidepanel-button" data-l10n-id="sidebar-zen-sidepanel" onclick="gZenBrowserManagerSidebar.toggle();"></toolbarbutton>
|
data-l10n-id="tabs-toolbar"
|
||||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-bookmark-button" data-l10n-id="sidebar-menu-bookmarks" onclick="gZenUIManager.toogleBookmarksSidebar();"></toolbarbutton>
|
customizable="true"
|
||||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-history-button" data-l10n-id="sidebar-menu-history" oncommand="PanelUI.showSubView('PanelUI-history', this);"></toolbarbutton>
|
skipintoolbarset="true"
|
||||||
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-preferences-button" data-l10n-id="toolbar-settings-button" onclick="event.target.ownerGlobal.openPreferences(undefined);"></toolbarbutton>
|
context="toolbar-context-menu"
|
||||||
|
mode="icons">
|
||||||
|
<toolbarbutton removeable="true" class="toolbarbutton-1 zen-sidebar-action-button" id="zen-sidepanel-button" data-l10n-id="sidebar-zen-sidepanel" onclick="gZenBrowserManagerSidebar.toggle();"></toolbarbutton>
|
||||||
</toolbar>
|
</toolbar>
|
@@ -1,6 +1,6 @@
|
|||||||
<box id="zen-sidebar-web-panel-wrapper">
|
<hbox id="zen-sidebar-web-panel-wrapper">
|
||||||
<box id="zen-sidebar-web-panel" class="chromeclass-extrachrome" hidden="true" persist="pinned style hidden">
|
<box id="zen-sidebar-web-panel" class="chromeclass-extrachrome" hidden="true" persist="pinned style hidden">
|
||||||
<toolbar mode="icons" flex="1" id="zen-sidebar-web-header">
|
<toolbar mode="icons" flex="1" id="zen-sidebar-web-header" fullscreentoolbar="true">
|
||||||
<hbox>
|
<hbox>
|
||||||
<toolbarbutton id="zen-sidebar-web-panel-back" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.back();"/>
|
<toolbarbutton id="zen-sidebar-web-panel-back" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.back();"/>
|
||||||
<toolbarbutton id="zen-sidebar-web-panel-forward" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.forward();"/>
|
<toolbarbutton id="zen-sidebar-web-panel-forward" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.forward();"/>
|
||||||
@@ -20,13 +20,15 @@
|
|||||||
<html:p data-l10n-id="zen-sidebar-introduction-description"/>
|
<html:p data-l10n-id="zen-sidebar-introduction-description"/>
|
||||||
</vbox>
|
</vbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
<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-wrapper" fullscreentoolbar="true">
|
||||||
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites" class="zen-dont-hide-on-fullscreen">
|
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites" fullscreentoolbar="true">
|
||||||
|
|
||||||
</toolbar>
|
</toolbar>
|
||||||
<toolbarbutton id="zen-sidebar-add-panel-button" class="zen-sidebar-panel-button toolbarbutton-1 chromeclass-toolbar-additional" onclick="gZenBrowserManagerSidebar._openAddPanelDialog();"/>
|
<toolbarbutton id="zen-sidebar-add-panel-button" class="zen-sidebar-panel-button toolbarbutton-1 chromeclass-toolbar-additional" onclick="gZenBrowserManagerSidebar._openAddPanelDialog();"/>
|
||||||
</toolbar>
|
</toolbar>
|
||||||
<html:span id="zen-sidebar-web-panel-splitter"></html:span>
|
<html:span class="zen-sidebar-web-panel-splitter" side="left"></html:span>
|
||||||
<html:span id="zen-sidebar-web-panel-hsplitter"></html:span>
|
<html:span class="zen-sidebar-web-panel-splitter" side="right"></html:span>
|
||||||
|
<html:span class="zen-sidebar-web-panel-splitter" orient="horizontal" side="top"></html:span>
|
||||||
|
<html:span class="zen-sidebar-web-panel-splitter" orient="horizontal" side="bottom"></html:span>
|
||||||
</box>
|
</box>
|
||||||
</box>
|
</hbox>
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
@keyframes zen-jello-animation {
|
@keyframes zen-jello-animation {
|
||||||
0% {
|
0% {
|
||||||
transform: scale3d(0.8, 0.8, 0.8);
|
transform: scale3d(0.8, 0.8, 0.8);
|
||||||
@@ -36,7 +35,7 @@
|
|||||||
|
|
||||||
@keyframes zen-slide-in {
|
@keyframes zen-slide-in {
|
||||||
from {
|
from {
|
||||||
transform: translateX(-10px);
|
transform: translateX(-30px);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
to {
|
to {
|
||||||
@@ -83,11 +82,26 @@
|
|||||||
@keyframes zen-sidebar-panel-animation-2 {
|
@keyframes zen-sidebar-panel-animation-2 {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateX(-5px);
|
transform: translateX(-50px) scale3d(0.95, 0.95, 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
transform: translateX(0) scale3d(1, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes zen-vtabs-animation {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateX(-10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
20% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -95,11 +109,14 @@
|
|||||||
@keyframes zen-sidebar-panel-animation-right {
|
@keyframes zen-sidebar-panel-animation-right {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateX(5px);
|
transform: translateX(10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
20% {
|
||||||
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
opacity: 1;
|
|
||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,15 +124,45 @@
|
|||||||
@keyframes zen-sidebar-panel-animation-reverse {
|
@keyframes zen-sidebar-panel-animation-reverse {
|
||||||
0% {
|
0% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transform: translateX(0);
|
transform: translateX(0) scale3d(1, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
99% {
|
99% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateX(-50px);
|
transform: translateX(-50px) scale3d(0.95, 0.95, 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes zen-workspaces-button-active {
|
||||||
|
from {
|
||||||
|
bottom: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
bottom: -2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes zen-workspaces-button-active-collapsed-left {
|
||||||
|
from {
|
||||||
|
left: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
left: -2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes zen-workspaces-button-active-collapsed-right {
|
||||||
|
from {
|
||||||
|
right: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
right: -2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1,15 +1,31 @@
|
|||||||
|
:root:not([inDOMFullscreen='true']):not([chromehidden~='location']):not([chromehidden~='toolbar']) {
|
||||||
:root:not([inDOMFullscreen="true"]):not([chromehidden~="location"]):not([chromehidden~="toolbar"]) {
|
|
||||||
& #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
|
& #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
|
||||||
width: -moz-available;
|
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-webview-border-radius, var(--zen-border-radius)));
|
|
||||||
border-radius: 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);
|
transform: translate3d(0, 0, 0);
|
||||||
overflow: hidden;
|
position: relative;
|
||||||
|
|
||||||
/* This fixes an issue with the left border */
|
--uc-tweak-rounded-corners-shadow-color: var(--zen-colors-border);
|
||||||
margin-left: 2px;
|
|
||||||
|
--uc-tweak-rounded-corners-shadow:
|
||||||
|
0 0 0 1px var(--uc-tweak-rounded-corners-shadow-color);
|
||||||
|
|
||||||
|
box-shadow: var(--uc-tweak-rounded-corners-shadow) !important;
|
||||||
|
|
||||||
|
/* Use pseudo element overlay to simulate rounded corners, similar to the
|
||||||
|
* tab corners, fixes bug with backdrop-filter. */
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
border-radius: inherit;
|
||||||
|
/* Draw toolbar background on the negative corner space, then draw the
|
||||||
|
* same shadow from the browser window on top. */
|
||||||
|
box-shadow:
|
||||||
|
var(--uc-tweak-rounded-corners-shadow, 0 0 transparent),
|
||||||
|
0 0 0 16px var(--zen-main-browser-background) !important;
|
||||||
|
clip-path: inset(0);
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
#browser,
|
#browser,
|
||||||
#appcontent,
|
#appcontent,
|
||||||
#tabbrowser-tabpanels {
|
#tabbrowser-tabpanels {
|
||||||
@@ -11,19 +10,30 @@
|
|||||||
--inactive-titlebar-opacity: 1;
|
--inactive-titlebar-opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:root:not([inDOMFullscreen='true']):not([chromehidden~='location']):not([chromehidden~='toolbar']) {
|
||||||
|
& #tabbrowser-tabpanels {
|
||||||
|
padding-right: var(--zen-element-separation);
|
||||||
|
padding-bottom: var(--zen-element-separation);
|
||||||
|
|
||||||
|
#browser:has(#navigator-toolbox[zen-right-side="true"]) & {
|
||||||
|
padding-right: 0;
|
||||||
|
padding-left: var(--zen-element-separation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:root:is([inDOMFullscreen='true'], [chromehidden~='location'], [chromehidden~='toolbar']) {
|
||||||
|
#navigator-toolbox,
|
||||||
|
#zen-sidebar-splitter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#browser {
|
#browser {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
html#main-window > body {
|
:root:not([inDOMFullscreen='true']) #appcontent,
|
||||||
background: var(--zen-main-browser-background) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
:not([inDOMFullscreen="true"]) #appcontent {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
:not([inDOMFullscreen="true"]) #appcontent,
|
|
||||||
#sidebar-box {
|
#sidebar-box {
|
||||||
/** Sidebar is already hidden in full screen mode */
|
/** Sidebar is already hidden in full screen mode */
|
||||||
border: none;
|
border: none;
|
||||||
@@ -31,12 +41,17 @@ html#main-window > body {
|
|||||||
|
|
||||||
#zen-main-app-wrapper {
|
#zen-main-app-wrapper {
|
||||||
background: var(--zen-main-browser-background);
|
background: var(--zen-main-browser-background);
|
||||||
|
|
||||||
border-top-left-radius: env(-moz-gtk-csd-titlebar-radius);
|
|
||||||
border-top-right-radius: env(-moz-gtk-csd-titlebar-radius);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabbox {
|
#tabbrowser-tabbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.titlebar-buttonbox-container {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root:not([inDOMFullscreen='true']) #tabbrowser-tabbox {
|
||||||
|
padding: 2px; /* To allow the web view's shadow to be visible */
|
||||||
|
}
|
||||||
|
@@ -4,8 +4,8 @@
|
|||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@namespace html "http://www.w3.org/1999/xhtml";
|
@namespace html 'http://www.w3.org/1999/xhtml';
|
||||||
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
@namespace xul 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
|
||||||
|
|
||||||
/** This file is used to override UI inside "common-shared.css" */
|
/** This file is used to override UI inside "common-shared.css" */
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
xul|button {
|
xul|button {
|
||||||
border-radius: var(--zen-button-border-radius) !important;
|
border-radius: var(--zen-button-border-radius) !important;
|
||||||
padding: var(--zen-button-padding) !important;
|
padding: var(--zen-button-padding) !important;
|
||||||
transition: .1s;
|
transition: 0.1s;
|
||||||
min-width: 100px !important;
|
min-width: 100px !important;
|
||||||
font-weight: 500 !important;
|
font-weight: 500 !important;
|
||||||
}
|
}
|
||||||
@@ -22,20 +22,14 @@ button:active {
|
|||||||
transform: scale(0.95);
|
transform: scale(0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
html|button:not(:is(
|
html|button:not(:is(.tab-button, .ghost-button, .button-toggle, .button-edit, .button-add, )),
|
||||||
.tab-button, .ghost-button,
|
xul|button:is(.expander-down) {
|
||||||
.button-toggle, .button-edit,
|
transition: 0.2s;
|
||||||
.button-add,
|
|
||||||
)),
|
|
||||||
xul|button:is(
|
|
||||||
.expander-down
|
|
||||||
) {
|
|
||||||
transition: .2s;
|
|
||||||
min-width: unset !important;
|
min-width: unset !important;
|
||||||
border-radius: 6px !important;
|
border-radius: 6px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (-moz-bool-pref: "zen.theme.pill-button") {
|
@media (-moz-bool-pref: 'zen.theme.pill-button') {
|
||||||
:host(:is(.anonymous-content-host, notification-message)),
|
:host(:is(.anonymous-content-host, notification-message)),
|
||||||
:root {
|
:root {
|
||||||
--zen-button-border-radius: 20px;
|
--zen-button-border-radius: 20px;
|
||||||
|
@@ -1,196 +1,132 @@
|
|||||||
|
|
||||||
/* All overrides for compact mode go here */
|
/* All overrides for compact mode go here */
|
||||||
|
|
||||||
@media not (-moz-bool-pref: "zen.view.compact") {
|
@media not (-moz-bool-pref: 'zen.view.compact') {
|
||||||
#sidebar-box {
|
#sidebar-box {
|
||||||
margin-top: 0 !important;
|
margin-top: 0 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (-moz-bool-pref: "zen.view.compact") {
|
@media (-moz-bool-pref: 'zen.view.compact') {
|
||||||
:root[sizemode="fullscreen"],
|
:root:not([customizing]) {
|
||||||
#navigator-toolbox[inFullscreen]{ margin-top: 0 !important; }
|
@media (-moz-bool-pref: 'zen.view.compact.hide-tabbar') {
|
||||||
|
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
|
||||||
|
margin-left: calc(var(--zen-sidebar-web-panel-spacing) * 2) !important;
|
||||||
|
}
|
||||||
|
|
||||||
#navigator-toolbox {
|
#zen-sidebar-top-buttons-customization-target {
|
||||||
--zen-compact-toolbox-margin-single: calc(var(--zen-element-separation) * 2);
|
padding-inline-start: calc(var(--zen-toolbox-padding) - var(--toolbarbutton-outer-padding)) !important;
|
||||||
--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) / 2)));
|
|
||||||
opacity: 0;
|
|
||||||
line-height: 0;
|
|
||||||
z-index: 2;
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
|
||||||
padding: var(--zen-compact-toolbox-margin) !important;
|
|
||||||
|
|
||||||
& #titlebar {
|
/* Set the extra paddings */
|
||||||
border: 1px solid var(--zen-colors-border);
|
#tabbrowser-tabpanels {
|
||||||
transition-delay: 200ms;
|
:root:not([inDOMFullscreen='true']) #browser:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||||
background: var(--zen-colors-tertiary) !important;
|
padding-right: var(--zen-element-separation) !important;
|
||||||
padding: 0 5px;
|
}
|
||||||
border-radius: var(--zen-panel-radius);
|
|
||||||
}
|
|
||||||
|
|
||||||
& > * {
|
:root:not([inDOMFullscreen='true']) #browser:has(#navigator-toolbox:not([zen-right-side='true'])) & {
|
||||||
pointer-events: none;
|
padding-left: var(--zen-element-separation) !important;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&, & #titlebar {
|
#zen-sidebar-splitter {
|
||||||
min-width: calc(var(--zen-navigation-toolbar-min-width) + var(--zen-compact-toolbox-margin-single) * 4) !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
#navigator-toolbox {
|
||||||
#navigator-toolbox {
|
--zen-toolbox-max-width: 54px !important;
|
||||||
width: fit-content !important;
|
position: absolute;
|
||||||
}
|
height: calc(98% - var(--zen-element-separation));
|
||||||
}
|
z-index: 9;
|
||||||
|
background: var(--zen-themed-toolbar-bg) !important;
|
||||||
|
box-shadow: 0 0 2px 2px rgba(0,0,0,.1);
|
||||||
|
border-top-right-radius: var(--zen-border-radius);
|
||||||
|
border-bottom-right-radius: var(--zen-border-radius);
|
||||||
|
border: 1px solid var(--zen-colors-border);
|
||||||
|
border-left-width: 0;
|
||||||
|
padding: var(--zen-toolbox-padding) !important;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
right: calc(100% - var(--zen-element-separation) + 1px);
|
||||||
|
top: 1%;
|
||||||
|
opacity: 0;
|
||||||
|
|
||||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
#browser:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||||
#navigator-toolbox {
|
border-left-width: 1px;
|
||||||
min-width: calc(var(--zen-navigation-toolbar-min-width) + var(--zen-compact-toolbox-margin-single) * 2) !important;
|
border-right-width: 0;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-sidebar-web-panel-wrapper:not(:has(#zen-sidebar-web-panel[hidden="true"])),
|
left: calc(100% - var(--zen-element-separation) - 1px);
|
||||||
#sidebar-box:not([positionend="true"]) {
|
right: unset;
|
||||||
margin-right: 0 !important;
|
|
||||||
margin-left: var(--zen-sidebar-web-panel-spacing) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box[positionend="true"] {
|
border-top-left-radius: var(--zen-border-radius);
|
||||||
margin-left: 0 !important;
|
border-bottom-left-radius: var(--zen-border-radius);
|
||||||
margin-right: var(--zen-sidebar-web-panel-spacing) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-splitter {
|
border-top-right-radius: 0;
|
||||||
margin: 0 !important;
|
border-bottom-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media not (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
|
#navigator-toolbox:hover,
|
||||||
#navigator-toolbox {
|
#navigator-toolbox[zen-has-hover],
|
||||||
/* Remove the top margin */
|
#navigator-toolbox:focus-within,
|
||||||
/* The toolbox isn't relative to the webview anymore, meaning we can't just add a static value and call it a day...
|
#navigator-toolbox[zen-user-show],
|
||||||
* The top margin is calculated by taking the following factors into account:
|
#navigator-toolbox[flash-popup],
|
||||||
* 1. Element separation
|
#navigator-toolbox[has-popup-menu],
|
||||||
* 2. Extra margin to separate from the webview
|
#navigator-toolbox[movingtab],
|
||||||
* 3. Add element separation variable, to avoid overlaping with the toolbar
|
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
|
||||||
* 4. Calculate toolbar height, taken from zen-urlbar.css
|
#navigator-toolbox:has(.tabbrowser-tab:active),
|
||||||
*/
|
#navigator-toolbox:has(*[open='true']:not(tab):not(#zen-sidepanel-button)) {
|
||||||
--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);
|
opacity: 1;
|
||||||
|
|
||||||
:root[zen-sidebar-legacy="true"] & {
|
transform: translateX(calc(100% - var(--zen-element-separation)));
|
||||||
--zen-compact-toolbox-margin: calc(var(--zen-compact-toolbox-margin-single) / 2) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single);
|
#browser:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||||
|
transform: translateX(calc(-100% + var(--zen-element-separation)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel-wrapper,
|
@media (-moz-bool-pref: 'zen.view.compact.hide-toolbar') {
|
||||||
#sidebar-box {
|
|
||||||
margin-top: 0 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#navigator-toolbox:hover,
|
#navigator-toolbox {
|
||||||
#navigator-toolbox:focus-within,
|
--zen-toolbox-top-align: var(--zen-element-separation);
|
||||||
#navigator-toolbox[zen-user-show],
|
}
|
||||||
#navigator-toolbox[movingtab],
|
|
||||||
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
|
|
||||||
#navigator-toolbox:has(.tabbrowser-tab:active),
|
|
||||||
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
|
|
||||||
transform: none !important;
|
|
||||||
opacity: 1;
|
|
||||||
|
|
||||||
& > * {
|
&:not([inDOMFullscreen='true']) #tabbrowser-tabpanels {
|
||||||
pointer-events: all;
|
padding-top: var(--zen-element-separation) !important;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#navigator-toolbox > *{ line-height: normal; }
|
#zen-appcontent-navbar-container {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
transform: translateY(calc(-100% + var(--zen-element-separation) + 1px));
|
||||||
|
left: 0;
|
||||||
|
z-index: 10;
|
||||||
|
background: var(--zen-themed-toolbar-bg);
|
||||||
|
box-shadow: 0 0 2px 2px rgba(0,0,0,.1) !important;
|
||||||
|
border-bottom-left-radius: var(--zen-border-radius);
|
||||||
|
border-bottom-right-radius: var(--zen-border-radius);
|
||||||
|
border: 1px solid var(--zen-colors-border);
|
||||||
|
border-top-width: 0px;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
width: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
|
||||||
#navigator-toolbox,
|
:root[tabsintitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) & {
|
||||||
#navigator-toolbox > *{
|
border-top-left-radius: env(-moz-gtk-csd-titlebar-radius);
|
||||||
-moz-appearance: none !important;
|
border-top-right-radius: env(-moz-gtk-csd-titlebar-radius);
|
||||||
}
|
border-left-width: 0;
|
||||||
|
border-right-width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#zen-sidebar-splitter {
|
#zen-appcontent-navbar-container:hover,
|
||||||
display: none !important;
|
#zen-appcontent-navbar-container[zen-has-hover],
|
||||||
}
|
#zen-appcontent-navbar-container:focus-within,
|
||||||
|
#zen-appcontent-navbar-container[zen-user-show],
|
||||||
|
#zen-appcontent-navbar-container[has-popup-menu],
|
||||||
|
#zen-appcontent-navbar-container:has(*[open='true']) {
|
||||||
|
opacity: 1;
|
||||||
|
border-top-width: 1px;
|
||||||
|
|
||||||
/* Don't apply transform before window has been fully created */
|
transform: translateY(-1px);
|
||||||
:root:not([sessionrestored]) #navigator-toolbox{ transform:none !important }
|
|
||||||
|
|
||||||
:root[customizing] #navigator-toolbox{
|
|
||||||
position: relative !important;
|
|
||||||
transform: none !important;
|
|
||||||
opacity: 1 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#navigator-toolbox[inFullscreen] > #PersonalToolbar,
|
|
||||||
#PersonalToolbar[collapsed="true"]{ display: none }
|
|
||||||
|
|
||||||
:root:not([inDOMFullscreen="true"]) #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
|
|
||||||
margin-left: var(--zen-element-separation) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
|
|
||||||
#zen-appcontent-navbar-container {
|
|
||||||
--urlbar-height: unset;
|
|
||||||
transition: .2s ease-in-out;
|
|
||||||
transform: translateY(calc(-100% + var(--zen-element-separation)));
|
|
||||||
opacity: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
border-bottom-left-radius: 8px;
|
|
||||||
border-bottom-right-radius: 8px;
|
|
||||||
border-bottom: 1px solid var(--zen-colors-border);
|
|
||||||
top: 0;
|
|
||||||
background: var(--zen-colors-tertiary);
|
|
||||||
z-index: 2;
|
|
||||||
transition: .2s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-appcontent-navbar-container:hover,
|
|
||||||
#zen-appcontent-navbar-container:focus-within,
|
|
||||||
#zen-appcontent-navbar-container[zen-user-show],
|
|
||||||
#mainPopupSet:has(> #appMenu-popup:hover) ~ #zen-appcontent-navbar-container,
|
|
||||||
#zen-appcontent-navbar-container:has(*[open="true"]) {
|
|
||||||
transform: translateY(0);
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
:root:not([inDOMFullscreen="true"]) #tabbrowser-tabbox #tabbrowser-tabpanels .browserSidebarContainer {
|
|
||||||
margin-top: var(--zen-element-separation) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#titlebar {
|
|
||||||
padding-top: 5px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-sidebar-web-panel-wrapper {
|
|
||||||
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],
|
|
||||||
#navigator-toolbox[movingtab],
|
|
||||||
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
|
|
||||||
#navigator-toolbox:has(.tabbrowser-tab:active),
|
|
||||||
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
|
|
||||||
transform: none !important;
|
|
||||||
opacity: 1;
|
|
||||||
|
|
||||||
& > * {
|
|
||||||
pointer-events: all;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -6,35 +6,54 @@
|
|||||||
|
|
||||||
/** Zen Decks - ONLY USED FOR SPLIT VIEWS, DO NOT USE THIS CLASS FOR ANY OTHER PURPOSE **/
|
/** Zen Decks - ONLY USED FOR SPLIT VIEWS, DO NOT USE THIS CLASS FOR ANY OTHER PURPOSE **/
|
||||||
|
|
||||||
#tabbrowser-tabpanels[zen-split-view="true"] {
|
#tabbrowser-tabpanels[zen-split-view='true'] {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabpanels[zen-split-view="true"] > *:not([zen-split="true"]) {
|
#tabbrowser-tabpanels[zen-split-view='true'] > *:not([zen-split='true']) {
|
||||||
flex: 0;
|
flex: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabpanels[zen-split-view="true"] > [zen-split="true"] {
|
#tabbrowser-tabpanels[zen-split-view='true'] > [zen-split='true'] {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-right: 5px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabpanels[zen-split-view="true"] > [zen-split-anim="true"] {
|
#tabbrowser-tabpanels[zen-split-view='true'] > [zen-split-anim='true'] {
|
||||||
animation: zen-deck-fadeIn 0.2s forwards;
|
animation: zen-deck-fadeIn 0.2s forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabpanels[zen-split-view="true"] .browserSidebarContainer[zen-split-active="true"] {
|
#tabbrowser-tabpanels[zen-split-view='true'] .browserSidebarContainer[zen-split-active='true'] {
|
||||||
box-shadow: 0 0 0 2px var(--zen-primary-color) !important;
|
--uc-tweak-rounded-corners-shadow-color: var(--zen-primary-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabpanels:has(> [zen-split="true"]) {
|
#tabbrowser-tabpanels:has(> [zen-split='true']) {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-gap: 5px;
|
row-gap: 0;
|
||||||
|
column-gap: 0;
|
||||||
|
--zen-split-row-gap: calc(var(--zen-element-separation) + 2px);
|
||||||
|
--zen-split-column-gap: calc(var(--zen-element-separation) + 1px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-split-views-box:not([hidden="true"]) {
|
#tabbrowser-tabpanels[zen-split-view] {
|
||||||
|
.zen-split-view-splitter {
|
||||||
|
display: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-split-view-splitter {
|
||||||
|
display: none;
|
||||||
|
visibility: inherit;
|
||||||
|
cursor: ew-resize;
|
||||||
|
-moz-subtree-hidden-only-visually: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-split-view-splitter[orient='horizontal'] {
|
||||||
|
cursor: n-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-split-views-box:not([hidden='true']) {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +122,7 @@
|
|||||||
|
|
||||||
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid {
|
#zenSplitViewModifierViewDefault .zen-split-view-modifier-preview.grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-areas: "a b" "c b";
|
grid-template-areas: 'a b' 'c b';
|
||||||
gap: 5px;
|
gap: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
|
panel[type='arrow'][animate][animate='open'] {
|
||||||
panel[type="arrow"][animate][animate="open"] {
|
|
||||||
animation: zen-jello-animation 0.2s ease-in-out;
|
animation: zen-jello-animation 0.2s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
panel[type="arrow"][animate][animate="cancel"] {
|
panel[type='arrow'][animate][animate='cancel'] {
|
||||||
animation: zen-jello-out-animation 0.2s ease-in-out;
|
animation: zen-jello-out-animation 0.2s ease-in-out;
|
||||||
}
|
}
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 16px;
|
margin: 16px;
|
||||||
background: light-dark(#fff, rgba(255,255,255,.1));
|
background: light-dark(#fff, rgba(255, 255, 255, 0.1));
|
||||||
}
|
}
|
||||||
|
|
||||||
#editBookmarkPanel::part(content) {
|
#editBookmarkPanel::part(content) {
|
||||||
|
@@ -33,7 +33,7 @@ panelview .unified-extensions-item-action-button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
> .unified-extensions-item-menu-button {
|
> .unified-extensions-item-menu-button {
|
||||||
list-style-image: url("chrome://global/skin/icons/more.svg");
|
list-style-image: url('chrome://global/skin/icons/more.svg');
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
> .toolbarbutton-icon {
|
> .toolbarbutton-icon {
|
||||||
@@ -43,7 +43,6 @@ panelview .unified-extensions-item-action-button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|
||||||
> .toolbarbutton-icon {
|
> .toolbarbutton-icon {
|
||||||
background-color: initial;
|
background-color: initial;
|
||||||
}
|
}
|
||||||
|
@@ -3,25 +3,25 @@
|
|||||||
border: 1px solid var(--zen-dialog-border-color);
|
border: 1px solid var(--zen-dialog-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
#window-modal-dialog:not([zen-dialog-welcome-element="true"]) .dialogBox:not(.spotlightBox) {
|
#window-modal-dialog:not([zen-dialog-welcome-element='true']) .dialogBox:not(.spotlightBox) {
|
||||||
transform: translateY(-9px);
|
transform: translateY(-9px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogBox:not(.spotlightBox) {
|
#window-modal-dialog[zen-dialog-welcome-element='true'] .dialogBox:not(.spotlightBox) {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window-modal-dialog[zen-dialog-welcome-element="true"],
|
#window-modal-dialog[zen-dialog-welcome-element='true'],
|
||||||
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogOverlay,
|
#window-modal-dialog[zen-dialog-welcome-element='true'] .dialogOverlay,
|
||||||
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogFrame,
|
#window-modal-dialog[zen-dialog-welcome-element='true'] .dialogFrame,
|
||||||
#window-modal-dialog[zen-dialog-welcome-element="true"] .dialogBox {
|
#window-modal-dialog[zen-dialog-welcome-element='true'] .dialogBox {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
max-height: none !important;
|
max-height: none !important;
|
||||||
max-width: none !important;
|
max-width: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window-modal-dialog[zen-dialog-welcome-element="true"] {
|
#window-modal-dialog[zen-dialog-welcome-element='true'] {
|
||||||
--zen-welcome-dialog-space: 7px;
|
--zen-welcome-dialog-space: 7px;
|
||||||
margin: 0 auto !important;
|
margin: 0 auto !important;
|
||||||
max-width: calc(100% - calc(var(--zen-welcome-dialog-space) * 2)) !important;
|
max-width: calc(100% - calc(var(--zen-welcome-dialog-space) * 2)) !important;
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
|
@import url('chrome://browser/content/zen-styles/zen-panels/bookmarks.css');
|
||||||
@import url("chrome://browser/content/zen-styles/zen-panels/bookmarks.css");
|
@import url('chrome://browser/content/zen-styles/zen-panels/extensions.css');
|
||||||
@import url("chrome://browser/content/zen-styles/zen-panels/extensions.css");
|
@import url('chrome://browser/content/zen-styles/zen-panels/print.css');
|
||||||
@import url("chrome://browser/content/zen-styles/zen-panels/print.css");
|
@import url('chrome://browser/content/zen-styles/zen-panels/welcome.css');
|
||||||
@import url("chrome://browser/content/zen-styles/zen-panels/welcome.css");
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--panel-subview-body-padding: 2px 0;
|
--panel-subview-body-padding: 2px 0;
|
||||||
@@ -46,7 +45,8 @@
|
|||||||
--zen-panel-separator-width: 1px;
|
--zen-panel-separator-width: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
menupopup, panel {
|
menupopup,
|
||||||
|
panel {
|
||||||
--panel-background: var(--arrowpanel-background);
|
--panel-background: var(--arrowpanel-background);
|
||||||
--panel-border-radius: var(--zen-panel-radius);
|
--panel-border-radius: var(--zen-panel-radius);
|
||||||
}
|
}
|
||||||
@@ -65,26 +65,26 @@ menupopup, panel {
|
|||||||
margin-block: 0;
|
margin-block: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-overflow-list .toolbarbutton-1:not(.toolbarbutton-combined)>.toolbarbutton-text,
|
.widget-overflow-list .toolbarbutton-1:not(.toolbarbutton-combined) > .toolbarbutton-text,
|
||||||
.subviewbutton:not(#appMenu-zoom-controls > .subviewbutton)>.toolbarbutton-icon+.toolbarbutton-text,
|
.subviewbutton:not(#appMenu-zoom-controls > .subviewbutton) > .toolbarbutton-icon + .toolbarbutton-text,
|
||||||
#appMenu-fxa-label2>vbox {
|
#appMenu-fxa-label2 > vbox {
|
||||||
padding-inline-start: var(--uc-arrowpanel-menuicon-margin-inline);
|
padding-inline-start: var(--uc-arrowpanel-menuicon-margin-inline);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* special case menuitems with no icons */
|
/* special case menuitems with no icons */
|
||||||
#appMenu-zoom-controls>.toolbarbutton-text,
|
#appMenu-zoom-controls > .toolbarbutton-text,
|
||||||
#fxa-manage-account-button>vbox,
|
#fxa-manage-account-button > vbox,
|
||||||
#PanelUI-fxa-menu-syncnow-button>hbox {
|
#PanelUI-fxa-menu-syncnow-button > hbox {
|
||||||
padding-inline-start: calc(16px + var(--uc-arrowpanel-menuicon-margin-inline));
|
padding-inline-start: calc(16px + var(--uc-arrowpanel-menuicon-margin-inline));
|
||||||
}
|
}
|
||||||
|
|
||||||
.subviewbutton>.toolbarbutton-icon {
|
.subviewbutton > .toolbarbutton-icon {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* firefox profile avatar in appmenu */
|
/* firefox profile avatar in appmenu */
|
||||||
#appMenu-fxa-label2::before {
|
#appMenu-fxa-label2::before {
|
||||||
content: "";
|
content: '';
|
||||||
display: -moz-box;
|
display: -moz-box;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@@ -102,40 +102,46 @@ menupopup, panel {
|
|||||||
padding-block: 0;
|
padding-block: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu-fxa-status2:not([fxastatus])>#appMenu-fxa-label2 {
|
#appMenu-fxa-status2:not([fxastatus]) > #appMenu-fxa-label2 {
|
||||||
margin-inline-end: calc(var(--arrowpanel-menuitem-padding-inline) * -1);
|
margin-inline-end: calc(var(--arrowpanel-menuitem-padding-inline) * -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* zoom controls */
|
/* zoom controls */
|
||||||
#appMenu-zoom-controls {
|
#appMenu-zoom-controls {
|
||||||
border-top: 1px solid var(--panel-separator-color);
|
border-top: 1px solid var(--panel-separator-color);
|
||||||
padding-inline: calc(var(--arrowpanel-menuitem-padding-inline) + var(--uc-arrowpanel-menuitem-margin-inline)) var(--uc-arrowpanel-menuitem-margin-inline);
|
padding-inline: calc(var(--arrowpanel-menuitem-padding-inline) + var(--uc-arrowpanel-menuitem-margin-inline))
|
||||||
|
var(--uc-arrowpanel-menuitem-margin-inline);
|
||||||
padding-block: var(--uc-panel-zoom-padding-block);
|
padding-block: var(--uc-panel-zoom-padding-block);
|
||||||
margin: var(--panel-separator-margin-vertical) 0 calc(var(--panel-separator-margin-vertical) * -1);
|
margin: var(--panel-separator-margin-vertical) 0 calc(var(--panel-separator-margin-vertical) * -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu-zoom-controls>.subviewbutton {
|
#appMenu-zoom-controls > .subviewbutton {
|
||||||
padding: var(--uc-panel-zoom-button-padding) var(--uc-panel-zoom-button-inline-padding);
|
padding: var(--uc-panel-zoom-button-padding) var(--uc-panel-zoom-button-inline-padding);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu-zoom-controls>#appMenu-zoomReset-button2 {
|
#appMenu-zoom-controls > #appMenu-zoomReset-button2 {
|
||||||
padding: var(--uc-panel-zoom-button-padding) calc(var(--uc-panel-zoom-button-padding) / 2);
|
padding: var(--uc-panel-zoom-button-padding) calc(var(--uc-panel-zoom-button-padding) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #appMenu-zoomReduce-button2, */
|
/* #appMenu-zoomReduce-button2, */
|
||||||
#appMenu-zoom-controls>#appMenu-fullscreen-button2 {
|
#appMenu-zoom-controls > #appMenu-fullscreen-button2 {
|
||||||
margin-left: calc((var(--panel-separator-margin-vertical) + var(--uc-arrowpanel-menuitem-margin-block)) * 2 + 1px);
|
margin-left: calc((var(--panel-separator-margin-vertical) + var(--uc-arrowpanel-menuitem-margin-block)) * 2 + 1px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu-zoom-controls>#appMenu-fullscreen-button2::before {
|
#appMenu-zoom-controls > #appMenu-fullscreen-button2::before {
|
||||||
content: "";
|
content: '';
|
||||||
border-inline-start: 1px solid var(--panel-separator-color);
|
border-inline-start: 1px solid var(--panel-separator-color);
|
||||||
display: block;
|
display: block;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
margin-block: calc(var(--uc-panel-zoom-button-padding) * -1);
|
margin-block: calc(var(--uc-panel-zoom-button-padding) * -1);
|
||||||
transform: translateX(calc(var(--uc-panel-zoom-button-inline-padding) * -1 - (var(--panel-separator-margin-vertical) + var(--uc-arrowpanel-menuitem-margin-block)) - 1px));
|
transform: translateX(
|
||||||
|
calc(
|
||||||
|
var(--uc-panel-zoom-button-inline-padding) * -1 -
|
||||||
|
(var(--panel-separator-margin-vertical) + var(--uc-arrowpanel-menuitem-margin-block)) - 1px
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu-zoomReset-button2 {
|
#appMenu-zoomReset-button2 {
|
||||||
@@ -157,8 +163,8 @@ menupopup, panel {
|
|||||||
background-color: var(--panel-item-active-bgcolor);
|
background-color: var(--panel-item-active-bgcolor);
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu-zoomReset-button2>.toolbarbutton-text,
|
#appMenu-zoomReset-button2 > .toolbarbutton-text,
|
||||||
#appMenu-fullscreen-button2>.toolbarbutton-icon {
|
#appMenu-fullscreen-button2 > .toolbarbutton-icon {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
@@ -171,11 +177,11 @@ menupopup, panel {
|
|||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.PanelUI-subView>.panel-header+toolbarseparator {
|
.PanelUI-subView > .panel-header + toolbarseparator {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.PanelUI-subView>.panel-header+toolbarseparator+.panel-subview-body {
|
.PanelUI-subView > .panel-header + toolbarseparator + .panel-subview-body {
|
||||||
padding-top: var(--panel-separator-margin-vertical);
|
padding-top: var(--panel-separator-margin-vertical);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,7 +198,7 @@ menupopup, panel {
|
|||||||
|
|
||||||
/* URL bar popup */
|
/* URL bar popup */
|
||||||
|
|
||||||
.identity-popup-security-connection>hbox>description {
|
.identity-popup-security-connection > hbox > description {
|
||||||
margin-inline-start: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -226,8 +232,8 @@ menupopup, panel {
|
|||||||
margin-inline-start: var(--uc-arrowpanel-menuicon-margin-inline);
|
margin-inline-start: var(--uc-arrowpanel-menuicon-margin-inline);
|
||||||
}
|
}
|
||||||
|
|
||||||
#editBookmarkPanel>#editBookmarkHeaderSeparator,
|
#editBookmarkPanel > #editBookmarkHeaderSeparator,
|
||||||
#editBookmarkPanel>.panel-subview-body>#editBookmarkSeparator {
|
#editBookmarkPanel > .panel-subview-body > #editBookmarkSeparator {
|
||||||
margin-inline: 0;
|
margin-inline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +243,6 @@ menupopup, panel {
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
menupopup::part(content),
|
menupopup::part(content),
|
||||||
panel::part(content) {
|
panel::part(content) {
|
||||||
border: var(--zen-appcontent-border);
|
border: var(--zen-appcontent-border);
|
||||||
@@ -263,7 +268,8 @@ panel {
|
|||||||
--arrowpanel-menuitem-padding-inline: 15px;
|
--arrowpanel-menuitem-padding-inline: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
toolbarseparator, menuseparator {
|
toolbarseparator,
|
||||||
|
menuseparator {
|
||||||
border-width: var(--zen-panel-separator-width);
|
border-width: var(--zen-panel-separator-width);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,8 +283,9 @@ toolbarseparator, menuseparator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Context menu */
|
/* Context menu */
|
||||||
menu, menuitem {
|
menu,
|
||||||
&:where([_moz-menuactive]:not([disabled="true"])) {
|
menuitem {
|
||||||
|
&:where([_moz-menuactive]:not([disabled='true'])) {
|
||||||
background-color: var(--button-hover-bgcolor);
|
background-color: var(--button-hover-bgcolor);
|
||||||
color: var(--button-hover-color);
|
color: var(--button-hover-color);
|
||||||
}
|
}
|
||||||
|
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
.PanelUI-zen-profiles-item::after {
|
.PanelUI-zen-profiles-item::after {
|
||||||
content: '';
|
content: '';
|
||||||
background-image: url("chrome://global/skin/icons/arrow-right.svg");
|
background-image: url('chrome://global/skin/icons/arrow-right.svg');
|
||||||
background-size: 1em;
|
background-size: 1em;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
@@ -97,7 +97,6 @@
|
|||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#PanelUI-zen-profiles toolbarbutton::after {
|
#PanelUI-zen-profiles toolbarbutton::after {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -107,7 +106,6 @@
|
|||||||
padding-right: 16px;
|
padding-right: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#PanelUI-zen-profiles toolbarbutton:last-child {
|
#PanelUI-zen-profiles toolbarbutton:last-child {
|
||||||
margin-bottom: 5px !important;
|
margin-bottom: 5px !important;
|
||||||
}
|
}
|
||||||
@@ -120,7 +118,6 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#PanelUI-zen-profiles-actions {
|
#PanelUI-zen-profiles-actions {
|
||||||
color-scheme: dark;
|
color-scheme: dark;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -128,7 +125,7 @@
|
|||||||
right: 10px;
|
right: 10px;
|
||||||
border-radius: 10px !important;
|
border-radius: 10px !important;
|
||||||
padding: 1px 10px !important;
|
padding: 1px 10px !important;
|
||||||
transition: .1s;
|
transition: 0.1s;
|
||||||
color: light-dark(white, black);
|
color: light-dark(white, black);
|
||||||
background: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
|
background: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
|
||||||
}
|
}
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#zen-sidebar-panels-wrapper {
|
#zen-sidebar-panels-wrapper {
|
||||||
/*min-height: 500px;*/
|
/*min-height: 500px;*/
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-add-panel-button:not(:hover) image,
|
#zen-sidebar-add-panel-button:not(:hover) image,
|
||||||
.zen-sidebar-panel-button:not([selected="true"], #zen-sidebar-add-panel-button) image {
|
.zen-sidebar-panel-button:not([selected='true'], #zen-sidebar-add-panel-button) image {
|
||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
background: color-mix(in srgb, var(--toolbarbutton-hover-background) 12%, transparent);
|
background: color-mix(in srgb, var(--toolbarbutton-hover-background) 12%, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.zen-sidebar-panel-button[selected="true"] image {
|
.zen-sidebar-panel-button[selected='true'] image {
|
||||||
border-color: var(--zen-primary-color);
|
border-color: var(--zen-primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,25 +61,30 @@
|
|||||||
transition: width 0.3s ease-in-out;
|
transition: width 0.3s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[hidden="true"]) {
|
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[hidden='true']) {
|
||||||
max-width: 0;
|
max-width: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned="true"]) {
|
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
|
||||||
margin: var(--zen-appcontent-separator-from-window);
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
width: -moz-available;
|
width: calc(100% - var(--zen-sidebar-web-panel-spacing) * 3);
|
||||||
padding: var(--zen-sidebar-web-panel-spacing);
|
margin: var(--zen-sidebar-web-panel-spacing);
|
||||||
height: calc(100% - var(--zen-element-separation));
|
/* Why times 3?
|
||||||
|
* + 1 for the top margin, making the element overflow the view.
|
||||||
|
* + 1 for the margin we want to add at the bottom
|
||||||
|
* + 1 so that the panel can be correctly spaced from the border of the webview
|
||||||
|
*/
|
||||||
|
height: calc(100% - var(--zen-sidebar-web-panel-spacing) * 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel {
|
#zen-sidebar-web-panel {
|
||||||
border-radius: var(--zen-panel-radius);
|
border-radius: var(--zen-panel-radius);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: 0 0 0 1px var(--zen-colors-border);
|
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
border: 1px solid var(--zen-colors-border);
|
||||||
background: var(--zen-colors-tertiary);
|
background: var(--zen-colors-tertiary);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
animation-delay: 0.1s;
|
animation-delay: 0.1s;
|
||||||
@@ -92,15 +97,15 @@
|
|||||||
height: calc(100% - 20px);
|
height: calc(100% - 20px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel:not([pinned="true"]) {
|
#zen-sidebar-web-panel:not([pinned='true']) {
|
||||||
/* We need to always override the height */
|
/* We need to always override the height */
|
||||||
height: unset !important;
|
height: unset !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel-splitter {
|
.zen-sidebar-web-panel-splitter {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
left: 0;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 4px;
|
width: 4px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
@@ -108,34 +113,39 @@
|
|||||||
cursor: ew-resize;
|
cursor: ew-resize;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel-hsplitter {
|
.zen-sidebar-web-panel-splitter[side='right'] {
|
||||||
position: absolute;
|
left: initial;
|
||||||
bottom: -2px;
|
right: 0;
|
||||||
left: 0;
|
}
|
||||||
|
|
||||||
|
.zen-sidebar-web-panel-splitter[orient='horizontal'] {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 7px;
|
height: 7px;
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
cursor: ns-resize;
|
cursor: ns-resize;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel[hidden="true"] #zen-sidebar-web-panel-hsplitter,
|
.zen-sidebar-web-panel-splitter[side='bottom'] {
|
||||||
#zen-sidebar-web-panel-wrapper[hidden="true"] + #zen-sidebar-web-panel-splitter,
|
top: initial;
|
||||||
#zen-sidebar-web-panel-wrapper[hidden="true"] + #zen-sidebar-web-panel-hsplitter,
|
bottom: -2px;
|
||||||
#zen-sidebar-web-panel:not([pinned="true"]) #zen-sidebar-web-panel-hsplitter {
|
}
|
||||||
|
|
||||||
|
#zen-sidebar-web-panel[hidden='true'] .zen-sidebar-web-panel-splitter,
|
||||||
|
#zen-sidebar-web-panel-wrapper[hidden='true'] + .zen-sidebar-web-panel-splitter,
|
||||||
|
#zen-sidebar-web-panel:not([pinned='true']) .zen-sidebar-web-panel-splitter[orient='horizontal'],
|
||||||
|
#zen-sidebar-web-panel:not([pinned='true']) .zen-sidebar-web-panel-splitter[side='left'] {
|
||||||
display: none;
|
display: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel:not([pinned="true"]) {
|
#zen-sidebar-web-panel:not([pinned='true']) {
|
||||||
animation: zen-sidebar-panel-animation 0.3s ease-in-out forwards;
|
animation: zen-sidebar-panel-animation 0.3s ease-in-out forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
#main-window[customizing="true"] #zen-sidebar-web-panel-wrapper {
|
#main-window[customizing='true'] #zen-sidebar-web-panel-wrapper {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel:not([hidden="true"]) {
|
#zen-sidebar-web-panel:not([hidden='true']) {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,16 +153,17 @@
|
|||||||
margin: 0 var(--zen-element-separation) var(--zen-element-separation) 1px;
|
margin: 0 var(--zen-element-separation) var(--zen-element-separation) 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel[pinned="true"] {
|
#zen-sidebar-web-panel[pinned='true'] {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
animation: zen-sidebar-panel-animation-2 0.2s ease-in-out forwards;
|
animation: zen-sidebar-panel-animation-2 0.15s ease-in-out forwards;
|
||||||
|
max-height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-panel[hidden="true"][pinned="true"] {
|
#zen-sidebar-web-panel[hidden='true'][pinned='true'] {
|
||||||
display: flex;
|
display: flex;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
animation: zen-sidebar-panel-animation-reverse 0.2s ease-in-out forwards;
|
animation: zen-sidebar-panel-animation-reverse 0.15s ease-in-out forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-web-header,
|
#zen-sidebar-web-header,
|
||||||
@@ -199,7 +210,7 @@
|
|||||||
width: 70%;
|
width: 70%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-introduction-panel[hidden="true"] {
|
#zen-sidebar-introduction-panel[hidden='true'] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,219 +1,85 @@
|
|||||||
/*
|
|
||||||
* 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/.
|
|
||||||
*/
|
|
||||||
|
|
||||||
:root {
|
toolbar {
|
||||||
--sidebar-background-color: var(--toolbar-bgcolor) !important;
|
min-height: 46px;
|
||||||
--zen-sidebar-box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box {
|
|
||||||
--zen-sidebar-box-border-radius: var(--zen-panel-radius);
|
|
||||||
margin: var(--zen-element-separation);
|
|
||||||
border-radius: var(--zen-sidebar-box-border-radius);
|
|
||||||
overflow: hidden;
|
|
||||||
transition: .2s;
|
|
||||||
margin-left: 0;
|
|
||||||
border: var(--zen-appcontent-border);
|
|
||||||
box-shadow: none;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box[hidden="true"] {
|
|
||||||
width: 0;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box:not([positionend="true"]) {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-main-app-wrapper:has(#sidebar-box:not([hidden="true"], [positionend="true"])) #TabsToolbar {
|
|
||||||
margin-right: 0 !important;
|
|
||||||
box-shadow: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-splitter {
|
|
||||||
/* we can still use the splitter but we can't see it */
|
|
||||||
background: transparent !important;
|
|
||||||
border-color: transparent !important;
|
|
||||||
width: 1px !important;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box[positionend] {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.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;
|
|
||||||
margin: 0;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#TabsToolbar .toolbarbutton-1 {
|
|
||||||
width: var(--zen-sidebar-action-button-width);
|
|
||||||
height: var(--zen-sidebar-action-button-width);
|
|
||||||
margin-left: auto !important;
|
|
||||||
margin-right: auto !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#TabsToolbar .toolbarbutton-1:not(.zen-sidebar-panel-button) > :is(.toolbarbutton-icon, .toolbarbutton-badge-stack),
|
|
||||||
.zen-sidebar-action-button {
|
|
||||||
border-radius: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
:root[customizing] #navigator-toolbox {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.zen-sidebar-action-button:hover {
|
|
||||||
background: var(--toolbarbutton-hover-background) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.zen-sidebar-action-button:hover image {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box[hidden="true"] .zen-sidebar-action-button,
|
|
||||||
.zen-sidebar-panel-button[animate] {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(-110%);
|
|
||||||
animation: zen-sidebar-button-fadeIn 0.4s forwards;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes zen-sidebar-button-fadeIn {
|
|
||||||
0% {
|
|
||||||
transform: translateX(-110%);
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons */
|
|
||||||
|
|
||||||
#zen-preferences-button {
|
|
||||||
list-style-image: url("chrome://global/skin/icons/settings.svg");
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-history-button {
|
|
||||||
list-style-image: url("chrome://browser/skin/history.svg");
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-bookmark-button {
|
|
||||||
list-style-image: url(chrome://browser/skin/bookmark-hollow.svg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-profile-button {
|
#zen-profile-button {
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
position: relative;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-profile-button::before {
|
& stack {
|
||||||
background-image: var(--avatar-image-url);
|
padding: 0;
|
||||||
border-radius: 50%;
|
|
||||||
background-size: cover;
|
|
||||||
background-position: center;
|
|
||||||
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 */
|
|
||||||
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(1), .zen-sidebar-panel-button:nth-child(1) { animation-delay: 0.1s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(2), .zen-sidebar-panel-button:nth-child(2) { animation-delay: 0.2s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(3), .zen-sidebar-panel-button:nth-child(3) { animation-delay: 0.3s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(4), .zen-sidebar-panel-button:nth-child(4) { animation-delay: 0.4s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(5), .zen-sidebar-panel-button:nth-child(5) { animation-delay: 0.5s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(6), .zen-sidebar-panel-button:nth-child(6) { animation-delay: 0.6s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(7), .zen-sidebar-panel-button:nth-child(7) { animation-delay: 0.7s; }
|
|
||||||
#TabsToolbar .zen-sidebar-action-button:nth-child(8), .zen-sidebar-panel-button:nth-child(8) { animation-delay: 0.8s; }
|
|
||||||
#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; }
|
|
||||||
|
|
||||||
#zen-sidebar-icons-wrapper toolbarbutton {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-sidebar-icons-wrapper {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
margin: 0 var(--zen-tabbrowser-padding);
|
|
||||||
position: relative;
|
|
||||||
background: transparent !important;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: end;
|
|
||||||
min-height: fit-content;
|
|
||||||
--zen-sidebar-action-content-separator: calc(10px + var(--zen-tabbrowser-padding));
|
|
||||||
padding-top: var(--zen-sidebar-action-content-separator);
|
|
||||||
margin-top: var(--zen-sidebar-action-content-separator);
|
|
||||||
color-scheme: inherit !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-sidebar-icons-wrapper::before {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 50%;
|
|
||||||
transform: translateX(-50%);
|
|
||||||
width: 60%;
|
|
||||||
height: 1px;
|
|
||||||
background: var(--zen-colors-border);
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-sidepanel-button[hidden="true"] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zen-expand-sidebar-button {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
:root:not([inDOMFullscreen="true"]) #zen-sidebar-splitter {
|
|
||||||
display: block;
|
|
||||||
width: 1px;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
:root[inDOMFullscreen="true"] #zen-sidebar-splitter {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
|
||||||
#navigator-toolbox {
|
|
||||||
width: 0;
|
|
||||||
padding-right: 2px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-sidebar-splitter {
|
& .toolbarbutton-badge {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
& stack {
|
||||||
|
width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
|
||||||
|
height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
& > image {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& #zen-profile-button-icon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
list-style-image: var(--avatar-image-url);
|
||||||
|
border-radius: 50%;
|
||||||
|
pointer-events: none;
|
||||||
|
list-style-image: var(--avatar-image-url);
|
||||||
|
-moz-context-properties: fill;
|
||||||
|
fill: currentColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media not (-moz-bool-pref: 'zen.view.sidebar-expanded.show-button') {
|
||||||
|
#zen-expand-sidebar-button {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded.show-button") {
|
/*#zen-profile-button::before {
|
||||||
#zen-expand-sidebar-button {
|
background: transparent;
|
||||||
display: flex;
|
border-radius: 50%;
|
||||||
|
border: 3px solid var(--zen-colors-border);
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: calc(2 * var(--toolbarbutton-inner-padding) + 16px - 8px - var(--toolbarbutton-inner-padding));
|
||||||
|
height: calc(2 * var(--toolbarbutton-inner-padding) + 16px - 8px - var(--toolbarbutton-inner-padding));
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/* Bookmarks sidebar */
|
||||||
|
#zen-tabbox-wrapper {
|
||||||
|
& #sidebar-splitter {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
& #sidebar-box {
|
||||||
|
border-radius: var(--zen-border-radius);
|
||||||
|
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
margin-bottom: var(--zen-element-separation) !important;
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px solid var(--zen-colors-border);
|
||||||
|
|
||||||
|
:root:has(#navigator-toolbox:not([zen-right-side='true'])) &[positionend="true"] {
|
||||||
|
margin-right: var(--zen-element-separation);
|
||||||
|
}
|
||||||
|
|
||||||
|
:root:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||||
|
margin-left: var(--zen-element-separation);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:root:is([chromehidden~="location"], [chromehidden~="toolbar"]) #navigator-toolbox {
|
/* Menubar */
|
||||||
|
#toolbar-menubar {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
@@ -22,15 +22,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#zen-watermark image {
|
#zen-watermark image {
|
||||||
opacity: .2;
|
opacity: 0.2;
|
||||||
filter: grayscale(100%);
|
filter: grayscale(100%);
|
||||||
width: 200px;
|
width: 200px;
|
||||||
height: 200px;
|
height: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-watermark[hidden="true"] {
|
#zen-watermark[hidden='true'] {
|
||||||
transition: 0.6s;
|
transition: 0.6s;
|
||||||
transition-delay: .5s;
|
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
@@ -43,7 +42,7 @@
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media not (-moz-bool-pref: "zen.watermark.enabled") {
|
@media not (-moz-bool-pref: 'zen.watermark.enabled') {
|
||||||
#zen-watermark {
|
#zen-watermark {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,13 @@
|
|||||||
|
|
||||||
/* Styles for both vertical and horizontal tabs */
|
/* 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");
|
@import url('chrome://browser/content/zen-styles/zen-tabs/vertical-tabs.css');
|
||||||
|
|
||||||
#zen-tabbox-wrapper {
|
#zen-tabbox-wrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (-moz-bool-pref: 'zen.workspaces.hide-default-container-indicator') {
|
||||||
|
.tabbrowser-tab[zenDefaultUserContextId='true'] .tab-context-line {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1,3 +1,2 @@
|
|||||||
@media not (-moz-bool-pref: "zen.tabs.vertical") {
|
@media not (-moz-bool-pref: 'zen.tabs.vertical') {
|
||||||
|
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/* Here, we contain all the theme related variables, for example theme
|
/* Here, we contain all the theme related variables, for example theme
|
||||||
* colors, border radius, etc.
|
* colors, border radius, etc.
|
||||||
* We have `--zen-border-radius` and `--zen-primary-color` as variables.
|
* We have `--zen-border-radius` and `--zen-primary-color` as variables.
|
||||||
@@ -7,7 +6,6 @@
|
|||||||
:host(:is(.anonymous-content-host, notification-message)),
|
:host(:is(.anonymous-content-host, notification-message)),
|
||||||
:root,
|
:root,
|
||||||
.zenLooksAndFeelColorOption {
|
.zenLooksAndFeelColorOption {
|
||||||
|
|
||||||
/** We also add `.zenLooksAndFeelColorOption` so that it recalculates the colors when the theme changes
|
/** We also add `.zenLooksAndFeelColorOption` so that it recalculates the colors when the theme changes
|
||||||
* in the preferences page.
|
* in the preferences page.
|
||||||
*/
|
*/
|
||||||
@@ -45,6 +43,7 @@
|
|||||||
--in-content-primary-button-border-color: transparent !important;
|
--in-content-primary-button-border-color: transparent !important;
|
||||||
--in-content-primary-button-border-hover: transparent !important;
|
--in-content-primary-button-border-hover: transparent !important;
|
||||||
--in-content-primary-button-border-active: var(--zen-colors-border) !important;
|
--in-content-primary-button-border-active: var(--zen-colors-border) !important;
|
||||||
|
--in-content-box-border-color: var(--zen-colors-border) !important;
|
||||||
|
|
||||||
--in-content-accent-color: var(--zen-colors-primary) !important;
|
--in-content-accent-color: var(--zen-colors-primary) !important;
|
||||||
|
|
||||||
@@ -69,20 +68,24 @@
|
|||||||
--button-primary-active-bgcolor: var(--in-content-primary-button-background-active) !important;
|
--button-primary-active-bgcolor: var(--in-content-primary-button-background-active) !important;
|
||||||
--button-primary-color: var(--in-content-primary-button-text-color) !important;
|
--button-primary-color: var(--in-content-primary-button-text-color) !important;
|
||||||
|
|
||||||
|
--color-accent-primary-hover: var(--zen-primary-color) !important;
|
||||||
|
|
||||||
--in-content-page-background: var(--zen-colors-tertiary) !important;
|
--in-content-page-background: var(--zen-colors-tertiary) !important;
|
||||||
--zen-in-content-dialog-background: var(--zen-colors-tertiary);
|
--zen-in-content-dialog-background: var(--zen-colors-tertiary);
|
||||||
|
|
||||||
--zen-button-border-radius: 7px;
|
--zen-button-border-radius: 7px;
|
||||||
--zen-button-padding: .6rem 1.2rem;
|
--zen-button-padding: 0.6rem 1.2rem;
|
||||||
|
|
||||||
|
/* Toolbar */
|
||||||
|
--zen-toolbar-height: 39px;
|
||||||
|
--zen-toolbar-button-inner-padding: 6px;
|
||||||
|
--toolbarbutton-outer-padding: 4px;
|
||||||
|
|
||||||
/* Other colors */
|
/* Other colors */
|
||||||
--urlbar-box-bgcolor: var(--zen-urlbar-background) !important;
|
--urlbar-box-bgcolor: var(--zen-urlbar-background) !important;
|
||||||
--toolbar-field-focus-background-color: var(--urlbar-box-bgcolor) !important;
|
--toolbar-field-focus-background-color: var(--urlbar-box-bgcolor) !important;
|
||||||
--zen-input-border-color: light-dark(rgb(204, 204, 204), rgb(66, 65, 77));
|
--zen-input-border-color: light-dark(rgb(204, 204, 204), rgb(66, 65, 77));
|
||||||
|
|
||||||
/* Constants */
|
|
||||||
--zen-element-separation: .6rem;
|
|
||||||
|
|
||||||
/* XUL */
|
/* XUL */
|
||||||
--zen-main-browser-background: light-dark(rgb(235, 235, 235), #1b1b1b);
|
--zen-main-browser-background: light-dark(rgb(235, 235, 235), #1b1b1b);
|
||||||
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 50%, white 50%);
|
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 50%, white 50%);
|
||||||
@@ -107,9 +110,11 @@
|
|||||||
--fp-contextmenu-bgcolor: light-dark(Menu, rgb(43 42 51 / 0.95));
|
--fp-contextmenu-bgcolor: light-dark(Menu, rgb(43 42 51 / 0.95));
|
||||||
--toolbar-bgcolor: transparent;
|
--toolbar-bgcolor: transparent;
|
||||||
|
|
||||||
|
--toolbarbutton-active-background: var(--zen-colors-border) !important;
|
||||||
|
|
||||||
--input-bgcolor: var(--zen-colors-tertiary) !important;
|
--input-bgcolor: var(--zen-colors-tertiary) !important;
|
||||||
--input-border-color: var(--zen-input-border-color) !important;
|
--input-border-color: var(--zen-input-border-color) !important;
|
||||||
--zen-themed-toolbar-bg: var(--zen-colors-tertiary);
|
--zen-themed-toolbar-bg: light-dark(#eeeded, var(--zen-colors-tertiary)) !important;
|
||||||
|
|
||||||
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
|
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
|
||||||
--arrowpanel-background: var(--zen-dialog-background) !important;
|
--arrowpanel-background: var(--zen-dialog-background) !important;
|
||||||
@@ -137,9 +142,39 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media not (-moz-bool-pref: "zen.theme.toolbar-themed") {
|
@media (prefers-color-scheme: dark) {
|
||||||
|
@media (-moz-bool-pref: 'zen.theme.color-prefs.amoled') {
|
||||||
|
:root {
|
||||||
|
--zen-dark-color-mix-base: lch(2.467% 0 272 / 1);
|
||||||
|
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 4%, rgb(0, 0, 0) 96%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (-moz-bool-pref: 'zen.theme.color-prefs.colorful') {
|
||||||
|
:root {
|
||||||
|
--zen-in-content-dialog-background: rgb(28, 28, 32);
|
||||||
|
|
||||||
|
--zen-colors-primary: color-mix(in srgb, var(--zen-primary-color) 50%, black 50%);
|
||||||
|
--zen-colors-secondary: color-mix(in srgb, var(--zen-primary-color) 40%, black 60%);
|
||||||
|
--zen-colors-tertiary: color-mix(in srgb, var(--zen-primary-color) 15%, black 85%);
|
||||||
|
|
||||||
|
--zen-colors-hover-bg: color-mix(in srgb, var(--zen-primary-color) 90%, black 10%);
|
||||||
|
--zen-colors-primary-foreground: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
|
||||||
|
|
||||||
|
--zen-colors-input-bg: color-mix(in srgb, var(--zen-primary-color) 10%, black 80%);
|
||||||
|
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 80%, black 20%);
|
||||||
|
|
||||||
|
--zen-dialog-background: color-mix(in srgb, var(--zen-primary-color) 10%, black 90%);
|
||||||
|
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, rgb(15, 15, 15) 92%);
|
||||||
|
|
||||||
|
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, black 70%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media not (-moz-bool-pref: 'zen.theme.toolbar-themed') {
|
||||||
:root {
|
:root {
|
||||||
--toolbar-bgcolor: light-dark(white, #1b1b1b) !important;
|
--toolbar-bgcolor: light-dark(#E6E6E6, #1b1b1b) !important;
|
||||||
--zen-themed-toolbar-bg: var(--toolbar-bgcolor);
|
--zen-themed-toolbar-bg: var(--toolbar-bgcolor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
|
#nav-bar,
|
||||||
#nav-bar {
|
#zen-sidebar-top-buttons {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
:root[inDOMFullscreen="true"] #zen-appcontent-navbar-container {
|
:root[inDOMFullscreen='true'] #zen-appcontent-navbar-container {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@@ -1,17 +1,21 @@
|
|||||||
/* URL and tool bars */
|
/* URL and tool bars */
|
||||||
|
|
||||||
|
#urlbar-container {
|
||||||
|
padding-block: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
#urlbar {
|
#urlbar {
|
||||||
--toolbarbutton-border-radius: 6px;
|
--toolbarbutton-border-radius: 10px;
|
||||||
--urlbarView-separator-color: var(--zen-colors-border);
|
--urlbarView-separator-color: var(--zen-colors-border);
|
||||||
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
||||||
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
||||||
border: 1px solid var(--zen-colors-border);
|
border: 1px solid var(--zen-colors-border);
|
||||||
border-radius: 999px;
|
border-radius: var(--toolbarbutton-border-radius);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[focused="true"][breakout-extend="true"] {
|
#urlbar[focused='true'][breakout-extend='true'] {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -19,43 +23,47 @@
|
|||||||
border-color: transparent !important;
|
border-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[focused="true"] {
|
#urlbar[focused='true'] {
|
||||||
box-shadow: var(--panel-shadow) !important;
|
box-shadow: var(--panel-shadow) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[focused="true"] > #urlbar-background {
|
#urlbar[focused='true'] > #urlbar-background {
|
||||||
background: var(--zen-dialog-background) !important;
|
background: var(--zen-dialog-background) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar-background { border: transparent !important; }
|
#urlbar-background {
|
||||||
|
border: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background,
|
#urlbar[focused='true']:not([suppress-focus-border]) > #urlbar-background,
|
||||||
#searchbar:focus-within {
|
#searchbar:focus-within {
|
||||||
outline: none !important;
|
outline: none !important;
|
||||||
outline-offset: none !important;
|
outline-offset: none !important;
|
||||||
outline-color: none !important;
|
outline-color: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar .urlbar-page-action,
|
#urlbar #tracking-protection-icon-container {
|
||||||
#urlbar #tracking-protection-icon-container,
|
border-radius: var(--toolbarbutton-border-radius);
|
||||||
#urlbar:not([breakout-extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
|
|
||||||
border-radius: 999px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout-extend="true"] .urlbar-page-action,
|
#urlbar .urlbar-page-action {
|
||||||
#urlbar[breakout-extend="true"] #tracking-protection-icon-container,
|
border-radius: calc(var(--toolbarbutton-border-radius) / 1.5);
|
||||||
#urlbar[breakout-extend="true"] #identity-box #identity-icon-box,
|
}
|
||||||
|
|
||||||
|
#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 {
|
.searchbar-engine-one-off-item {
|
||||||
border-radius: var(--toolbarbutton-border-radius) !important;
|
border-radius: var(--toolbarbutton-border-radius) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout-extend="true"] {
|
#urlbar[breakout-extend='true'] {
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#identity-icon-box,
|
#identity-icon-box,
|
||||||
#identity-permission-box {
|
#identity-permission-box {
|
||||||
background: var(--zen-colors-secondary) !important;
|
background: color-mix(in srgb, var(--zen-colors-secondary) 50%, transparent 50%) !important;
|
||||||
margin: 0 8px 0 0 !important;
|
margin: 0 8px 0 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +71,8 @@
|
|||||||
background: var(--zen-colors-border) !important;
|
background: var(--zen-colors-border) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar:is([focused], [open]) > #urlbar-background, #searchbar:focus-within {
|
#urlbar:is([focused], [open]) > #urlbar-background,
|
||||||
|
#searchbar:focus-within {
|
||||||
background: var(--urlbar-box-bgcolor);
|
background: var(--urlbar-box-bgcolor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,21 +80,19 @@
|
|||||||
padding-inline-start: 8px !important;
|
padding-inline-start: 8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
|
#identity-box.chromeUI:not([pageproxystate='invalid']) #identity-icon-box {
|
||||||
margin-right: 0 !important;
|
margin-right: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
|
#urlbar:not([extend='true']) #identity-box #identity-icon-box {
|
||||||
border-radius: 20px 10px 10px 20px !important;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar:not([extend="true"]) #identity-box #identity-icon-box { position: relative; }
|
#urlbar:not([extend='true']) #identity-box:is(:not(.chromeUI), [pageproxystate='invalid']) #identity-icon-box {
|
||||||
|
|
||||||
#urlbar:not([extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
|
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar:not([extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) {
|
#urlbar:not([extend='true']) #identity-box:is(:not(.chromeUI), [pageproxystate='invalid']) {
|
||||||
margin-inline-end: 0 !important;
|
margin-inline-end: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,8 +106,8 @@
|
|||||||
margin: 0 0 0 2px !important;
|
margin: 0 0 0 2px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout-extend="true"] .urlbar-page-action,
|
#urlbar[breakout-extend='true'] .urlbar-page-action,
|
||||||
#urlbar[breakout-extend="true"] #tracking-protection-icon-container {
|
#urlbar[breakout-extend='true'] #tracking-protection-icon-container {
|
||||||
width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||||
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||||
}
|
}
|
||||||
@@ -110,12 +117,13 @@
|
|||||||
border-bottom-left-radius: 0 !important;
|
border-bottom-left-radius: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#identity-box:has(#notification-popup-box:not([hidden="true"])) #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 {
|
#identity-box:has(#notification-popup-box:not([hidden='true'])) #identity-permission-box {
|
||||||
margin-right: 4px !important;
|
margin-right: 4px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])):not([pageproxystate="invalid"]) #identity-icon-box {
|
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])):not([pageproxystate='invalid'])
|
||||||
|
#identity-icon-box {
|
||||||
border-top-right-radius: 0 !important;
|
border-top-right-radius: 0 !important;
|
||||||
border-bottom-right-radius: 0 !important;
|
border-bottom-right-radius: 0 !important;
|
||||||
margin-right: 0 !important;
|
margin-right: 0 !important;
|
||||||
@@ -136,7 +144,7 @@
|
|||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout-extend="true"] #notification-popup-box {
|
#urlbar[breakout-extend='true'] #notification-popup-box {
|
||||||
min-width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
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;
|
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
|
||||||
}
|
}
|
||||||
@@ -151,7 +159,7 @@ button.popup-notification-dropmarker {
|
|||||||
border-bottom-left-radius: 0 !important;
|
border-bottom-left-radius: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.panel-footer:has(button.popup-notification-dropmarker:not([hidden="true"])) button.popup-notification-secondary-button {
|
.panel-footer:has(button.popup-notification-dropmarker:not([hidden='true'])) button.popup-notification-secondary-button {
|
||||||
border-top-right-radius: 0 !important;
|
border-top-right-radius: 0 !important;
|
||||||
border-bottom-right-radius: 0 !important;
|
border-bottom-right-radius: 0 !important;
|
||||||
}
|
}
|
||||||
@@ -164,5 +172,115 @@ button.popup-notification-dropmarker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#downloadsHistory {
|
#downloadsHistory {
|
||||||
margin-top: 5px
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 550px) {
|
||||||
|
#urlbar-container {
|
||||||
|
width: calc(176px + 2 * (24px + 2 * var(--toolbarbutton-inner-padding)));
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar[downloadsbuttonshown] #urlbar-container,
|
||||||
|
#nav-bar[unifiedextensionsbuttonshown] #urlbar-container {
|
||||||
|
width: calc(76px + 24px + 2 * var(--toolbarbutton-inner-padding));
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar[downloadsbuttonshown][unifiedextensionsbuttonshown] #urlbar-container {
|
||||||
|
width: 176px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#identity-icon-box {
|
||||||
|
max-width: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#urlbar-zoom-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Thanks to https://github.com/JLBlk!
|
||||||
|
* Checkout https://github.com/JLBlk/Zen-Themes/blob/main/SuperUrlBar/SuperUrlBar.css
|
||||||
|
*/
|
||||||
|
|
||||||
|
#notification-popup-box {
|
||||||
|
border-radius: 6px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Border radius on hover */
|
||||||
|
#urlbar .urlbar-page-action, #urlbar #tracking-protection-icon-container, #urlbar:not([breakout-extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
|
||||||
|
border-radius: 6px !important;;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Border radius of boxes on the left */
|
||||||
|
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])):not([pageproxystate="invalid"]) #identity-icon-box {
|
||||||
|
border-top-left-radius: 6px !important;
|
||||||
|
border-bottom-left-radius: 6px !important;
|
||||||
|
border-top-right-radius: 0 !important;
|
||||||
|
border-bottom-right-radius: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Extensions or similar */
|
||||||
|
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
|
||||||
|
border-radius: 6px 6px 6px 6px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Notification Stack */
|
||||||
|
|
||||||
|
.notificationbox-stack {
|
||||||
|
background: transparent;
|
||||||
|
|
||||||
|
&[notificationside="top"] {
|
||||||
|
position: absolute;
|
||||||
|
bottom: calc(var(--zen-element-separation) * 1.5);
|
||||||
|
right: calc(var(--zen-element-separation) * 1.5);
|
||||||
|
width: fit-content;
|
||||||
|
max-width: 30rem !important;
|
||||||
|
|
||||||
|
& notification-message {
|
||||||
|
background: var(--zen-colors-tertiary);
|
||||||
|
border: 1px solid var(--arrowpanel-border-color);
|
||||||
|
border-radius: var(--zen-border-radius);
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar,
|
||||||
|
#zen-sidebar-top-buttons {
|
||||||
|
min-height: var(--zen-toolbar-height) !important;
|
||||||
|
height: var(--zen-toolbar-height) !important;
|
||||||
|
max-height: var(--zen-toolbar-height) !important;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Other small tweaks */
|
||||||
|
#nav-bar-customization-target {
|
||||||
|
/* Don't grow if potentially-user-sized elements (like the searchbar or the
|
||||||
|
* bookmarks toolbar item list) are too wide. This forces them to flex to the
|
||||||
|
* available space as much as possible, see bug 1795260. */
|
||||||
|
min-width: 0;
|
||||||
|
|
||||||
|
--toolbarbutton-inner-padding: var(--zen-toolbar-button-inner-padding);
|
||||||
|
|
||||||
|
/* Add space to beginning of toolbar and make that space click the first <toolbarbutton> */
|
||||||
|
> :is(toolbarbutton, toolbaritem):first-child,
|
||||||
|
> toolbarpaletteitem:first-child > :is(toolbarbutton, toolbaritem) {
|
||||||
|
padding-inline-start: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TODO: Fix this for windows and macos */
|
||||||
|
/*.titlebar-button:last-child {
|
||||||
|
padding-right: var(--zen-element-separation) !important;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#PersonalToolbar:not([collapsed="true"]) {
|
||||||
|
padding-bottom: 6px;
|
||||||
|
padding-left: 0 !important;
|
||||||
}
|
}
|
@@ -1,47 +1,123 @@
|
|||||||
|
|
||||||
#zen-workspaces-button {
|
#zen-workspaces-button {
|
||||||
--zen-workspaces-button-vmargin: 0.4rem;
|
|
||||||
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-top: var(--zen-workspaces-button-vmargin) !important;
|
|
||||||
margin-bottom: var(--zen-workspaces-button-vmargin) !important;
|
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
:root[zen-sidebar-legacy="true"] & {
|
position: relative;
|
||||||
margin-top: 0 !important;
|
|
||||||
|
&:not([as-button='true']) {
|
||||||
|
--zen-workspaces-strip-background-color: color-mix(in srgb, var(--zen-colors-border) 50%, transparent 50%);
|
||||||
|
--toolbarbutton-hover-background: var(--toolbarbutton-hover-background) !important;
|
||||||
|
border-radius: var(--zen-button-border-radius) !important;
|
||||||
|
background: var(--zen-workspaces-strip-background-color) !important;
|
||||||
|
padding: 5px;
|
||||||
|
appearance: unset !important;
|
||||||
|
height: fit-content;
|
||||||
|
gap: 3px;
|
||||||
|
|
||||||
|
& toolbarbutton {
|
||||||
|
margin: 0 !important;
|
||||||
|
width: 25px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0 !important;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
& > * {
|
||||||
|
opacity: .6;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[active='true']::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
width: 4px;
|
||||||
|
border-radius: 99px;
|
||||||
|
height: 4px;
|
||||||
|
background: var(--zen-primary-color);
|
||||||
|
bottom: -2px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
animation: zen-workspaces-button-active 0.1s ease-in-out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&[as-button='true'] {
|
||||||
|
border-radius: var(--tab-border-radius);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: var(--toolbarbutton-hover-background);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:root:has(#navigator-toolbox:not([zen-expanded='true'])) &[as-button='true'] {
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: var(--toolbarbutton-inner-padding) !important;
|
||||||
|
width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
|
||||||
|
height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
|
||||||
|
border-radius: var(--tab-border-radius) !important;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: var(--toolbarbutton-hover-background) !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zen-workspaces-button .zen-workspace-sidebar-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
#zen-workspaces-button .zen-workspace-sidebar-name {
|
#zen-workspaces-button .zen-workspace-sidebar-name {
|
||||||
margin-left: .2rem;
|
margin-left: 0.2rem;
|
||||||
display: none;
|
display: none;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
|
@media (-moz-bool-pref: 'zen.view.sidebar-expanded') {
|
||||||
/** Keep these selectors in sync with the ones in vertical-tabs.css */
|
/** Keep these selectors in sync with the ones in vertical-tabs.css */
|
||||||
#navigator-toolbox:is(
|
#navigator-toolbox:is(
|
||||||
#navigator-toolbox[zen-user-hover="true"]:hover,
|
#navigator-toolbox[zen-user-hover='true'][zen-has-hover],
|
||||||
#navigator-toolbox[zen-user-hover="true"]:focus-within,
|
#navigator-toolbox[zen-user-hover='true'][has-popup-menu],
|
||||||
#mainPopupSet[zen-user-hover="true"]:has(> #appMenu-popup:hover) ~ toolbox,
|
#navigator-toolbox[zen-user-hover='true']:focus-within,
|
||||||
#navigator-toolbox[zen-user-hover="true"]:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)),
|
#mainPopupSet[zen-user-hover='true']:has(> #appMenu-popup:hover) ~ toolbox,
|
||||||
:not([zen-user-hover="true"])) {
|
#navigator-toolbox[zen-user-hover='true']:has(*[open='true']:not(tab):not(#zen-sidepanel-button)),
|
||||||
|
:not([zen-user-hover='true'])
|
||||||
|
) {
|
||||||
|
|
||||||
|
& #zen-workspaces-button[as-button='true'] {
|
||||||
|
width: 100% !important;
|
||||||
|
margin: 2px;
|
||||||
|
min-width: calc(2 * var(--toolbarbutton-inner-padding) + 16px);
|
||||||
|
height: calc(2 * var(--toolbarbutton-inner-padding) + 16px);
|
||||||
|
|
||||||
|
& .zen-workspace-sidebar-wrapper {
|
||||||
|
left: calc(var(--toolbarbutton-outer-padding) + 5px);
|
||||||
|
width: calc(100% - (var(--toolbarbutton-outer-padding) * 3 ));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
& #zen-workspaces-button .zen-workspace-sidebar-name {
|
& #zen-workspaces-button .zen-workspace-sidebar-name {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
& #zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] {
|
& #zen-workspaces-button .zen-workspace-sidebar-icon {
|
||||||
display: none;
|
margin-inline-end: 5px;
|
||||||
|
|
||||||
|
& [no-icon='true'] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& #zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] + .zen-workspace-sidebar-name {
|
& #zen-workspaces-button .zen-workspace-sidebar-icon[no-icon='true'] + .zen-workspace-sidebar-name {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +126,6 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 2px 10px;
|
|
||||||
width: calc(100% - var(--zen-tabbrowser-padding) * 6) !important;
|
width: calc(100% - var(--zen-tabbrowser-padding) * 6) !important;
|
||||||
gap: 0.5ch;
|
gap: 0.5ch;
|
||||||
}
|
}
|
||||||
@@ -93,8 +168,8 @@
|
|||||||
border-radius: 7px;
|
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"] {
|
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton[selected='true'] {
|
||||||
border-color: var(--zen-colors-secondary);
|
border-color: var(--zen-colors-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +201,7 @@
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#PanelUI-zen-workspaces-list[empty="true"] {
|
#PanelUI-zen-workspaces-list[empty='true'] {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -139,9 +214,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#PanelUI-zen-workspaces-list toolbarbutton,
|
#PanelUI-zen-workspaces-list toolbarbutton,
|
||||||
#PanelUI-zen-workspaces-current-info toolbarbutton {
|
#PanelUI-zen-workspaces-current-info toolbarbutton {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border-radius: 7px;
|
border-radius: var(--zen-button-border-radius);
|
||||||
|
|
||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
margin-right: 0 !important;
|
margin-right: 0 !important;
|
||||||
@@ -156,7 +231,7 @@
|
|||||||
& .zen-workspace-icon {
|
& .zen-workspace-icon {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-radius: 7px;
|
border-radius: var(--zen-button-border-radius);
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
border: 1px solid var(--zen-colors-border);
|
border: 1px solid var(--zen-colors-border);
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -166,6 +241,10 @@
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&[data-usercontextid] .zen-workspace-icon {
|
||||||
|
border-color: color-mix(in srgb, var(--identity-tab-color) 40%, transparent 60%);
|
||||||
|
}
|
||||||
|
|
||||||
& .zen-workspace-name {
|
& .zen-workspace-name {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@@ -173,6 +252,12 @@
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
& .zen-workspace-container {
|
||||||
|
font-size: 12px;
|
||||||
|
opacity: 0.5;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
& .zen-workspace-actions {
|
& .zen-workspace-actions {
|
||||||
display: none;
|
display: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -180,7 +265,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover .zen-workspace-actions,
|
&:hover .zen-workspace-actions,
|
||||||
& .zen-workspace-actions[active="true"] {
|
& .zen-workspace-actions[active='true'] {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -190,7 +275,7 @@
|
|||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#PanelUI-zen-workspaces-view vbox:nth-child(2) {
|
#PanelUI-zen-workspaces-view > vbox:nth-child(2) {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,7 +297,7 @@
|
|||||||
width: 100%;
|
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"] {
|
#PanelUI-zen-workspaces-edit-footer button[default='true'] {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
@@ -1,9 +1,8 @@
|
|||||||
|
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
/* 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,
|
* 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/. */
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
"use strict";
|
'use strict';
|
||||||
|
|
||||||
/* INCLUDE THIS FILE AS:
|
/* INCLUDE THIS FILE AS:
|
||||||
* <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
* <script src="chrome://browser/content/zenThemeModifier.js"></script>
|
||||||
@@ -11,27 +10,26 @@
|
|||||||
* FOR ANY WEBSITE THAT WOULD NEED TO USE THE ACCENT COLOR, ETC
|
* FOR ANY WEBSITE THAT WOULD NEED TO USE THE ACCENT COLOR, ETC
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const kZenThemeAccentColorPref = "zen.theme.accent-color";
|
const kZenThemePrefsList = ['zen.theme.accent-color', 'zen.theme.border-radius', 'zen.theme.content-element-separation'];
|
||||||
const kZenThemeBorderRadiusPref = "zen.theme.border-radius";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ZenThemeModifier controls the application of theme data to the browser,
|
* ZenThemeModifier controls the application of theme data to the browser,
|
||||||
* for examplem, it injects the accent color to the document. This is used
|
* for examplem, it injects the accent color to the document. This is used
|
||||||
* because we need a way to apply the accent color without having to worry about
|
* because we need a way to apply the accent color without having to worry about
|
||||||
* shadow roots not inheriting the accent color.
|
* shadow roots not inheriting the accent color.
|
||||||
*
|
*
|
||||||
* note: It must be a firefox builtin page with access to the browser's configuration
|
* note: It must be a firefox builtin page with access to the browser's configuration
|
||||||
* and services.
|
* and services.
|
||||||
*/
|
*/
|
||||||
var ZenThemeModifier = {
|
var ZenThemeModifier = {
|
||||||
_inMainBrowserWindow: false,
|
_inMainBrowserWindow: false,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Listen for theming updates from the LightweightThemeChild actor, and
|
* Listen for theming updates from the LightweightThemeChild actor, and
|
||||||
* begin listening to changes in preferred color scheme.
|
* begin listening to changes in preferred color scheme.
|
||||||
*/
|
*/
|
||||||
init() {
|
init() {
|
||||||
this._inMainBrowserWindow = window.location.href == "chrome://browser/content/browser.xhtml";
|
this._inMainBrowserWindow = window.location.href == 'chrome://browser/content/browser.xhtml';
|
||||||
this.listenForEvents();
|
this.listenForEvents();
|
||||||
this.updateAllThemeBasics();
|
this.updateAllThemeBasics();
|
||||||
this._onPrefersColorSchemeChange();
|
this._onPrefersColorSchemeChange();
|
||||||
@@ -40,8 +38,17 @@ var ZenThemeModifier = {
|
|||||||
listenForEvents() {
|
listenForEvents() {
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', this._onPrefersColorSchemeChange.bind(this));
|
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', this._onPrefersColorSchemeChange.bind(this));
|
||||||
|
|
||||||
Services.prefs.addObserver(kZenThemeAccentColorPref, this.handleEvent.bind(this));
|
var handleEvent = this.handleEvent.bind(this);
|
||||||
Services.prefs.addObserver(kZenThemeBorderRadiusPref, this.handleEvent.bind(this));
|
// Listen for changes in the accent color and border radius
|
||||||
|
for (let pref of kZenThemePrefsList) {
|
||||||
|
Services.prefs.addObserver(pref, handleEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('unload', () => {
|
||||||
|
for (let pref of kZenThemePrefsList) {
|
||||||
|
Services.prefs.removeObserver(pref, handleEvent);
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
handleEvent(event) {
|
handleEvent(event) {
|
||||||
@@ -50,27 +57,33 @@ var ZenThemeModifier = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update all theme basics, like the accent color.
|
* Update all theme basics, like the accent color.
|
||||||
*/
|
*/
|
||||||
updateAllThemeBasics() {
|
async updateAllThemeBasics() {
|
||||||
this.updateAccentColor();
|
this.updateAccentColor();
|
||||||
this.updateBorderRadius();
|
this.updateBorderRadius();
|
||||||
|
this.updateElementSeparation();
|
||||||
},
|
},
|
||||||
|
|
||||||
updateBorderRadius() {
|
updateBorderRadius() {
|
||||||
const borderRadius = Services.prefs.getIntPref(kZenThemeBorderRadiusPref, 4);
|
const borderRadius = Services.prefs.getIntPref('zen.theme.border-radius');
|
||||||
document.documentElement.style.setProperty("--zen-border-radius", borderRadius + "px");
|
document.documentElement.style.setProperty('--zen-border-radius', borderRadius + 'px');
|
||||||
|
},
|
||||||
|
|
||||||
|
updateElementSeparation() {
|
||||||
|
const separation = Services.prefs.getIntPref('zen.theme.content-element-separation');
|
||||||
|
document.documentElement.style.setProperty('--zen-element-separation', separation + 'px');
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the accent color.
|
* Update the accent color.
|
||||||
*/
|
*/
|
||||||
updateAccentColor() {
|
updateAccentColor() {
|
||||||
const accentColor = Services.prefs.getStringPref(kZenThemeAccentColorPref, "#0b57d0");
|
const accentColor = Services.prefs.getStringPref('zen.theme.accent-color');
|
||||||
document.documentElement.style.setProperty("--zen-primary-color", accentColor);
|
document.documentElement.style.setProperty('--zen-primary-color', accentColor);
|
||||||
// Notify the page that the accent color has changed, only if a function
|
// Notify the page that the accent color has changed, only if a function
|
||||||
// handler is defined.
|
// handler is defined.
|
||||||
if (typeof window.zenPageAccentColorChanged === "function") {
|
if (typeof window.zenPageAccentColorChanged === 'function') {
|
||||||
window.zenPageAccentColorChanged(accentColor);
|
window.zenPageAccentColorChanged(accentColor);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -80,35 +93,33 @@ var ZenThemeModifier = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateZenAvatar() {
|
_updateZenAvatar() {
|
||||||
if (typeof ProfileService === "undefined") {
|
if (typeof ProfileService === 'undefined') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const mainWindowEl = document.documentElement;
|
const mainWindowEl = document.documentElement;
|
||||||
// Dont override the sync avatar if it's already set
|
// Dont override the sync avatar if it's already set
|
||||||
if (mainWindowEl.style.hasOwnProperty("--avatar-image-url")) {
|
if (mainWindowEl.style.hasOwnProperty('--avatar-image-url')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let profile = ProfileService.currentProfile;
|
let profile = ProfileService.currentProfile;
|
||||||
if (!profile || profile.zenAvatarPath == "") return;
|
if (!profile || profile.zenAvatarPath == '') return;
|
||||||
// TODO: actually use profile data to generate the avatar, instead of just using the name
|
// TODO: actually use profile data to generate the avatar, instead of just using the name
|
||||||
let avatarUrl = this._getThemedAvatar(profile.zenAvatarPath);
|
let avatarUrl = this._getThemedAvatar(profile.zenAvatarPath);
|
||||||
if (document.documentElement.hasAttribute("privatebrowsingmode")) {
|
if (document.documentElement.hasAttribute('privatebrowsingmode')) {
|
||||||
avatarUrl = "chrome://global/skin/icons/indicator-private-browsing.svg";
|
avatarUrl = 'chrome://global/skin/icons/indicator-private-browsing.svg';
|
||||||
}
|
}
|
||||||
mainWindowEl.style.setProperty("--zen-avatar-image-url", `url(${avatarUrl})`);
|
mainWindowEl.style.setProperty('--zen-avatar-image-url', `url(${avatarUrl})`);
|
||||||
mainWindowEl.style.setProperty("--avatar-image-url", `var(--zen-avatar-image-url)`, "important");
|
mainWindowEl.style.setProperty('--avatar-image-url', `var(--zen-avatar-image-url)`, 'important');
|
||||||
},
|
},
|
||||||
|
|
||||||
_getThemedAvatar(avatarPath) {
|
_getThemedAvatar(avatarPath) {
|
||||||
if (!avatarPath.startsWith("chrome://browser/content/zen-avatars/avatar-")
|
if (!avatarPath.startsWith('chrome://browser/content/zen-avatars/avatar-') || !avatarPath.endsWith('.svg')) {
|
||||||
|| !avatarPath.endsWith(".svg")) {
|
|
||||||
return avatarPath;
|
return avatarPath;
|
||||||
}
|
}
|
||||||
let withoutExtension = avatarPath.slice(0, -4);
|
let withoutExtension = avatarPath.slice(0, -4);
|
||||||
let scheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? "dark" : "light";
|
let scheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||||
return `${withoutExtension}-${scheme}.svg`;
|
return `${withoutExtension}-${scheme}.svg`;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (typeof Services !== "undefined")
|
if (typeof Services !== 'undefined') ZenThemeModifier.init();
|
||||||
ZenThemeModifier.init();
|
|
||||||
|
@@ -1,8 +1,16 @@
|
|||||||
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||||
index f466105b8290b13c672351bb68dd92644dd670fe..b195cd59d7ff07ff512e7388c9dc33f3c661d955 100644
|
index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a3c5f7fce 100644
|
||||||
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||||
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||||
@@ -25,7 +25,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () {
|
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
|
AddonManagerPrivate: "resource://gre/modules/AddonManager.sys.mjs",
|
||||||
|
BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.sys.mjs",
|
||||||
|
CustomizableWidgets: "resource:///modules/CustomizableWidgets.sys.mjs",
|
||||||
|
+ ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
|
||||||
|
HomePage: "resource:///modules/HomePage.sys.mjs",
|
||||||
|
PanelMultiView: "resource:///modules/PanelMultiView.sys.mjs",
|
||||||
|
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
|
||||||
|
@@ -25,7 +26,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () {
|
||||||
return Services.strings.createBundle(kUrl);
|
return Services.strings.createBundle(kUrl);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -11,7 +19,7 @@ index f466105b8290b13c672351bb68dd92644dd670fe..b195cd59d7ff07ff512e7388c9dc33f3
|
|||||||
|
|
||||||
const kSpecialWidgetPfx = "customizableui-special-";
|
const kSpecialWidgetPfx = "customizableui-special-";
|
||||||
|
|
||||||
@@ -253,10 +253,9 @@ var CustomizableUIInternal = {
|
@@ -253,13 +254,14 @@ var CustomizableUIInternal = {
|
||||||
"spring",
|
"spring",
|
||||||
"urlbar-container",
|
"urlbar-container",
|
||||||
"spring",
|
"spring",
|
||||||
@@ -23,12 +31,50 @@ index f466105b8290b13c672351bb68dd92644dd670fe..b195cd59d7ff07ff512e7388c9dc33f3
|
|||||||
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
|
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
|
||||||
].filter(name => name);
|
].filter(name => name);
|
||||||
|
|
||||||
@@ -288,7 +287,7 @@ var CustomizableUIInternal = {
|
+ lazy.ZenCustomizableUI.startup(this);
|
||||||
|
+
|
||||||
|
this.registerArea(
|
||||||
|
CustomizableUI.AREA_NAVBAR,
|
||||||
|
{
|
||||||
|
@@ -288,10 +290,10 @@ var CustomizableUIInternal = {
|
||||||
{
|
{
|
||||||
type: CustomizableUI.TYPE_TOOLBAR,
|
type: CustomizableUI.TYPE_TOOLBAR,
|
||||||
defaultPlacements: [
|
defaultPlacements: [
|
||||||
- "firefox-view-button",
|
- "firefox-view-button",
|
||||||
+// "firefox-view-button",
|
+// "firefox-view-button",
|
||||||
"tabbrowser-tabs",
|
"tabbrowser-tabs",
|
||||||
"new-tab-button",
|
- "new-tab-button",
|
||||||
"alltabs-button",
|
- "alltabs-button",
|
||||||
|
+// "new-tab-button",
|
||||||
|
+// "alltabs-button",
|
||||||
|
],
|
||||||
|
defaultCollapsed: null,
|
||||||
|
},
|
||||||
|
@@ -331,6 +333,7 @@ var CustomizableUIInternal = {
|
||||||
|
CustomizableUI.AREA_NAVBAR,
|
||||||
|
CustomizableUI.AREA_BOOKMARKS,
|
||||||
|
CustomizableUI.AREA_TABSTRIP,
|
||||||
|
+ "zen-sidebar-top-buttons",
|
||||||
|
]);
|
||||||
|
if (AppConstants.platform != "macosx") {
|
||||||
|
toolbars.add(CustomizableUI.AREA_MENUBAR);
|
||||||
|
@@ -1033,6 +1036,9 @@ var CustomizableUIInternal = {
|
||||||
|
placements = gPlacements.get(area);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // remove "zen-sidebar-top-buttons" from the placements
|
||||||
|
+ placements = placements.filter(p => p != "zen-sidebar-top-buttons");
|
||||||
|
+
|
||||||
|
// For toolbars that need it, mark as dirty.
|
||||||
|
let defaultPlacements = areaProperties.get("defaultPlacements");
|
||||||
|
if (
|
||||||
|
@@ -3289,6 +3295,9 @@ var CustomizableUIInternal = {
|
||||||
|
gSeenWidgets.add(widgetId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
if (gSeenWidgets.size || gNewElementCount) {
|
||||||
|
gDirty = true;
|
||||||
|
this.saveState();
|
||||||
|
@@ -1,9 +1,8 @@
|
|||||||
|
|
||||||
# Checkout this documentation to build new tab assets
|
# Checkout this documentation to build new tab assets
|
||||||
|
|
||||||
* [New Tab Documentation](https://firefox-source-docs.mozilla.org/browser/components/newtab/docs/index.html)
|
- [New Tab Documentation](https://firefox-source-docs.mozilla.org/browser/components/newtab/docs/index.html)
|
||||||
* You also need `meow@9.0.0` (that's the one I tested) because other versions might not work.
|
- You also need `meow@9.0.0` (that's the one I tested) because other versions might not work.
|
||||||
* To bundle the new tab, execute the following:
|
- To bundle the new tab, execute the following:
|
||||||
|
|
||||||
```
|
```
|
||||||
./mach npm run bundle --prefix=browser/components/newtab
|
./mach npm run bundle --prefix=browser/components/newtab
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
|
.customize-menu[role='dialog'] {
|
||||||
.customize-menu[role="dialog"] {
|
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
|
@@ -3,11 +3,11 @@
|
|||||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
var gZenNewWebPanel = {
|
var gZenNewWebPanel = {
|
||||||
init: function() {
|
init: function () {
|
||||||
document.addEventListener("dialogaccept", this.handleDialogAccept.bind(this));
|
document.addEventListener('dialogaccept', this.handleDialogAccept.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
handleURLChange: async function(aURL) {
|
handleURLChange: async function (aURL) {
|
||||||
try {
|
try {
|
||||||
let url = new URL(aURL.value);
|
let url = new URL(aURL.value);
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
@@ -31,10 +31,10 @@ var gZenNewWebPanel = {
|
|||||||
return url;
|
return url;
|
||||||
},
|
},
|
||||||
|
|
||||||
handleDialogAccept: async function(aEvent) {
|
handleDialogAccept: async function (aEvent) {
|
||||||
document.commandDispatcher.focusedElement?.blur();
|
document.commandDispatcher.focusedElement?.blur();
|
||||||
let url = document.getElementById("zenNWP_url");
|
let url = document.getElementById('zenNWP_url');
|
||||||
let ua = document.getElementById("zenNWP_userAgent");
|
let ua = document.getElementById('zenNWP_userAgent'); // checbkox
|
||||||
if (!url || !ua) {
|
if (!url || !ua) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -44,18 +44,18 @@ var gZenNewWebPanel = {
|
|||||||
} catch (_) {
|
} catch (_) {
|
||||||
urlValue = this.addHttpIfMissing(url.value);
|
urlValue = this.addHttpIfMissing(url.value);
|
||||||
}
|
}
|
||||||
if (!url.value || !ua.value) {
|
if (!url.value) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let newSite = {
|
let newSite = {
|
||||||
url: urlValue,
|
url: urlValue,
|
||||||
ua: ua.value,
|
ua: ua.checked,
|
||||||
};
|
};
|
||||||
let currentData = JSON.parse(Services.prefs.getStringPref("zen.sidebar.data"));
|
let currentData = JSON.parse(Services.prefs.getStringPref('zen.sidebar.data'));
|
||||||
let newName = "p" + new Date().getTime();
|
let newName = 'p' + new Date().getTime();
|
||||||
currentData.index.push(newName);
|
currentData.index.push(newName);
|
||||||
currentData.data[newName] = newSite;
|
currentData.data[newName] = newSite;
|
||||||
Services.prefs.setStringPref("zen.sidebar.data", JSON.stringify(currentData));
|
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(currentData));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,7 +1,16 @@
|
|||||||
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
|
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
|
||||||
index 4c2637db10b7ad5d253d9588be3610c1ec5ad330..b8445b808cf9dcb54d380ae78172db4bf8250cd4 100644
|
index 4c2637db10b7ad5d253d9588be3610c1ec5ad330..b7861f7888b0d3f9abd5249f8356e6b9b5c3005f 100644
|
||||||
--- a/browser/components/preferences/main.inc.xhtml
|
--- a/browser/components/preferences/main.inc.xhtml
|
||||||
+++ b/browser/components/preferences/main.inc.xhtml
|
+++ b/browser/components/preferences/main.inc.xhtml
|
||||||
|
@@ -163,7 +163,7 @@
|
||||||
|
</hbox>
|
||||||
|
|
||||||
|
<!-- Website appearance -->
|
||||||
|
-<groupbox id="webAppearanceGroup" data-category="paneGeneral" hidden="true">
|
||||||
|
+<groupbox id="webAppearanceGroup" data-category="paneZenLooks" hidden="true">
|
||||||
|
<html:h2 data-l10n-id="preferences-web-appearance-header"/>
|
||||||
|
<html:div id="webAppearanceSettings">
|
||||||
|
<description class="description-deemphasized" data-l10n-id="preferences-web-appearance-description"/>
|
||||||
@@ -369,6 +369,7 @@
|
@@ -369,6 +369,7 @@
|
||||||
languages-customize-add.label,
|
languages-customize-add.label,
|
||||||
" />
|
" />
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
||||||
index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..56b42e2d025e4a47ea0983cf33ae69ffafa0d576 100644
|
index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..39637cc8aea988c77e5a6c66a85ec66acd4ca4bc 100644
|
||||||
--- a/browser/components/preferences/preferences.js
|
--- a/browser/components/preferences/preferences.js
|
||||||
+++ b/browser/components/preferences/preferences.js
|
+++ b/browser/components/preferences/preferences.js
|
||||||
@@ -196,6 +196,10 @@ function init_all() {
|
@@ -196,6 +196,10 @@ function init_all() {
|
||||||
@@ -7,7 +7,7 @@ index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..56b42e2d025e4a47ea0983cf33ae69ff
|
|||||||
Preferences.queueUpdateOfAllElements();
|
Preferences.queueUpdateOfAllElements();
|
||||||
Services.telemetry.setEventRecordingEnabled("aboutpreferences", true);
|
Services.telemetry.setEventRecordingEnabled("aboutpreferences", true);
|
||||||
+ register_module("paneZenLooks", gZenLooksAndFeel);
|
+ register_module("paneZenLooks", gZenLooksAndFeel);
|
||||||
+ register_module("paneZenWorkspaces", gZenWorkspacesSettings);
|
+ register_module("paneZenTabManagement", gZenWorkspacesSettings);
|
||||||
+ register_module("paneZenCKS", gZenCKSSettings);
|
+ register_module("paneZenCKS", gZenCKSSettings);
|
||||||
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
|
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
||||||
index 3affb19d1a243da4a5782c9a4a5588d165b4119f..837f078ff1f3a65a40877c1380c6d050a8415bab 100644
|
index 53bdc9c912a6cd0c787dbcf41f2a82b7169d5aa7..e47c4b36b6e469b0cc8b95bde0508dc6cb0b49ae 100644
|
||||||
--- a/browser/components/preferences/preferences.xhtml
|
--- a/browser/components/preferences/preferences.xhtml
|
||||||
+++ b/browser/components/preferences/preferences.xhtml
|
+++ b/browser/components/preferences/preferences.xhtml
|
||||||
@@ -43,6 +43,8 @@
|
@@ -43,6 +43,8 @@
|
||||||
@@ -39,15 +39,15 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..837f078ff1f3a65a40877c1380c6d050
|
|||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-looks-title"></label>
|
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-looks-title"></label>
|
||||||
+ </richlistitem>
|
+ </richlistitem>
|
||||||
+
|
+
|
||||||
+ <richlistitem id="category-zen-workspaces"
|
+ <richlistitem id="category-zen-tabs-management"
|
||||||
+ class="category"
|
+ class="category"
|
||||||
+ value="paneZenWorkspaces"
|
+ value="paneZenTabManagement"
|
||||||
+ helpTopic="prefs-main"
|
+ helpTopic="prefs-main"
|
||||||
+ data-l10n-id="category-zen-workspaces"
|
+ data-l10n-id="category-zen-workspaces"
|
||||||
+ data-l10n-attrs="tooltiptext"
|
+ data-l10n-attrs="tooltiptext"
|
||||||
+ align="center">
|
+ align="center">
|
||||||
+ <image class="category-icon"/>
|
+ <image class="category-icon"/>
|
||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-workspaces-title"></label>
|
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-tabs-title"></label>
|
||||||
+ </richlistitem>
|
+ </richlistitem>
|
||||||
+
|
+
|
||||||
+ <richlistitem id="category-zen-CKS"
|
+ <richlistitem id="category-zen-CKS"
|
||||||
@@ -95,7 +95,7 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..837f078ff1f3a65a40877c1380c6d050
|
|||||||
#include moreFromMozilla.inc.xhtml
|
#include moreFromMozilla.inc.xhtml
|
||||||
+#include zenLooksAndFeel.inc.xhtml
|
+#include zenLooksAndFeel.inc.xhtml
|
||||||
+#include zenKeyboardShortcuts.inc.xhtml
|
+#include zenKeyboardShortcuts.inc.xhtml
|
||||||
+#include zenWorkspaces.inc.xhtml
|
+#include zenTabsManagement.inc.xhtml
|
||||||
+#include zenMarketplace.inc.xhtml
|
+#include zenMarketplace.inc.xhtml
|
||||||
</vbox>
|
</vbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -10,12 +10,10 @@
|
|||||||
<groupbox id="zenCKSGroup" data-category="paneZenCKS" hidden="true" class="highlighting-group">
|
<groupbox id="zenCKSGroup" data-category="paneZenCKS" hidden="true" class="highlighting-group">
|
||||||
<label><html:h2 data-l10n-id="zen-settings-CKS-header"/></label>
|
<label><html:h2 data-l10n-id="zen-settings-CKS-header"/></label>
|
||||||
<description class="description-deemphasized" data-l10n-id="zen-settings-CKS-description" />
|
<description class="description-deemphasized" data-l10n-id="zen-settings-CKS-description" />
|
||||||
<vbox class="indent">
|
<hbox>
|
||||||
<checkbox id="zenKSCDisableFirefoxShortcuts"
|
<button id="zenCKSResetButton" data-l10n-id="zen-settings-CKS-reset-shortcuts" class="reset-button"/>
|
||||||
data-l10n-id="zen-settings-CKS-disable-firefox"
|
</hbox>
|
||||||
preference="zen.keyboard.shortcuts.disable-firefox" />
|
<vbox id="zenCKSOption-wrapper"></vbox>
|
||||||
</vbox>
|
|
||||||
<vbox id="zenCKSOptions-wrapper"></vbox>
|
|
||||||
</groupbox>
|
</groupbox>
|
||||||
|
|
||||||
</html:template>
|
</html:template>
|
||||||
|
@@ -17,24 +17,153 @@
|
|||||||
|
|
||||||
<html:div id="zen-theme-builder-wrapper"></html:div>
|
<html:div id="zen-theme-builder-wrapper"></html:div>
|
||||||
|
|
||||||
<checkbox id="zenLooksAndFeelUseThemedToolbar"
|
<box class="indent">
|
||||||
|
<checkbox id="zenLooksAndFeelUseThemedToolbar"
|
||||||
data-l10n-id="zen-look-and-feel-themed-toolbar"
|
data-l10n-id="zen-look-and-feel-themed-toolbar"
|
||||||
preference="zen.theme.toolbar-themed"/>
|
preference="zen.theme.toolbar-themed"/>
|
||||||
|
</box>
|
||||||
|
|
||||||
<label><html:h2 data-l10n-id="zen-look-and-feel-compact-view-header"/></label>
|
<html:div id="ZenDarkThemeStyles">
|
||||||
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-compact-view-description" />
|
<html:h2 data-l10n-id="zen-dark-theme-styles-header"/>
|
||||||
|
<description class="description-deemphasized" data-l10n-id="zen-dark-theme-styles-description" />
|
||||||
<checkbox id="zenLooksAndFeelShowCompactView"
|
<form xmlns="http://www.w3.org/1999/xhtml" autocomplete="off" id="zen-dark-theme-styles-form">
|
||||||
data-l10n-id="zen-look-and-feel-compact-view-enabled"
|
<label class="web-appearance-choice">
|
||||||
preference="zen.view.compact"/>
|
<div class="web-appearance-choice-image-container">
|
||||||
<vbox class="indent">
|
<svg width="50%" height="50%" viewBox="0 0 229 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
||||||
<checkbox id="zenLooksAndFeelShowCompactViewToolbar"
|
<g id="Icon-1--Icon-2" serif:id="Icon 1, Icon 2">
|
||||||
data-l10n-id="zen-look-and-feel-compact-view-top-toolbar"
|
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
||||||
preference="zen.view.compact.hide-toolbar"/>
|
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:transparent"/>
|
||||||
</vbox>
|
</g>
|
||||||
<checkbox id="zenLooksAndFeelShowLegacyToolbar"
|
<g id="Outline">
|
||||||
data-l10n-id="zen-look-and-feel-legacy-toolbar"
|
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
||||||
preference="zen.themes.tabs.legacy-location"/>
|
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.790162,0,0,0.603645,44.881,47.2089)">
|
||||||
|
<path d="M223.674,3.228L223.674,77.954C223.674,107.819 205.151,132.065 182.335,132.065L5.913,132.065L5.913,41.506C5.913,20.38 19.016,3.228 35.155,3.228L223.674,3.228Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Top-Bar" serif:id="Top Bar">
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-7.8979,-3.64443)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,128.569,-3.64443)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.29333,0,0,1,-30.3604,4.42935)">
|
||||||
|
<path d="M149.424,24.359C149.424,26.626 148,28.467 146.247,28.467L77.764,28.467C76.01,28.467 74.587,26.626 74.587,24.359C74.587,22.091 76.01,20.25 77.764,20.25L146.247,20.25C148,20.25 149.424,22.091 149.424,24.359Z" style="fill:var(--zen-colors-primary);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Side-Bar" serif:id="Side Bar">
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,20.8338)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,44.7817)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,68.7295)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-colors-primary);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="web-appearance-choice-footer">
|
||||||
|
<input type="radio" name="web-appearance" value="amoled" data-l10n-id="preferences-web-appearance-choice-input-auto"
|
||||||
|
/><span data-l10n-id="zen-dark-theme-styles-amoled" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
<label class="web-appearance-choice">
|
||||||
|
<div class="web-appearance-choice-image-container">
|
||||||
|
<svg width="50%" height="50%" viewBox="0 0 229 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
||||||
|
<g id="Icon-1--Icon-2" serif:id="Icon 1, Icon 2">
|
||||||
|
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
||||||
|
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:color-mix(in srgb, var(--zen-colors-secondary) 17%, transparent 98%)"/>
|
||||||
|
</g>
|
||||||
|
<g id="Outline">
|
||||||
|
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
||||||
|
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.790162,0,0,0.603645,44.881,47.2089)">
|
||||||
|
<path d="M223.674,3.228L223.674,77.954C223.674,107.819 205.151,132.065 182.335,132.065L5.913,132.065L5.913,41.506C5.913,20.38 19.016,3.228 35.155,3.228L223.674,3.228Z" style="fill:none;stroke:var(--zen-colors-border);stroke-width:4.78px;"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Top-Bar" serif:id="Top Bar">
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-7.8979,-3.64443)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,128.569,-3.64443)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.29333,0,0,1,-30.3604,4.42935)">
|
||||||
|
<path d="M149.424,24.359C149.424,26.626 148,28.467 146.247,28.467L77.764,28.467C76.01,28.467 74.587,26.626 74.587,24.359C74.587,22.091 76.01,20.25 77.764,20.25L146.247,20.25C148,20.25 149.424,22.091 149.424,24.359Z" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Side-Bar" serif:id="Side Bar">
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,20.8338)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,44.7817)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,68.7295)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="web-appearance-choice-footer">
|
||||||
|
<input type="radio" name="web-appearance" value="default" data-l10n-id="preferences-web-appearance-choice-input-light"
|
||||||
|
/><span data-l10n-id="zen-dark-theme-styles-default" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
<label class="web-appearance-choice">
|
||||||
|
<div class="web-appearance-choice-image-container">
|
||||||
|
<svg width="50%" height="50%" viewBox="0 0 229 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
||||||
|
<g id="Icon-1--Icon-2" serif:id="Icon 1, Icon 2">
|
||||||
|
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
||||||
|
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:var(--zen-colors-secondary);"/>
|
||||||
|
</g>
|
||||||
|
<g id="Outline">
|
||||||
|
<g transform="matrix(0.983827,0,0,0.922551,1.56302,5.09242)">
|
||||||
|
<path d="M223.674,41.506L223.674,93.788C223.674,114.914 207.591,132.065 187.78,132.065L41.807,132.065C21.996,132.065 5.913,114.914 5.913,93.788L5.913,41.506C5.913,20.38 21.996,3.228 41.807,3.228L187.78,3.228C207.591,3.228 223.674,20.38 223.674,41.506Z" style="fill:none;stroke:var(--zen-primary-color);stroke-width:4px;"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.790162,0,0,0.603645,44.881,47.2089)">
|
||||||
|
<path d="M223.674,3.228L223.674,77.954C223.674,107.819 205.151,132.065 182.335,132.065L5.913,132.065L5.913,41.506C5.913,20.38 19.016,3.228 35.155,3.228L223.674,3.228Z" style="fill:none;stroke:var(--zen-primary-color);stroke-width:4.78px;"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Top-Bar" serif:id="Top Bar">
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-7.8979,-3.64443)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,128.569,-3.64443)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.29333,0,0,1,-30.3604,4.42935)">
|
||||||
|
<path d="M149.424,24.359C149.424,26.626 148,28.467 146.247,28.467L77.764,28.467C76.01,28.467 74.587,26.626 74.587,24.359C74.587,22.091 76.01,20.25 77.764,20.25L146.247,20.25C148,20.25 149.424,22.091 149.424,24.359Z" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Side-Bar" serif:id="Side Bar">
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,20.8338)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,44.7817)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.19149,0,0,1.19149,-25.5066,68.7295)">
|
||||||
|
<circle cx="45.459" cy="27.22" r="3.448" style="fill:var(--zen-primary-color);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="web-appearance-choice-footer">
|
||||||
|
<input type="radio" name="web-appearance" value="colorful" data-l10n-id="preferences-web-appearance-choice-input-dark"
|
||||||
|
/><span data-l10n-id="zen-dark-theme-styles-colorful" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</form>
|
||||||
|
</html:div>
|
||||||
</groupbox>
|
</groupbox>
|
||||||
|
|
||||||
<hbox id="zenThemeCategory"
|
<hbox id="zenThemeCategory"
|
||||||
@@ -54,6 +183,55 @@
|
|||||||
|
|
||||||
<label><html:h2 data-l10n-id="zen-look-and-feel-urlbar-header"/></label>
|
<label><html:h2 data-l10n-id="zen-look-and-feel-urlbar-header"/></label>
|
||||||
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-urlbar-description" />
|
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-urlbar-description" />
|
||||||
|
|
||||||
|
<label><html:h2 data-l10n-id="zen-look-and-feel-compact-view-header"/></label>
|
||||||
|
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-compact-view-description" />
|
||||||
|
|
||||||
|
<checkbox id="zenLooksAndFeelShowCompactView"
|
||||||
|
data-l10n-id="zen-look-and-feel-compact-view-enabled"
|
||||||
|
preference="zen.view.compact"/>
|
||||||
|
<html:div id="ZenCompactModeStyle">
|
||||||
|
<form xmlns="http://www.w3.org/1999/xhtml" autocomplete="off" id="zen-compact-mode-styles-form">
|
||||||
|
<label class="web-appearance-choice">
|
||||||
|
<div class="web-appearance-choice-image-container">
|
||||||
|
<div class="zen-compact-mode-styles-browser-wrapper" left="">
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="web-appearance-choice-footer">
|
||||||
|
<input type="radio" name="web-appearance" value="left" data-l10n-id="preferences-web-appearance-choice-input-auto"
|
||||||
|
/><span data-l10n-id="zen-compact-mode-styles-left" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
<label class="web-appearance-choice">
|
||||||
|
<div class="web-appearance-choice-image-container">
|
||||||
|
<div class="zen-compact-mode-styles-browser-wrapper" top="">
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="web-appearance-choice-footer">
|
||||||
|
<input type="radio" name="web-appearance" value="top" data-l10n-id="preferences-web-appearance-choice-input-light"
|
||||||
|
/><span data-l10n-id="zen-compact-mode-styles-top" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
<label class="web-appearance-choice">
|
||||||
|
<div class="web-appearance-choice-image-container">
|
||||||
|
<div class="zen-compact-mode-styles-browser-wrapper" both="">
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="web-appearance-choice-footer">
|
||||||
|
<input type="radio" name="web-appearance" value="both" data-l10n-id="preferences-web-appearance-choice-input-dark"
|
||||||
|
/><span data-l10n-id="zen-compact-mode-styles-both" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</form>
|
||||||
|
</html:div>
|
||||||
|
<vbox class="indent">
|
||||||
|
<checkbox id="zenLooksAndFeelEnableToolbarFlashPopup"
|
||||||
|
data-l10n-id="zen-look-and-feel-compact-toolbar-flash-popup"
|
||||||
|
preference="zen.view.compact.toolbar-flash-popup"/>
|
||||||
|
</vbox>
|
||||||
</groupbox>
|
</groupbox>
|
||||||
|
|
||||||
<hbox id="zenSidePanelsCategory"
|
<hbox id="zenSidePanelsCategory"
|
||||||
@@ -77,6 +255,22 @@
|
|||||||
</hbox>
|
</hbox>
|
||||||
</groupbox>
|
</groupbox>
|
||||||
|
|
||||||
|
<hbox id="zenSplitViewCategory"
|
||||||
|
class="subcategory"
|
||||||
|
hidden="true"
|
||||||
|
data-category="paneZenLooks">
|
||||||
|
<html:h1 data-l10n-id="zen-split-view-title"/>
|
||||||
|
</hbox>
|
||||||
|
|
||||||
|
<groupbox id="zenSplitViewGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
|
||||||
|
<label><html:h2 data-l10n-id="zen-split-view-header"/></label>
|
||||||
|
<description class="description-deemphasized" data-l10n-id="zen-split-view-description" />
|
||||||
|
|
||||||
|
<checkbox id="zenLooksAndFeelSplitViewChangeOnHover"
|
||||||
|
data-l10n-id="zen-split-view-change-on-hover"
|
||||||
|
preference="zen.view.split-view.change-on-hover"/>
|
||||||
|
</groupbox>
|
||||||
|
|
||||||
<hbox id="zenVerticalTabsCategory"
|
<hbox id="zenVerticalTabsCategory"
|
||||||
class="subcategory"
|
class="subcategory"
|
||||||
hidden="true"
|
hidden="true"
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
<script src="chrome://browser/content/zen-components/ZenThemesCommon.mjs" defer=""/>
|
||||||
<html:template id="template-paneZenMarketplace">
|
<html:template id="template-paneZenMarketplace">
|
||||||
<hbox id="ZenMarketplaceCategory"
|
<hbox id="ZenMarketplaceCategory"
|
||||||
class="subcategory"
|
class="subcategory"
|
||||||
|
@@ -0,0 +1,64 @@
|
|||||||
|
<html:template id="template-paneZenTabManagement">
|
||||||
|
<hbox id="ZenWorkspacesCategory"
|
||||||
|
class="subcategory"
|
||||||
|
hidden="true"
|
||||||
|
data-category="paneZenTabManagement">
|
||||||
|
<html:h1 data-l10n-id="pane-workspaces-title"/>
|
||||||
|
</hbox>
|
||||||
|
|
||||||
|
<hbox id="zenSidePanelsCategory"
|
||||||
|
class="subcategory"
|
||||||
|
hidden="true"
|
||||||
|
data-category="paneZenTabManagement">
|
||||||
|
<html:h1 data-l10n-id="pane-settings-workspaces-title"/>
|
||||||
|
</hbox>
|
||||||
|
|
||||||
|
<groupbox id="zenWorkspacesGroup" data-category="paneZenTabManagement" hidden="true" class="highlighting-group">
|
||||||
|
<label><html:h2 data-l10n-id="zen-settings-workspaces-header"/></label>
|
||||||
|
<description class="description-deemphasized" data-l10n-id="zen-settings-workspaces-description" />
|
||||||
|
|
||||||
|
<checkbox id="zenWorkspacesActivate"
|
||||||
|
data-l10n-id="zen-settings-workspaces-enabled"
|
||||||
|
preference="zen.workspaces.enabled"/>
|
||||||
|
<vbox class="indent">
|
||||||
|
<checkbox id="zenWorkspacesHideDefaultContainer"
|
||||||
|
data-l10n-id="zen-settings-workspaces-hide-default-container-indicator"
|
||||||
|
preference="zen.workspaces.hide-default-container-indicator"/>
|
||||||
|
<checkbox id="zenWorkspacesAllowPinnedTabsForDifferentWorkspaces"
|
||||||
|
data-l10n-id="zen-settings-workspaces-allow-pinned-tabs-for-different-workspaces"
|
||||||
|
preference="zen.workspaces.individual-pinned-tabs"/>
|
||||||
|
<checkbox id="zenWorkspacesDisplayAsIconStrip"
|
||||||
|
data-l10n-id="zen-settings-workspaces-display-as-icon-strip"
|
||||||
|
preference="zen.workspaces.show-icon-strip"/>
|
||||||
|
</vbox>
|
||||||
|
</groupbox>
|
||||||
|
|
||||||
|
<hbox id="zenTabsUnloadCategory"
|
||||||
|
class="subcategory"
|
||||||
|
hidden="true"
|
||||||
|
data-category="paneZenTabManagement">
|
||||||
|
<html:h1 data-l10n-id="pane-zen-tabs-unloader-title"/>
|
||||||
|
</hbox>
|
||||||
|
|
||||||
|
<groupbox id="zenTabsUnloadGroup" data-category="paneZenTabManagement" hidden="true" class="highlighting-group">
|
||||||
|
<label><html:h2 data-l10n-id="zen-tabs-unloader-header"/></label>
|
||||||
|
<description class="description-deemphasized" data-l10n-id="zen-tabs-unloader-description" />
|
||||||
|
|
||||||
|
<checkbox id="zenTabsUnloadActivate"
|
||||||
|
data-l10n-id="zen-tabs-unloader-enabled"
|
||||||
|
preference="zen.tab-unloader.enabled"/>
|
||||||
|
|
||||||
|
<label><html:h2 data-l10n-id="zen-tabs-unloader-unload-delay"/></label>
|
||||||
|
<hbox id="zenTabsUnloadDelayContainer">
|
||||||
|
<description class="description-deemphasized" data-l10n-id="zen-tabs-unloader-unload-delay-description" />
|
||||||
|
<html:input id="zenTabsUnloadDelay"
|
||||||
|
type="number"
|
||||||
|
min="1"
|
||||||
|
max="1000"
|
||||||
|
preference="zen.tab-unloader.timeout-minutes"/>
|
||||||
|
</hbox>
|
||||||
|
</groupbox>
|
||||||
|
|
||||||
|
</html:template>
|
||||||
|
|
||||||
|
|
@@ -1,25 +0,0 @@
|
|||||||
<html:template id="template-paneZenWorkspaces">
|
|
||||||
<hbox id="ZenWorkspacesCategory"
|
|
||||||
class="subcategory"
|
|
||||||
hidden="true"
|
|
||||||
data-category="paneZenWorkspaces">
|
|
||||||
<html:h1 data-l10n-id="pane-workspaces-title"/>
|
|
||||||
</hbox>
|
|
||||||
|
|
||||||
<hbox id="zenSidePanelsCategory"
|
|
||||||
class="subcategory"
|
|
||||||
hidden="true"
|
|
||||||
data-category="paneZenWorkspaces">
|
|
||||||
<html:h1 data-l10n-id="pane-settings-workspaces-title"/>
|
|
||||||
</hbox>
|
|
||||||
|
|
||||||
<groupbox id="zenSidePanelsGroup" data-category="paneZenWorkspaces" hidden="true" class="highlighting-group">
|
|
||||||
<label><html:h2 data-l10n-id="zen-settings-workspaces-header"/></label>
|
|
||||||
<description class="description-deemphasized" data-l10n-id="zen-settings-workspaces-description" />
|
|
||||||
|
|
||||||
<checkbox id="zenWorkspacesActivate"
|
|
||||||
data-l10n-id="zen-settings-workspaces-enabled"
|
|
||||||
preference="zen.workspaces.enabled"/>
|
|
||||||
</groupbox>
|
|
||||||
|
|
||||||
</html:template>
|
|
@@ -1,12 +1,13 @@
|
|||||||
diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs
|
diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs
|
||||||
index 26f5671c849d9b0a126d79b07bc7d3d7870826ec..decc4c975507c9111df78dbc43434fa46d5f5e82 100644
|
index 26f5671c849d9b0a126d79b07bc7d3d7870826ec..26f80d69a28f1196096e67a0e628a69b5b367727 100644
|
||||||
--- a/browser/components/sessionstore/TabState.sys.mjs
|
--- a/browser/components/sessionstore/TabState.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/TabState.sys.mjs
|
+++ b/browser/components/sessionstore/TabState.sys.mjs
|
||||||
@@ -98,6 +98,8 @@ var TabStateInternal = {
|
@@ -98,6 +98,9 @@ var TabStateInternal = {
|
||||||
tabData.muteReason = tab.muteReason;
|
tabData.muteReason = tab.muteReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ tabData.zenWorkspace = tab.getAttribute("zen-workspace-id");
|
+ tabData.zenWorkspace = tab.getAttribute("zen-workspace-id");
|
||||||
|
+ tabData.zenDefaultUserContextId = tab.getAttribute("zenDefaultUserContextId");
|
||||||
+
|
+
|
||||||
tabData.searchMode = tab.ownerGlobal.gURLBar.getSearchMode(browser, true);
|
tabData.searchMode = tab.ownerGlobal.gURLBar.getSearchMode(browser, true);
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||||
index d05d561b6d01b11a36c762fc39dc13e14181bce7..b3aaf776c1fdeb1c02f88f2e8d5f424215b2cc26 100644
|
index 8b4f22ebc13fd013b82e9544dabcbe53d4429c13..22d21bcb825d35648213945bd4275d37b5c10a11 100644
|
||||||
--- a/browser/components/sidebar/browser-sidebar.js
|
--- a/browser/components/sidebar/browser-sidebar.js
|
||||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||||
@@ -446,7 +446,7 @@ var SidebarController = {
|
@@ -473,7 +473,7 @@ var SidebarController = {
|
||||||
*/
|
*/
|
||||||
setPosition() {
|
setPosition() {
|
||||||
// First reset all ordinals to match DOM ordering.
|
// First reset all ordinals to match DOM ordering.
|
||||||
@@ -11,7 +11,7 @@ index d05d561b6d01b11a36c762fc39dc13e14181bce7..b3aaf776c1fdeb1c02f88f2e8d5f4242
|
|||||||
[...browser.children].forEach((node, i) => {
|
[...browser.children].forEach((node, i) => {
|
||||||
node.style.order = i + 1;
|
node.style.order = i + 1;
|
||||||
});
|
});
|
||||||
@@ -460,9 +460,11 @@ var SidebarController = {
|
@@ -487,9 +487,11 @@ var SidebarController = {
|
||||||
let boxOrdinal = this._box.style.order;
|
let boxOrdinal = this._box.style.order;
|
||||||
this._box.style.order = appcontent.style.order;
|
this._box.style.order = appcontent.style.order;
|
||||||
|
|
||||||
@@ -25,11 +25,11 @@ index d05d561b6d01b11a36c762fc39dc13e14181bce7..b3aaf776c1fdeb1c02f88f2e8d5f4242
|
|||||||
// Indicate we've switched ordering to the box
|
// Indicate we've switched ordering to the box
|
||||||
this._box.setAttribute("positionend", true);
|
this._box.setAttribute("positionend", true);
|
||||||
sidebarMain.setAttribute("positionend", true);
|
sidebarMain.setAttribute("positionend", true);
|
||||||
@@ -471,6 +473,8 @@ var SidebarController = {
|
@@ -498,6 +500,8 @@ var SidebarController = {
|
||||||
this._box.removeAttribute("positionend");
|
this._box.removeAttribute("positionend");
|
||||||
sidebarMain.removeAttribute("positionend");
|
sidebarMain.removeAttribute("positionend");
|
||||||
sidebarContainer.removeAttribute("positionend");
|
sidebarContainer.removeAttribute("positionend");
|
||||||
+ this._box.style.order = 0;
|
+ this._box.style.order = 1;
|
||||||
+ this._splitter.style.removeProperty("margin-right");
|
+ this._splitter.style.removeProperty("margin-right");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user