Compare commits

...

285 Commits

Author SHA1 Message Date
mauro-balades
7b836d1232 chore: Update right-side compact mode CSS for vertical tabs 2024-08-31 00:50:21 +02:00
mauro 🤙
00e0892c31 Merge pull request #1113 from damianfijorek/bugfix/1073
Fix vertical tabs on the right overflow.
2024-08-31 00:49:06 +02:00
mauro 🤙
c44b844770 Merge branch 'main' into bugfix/1073 2024-08-31 00:48:53 +02:00
mauro-balades
2cdb14c184 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-31 00:45:21 +02:00
mauro-balades
912aeba7b4 Enable hardware acceleration and web rendering for improved performance and rendering quality. 2024-08-31 00:45:15 +02:00
Damian Fijorek
10aad8c6ed Fix vertical tabs on the right overflow. 2024-08-30 22:00:40 +00:00
mauro 🤙
296cb9c44f Merge pull request #1111 from NOCanoa/main
Added logo to repo fix loading issue
2024-08-30 23:26:21 +02:00
mauro-balades
619d54ddc6 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-30 23:10:08 +02:00
mauro-balades
c0923fbe0a chore: Remove unnecessary styles from ZenStartup.mjs 2024-08-30 23:10:02 +02:00
NOCanoa
689789f2e9 Update README.md 2024-08-30 22:07:18 +01:00
NOCanoa
2eaf348eda Add files via upload 2024-08-30 22:06:50 +01:00
mauro 🤙
1f25a3c502 Merge pull request #1103 from NOCanoa/main
readme update merge pls
2024-08-30 21:55:30 +02:00
mauro 🤙
4d9d8be4a4 Merge pull request #1104 from Aiz0/main
docs(readme): correct spelling of couldn't
2024-08-30 21:37:03 +02:00
Aiz
7bf5aa2015 docs(readme): correct spelling of couldn't 2024-08-30 21:29:31 +02:00
NOCanoa
c2762c4eb9 Delete performance.md 2024-08-30 20:12:25 +01:00
NOCanoa
f5f3792165 readme update merge now 2024-08-30 20:07:57 +01:00
mauro-balades
212e6e4bf8 Fix https://github.com/zen-browser/desktop/issues/1081 2024-08-30 13:53:45 +02:00
mauro-balades
ca6f7c0b3a Remove unused SVG files 2024-08-30 13:17:46 +02:00
mauro-balades
70df8829fb Let's see if this makes it faster 2024-08-30 12:11:03 +02:00
mauro-balades
b586880d44 fix building themes on preferences 2024-08-30 11:47:13 +02:00
mauro-balades
758a5cc44a Updated surfer 2024-08-30 10:52:11 +02:00
mauro-balades
985a3f433c Allowed moving around web panel pages 2024-08-30 10:07:31 +02:00
mauro-balades
95545dcec9 test macos 2024-08-30 09:30:46 +02:00
mauro-balades
541d2f7baa test macos builds 2024-08-30 09:10:26 +02:00
mauro-balades
b5566038e2 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-30 02:14:15 +02:00
mauro-balades
bcf8b190d7 Fixed svg 2024-08-30 02:14:02 +02:00
mauro-balades
3ad9874ded 🔖 Update version to 1.0.0-a.33 2024-08-29 22:41:47 +00:00
mauro-balades
32ef547349 Added label pansion for "expand on hover" prefs 2024-08-30 00:37:29 +02:00
mauro-balades
9ad90e7298 Compact mode now takes element separation into account 2024-08-29 22:26:01 +02:00
mauro-balades
f2a8c3665d Merge branch 'main' of https://github.com/zen-browser/core 2024-08-29 21:52:40 +02:00
mauro-balades
98e97585e1 Update submodules 2024-08-29 21:52:33 +02:00
mauro-balades
fcb95175de Fix opening links from external apps 2024-08-29 21:51:47 +02:00
mauro 🤙
63bf09bc3c Merge pull request #1011 from bw8686/patch-4
Enable https only by default.
2024-08-29 21:19:32 +02:00
mauro-balades
b39570d9e5 Fix opening links from external apps 2024-08-29 21:09:09 +02:00
mauro 🤙
d83908bcff Merge pull request #1031 from notsatvrn/main
URL bar improvements
2024-08-29 20:35:44 +02:00
satvrn
a7f6a1ef4f use a better bg color for selected result 2024-08-28 22:20:52 -07:00
satvrn
f849bc0a1a move a line 2024-08-28 22:14:31 -07:00
satvrn
dd5d8dce77 URL bar improvements 2024-08-28 22:00:52 -07:00
bw8686
82f933af93 okfinishlol 2024-08-28 20:09:57 +01:00
bw8686
52485459a9 common-sense.exe is not responding... 2024-08-28 19:56:47 +01:00
bw8686
6a4e81d1a1 quickie 2024-08-28 19:55:51 +01:00
bw8686
9b3afb58cd revert 2024-08-28 19:54:41 +01:00
bw8686
802a7300e0 certified idiot 2024-08-28 17:49:21 +01:00
bw8686
87ca7d2d73 Enable https by default. 2024-08-28 17:46:10 +01:00
bw8686
1cdb0404fd Fix policies for updates. 2024-08-28 17:34:29 +01:00
mauro-balades
09b3197aa4 🔖 Update version to 1.0.0-a.32 2024-08-28 09:14:01 +00:00
mauro-balades
4fe83e8f25 Add https:// scheme if URL doesn't contain one 2024-08-28 11:07:28 +02:00
mauro-balades
b8361cc8ea Fix opening URLs in windows 2024-08-28 10:46:11 +02:00
mauro-balades
ac37939c6e Fix theme store API 2024-08-28 10:05:50 +02:00
mauro-balades
81a2b5b874 Fixed split view shortcuts 2024-08-27 20:58:06 +02:00
mauro-balades
094295ba93 chore: Update margin for #tabbrowser-arrowscrollbox in vertical-tabs.css 2024-08-27 20:51:41 +02:00
mauro 🤙
7bea297965 Merge pull request #968 from elianiva/fix/right-side-compact-tab
fix: right-side tabs was incorrectly positioned on compact mode
2024-08-27 20:29:20 +02:00
elianiva
378ea1cab1 fix: right-side tabs was incorrectly positioned on compact mode 2024-08-27 23:37:45 +07:00
mauro-balades
f22e1f6503 Update subproject commit reference 2024-08-27 18:06:13 +02:00
mauro-balades
0345322c06 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-27 18:04:53 +02:00
mauro-balades
61cf75f84c chore: Update tabbrowser/tabs.css to fix positioning issue 2024-08-27 18:04:34 +02:00
mauro-balades
866b9d74ef 🔖 Update version to 1.0.0-a.31 2024-08-27 15:17:22 +00:00
mauro-balades
d5bbcd0617 chore: Update @zen-browser/surfer dependency to version 1.3.5 2024-08-27 17:14:35 +02:00
mauro 🤙
78fa236bec Merge pull request #928 from Donnnno/beta
fix for beta wordmark
2024-08-26 21:39:19 +02:00
Donno
35fb5f510e fix for beta wordmark 2024-08-26 21:26:08 +02:00
mauro 🤙
cc340432ba Merge pull request #927 from Retold3202/patch-1
Fix Backdoor
2024-08-26 21:22:26 +02:00
Retold3202
d87315da49 Fix Backdoor
For some reason, Zen is currently not only exposing Remote Debugging... but also disabling prompting for it?

This is very concerning from a security perspective and quite literally acts as a backdoor - You can see here: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/16222 & here: https://firefox-source-docs.mozilla.org/devtools/backend/protocol.html for some details

Not even Firefox Developer Edition enables these prefs by default. Respectfully, I have no idea what your team was thinking flipping them, and I seriously have to question the motives here. I hope that this was simply incompetence & not malicious, but it is concerning regardless. The browser is one of the, if not the most security critical component in our lives. Treating it as a hobbyist project like this is unacceptable. Please do better in the future.

There's various other prefs I think are highly questionable that I'll leave feedback for separately - But this was the most severe & needed to be taken care of ASAP.
2024-08-26 19:21:05 +00:00
mauro 🤙
bf4e47f8fb Merge pull request #903 from Donnnno/new-assets-2
new private browser indicator icons, and wordmark fixes
2024-08-26 15:01:08 +02:00
Donno
162a98fd1b new private browser indicator icons, and wordmark fixes 2024-08-26 14:57:57 +02:00
Mauro Balades
a6aeafa668 chore: Update subproject commit reference 2024-08-26 14:16:20 +02:00
mauro 🤙
31bd7b14dd Merge pull request #900 from bw8686/patch-2
Fix on hover causing the page to shift ever so slightly
2024-08-26 14:11:54 +02:00
Mauro Balades
ab793ff424 chore: Update @zen-browser/surfer dependency to version 1.3.5 2024-08-26 13:56:21 +02:00
bw8686
043755c1a0 fix it lol 2024-08-26 12:47:59 +01:00
mauro-balades
42a0140d8d 🔖 Update version to 1.0.0-a.30 2024-08-26 11:29:57 +00:00
mauro 🤙
ed923b73cc Merge pull request #719 from bw8686/patch-1
Add animation to on hover open.
2024-08-26 12:26:19 +02:00
mauro 🤙
06adcdbcb6 Merge pull request #739 from n7itro/main
fix collapsed tab shifting when audio playing
2024-08-26 11:37:45 +02:00
nitro
7f4265dfe4 fix collapsed tab shifting when audio playing
Fixes #608 as tested in browser toolbox
2024-08-26 11:36:00 +02:00
Mauro Balades
cd3a09d26b no more enhancements 2024-08-26 10:00:50 +02:00
Mauro Balades
09585654ee chore: Update updateHostname in mozconfig and surfer.json 2024-08-26 09:47:35 +02:00
bw8686
67bc214cc9 Add animation to on hover open. 2024-08-26 03:26:11 +01:00
Mauro Balades
4cef2dd304 chore: Comment out MOZ_PACKAGE_JSSHELL in mozconfig 2024-08-26 00:19:38 +02:00
Mauro Balades
c313c95c81 remove test 2024-08-25 23:18:45 +02:00
Mauro Balades
7427fa0017 TEST 2024-08-25 23:18:25 +02:00
Mauro Balades
10c10523f1 chore: Comment out MOZ_PACKAGE_JSSHELL in mozconfig 2024-08-25 23:18:04 +02:00
Mauro Balades
21c537f000 refactor: Fix opening dialogs when tabs are expanded on hover (#652) 2024-08-25 23:08:43 +02:00
Mauro Balades
4920433736 refactor: Update ZenKeyboardShortcuts to use 'vsep' instead of 'vsplit' for vertical split view action 2024-08-25 22:34:40 +02:00
Mauro Balades
57e2c4af0a Merge branch 'main' of https://github.com/zen-browser/core 2024-08-25 22:27:13 +02:00
Mauro Balades
9652725e84 chore: Comment out MOZ_PACKAGE_JSSHELL in mozconfig 2024-08-25 22:27:07 +02:00
mauro 🤙
21635d9d63 Merge pull request #694 from upsidedownsweetfood/desktop-desc
chore: Adding description to .desktop file
2024-08-25 22:24:54 +02:00
Mauro Balades
c7845a8e8f remove test 2024-08-25 21:59:56 +02:00
Mauro Balades
c0aa1664cb test 2024-08-25 21:59:35 +02:00
Mauro Balades
f72e38fd54 test 2024-08-25 21:59:17 +02:00
GlaDOS
d39ae862d6 chore: Adding description to .desktop file 2024-08-25 21:46:22 +02:00
Mauro Balades
00d0eb8fc8 chore: Add "zen-dont-hide-on-fullscreen" class to toolbar elements in sidebar 2024-08-25 21:30:41 +02:00
mauro 🤙
80866de5fe Merge pull request #628 from gunir/patch-7
Exposes Letterboxing https://github.com/zen-browser/desktop/issues/475
2024-08-25 21:21:32 +02:00
Mauro Balades
3dbb8a9bc2 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-25 21:08:45 +02:00
Mauro Balades
a47edaefaa Merge branch 'katedickey-main' 2024-08-25 21:08:31 +02:00
Mauro Balades
0c7dbbc2c6 Merge branch 'main' of https://github.com/katedickey/zen-browser-desktop into katedickey-main 2024-08-25 21:08:24 +02:00
Katelyn Dickey
45515149e0 feat(workspaces): make workspaces creation flow a single step 2024-08-25 12:53:39 -04:00
Katelyn Dickey
b8da76745d fix(workspaces): add a lil gap between icon and name in the workspaces button 2024-08-25 12:50:42 -04:00
Katelyn Dickey
7d55d670ee feat(workspaces): allow users to edit existing workspaces 2024-08-25 12:25:36 -04:00
mauro 🤙
a74ec9650c Merge pull request #669 from Swissbite/#619-ScreenSaver-Bus-communication
Fix #619 - Add flatpak session bus comminucation to org.freedesktop.ScreenSaver
2024-08-25 15:56:00 +02:00
David Daester
fdb5627da6 Fix Flatpak - Screensaver starts while a video is running in full screen mode #619 2024-08-25 13:45:58 +00:00
mauro 🤙
60687d6b03 Merge pull request #658 from qtchaos/fix(pref-typo)
fix: remove a typo in the update details url
2024-08-25 13:48:20 +02:00
Mauro Balades
dd68add538 chore: Update l10n submodule commit 2024-08-25 13:03:10 +02:00
chaos
ea34bec55a fix: remove a typo in the update details url 2024-08-25 13:18:15 +03:00
Mauro Balades
3def55d48b Started checking for themes updates 2024-08-25 11:27:27 +02:00
Mauro Balades
5c4c3e6fb2 chore: Update l10n submodule commit 2024-08-25 01:59:51 +02:00
Gunir
c0d101aef0 Exposes Letterboxing https://github.com/zen-browser/desktop/issues/475
Exposes Letterboxing https://github.com/zen-browser/desktop/issues/475
2024-08-25 06:32:59 +07:00
Mauro Balades
cc022ddd2f chore: Update l10n submodule commit 2024-08-25 00:18:54 +02:00
Mauro Balades
511ca88aec chore: Update l10n submodule commit 2024-08-24 23:36:29 +02:00
Mauro Balades
9217e32439 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-24 23:34:31 +02:00
Mauro Balades
2444bb04fc chore: Update l10n submodule commit 2024-08-24 23:34:21 +02:00
mauro 🤙
c502719bd7 Merge pull request #618 from katedickey/main
Enable workspace scrolling
2024-08-24 22:30:46 +02:00
Katelyn Dickey
d3a9ec4b3c fix: enable scrolling on workspaces list 2024-08-24 16:14:28 -04:00
Katelyn Dickey
8a646bcc95 fix: stop workspace icons from shrinking 2024-08-24 16:12:50 -04:00
Mauro Balades
92959769df Merge branch 'main' of https://github.com/zen-browser/core 2024-08-24 17:52:51 +02:00
Mauro Balades
e4d56fd7d9 chore: Disable multilingual dictionary download 2024-08-24 17:52:46 +02:00
mauro-balades
b77f864668 🔖 Update version to 1.0.0-a.29 2024-08-24 14:52:37 +00:00
mauro 🤙
e02a44b20b Merge pull request #545 from Moshyfawn/main
Align Theme Store layout
2024-08-24 16:51:53 +02:00
Mauro Balades
eb2d91256f Update l10n submodule commit 2024-08-24 16:50:56 +02:00
Mauro Balades
ff9876ebac Update l10n submodule commit 2024-08-24 16:50:28 +02:00
moshyfawn
d6ddb542e9 Merge branch 'main' into main 2024-08-24 10:12:19 -04:00
Mauro Balades
8ba6ba14e8 refactor: Update ZenKeyboardShortcuts to use gZenUIManager.createValidXULText for key attribute 2024-08-24 15:17:11 +02:00
Mauro Balades
6c58c9d61c remove test 2024-08-24 14:40:02 +02:00
Mauro Balades
6f0609dd8c test 2024-08-24 14:39:35 +02:00
Mauro Balades
ebba41c735 chore: Remove MOZ_CRASHREPORTER option from mozconfig 2024-08-24 14:39:19 +02:00
Mauro Balades
65e040d987 Update l10n submodule commit 2024-08-24 14:31:39 +02:00
Mauro Balades
29a85db998 Update l10n submodule commit 2024-08-24 14:14:05 +02:00
Mauro Balades
d50a745e95 Update l10n submodule commit 2024-08-24 13:59:17 +02:00
mauro 🤙
a5854174c7 Merge pull request #570 from n7itro/patch-1
fix 2 obsolete/broken links
2024-08-24 13:46:21 +02:00
nitro
5ef37aa079 fix 2 obsolete/broken links
Thanks for adding me btw!
2024-08-24 13:45:24 +02:00
mauro 🤙
4c622d1429 Merge pull request #567 from lamteteeow/patch-1
Fix performance.md typo
2024-08-24 13:04:38 +02:00
Mauro Balades
5593e7c437 Fixed hovering tabs, changing the viewport width 2024-08-24 13:04:03 +02:00
Lam Tran
940bbae367 Update performance.md
just typo
2024-08-24 12:52:31 +02:00
Mauro Balades
4d8558929c chore: Update zen-compact-mode.css for improved navigation toolbar styling 2024-08-24 12:33:18 +02:00
Mauro Balades
c05547248f chore: Update l10n submodule commit 2024-08-24 12:18:20 +02:00
Mauro Balades
1a5e788476 chore: Update @zen-browser/surfer dependency to version 1.3.4 2024-08-24 12:01:59 +02:00
mauro 🤙
0af7b8b5b6 Merge pull request #557 from dewantawsif/chore/feature-request-template-improvement
Improve the feature request issue template
2024-08-24 11:45:20 +02:00
Mauro Balades
95e444c31c chore: Update @zen-browser/surfer dependency to version 1.3.3 2024-08-24 10:49:36 +02:00
Dewan Tawsif
b011ad3de9 Improve the feature request issue template 2024-08-24 14:15:15 +06:00
Mauro Balades
ff188e0e1c chore: Update zen-compact-mode.css for improved navigation toolbar styling 2024-08-24 10:08:37 +02:00
moshyfawn
5ef88531d2 fix(Settings, Look and Feel): theme store box alignment
Closes #544
2024-08-24 00:02:31 -04:00
Mauro Balades
410c875151 remove test 2024-08-24 02:31:06 +02:00
Mauro Balades
bbad093d64 test 2024-08-24 02:30:48 +02:00
Mauro Balades
e7103f1d87 chore: Update l10n submodule commit 2024-08-24 02:28:42 +02:00
mauro 🤙
d9c3973b9d Merge pull request #535 from Lenni-builder/patch-1
Fix typo/error in README
2024-08-24 01:13:40 +02:00
Mauro Balades
d65681505d chore: Update l10n submodule commit 2024-08-24 00:14:20 +02:00
Lenni
739eff84f2 Fix typo/error in README 2024-08-24 00:04:49 +02:00
Mauro Balades
d5e7d0c36f chore: Update @zen-browser/surfer dependency to version 1.3.1 2024-08-23 22:49:51 +02:00
Mauro Balades
90ca6ea99a chore: Update l10n submodule commit 2024-08-23 22:40:46 +02:00
Mauro Balades
fdb4696066 chore: Update zen-components submodule commit 2024-08-23 22:28:39 +02:00
Mauro Balades
22a5dcddf3 chore: Update zen-components submodule commit 2024-08-23 19:57:18 +02:00
Mauro Balades
47ba86f211 Fixed workspaces (closes #439) 2024-08-23 19:53:35 +02:00
Mauro Balades
e2e7756649 chore: Update l10n submodule path in mozconfig and package.json 2024-08-23 16:56:16 +02:00
Mauro Balades
85b605db14 chore: Add submodule for l10n packs 2024-08-23 15:20:08 +02:00
Mauro Balades
cf48a52949 chore: Add multi-locale support to mozconfig 2024-08-23 14:32:24 +02:00
Mauro Balades
dfde0f4baa feat: Add horizontal tabs style for Zen browser 2024-08-23 13:30:50 +02:00
Mauro Balades
31b41329f2 Added support for multitab splitting with the shortcuts 2024-08-23 12:55:16 +02:00
Mauro Balades
f856d9db6d Merge branch 'main' of https://github.com/zen-browser/core 2024-08-23 12:27:47 +02:00
Mauro Balades
4187e20fbc Split views now add missing tabs to the group 2024-08-23 12:27:08 +02:00
mauro 🤙
54b4f6e932 Merge pull request #464 from gunir/patch-6
Disable Edge font style for Mac and Linux
2024-08-23 09:03:50 +02:00
Gunir
bcabada80e Update zen-browser.js 2024-08-23 11:16:13 +07:00
Gunir
5c1decc77b Disable Edge font style for Mac
Disable Edge font style for Mac
2024-08-23 08:27:02 +07:00
mauro 🤙
04af43909e Update README.md 2024-08-23 01:32:38 +02:00
mauro 🤙
e808443631 Update vertical-tabs.css 2024-08-22 23:14:57 +02:00
Mauro Balades
a47023e0f3 Reverted back version 2024-08-22 20:36:56 +02:00
Mauro Balades
ae9c99c7bc Fixed changing workspaces again 2024-08-22 20:34:42 +02:00
Mauro Balades
187688e6ea Fixed closing workspaces 2024-08-22 20:23:49 +02:00
mauro-balades
7854e26823 🔖 Update version to 1.0.0-a.29 2024-08-22 14:32:49 +00:00
Mauro Balades
d38eb962de Added support for mode branding icons! 2024-08-22 16:24:36 +02:00
mauro 🤙
b2c2a134b0 Merge pull request #400 from Donnnno/assets
new assets
2024-08-22 16:12:39 +02:00
Mauro Balades
4874b4a1cd Merge branch 'main' of https://github.com/zen-browser/core 2024-08-22 16:11:36 +02:00
Mauro Balades
983e85033f Added "open split view in new tab" context menu button 2024-08-22 16:11:31 +02:00
mauro-balades
38e6f075f4 🔖 Update version to 1.0.0-a.28 2024-08-22 12:05:32 +00:00
Mauro Balades
4146ad0936 Focus URL bar on startup 2024-08-22 14:04:21 +02:00
Mauro Balades
cf2435081a chore: Update browser preferences for content blocking and update check time 2024-08-22 13:28:23 +02:00
Mauro Balades
e6f8eede34 -Started working on translations 2024-08-22 12:41:55 +02:00
Mauro Balades
72f76608b6 Fixed #426 2024-08-22 12:09:03 +02:00
Mauro Balades
4eb07c762a Fixed license link 2024-08-22 11:04:34 +02:00
Mauro Balades
bbb4b64940 chore: Update subproject commit reference in zen-components 2024-08-22 10:49:59 +02:00
Mauro Balades
cac80a2985 Fixed top padding for compact sidebar 2024-08-22 10:21:41 +02:00
Mauro Balades
ca1a63dbf1 Fixed sidebar shortcuts 2024-08-22 10:15:24 +02:00
Mauro Balades
31fb9296c7 chore: Update zen-browser-container.css for webview border radius 2024-08-22 09:50:44 +02:00
mauro 🤙
7dd3e08409 Merge pull request #402 from dewantawsif/fix/bug-report-template-name
[skip ci] Fix "Bug Report" issue template name
2024-08-21 23:19:34 +02:00
Dewan Tawsif
b537e5566a [skip ci] Fix "Bug Report" issue template name 2024-08-22 03:13:28 +06:00
Mauro Balades
5dd2a90f46 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-21 23:11:00 +02:00
Mauro Balades
034f351ac6 Update subproject commit reference in zen-components 2024-08-21 23:10:54 +02:00
Donno
195b215f5b oops 2024-08-21 22:48:31 +02:00
Donno
74d1385566 new assets 2024-08-21 22:40:28 +02:00
mauro-balades
957fe60a3d 🔖 Update version to 1.0.0-a.27 2024-08-21 20:07:59 +00:00
Mauro Balades
5ac6cf4465 chore: Update vertical tabs order in zen-tabs CSS 2024-08-21 20:55:58 +02:00
Mauro Balades
29d9c85923 chore: Update subproject commit reference in zen-components 2024-08-21 20:48:15 +02:00
Mauro Balades
78729d44de chore: Disable mozilla's settings in zen-preferences.css 2024-08-21 20:32:44 +02:00
Mauro Balades
483bee452e chore: Update subproject commit reference in zen-components 2024-08-21 20:23:43 +02:00
Mauro Balades
8a87e3a0af Enabled JPEG XL 2024-08-21 09:44:21 +02:00
Mauro Balades
07283e1050 chore: Improve compact mode and vertical tabs styling 2024-08-21 09:40:27 +02:00
mauro-balades
1eaf6e49ef 🔖 Update version to 1.0.0-a.26 2024-08-20 20:22:04 +00:00
Mauro Balades
c40d56b3b8 chore: Update @zen-browser/surfer dependency to version 1.2.14 2024-08-20 22:20:36 +02:00
mauro 🤙
ed7ad501b7 Merge pull request #357 from Donnnno/the-icon-fixening
windows icons fix
2024-08-20 22:17:12 +02:00
Donno
964e0733b1 ff64 2024-08-20 22:06:30 +02:00
Mauro Balades
c319a83d58 refactor: Update ZenWorkspaces to enable setting default workspace and opening workspaces 2024-08-20 22:00:49 +02:00
Mauro Balades
4589c543da chore: Update CSS to improve compact mode and vertical tabs styling 2024-08-20 21:36:56 +02:00
Donno
0c3930425a windows icons fix 2024-08-20 20:56:14 +02:00
mauro-balades
2f790586b2 🔖 Update version to 1.0.0-a.25 2024-08-20 16:10:22 +00:00
Mauro Balades
7d3b47f4f6 chore: Update vertical-tabs.css to set max-width to 100% 2024-08-20 18:09:14 +02:00
Mauro Balades
69a1e0f1b9 chore: Refactor zen-settings.js to improve preference handling 2024-08-20 18:00:23 +02:00
Mauro Balades
f78ad97710 Update Firefox version to 129.0.2 2024-08-20 17:44:43 +02:00
Mauro Balades
984e29f4cd chore: Remove unnecessary Python 3.12 commands and files from macOS alpha build workflow 2024-08-20 14:00:23 +02:00
Mauro Balades
72c535b039 chore: Update macOS alpha build workflow to remove unnecessary Python 3.12 commands and files 2024-08-20 13:59:23 +02:00
Mauro Balades
000c41038d chore: Update macOS alpha build workflow to install Python 3.11 and add watchman 2024-08-20 13:17:21 +02:00
Mauro Balades
776c9f69d5 chore: Update macOS alpha build workflow to bootstrap the engine with --no-system-changes flag 2024-08-20 12:31:01 +02:00
Mauro Balades
b38acdd8be chore: Update vertical-tabs.css to set max-width to 100% 2024-08-20 12:23:47 +02:00
Mauro Balades
c8ad6cb70e chore: Update macOS alpha build workflow to remove unnecessary Python 3.12 commands and files 2024-08-20 12:04:21 +02:00
Mauro Balades
bb6113f221 chore: Update macOS alpha build workflow to completely uninstall python3 and python3.12 with --ignore-dependencies flag 2024-08-20 11:33:43 +02:00
Mauro Balades
83d91ea38c chore: Update zen-compact-mode.css to fix padding and titlebar width 2024-08-20 11:30:51 +02:00
Mauro Balades
481687bdab chore: Update macOS alpha build workflow to install Python 3.11 instead of Python 3.12 2024-08-20 11:14:02 +02:00
Mauro Balades
47f91322f6 chore: Update macOS alpha build workflow to remove unnecessary Python 3.12 commands and files 2024-08-20 10:22:34 +02:00
Mauro Balades
4549ac3671 chore: Update padding-left in vertical-tabs.css to use variable 2024-08-20 10:16:20 +02:00
Mauro Balades
7ec8523c95 chore: Update macOS alpha build workflow to remove unnecessary Python 3.12 commands and files 2024-08-20 10:02:59 +02:00
Mauro Balades
1bd8f37381 chore: Update zen-components submodule to commit f5d5bc9 2024-08-20 09:31:07 +02:00
Mauro Balades
fa7a0ac661 chore: Update macOS alpha build workflow to remove unnecessary commands and install Python 3.12 and bootstrap the engine 2024-08-20 09:24:00 +02:00
Mauro Balades
8f800f5134 chore: Update macOS alpha build workflow to install Python 3.12 and bootstrap the engine 2024-08-20 01:46:32 +02:00
Mauro Balades
9cdfc864b3 chore: Update zen-components submodule to commit 8926b7c 2024-08-20 01:30:22 +02:00
Mauro Balades
b2b3fb0b07 chore: Update macOS alpha build workflow to uninstall python3 and python3.12 with --ignore-dependencies flag 2024-08-20 01:26:59 +02:00
Mauro Balades
c92931e005 chore: Update padding-left in vertical-tabs.css to use variable 2024-08-20 01:24:46 +02:00
Mauro Balades
7c82ce5c23 chore: Update submodules to latest versions 2024-08-20 01:24:04 +02:00
Mauro Balades
f36613e7e8 chore: Uninstall python3 and python3.12 in macOS alpha build workflow 2024-08-20 01:11:11 +02:00
Mauro Balades
71c131032b update submodules 2024-08-20 01:05:09 +02:00
Mauro Balades
81a8715b7b chore: Update zen-theme.css for improved URL bar background color 2024-08-20 00:53:47 +02:00
Mauro Balades
5599000d33 chore: Remove idle3.12 from macOS alpha build workflow 2024-08-20 00:42:57 +02:00
Mauro Balades
8cdf09daa0 chore: Remove idle3 from macOS alpha build workflow 2024-08-20 00:17:33 +02:00
Mauro Balades
fc6a70162b chore: Update Windows theming for better scrollbar appearance 2024-08-20 00:13:51 +02:00
Mauro Balades
bc109d33c8 chore: Remove unnecessary Python version and 2to3-3.12 file in macOS alpha build workflow 2024-08-19 23:58:35 +02:00
Mauro Balades
9f10b74af5 chore: Update macOS alpha build workflow and Python version to 3.11 2024-08-19 23:39:59 +02:00
Mauro Balades
a65753d9a0 chore: Update macOS alpha build workflow 2024-08-19 23:12:58 +02:00
Mauro Balades
234f116964 Fix indentation issue in MacOSInstaller.svg 2024-08-19 22:26:11 +02:00
mauro-balades
6b34aa9d3d 🔖 Update version to 1.0.0-a.24 2024-08-19 18:32:52 +00:00
Mauro Balades
3939aa8809 chore: Update @zen-browser/surfer dependency to version 1.2.12 2024-08-19 20:30:01 +02:00
Mauro Balades
de5f73a9e6 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-19 19:43:38 +02:00
Mauro Balades
26a9e255c1 Added paltform specific preferences for themes 2024-08-19 19:43:33 +02:00
mauro 🤙
b50ed3a2d5 Merge pull request #331 from Donnnno/about-icon
Update firefox.svg
2024-08-19 19:40:22 +02:00
Donno
0900c27d2b Update firefox.svg 2024-08-19 19:38:54 +02:00
Mauro Balades
ae723290d7 chore: Update ZenUIManager to set sidebar-expanded.on-hover to false when compact mode is enabled 2024-08-19 19:17:43 +02:00
mauro 🤙
1834fe2177 Merge pull request #329 from n7itro/zen-hide-mute-button
chore: hide mute button on collapsed inactive tabs
2024-08-19 19:13:01 +02:00
mauro 🤙
3d6707fe21 Merge branch 'main' into zen-hide-mute-button 2024-08-19 19:12:53 +02:00
mauro 🤙
7e3eba280b Merge pull request #326 from n7itro/main
Centered expand tab sidebar button
2024-08-19 19:11:42 +02:00
Mauro Balades
cba262e090 feat: Add expand on hover functionality for tabs 2024-08-19 19:10:44 +02:00
nitro
b187c9383b removed effect shadow on button press 2024-08-19 17:48:14 +02:00
nitro
e7013c4db4 hide mute button on collapsed inactive tabs
Closes #322
2024-08-19 17:31:24 +02:00
Mauro Balades
1b5881c0fb Added expand on hover for tabs! 2024-08-19 17:25:00 +02:00
mauro 🤙
66d8d4bd71 Merge pull request #327 from Donnnno/icon
Update io.github.zen_browser.zen.yml.template
2024-08-19 14:52:57 +02:00
Donno
552a3c3cac Update io.github.zen_browser.zen.yml.template 2024-08-19 14:52:06 +02:00
nitro
fb58c42938 chore: remove unintended button shadow
Tested with Browser Toolbox
2024-08-19 14:46:52 +02:00
nitro
7a4a7681b9 centered expand tab sidebar button 2024-08-19 14:36:15 +02:00
mauro 🤙
5a3a383cde Tried to improve performance 2024-08-19 09:14:36 +00:00
mauro 🤙
5943be1b39 Merge pull request #316 from n7itro/main
Removed unused "awesome bar"
2024-08-18 18:55:49 +02:00
nitro
136993f203 Removed unused "awesome bar"
The "Awesome Bar Settings" in Look and Feel don't appear to do anything, so can they be removed?
2024-08-18 18:53:13 +02:00
mauro 🤙
afc3eb7ee6 updated surfer 2024-08-18 15:41:19 +00:00
mauro-balades
c073febc29 🔖 Update version to 1.0.0-a.23 2024-08-18 15:26:45 +00:00
mauro 🤙
85842227aa added kofi funding 2024-08-18 15:13:21 +00:00
mauro 🤙
66ac0b9812 Merge branch 'main' of https://github.com/zen-browser/desktop 2024-08-18 15:11:13 +00:00
mauro 🤙
3c2d617771 added cofi button 2024-08-18 15:11:00 +00:00
mauro 🤙
03c0e70173 Merge pull request #311 from n7itro/main
Changed marketplace to store
2024-08-18 16:14:23 +02:00
nitro
f65888f5f4 Changed marketplace to store
More consistent naming as mentioned in visual issue 9 in issue 304
2024-08-18 16:12:07 +02:00
mauro 🤙
0f0cc0e03a Merge pull request #308 from n7itro/main
Fixed tab background overlapping
2024-08-18 15:38:02 +02:00
nitro
d7fe28886c Removed !important 2024-08-18 15:37:45 +02:00
nitro
1d017d1dea Fixed tab background overlapping
Added bottom margin to tabs so tab backgrounds don't overlap with each other. Closes #303
2024-08-18 15:31:36 +02:00
Mauro Balades
1479679cb6 chore: Update network preferences and buffers 2024-08-18 12:09:30 +02:00
Mauro Balades
8c6b26b6f9 chore: Update network preferences and buffers 2024-08-18 11:56:34 +02:00
Mauro Balades
3783625818 chore: Update optimize options in mozconfig for Windows 2024-08-18 11:55:41 +02:00
Mauro Balades
0a5e803550 Update zen-components subproject commit 2024-08-18 00:51:40 +02:00
Mauro Balades
a8980ae3ef fix: Fix checkbox behavior in zen-settings.js and update styles in zen-preferences.css 2024-08-17 19:41:18 +02:00
Mauro Balades
02fe8a0d0b chore: Update optimize options in mozconfig for Windows 2024-08-17 19:11:21 +02:00
Mauro Balades
5700c61b17 Merge branch 'main' of https://github.com/zen-browser/core 2024-08-17 18:56:52 +02:00
Mauro Balades
21930a9bf9 chore: Update optimize options in mozconfig for Windows 2024-08-17 18:56:46 +02:00
mauro-balades
e044f7d547 🔖 Update version to 1.0.0-a.22 2024-08-17 16:42:41 +00:00
Mauro Balades
1e4dea86bb chore: Update dependencies and configurations 2024-08-17 18:41:50 +02:00
Mauro Balades
e737c55c74 chore: Confirm theme removal before uninstalling
```
2024-08-17 17:26:06 +02:00
Mauro Balades
2c4cb2edd5 Fixed icons 2024-08-17 17:20:57 +02:00
Mauro Balades
ca6f3d882c Update zen-components subproject commit 2024-08-17 17:07:06 +02:00
Mauro Balades
eea7e43ff8 chore: Update sandbox configuration and padding in vertical-tabs.css 2024-08-17 15:28:10 +02:00
Mauro Balades
dec1fdd369 chore: Update zen-browser.js and related files 2024-08-17 13:13:39 +02:00
Mauro Balades
01ec0092a2 chore: Comment out the POLLY environment variable in mozconfig 2024-08-17 11:03:52 +02:00
Mauro Balades
8af7418f3f chore: Update media memory cache max size to 512000 2024-08-17 11:02:31 +02:00
Mauro Balades
4589a22790 chore: Remove unnecessary margin-top in vertical-tabs.css 2024-08-17 10:34:35 +02:00
Mauro Balades
15ecc5b8d4 chore: Update vertical-tabs.css to fix padding issue 2024-08-17 10:31:25 +02:00
mauro 🤙
6c25279107 Merge pull request #291 from gunir/patch-4
Better scrollbar for Windows
2024-08-17 10:24:24 +02:00
Gunir
979760a841 Update zen-browser.js 2024-08-17 08:34:51 +07:00
Mauro Balades
c52853251d chore: Update zen-components subproject commit 2024-08-17 02:17:25 +02:00
117 changed files with 1253 additions and 939 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1,2 +1,3 @@
patreon: zen_browser
ko_fi: zen_browser

View File

@@ -1,4 +1,4 @@
name: Bug Report Or Feature Request
name: Bug Report
description: File a bug report
body:
- type: markdown
@@ -38,8 +38,6 @@ body:
- Medium
- High
- Critical
- Enhancement
multiple: true
validations:
required: true

View File

@@ -1,32 +0,0 @@
name: Feature Request
description: File a feature request
labels:
- "kind: enhancement"
body:
- type: markdown
attributes:
value: |
Thank you for filing a feature request.
- type: textarea
id: what-happened
attributes:
label: What feature would you like to see?
description: Please describe the feature you would like to see.
placeholder: Tell us what you would like to see!
validations:
required: true
- type: dropdown
id: platform
attributes:
label: What platform are you seeing the problem on?
options:
- Linux
- macOS
- Windows
validations:
required: true
- type: textarea
id: logs
attributes:
label: Additional context
description: Add any other context about the feature request here.

View File

@@ -13,6 +13,4 @@ policy:
keys: ['High']
- name: 'kind: critical severity'
keys: ['Critical']
- name: 'kind: enhancement'
keys: ['Enhancement']

View File

@@ -97,6 +97,9 @@ jobs:
SURFER_COMPAT: ${{ matrix.generic == true }}
run: pnpm surfer import
- name: Build language packs
run: sh scripts/download-language-packs.sh
- name: Bootstrap
run: |
cd engine

View File

@@ -45,6 +45,30 @@ jobs:
brew install cairo sccache gnu-tar mercurial
sudo pip install setuptools
# completly uninstall python3 and python3.12
brew uninstall --ignore-dependencies python3.12 -f
export PATH="$(python3 -m site --user-base)/bin":$PATH
python3 -m pip install --user mercurial
rm '/usr/local/bin/2to3-3.11' # fix Could not symlink bin/2to3-3.11
rm '/usr/local/bin/2to3-3.12' # fix Could not symlink bin/2to3-3.12
rm /usr/local/bin/2to3 # fix Could not symlink bin/2to3
rm '/usr/local/bin/idle3.11' #fix Could not symlink bin/idle3.11
rm '/usr/local/bin/idle3.12' # fix Could not symlink bin/idle3.12
rm '/usr/local/bin/idle3' # fix Could not symlink bin/idle3
rm '/usr/local/bin/pydoc3.11' # fix Could not symlink bin/pydoc3.11
rm '/usr/local/bin/pydoc3.12' # fix Could not symlink bin/pydoc3.12
rm '/usr/local/bin/pydoc3' # fix Could not symlink bin/pydoc3
rm '/usr/local/bin/python3.11' # fix Could not symlink bin/python3.11
rm '/usr/local/bin/python3.12' # fix Could not symlink bin/python3.12
rm '/usr/local/bin/python3' # fix Could not symlink bin/python3
rm '/usr/local/bin/python3.11-config' # fix Could not symlink bin/python3.11-config
rm '/usr/local/bin/python3.12-config' # fix Could not symlink bin/python3.12-config
rm '/usr/local/bin/python3-config' # fix Could not symlink bin/python3-config
brew install watchman
- name: Force usage fo gnu-tar
run: |
echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bash_profile
@@ -68,17 +92,21 @@ jobs:
- name: Download firefox source and dependancies
run: pnpm surfer download
- name: Bootstrap
run: |
cd engine
export PATH="$(python3 -m site --user-base)/bin":$PATH
./mach --no-interactive bootstrap --application-choice browser --no-system-changes
cd ..
- name: Import
env:
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
run: |
pnpm surfer import
- name: Bootstrap
run: |
cd engine
./mach --no-interactive bootstrap --application-choice browser
cd ..
pnpm surfer import --verbose
- name: Build language packs
run: sh scripts/download-language-packs.sh
- name: build Zen
env:

View File

@@ -141,6 +141,9 @@ jobs:
SURFER_COMPAT: ${{ matrix.generic == true }}
run: pnpm surfer import --verbose
- name: Build language packs
run: sh scripts/download-language-packs.sh
- name: Build
env:
SURFER_COMPAT: ${{ matrix.generic == true }}

3
.gitmodules vendored
View File

@@ -1,3 +1,6 @@
[submodule "src/browser/base/content/zen-components"]
path = src/browser/base/content/zen-components
url = https://github.com/zen-browser/components
[submodule "l10n"]
path = l10n
url = https://github.com/zen-browser/l10n-packs

View File

@@ -5,4 +5,4 @@
"ManualAppUpdateOnly": true,
"BackgroundAppUpdate": false
}
}
}

View File

@@ -1,5 +1,6 @@
[Desktop Entry]
Name=Zen Browser
Comment=Experience tranquillity while browsing the web without people tracking you!
Exec=zen %u
Icon=zen
Type=Application

View File

@@ -1,5 +1,11 @@
# 🌀 Zen Browser
<div align="center">
<picture>
<img src="./zen-black.svg" width="128px">
</picture>
</div>
<h1 align="center">
Zen Browser
</h1>
Experience tranquillity while browsing the web without people tracking you!
@@ -7,28 +13,36 @@ Experience tranquillity while browsing the web without people tracking you!
* [Download](https://www.zen-browser.app/download)
* [Release Notes](https://www.zen-browser.app/release-notes/latest)
<a href='https://flathub.org/apps/io.github.zen_browser.zen'>
<img width='240' alt='Get it on Flathub' src='https://flathub.org/api/badge?locale=en'/>
</a>
[![Crowdin](https://badges.crowdin.net/zen-browser/localized.svg)](https://crowdin.com/project/zen-browser)
[![Flathub](https://flathub.org/api/badge?locale=en)](https://flathub.org/apps/io.github.zen_browser.zen')
[![Patreon](https://c5.patreon.com/external/logo/become_a_patron_button.png)](https://www.patreon.com/z3nth10n)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K111FH7H)
# Compatibility
Zen is currently built using firefox version `129.0.1`!
Zen is currently built using firefox version `129.0.2`!
* Checkout the latest [releases notes](https://www.zen-browser.app/release-notes)!
* Check out the latest [release notes](https://www.zen-browser.app/release-notes)!
# Performance
Zen is built with performance in mind, and we have optimized the browser to be as fast as possible!
* Checkout the latest [performance benchmarks](./docs/performance.md)!
* Checkout the latest [performance benchmarks](https://docs.zen-browser.app/benchmarks)!
# Core Components
Some components used by @zen-browser as an attempt to make firefox forks a better place. You can find them [here](https://github.com/zen-browser/components).
## 🚀 Run Locally
Clone the project
```bash
git clone https://github.com/zen-browser/desktop.git
git clone https://github.com/zen-browser/desktop.git --recurse-submodules
cd desktop
```
@@ -61,14 +75,25 @@ npm start
- [IAmJafeth](https://github.com/IAmJafeth) (For sponsoring the domain)
- [Donno 🐒](https://www.onnno.nl/) (For making the logo)
- [ptr1337](https://github.com/ptr1337) (AUR Packages and optimization flags)
- [nitro](https://github.com/n7itro) (For the amazing work on the browser)
## Third Party Code
Zen coudn't be in its current state without the help of these amazing projects!
Zen couldn't be in its current state without the help of these amazing projects!
- Zen's default preferences are based on [BetterFox](https://github.com/yokoffing/Betterfox)
## License
[MPL LICENSE](/LICENSE)
[MPL LICENSE](./LICENSE)
## Star History
<a href="https://star-history.com/#zen-browser/desktop&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=zen-browser/desktop&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=zen-browser/desktop&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=zen-browser/desktop&type=Date" />
</picture>
</a>

View File

@@ -1,4 +1 @@
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />
Sorry, your browser does not support inline SVG.
</svg>
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg"><rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />Sorry, your browser does not support inline SVG.</svg>

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.g{fill:#000;}.g,.h,.i{stroke-width:0px;}.h{fill:url(#e);}.i{fill:#fff;}</style><linearGradient id="e" x1="128" y1="256" x2="128" y2="0" gradientUnits="userSpaceOnUse"><stop offset=".1" stop-color="#fff" stop-opacity=".02"/><stop offset=".9" stop-color="#fff" stop-opacity=".1"/></linearGradient></defs><g id="c"><rect class="g" y="0" width="256" height="256" rx="58.4" ry="58.4"/></g><g id="d"><rect class="h" y="0" width="256" height="256" rx="58.4" ry="58.4"/></g><g id="f"><path class="i" d="M165.9156,146.3156c-15.6016,0-28.6656,11.0055-31.8813,25.6562h-12.0687c-3.2156-14.6508-16.2797-25.6562-31.8813-25.6562-18.0063,0-32.6562,14.65-32.6562,32.6562s14.65,32.6562,32.6562,32.6562c15.6016,0,28.6656-11.0055,31.8813-25.6562h12.0687c3.2156,14.6508,16.2797,25.6562,31.8813,25.6562,18.0063,0,32.6562-14.65,32.6562-32.6562s-14.65-32.6562-32.6562-32.6562ZM90.0844,197.6281c-10.2875,0-18.6562-8.3687-18.6562-18.6562s8.3687-18.6562,18.6562-18.6562,18.6562,8.3688,18.6562,18.6562-8.3687,18.6562-18.6562,18.6562ZM165.9156,197.6281c-10.2875,0-18.6562-8.3687-18.6562-18.6562s8.3687-18.6562,18.6562-18.6562,18.6562,8.3688,18.6562,18.6562-8.3687,18.6562-18.6562,18.6562Z"/><path class="i" d="M214.4,115.6812h-21.8391l-9.2422-65.2906c-.3031-2.1406-1.5813-4.0219-3.4594-5.0969-1.8781-1.0719-4.1469-1.2188-6.1469-.3906l-45.7125,18.8906-45.7125-18.8906c-2-.8281-4.2688-.6813-6.1469.3906-1.8781,1.075-3.1562,2.9562-3.4594,5.0969l-9.2422,65.2906h-21.8391c-3.8656,0-7,3.1344-7,7s3.1344,7,7,7h172.8c3.8656,0,7-3.1344,7-7s-3.1344-7-7-7ZM85.2781,61.2875l40.0469,16.55c1.7125.7063,3.6375.7063,5.35,0l40.0469-16.55,7.6984,54.3937h-100.8406l7.6984-54.3937Z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="d" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.f{fill:#000;}.f,.g,.h{stroke-width:0px;}.g{fill:url(#e);}.h{fill:#fff;}</style><linearGradient id="e" x1="128" y1="256" x2="128" y2="0" gradientUnits="userSpaceOnUse"><stop offset=".1" stop-color="#fff" stop-opacity=".02"/><stop offset=".9" stop-color="#fff" stop-opacity=".1"/></linearGradient></defs><rect class="f" width="256" height="256" rx="58.4" ry="58.4"/><rect class="g" width="256" height="256" rx="58.4" ry="58.4"/><path class="h" d="M202.9973,184.5702c-.1715,10.2808-8.7737,18.4298-19.0559,18.4298h-77.2885c-3.0056,0-5.0458-3.0553-3.894-5.8314l.0262-.0632c5.0822-12.2707,13.3289-22.6249,23.8591-30.1785,1.3098-.9395,2.8903-1.4269,4.5023-1.4269h53.1034c10.462,0,18.9225,8.5681,18.7473,19.0702Z"/><path class="h" d="M149.3471,53c3.0056,0,5.0458,3.0553,3.894,5.8314l-.0262.0631c-5.0822,12.2708-13.3289,22.6249-23.8591,30.1785-1.3098.9396-2.8903,1.427-4.5023,1.427h-52.7949c-10.2822,0-18.8844-8.149-19.0559-18.4298-.1752-10.5021,8.2853-19.0702,18.7473-19.0702h77.5971Z"/><path class="h" d="M71.7465,203c-2.3913,0-4.8207-.46-7.1673-1.4319-9.5666-3.9624-14.1096-14.9301-10.1472-24.4964,6.0943-14.7127,14.8294-27.9027,25.9634-39.2034,11.5341-11.7073,25.1364-20.8551,40.4297-27.1898,21.021-8.7076,37.393-25.0792,46.0995-46.0995,3.9624-9.567,14.9305-14.1093,24.4964-10.1472,9.5666,3.9624,14.1096,14.9301,10.1472,24.4964-6.0943,14.7127-14.8294,27.9027-25.9634,39.2034-11.5341,11.7073-25.1364,20.8551-40.4297,27.1898-21.021,8.7076-37.393,25.0792-46.0995,46.0995-2.9905,7.22-9.9725,11.5791-17.329,11.5791Z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 56"><defs><style>.b{fill:context-fill #20123a;}</style></defs><path class="b" d="M11.2896,37.6632h15.1928v5.2919H3.2415v-3.8076l15.1487-21.2557H3.2126v-5.2919h23.2393v3.811l-15.1622,21.2523ZM50.8649,26.3765c.5434,1.4469.8151,3.1418.8151,5.0778v1.7322h-15.5019v.017c0,1.1243.2089,2.0991.6301,2.9176.4195.822,1.0139,1.4537,1.7849,1.8987s1.6847.6657,2.7427.6657c.7014,0,1.3433-.0984,1.9258-.2955.5842-.197,1.0818-.4925,1.4979-.8899.4144-.394.7303-.8797.9476-1.4503l5.8404.3838c-.2972,1.4028-.9018,2.6255-1.8154,3.6683-.9137,1.0428-2.0906,1.8511-3.5273,2.4319-1.4385.5774-3.0959.8661-4.9726.8661-2.3419,0-4.3561-.4755-6.0408-1.43-1.6847-.9544-2.9805-2.3063-3.8907-4.0623-.9086-1.7526-1.362-3.8314-1.362-6.2327,0-2.3402.4534-4.3951,1.362-6.1647.9103-1.7696,2.1925-3.1486,3.8466-4.1336,1.6558-.9884,3.5986-1.4843,5.8318-1.4843,1.503,0,2.9024.2411,4.2032.7201,1.2992.4789,2.4354,1.199,3.4084,2.1568.9731.9578,1.7306,2.1602,2.274,3.6072ZM45.7378,29.2737c0-.9069-.1987-1.7119-.5927-2.4149-.3957-.6997-.9409-1.2534-1.6388-1.6508-.6964-.4008-1.503-.6012-2.4235-.6012-.9578,0-1.8053.2208-2.5406.6589-.7371.4382-1.3127,1.0292-1.7271,1.7628-.3818.679-.5853,1.4304-.6228,2.2451h9.5455ZM73.0682,20.9318c-1.1769-.6929-2.5543-1.0394-4.1353-1.0394-1.6898,0-3.1265.3872-4.3137,1.165-1.1854.7744-2.0294,1.824-2.5338,3.1486h-.2667v-4.0181h-6.017v22.7672h6.3125v-13.1617c.0102-.9782.1953-1.8138.557-2.5135.36-.6963.8644-1.2261,1.5115-1.593.647-.3635,1.396-.5469,2.2451-.5469,1.2653,0,2.257.394,2.9788,1.1786.7217.7846,1.0767,1.8749,1.0682,3.2675v13.3689h6.3125v-14.4965c0-1.7662-.326-3.2913-.9782-4.5718-.6521-1.2805-1.5658-2.2655-2.741-2.955Z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

@@ -1,4 +0,0 @@
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg">
<rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />
Sorry, your browser does not support inline SVG.
</svg>

Before

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -3,6 +3,9 @@ ac_add_options --with-app-name=${binName}
ac_add_options --with-app-basename=Zen
ac_add_options --enable-official-branding
# Localization
ac_add_options --with-l10n-base="$PWD/browser/locales"
export MOZ_USER_DIR="${name}"
export MOZ_APP_BASENAME=Zen
export MOZ_APP_PROFILE=${binName}
@@ -16,7 +19,6 @@ export MOZ_DISTRIBUTION_ID=${appId}
# ac_add_options --enable-linker=gold
# Misc
export MOZ_STUB_INSTALLER=1
export MOZ_SOURCE_REPO=https://github.com/zen-browser/desktop
export MOZ_SOURCE_CHANGESET=${changeset}
export MOZ_INCLUDE_SOURCE_INFO=1
@@ -31,7 +33,9 @@ if test "$ZEN_RELEASE"; then
ac_add_options --disable-debug-symbols
ac_add_options --disable-debug-js-modules
ac_add_options --disable-tests
ac_add_options --disable-jprof
ac_add_options --disable-vtune
ac_add_options --enable-rust-simd
ac_add_options --enable-wasm-simd
@@ -81,7 +85,6 @@ fi
ac_add_options --enable-unverified-updates
ac_add_options --enable-sandbox
ac_add_options --enable-raw
ac_add_options --enable-webrtc
ac_add_options --enable-jxl
@@ -91,7 +94,6 @@ ac_add_options --enable-eme=widevine
ac_add_options --allow-addon-sideload
ac_add_options --with-unsigned-addon-scopes=app,system
mk_add_options MOZ_CRASHREPORTER=0
mk_add_options MOZ_DATA_REPORTING=0
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
mk_add_options MOZ_TELEMETRY_REPORTING=0

View File

@@ -18,7 +18,6 @@ if test "$ZEN_CROSS_COMPILING"; then
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/x64/Microsoft.VC143.CRT"
export MIDL="$TOOLS/wine/bin/widl"
export MOZ_INCLUDE_SOURCE_INFO=1
export MOZ_STUB_INSTALLER=1
export WINEDEBUG=-all
export WINE="$TOOLS/wine/bin/wine64"
@@ -35,19 +34,19 @@ ac_add_options --disable-bits-download
if test "$SURFER_COMPAT" = "true"; then
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize"
export CFLAGS="-mtune=haswell -march=x86-64"
export CPPFLAGS="-mtune=haswell -march=x86-64"
export CXXFLAGS="-mtune=haswell -march=x86-64"
export LDFLAGS="-Wl,-O3"
export CFLAGS="-mtune=haswell -march=x86-64 -O2 -Qvec -w"
export CPPFLAGS="-mtune=haswell -march=x86-64 -O2 -Qvec -w"
export CXXFLAGS="-mtune=haswell -march=x86-64 -O2 -Qvec -w"
export LDFLAGS="-Wl,-O2"
export RUSTFLAGS="-C codegen-units=1 -Ctarget-cpu=x86-64"
else
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -Xclang -ftree-vectorize -mpopcnt -mpclmul -w"
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -ftree-vectorize -Xclang -w"
ac_add_options --enable-wasm-avx
export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3 -mpopcnt -mpclmul"
export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3 -mpopcnt -mpclmul"
export CXXFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3 -mpopcnt -mpclmul"
export LDFLAGS="-Wl,-O3 -march=x86-64-v3 -mpopcnt -mpclmul"
export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
export CXXFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -march=x86-64-v3"
export LDFLAGS="-Wl,-O3 -march=x86-64-v3"
export RUSTFLAGS="-C target-feature=+avx -C codegen-units=1 -Ctarget-cpu=x86-64-v3"
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"

View File

@@ -1,60 +0,0 @@
# 🌀 Zen Browser Performance traker
## Scores
## 1
- [NOCanoa](https://github.com/NOCanoa)
OS: win 11; CPU: i5 13600k
## web.basemark
https://web.basemark.com/
| | score: |CSS | HTML5 | Page load and Responsiveness | Resize Cap. |
|-----------|-----|-----|-------|------------------------------|-------------|
| 1.0.0-a.15-opt | 2141.63 | 59% | 91% | 90% | 76% |
| 1.0.0-a.13-opt | 1658.87 | 59% | 91% | 90% | 76% |
| 1.0.0-a.12-opt | 1874.49 | 59% | 91% | 91% | 76% |
| 1.0.0-a.11-opt | 1678.49 | 59% | 91% | 91% | 76% |
| 1.0.0-a.10 | 1660.89 | 59% | 91% | 91% | 76% |
| 1.0.0-a.9 | 470 | why | why | why | why |
| 1.0.0-a.8 | 446.74 | 59% | 91% | 96% | 76% |
| 1.0.0-a.7 | 1964.43 | 59% | 91% | 91% | 76% |
| 1.0.0-a.6 | 1747.98 | 59% | 91% | 91% | 76% |
| 1.0.0-a.4 | 470.49 | 59% | 91% | 97% | 76% |
| 1.0.0-a.3 | 475.52 |59% | 91% | 97% | 76% |
| other | last | utpdate | 31/7 | 2024 | - |
| Librewolf 128.0-2 | 1953.65 | 59.66% | 89.01% | 91.72% | 76.12% |
| FF nightly 130.0a1 | 1912.77 | 59.66% | 90.91% | 91.72% | 76.12% |
```mermaid
xychart-beta
title "Performance over time (Higher is better)"
x-axis [.3, .4, .6, .7, .8, .9, .10, .11, .12, .13, .15]
y-axis "Benchmark Points"
bar [475.52, 470.49, 1747.98, 1964.43, 446.74, 470, 1660.89, 1678.49, 1874.49, 1658.87, 2141.63]
line [475.52, 470.49, 1747.98, 1964.43, 446.74, 470, 1660.89, 1678.49, 1874.49, 1658.87, 2141.63]
```
## Speedometer3.0
https://browserbench.org/Speedometer3.0/
| | score: |
|-----------|-----|
| 1.0.0-a.15-opt | TODO |
| 1.0.0-a.13-opt | 21.1 |
| 1.0.0-a.12-opt | 21.5 |
| 1.0.0-a.11-opt | 20.8 |
| 1.0.0-a.10 | 21.2 |
| others| - |
| Vivaldi 6.7.3329.39| 27.8 |
| FF nightly 130.0a1 | 27.0 |
| Librewolf 128.0-2 | 20.2 |
## Repository View Counter
<div align='center'><a href='https://www.websitecounterfree.com'><img src='https://www.websitecounterfree.com/c.php?d=9&id=57772&s=40' border='0' alt='Free Website Counter'></a><br / ><small><a href='https://www.websitecounterfree.com' title="Free Website Counter">Free Website Counter</a></small></div>

View File

@@ -17,6 +17,7 @@ finish-args:
- --filesystem=xdg-download:rw
- --device=all
- --talk-name=org.freedesktop.FileManager1
- --talk-name=org.freedesktop.ScreenSaver
- --own-name=org.mozilla.zen.*
- --own-name=org.mpris.MediaPlayer2.firefox.*
- --system-talk-name=org.freedesktop.NetworkManager
@@ -29,7 +30,7 @@ modules:
- install -Dm0755 metadata/launch-script.sh ${{FLATPAK_DEST}}/bin/launch-script.sh
- install -Dm0644 metadata/policies.json ${{FLATPAK_DEST}}/bin/distribution/policies.json
- install -Dm0644 metadata/icons/io.github.zen_browser.zen.png ${{FLATPAK_DEST}}/share/icons/hicolor/256x256/apps/${{FLATPAK_ID}}.png
- install -Dm0644 metadata/icons/io.github.zen_browser.zen.svg ${{FLATPAK_DEST}}/share/icons/hicolor/scalable/apps/${{FLATPAK_ID}}.svg
- install -Dm0644 metadata/io.github.zen_browser.zen.metainfo.xml ${{FLATPAK_DEST}}/share/metainfo/${{FLATPAK_ID}}.metainfo.xml
- install -Dm0644 metadata/io.github.zen_browser.zen.desktop ${{FLATPAK_DEST}}/share/applications/${{FLATPAK_ID}}.desktop

1
l10n Submodule

Submodule l10n added at 85c5639835

View File

@@ -27,6 +27,6 @@
},
"homepage": "https://github.com/zen-browser/core#readme",
"dependencies": {
"@zen-browser/surfer": "^1.2.7"
"@zen-browser/surfer": "^1.3.6"
}
}

10
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@zen-browser/surfer':
specifier: ^1.2.7
version: 1.2.7
specifier: ^1.3.6
version: 1.3.6
packages:
@@ -109,8 +109,8 @@ packages:
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
'@zen-browser/surfer@1.2.7':
resolution: {integrity: sha512-VbbbB7crGXrdfk1PPnlsWFWErwjtccXbRuw5mOQzY327d2t5VraxmkqTzcuGSTxpu3CR/KvzNu0gDg/6+7b4NQ==}
'@zen-browser/surfer@1.3.6':
resolution: {integrity: sha512-b+5GS9qMGoMB8lRaFYRA9C3EqntVf35sBx5dq7X3IuqlB9GmarYoS5E26EvXbmPJcfYkJG7ar05nHkkZyOrGuw==}
hasBin: true
ansi-regex@5.0.1:
@@ -786,7 +786,7 @@ snapshots:
'@types/node@17.0.45': {}
'@zen-browser/surfer@1.2.7':
'@zen-browser/surfer@1.3.6':
dependencies:
'@resvg/resvg-js': 1.4.0
async-icns: 1.0.2

View File

@@ -0,0 +1,17 @@
browser_locales=engine/browser/locales
copy_browser_locales() {
langId=$1
mkdir -p $browser_locales/$langId
if [ "$langId" = "en-US" ]; then
find $browser_locales/$langId -type f -name "zen*" -delete
rsync -av --exclude=.git ./l10n/en-US/browser/ $browser_locales/$langId/
return
fi
rm -rf $browser_locales/$langId/
rsync -av --exclude=.git ./l10n/$langId/ $browser_locales/$langId/
}
LANG=$1
echo "Copying language pack for $LANG"
copy_browser_locales $LANG

View File

@@ -0,0 +1,57 @@
set -ex
CURRENT_DIR=$(pwd)
git config --global init.defaultBranch main
git config --global fetch.prune true
mkdir ~/tools
cd ~/tools
git clone https://github.com/glandium/git-cinnabar.git
cd git-cinnabar
git checkout 0.5.11
export PATH=~/tools/git-cinnabar:$PATH
cd ~
git cinnabar download
cd $CURRENT_DIR
update_language() {
langId=$1
cd ./l10n
cd $langId
echo "Updating $langId"
rm -rf .git
git init
git remote add upstream hg://hg.mozilla.org/l10n-central/$langId
git remote set-url upstream hg://hg.mozilla.org/l10n-central/$langId
git pull upstream branches/default/tip
cd $CURRENT_DIR
}
export PATH=~/tools/git-cinnabar:$PATH
for lang in $(cat ./l10n/supported-languages); do
update_language $lang
done
cd $CURRENT_DIR
# Move all the files to the correct location
sh scripts/copy-language-pack.sh en-US
for lang in $(cat ./l10n/supported-languages); do
sh scripts/copy-language-pack.sh $lang
done
wait
echo "Cleaning up"
rm -rf ~/tools
rm -rf ~/.git-cinnabar
for lang in $(cat ./l10n/supported-languages); do
# remove every file except if it starts with "zen"
find ./l10n/$lang -type f -not -name "zen*" -delete
done

View File

@@ -0,0 +1,2 @@
sh ./scripts/copy-language-pack.sh en-US

View File

@@ -32,10 +32,9 @@ pref("gfx.content.skia-font-cache-size", 20);
pref("browser.cache.jsbc_compression_level", 3);
/** MEDIA CACHE ***/
pref("media.memory_cache_max_size", 1048576);
pref("media.memory_caches_combined_limit_kb", 2560000);
pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback
pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds)
pref("media.memory_cache_max_size", 65536);
pref("media.cache_readahead_limit", 7200);
pref("media.cache_resume_threshold", 3600);
/** IMAGE CACHE ***/
pref("image.mem.decode_bytes_at_a_time", 32768);
@@ -48,18 +47,7 @@ pref("network.http.pacing.requests.enabled", false);
pref("network.dnsCacheExpiration", 3600);
pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
pref("network.websocket.max-connections", 400); // default=200
pref("network.ssl_tokens_cache_capacity", 32768);
pref("network.buffer.cache.size", 262144);
pref("network.buffer.cache.count", 128);
pref("network.dnsCacheEntries", 20000);
pref("network.dnsCacheExpirationGracePeriod", 240);
/** HTTPS-FIRST POLICY ***/
pref("dom.security.https_first", true);
/** PASSWORDS ***/
pref("network.auth.subresource-http-auth-allow", 1);
pref("network.ssl_tokens_cache_capacity", 10240);
/** MIXED CONTENT + CROSS-SITE ***/
pref("pdfjs.enableScripting", false);
@@ -74,6 +62,7 @@ pref("dom.security.sanitizer.enabled", true);
* SECTION: SECUREFOX *
****************************************************************************/
/** TRACKING PROTECTION ***/
pref("browser.contentblocking.category", "strict");
pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
pref("network.cookie.sameSite.noneRequiresSecure", true);

View File

@@ -13,9 +13,12 @@ pref("browser.tabs.hoverPreview.enabled", true);
pref("browser.tabs.cardPreview.delayMs", 100);
#ifdef MOZ_UPDATE_CHANNEL
pref("devtools.debugger.prompt-connection", false);
pref("devtools.debugger.prompt-connection", true);
#endif
// Dont download the multilingual dictionary
pref("intl.multilingual.downloadEnabled", false);
// Theme
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
pref('browser.compactmode.show', true);
@@ -56,6 +59,8 @@ pref("browser.ping-centre.telemetry", false);
pref("browser.attribution.enabled", false);
pref("toolkit.telemetry.pioneer-new-studies-available", false);
pref("app.update.checkInstallTime.days", 2);
// CUSTOM ZEN PREFS
pref('zen.welcomeScreen.enabled', true);
@@ -68,13 +73,19 @@ pref('zen.theme.toolbar-themed', true);
pref('zen.theme.pill-button', false);
pref('zen.view.compact', false);
pref('zen.view.compact.hide-toolbar', false);
pref('zen.view.sidebar-expanded', false);
pref('zen.view.sidebar-expanded.on-hover', false);
pref('zen.view.sidebar-expanded.show-button', true);
pref('zen.view.sidebar-expanded.max-width', 400);
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
pref('zen.keyboard.shortcuts.enabled', true);
pref('zen.keyboard.shortcuts', ""); // Empty string means default shortcuts
pref('zen.keyboard.shortcuts.disable-firefox', false);
pref('zen.tabs.dim-pending', true);
pref('zen.themes.updated-value-observer', false);
// Pref to enable the new profiles (TODO: Check this out!)
//pref("browser.profiles.enabled", true);
@@ -99,12 +110,13 @@ pref('general.smoothScroll', true); // DEFAULT
// Privacy
pref('dom.private-attribution.submission.enabled', false);
pref('dom.security.https_only_mode', true);
pref('media.eme.enabled', true);
pref('webgl.disabled', false);
pref("app.update.url.manual", "https://www.zen-browser.app/download");
pref("app.update.url.details", "hhttps://www.zen-browser.app/download");
pref("app.update.url.details", "https://www.zen-browser.app/download");
pref("app.releaseNotesURL", "https://www.zen-browser.app/release-notes");
pref("app.releaseNotesURL.aboutDialog", "https://www.zen-browser.app/release-notes");
@@ -123,8 +135,16 @@ pref('xpinstall.signatures.required', false);
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
pref('dom.script_loader.bytecode_cache.strategy', 2);
// Extremly experimental features
pref("dom.webgpu.enabled", true);
// Font rendering, not for MacOSX and Linux
#ifndef XP_UNIX
#ifndef XP_MACOSX
pref('gfx.font_rendering.cleartype_params.rendering_mode', 5);
pref('gfx.font_rendering.cleartype_params.gamma', 1750);
#endif
#endif
pref('gfx.webrender.all', true);
pref('layers.acceleration.force-enabled', true);
#include better-fox.js
@@ -142,11 +162,17 @@ pref("network.http.speculative-parallel-limit", 10);
pref("network.http.rcwn.enabled", false);
// Enable Browser Toolbox, Ctrl+Shift+Alt+I for debugging and modifying UI
pref("devtools.debugger.remote-enabled", true);
pref("devtools.debugger.remote-enabled", false);
pref("devtools.chrome.enabled", true);
// Disable firefox's revamp
pref("sidebar.revamp", false, locked);
pref("sidebar.verticalTabs", false, locked);
// Better Windows theming
pref("widget.non-native-theme.scrollbar.style", 2);
pref("widget.non-native-theme.use-theme-accent", true);
// Expose Letterboxing https://github.com/zen-browser/desktop/issues/475
pref("privacy.resistFingerprinting.letterboxing", false);
pref("privacy.resistFingerprinting.letterboxing.dimensions", "");

View File

@@ -3,6 +3,9 @@ var ZenStartup = {
init() {
this._changeSidebarLocation();
this._zenInitBrowserLayout();
window.SessionStore.promiseInitialized.then(async () => {
this._focusSearchBar();
});
},
_zenInitBrowserLayout() {
@@ -80,7 +83,6 @@ var ZenStartup = {
const kElementsToAppend = [
"sidebar-splitter",
"sidebar-box",
"navigator-toolbox",
];
const wrapper = document.getElementById("zen-tabbox-wrapper");
const appWrapepr = document.getElementById("zen-sidebar-box-container");
@@ -92,14 +94,26 @@ var ZenStartup = {
}
appWrapepr.setAttribute("hidden", "true");
const browser = document.getElementById("browser")
const toolbox = document.getElementById("navigator-toolbox");
browser.prepend(toolbox);
// remove all styles except for the width, since we are xulstoring the complet style list
const width = toolbox.style.width;
toolbox.removeAttribute("style");
toolbox.style.width = width;
// Set a splitter to navigator-toolbox
const splitter = document.createXULElement("splitter");
splitter.setAttribute("id", "zen-sidebar-splitter");
splitter.setAttribute("orient", "horizontal");
splitter.setAttribute("resizebefore", "sibling");
splitter.setAttribute("resizeafter", "none");
const titlebar = document.getElementById("navigator-toolbox");
titlebar.insertAdjacentElement("afterend", splitter);
toolbox.insertAdjacentElement("afterend", splitter);
},
_focusSearchBar() {
gURLBar.focus();
},
};

View File

@@ -21,6 +21,10 @@ var gZenUIManager = {
const button = document.getElementById('zen-bookmark-button');
SidebarController.toggle('viewBookmarksSidebar', button);
},
createValidXULText(text) {
return text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}
};
var gZenVerticalTabsManager = {
@@ -28,8 +32,20 @@ var gZenVerticalTabsManager = {
//Services.prefs.addObserver('zen.view.compact', this._updateEvent.bind(this));
Services.prefs.addObserver('zen.view.sidebar-expanded', this._updateEvent.bind(this));
Services.prefs.addObserver('zen.view.sidebar-expanded.max-width', this._updateEvent.bind(this));
Services.prefs.addObserver('zen.view.sidebar-expanded.on-hover', this._updateOnHoverVerticalTabs.bind(this));
this._updateMaxWidth();
this.initRightSideOrderContextMenu();
this._updateOnHoverVerticalTabs();
},
_updateOnHoverVerticalTabs() {
let onHover = Services.prefs.getBoolPref('zen.view.sidebar-expanded.on-hover');
let sidebar = document.getElementById('navigator-toolbox');
if (onHover) {
sidebar.setAttribute('zen-user-hover', 'true');
} else {
sidebar.removeAttribute('zen-user-hover');
}
},
initRightSideOrderContextMenu() {
@@ -89,11 +105,13 @@ var gZenVerticalTabsManager = {
toggleExpand() {
let expanded = !this.expanded;
Services.prefs.setBoolPref('zen.view.sidebar-expanded', expanded);
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() {
@@ -104,6 +122,10 @@ var gZenCompactModeManager = {
Services.prefs.setBoolPref('zen.view.compact', value);
},
_updateEvent() {
Services.prefs.setBoolPref('zen.view.sidebar-expanded.on-hover', false);
},
toggle() {
this.preference = !this.prefefence;
},

View File

@@ -25,6 +25,8 @@
<!-- Scripts used all over the browser -->
<script type="text/javascript">
window.addEventListener("DOMContentLoaded", async () => {
// Theme importer always needs to be loaded first
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenThemesImporter.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/ZenWorkspaces.mjs");

View File

@@ -9,11 +9,13 @@
content/browser/zen-components/ZenProfileDialogUI.mjs (content/zen-components/src/ZenProfileDialogUI.mjs)
content/browser/zen-components/ZenKeyboardShortcuts.mjs (content/zen-components/src/ZenKeyboardShortcuts.mjs)
content/browser/zen-components/ZenThemeBuilder.mjs (content/zen-components/src/ZenThemeBuilder.mjs)
content/browser/zen-components/ZenThemesImporter.mjs (content/zen-components/src/ZenThemesImporter.mjs)
content/browser/zen-styles/zen-theme.css (content/zen-styles/zen-theme.css)
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
content/browser/zen-styles/zen-tabs.css (content/zen-styles/zen-tabs.css)
content/browser/zen-styles/zen-tabs/vertical-tabs.css (content/zen-styles/zen-tabs/vertical-tabs.css)
content/browser/zen-styles/zen-tabs/horizontal-tabs.css (content/zen-styles/zen-tabs/horizontal-tabs.css)
content/browser/zen-styles/zen-browser-ui.css (content/zen-styles/zen-browser-ui.css)
content/browser/zen-styles/zen-animations.css (content/zen-styles/zen-animations.css)
content/browser/zen-styles/zen-panel-ui.css (content/zen-styles/zen-panel-ui.css)

View File

@@ -1,4 +1,5 @@
<link rel="localization" href="browser/zen-web-side-panels.ftl"/>
<link rel="localization" href="browser/zen-workspaces.ftl"/>
<link rel="localization" href="browser/zen-split-view.ftl"/>
<link rel="localization" href="browser/zen-general.ftl"/>
<link rel="localization" href="browser/zen-vertical-tabs.ftl"/>

View File

@@ -78,7 +78,7 @@
<panel flip="slide" type="arrow" orient="vertical" id="PanelUI-zen-workspaces" position="bottomright topright" mainview="true" side="left">
<panelmultiview id="PanelUI-zen-workspaces-multiview" mainViewId="PanelUI-zen-workspaces-view">
<panelview lockpanelvertical="true" id="PanelUI-zen-workspaces-view" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
<panelview id="PanelUI-zen-workspaces-view" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
<vbox>
<hbox>
<h3 data-l10n-id="zen-panel-ui-current-window-text"></h3>
@@ -98,28 +98,31 @@
</html:div>
</vbox>
</panelview>
<panelview lockpanelvertical="true" id="PanelUI-zen-workspaces-create" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
<vbox>
<h1 data-l10n-id="zen-panel-ui-workspaces-create-text"></h1>
<html:input autofocus="true" id="PanelUI-zen-workspaces-create-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceNameChange(this);" />
</vbox>
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-create-footer">
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-create-save" oncommand="ZenWorkspaces.saveWorkspaceFromInput();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
</button>
<button id="PanelUI-zen-workspaces-create-cancel" oncommand="ZenWorkspaces.cancelWorkspaceCreation();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
</button>
</html:moz-button-group>
</panelview>
<panelview lockpanelvertical="true" id="PanelUI-zen-workspaces-create-icons" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
<panelview id="PanelUI-zen-workspaces-create" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
<vbox>
<h1 data-l10n-id="zen-panel-ui-workspaces-create-text"></h1>
<html:input autofocus="true" id="PanelUI-zen-workspaces-create-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceCreationNameChange(this);" />
<hbox id="PanelUI-zen-workspaces-create-icons-container">
</hbox>
</vbox>
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-create-footer">
<button default="true" slot="primary" id="PanelUI-zen-workspaces-create-save-icons" oncommand="ZenWorkspaces.saveWorkspaceFromIcon();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-create-save" oncommand="ZenWorkspaces.saveWorkspaceFromCreate();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-save">
</button>
<button id="PanelUI-zen-workspaces-create-cancel-icons" oncommand="ZenWorkspaces.cancelWorkspaceCreation();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
<button id="PanelUI-zen-workspaces-create-cancel" oncommand="ZenWorkspaces.closeWorkspacesSubView();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-create-cancel">
</button>
</html:moz-button-group>
</panelview>
<panelview id="PanelUI-zen-workspaces-edit" class="PanelUI-subView" role="document" mainview-with-header="true" has-custom-header="true">
<vbox>
<h1 data-l10n-id="zen-panel-ui-workspaces-edit-text"></h1>
<html:input autofocus="true" id="PanelUI-zen-workspaces-edit-input" type="text" placeholder="Enter workspace name" oninput="ZenWorkspaces.onWorkspaceEditChange();" />
<hbox id="PanelUI-zen-workspaces-edit-icons-container">
</hbox>
</vbox>
<html:moz-button-group class="panel-footer" id="PanelUI-zen-workspaces-edit-footer">
<button disabled="true" default="true" slot="primary" id="PanelUI-zen-workspaces-edit-save" oncommand="ZenWorkspaces.saveWorkspaceFromEdit();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-edit-save">
</button>
<button id="PanelUI-zen-workspaces-edit-cancel" oncommand="ZenWorkspaces.closeWorkspacesSubView();" class="footer-button" data-l10n-id="zen-panel-ui-workspaces-edit-cancel">
</button>
</html:moz-button-group>
</panelview>
@@ -129,5 +132,9 @@
<menupopup id="zenWorkspaceActionsMenu"
onpopupshowing="ZenWorkspaces.updateContextMenu(this);"
onpopuphidden="ZenWorkspaces.onContextMenuClose();">
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete();" data-l10n-id="zen-workspaces-panel-context-delete"/>
<menuitem id="context_zenOpenWorkspace" oncommand="ZenWorkspaces.openWorkspace();" data-l10n-id="zen-workspaces-panel-context-open"/>
<menuseparator/>
<menuitem id="context_zenSetAsDefaultWorkspace" oncommand="ZenWorkspaces.setDefaultWorkspace();" data-l10n-id="zen-workspaces-panel-context-set-default"/>
<menuitem id="context_zenEditWorkspace" oncommand="ZenWorkspaces.contextEdit(event);" data-l10n-id="zen-workspaces-panel-context-edit"/>
<menuitem id="context_zenDeleteWorkspace" oncommand="ZenWorkspaces.contextDelete(event);" data-l10n-id="zen-workspaces-panel-context-delete"/>
</menupopup>

View File

@@ -1,7 +1,5 @@
<toolbar id="zen-sidebar-icons-wrapper">
<toolbar brighttext="true" id="zen-sidebar-icons-wrapper" class="zen-dont-hide-on-fullscreen">
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button chromeclass-toolbar-additional subviewbutton-nav" badge="true" closemenu="none" removable="true" delegatesanchor="true" cui-areatype="toolbar" id="zen-profile-button" data-l10n-id="toolbar-button-account" onclick="ZenProfileDialogUI.showSubView(this, event)">
<html:div class="zen-side-bar-profiles-button-panel-correction"></html:div>
<html:div></html:div>
</toolbarbutton>
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" data-l10n-id="sidebar-zen-expand" oncommand="gZenVerticalTabsManager.toggleExpand();"></toolbarbutton>
<toolbarbutton class="toolbarbutton-1 zen-sidebar-action-button" id="zen-sidepanel-button" data-l10n-id="sidebar-zen-sidepanel" onclick="gZenBrowserManagerSidebar.toggle();"></toolbarbutton>

View File

@@ -20,8 +20,8 @@
<html:p data-l10n-id="zen-sidebar-introduction-description"/>
</vbox>
</vbox>
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-wrapper">
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites">
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-wrapper" class="zen-dont-hide-on-fullscreen">
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites" class="zen-dont-hide-on-fullscreen">
</toolbar>
<toolbarbutton id="zen-sidebar-add-panel-button" class="zen-sidebar-panel-button toolbarbutton-1 chromeclass-toolbar-additional" onclick="gZenBrowserManagerSidebar._openAddPanelDialog();"/>

View File

@@ -4,13 +4,12 @@
width: -moz-available;
margin: 0 var(--zen-element-separation) var(--zen-element-separation) 0;
box-shadow: 0 0 0 1px var(--zen-colors-border);
clip-path: inset(-5px -5px -5px round var(--zen-webview-border-radius, var(--zen-border-radius)));
border-radius: var(--zen-webview-border-radius, var(--zen-border-radius));
transform: translate3d(0, 0, 0);
overflow: hidden;
& browser {
clip-path: inset(0px 0px 0px round var(--zen-browser-border-radius) 0);
}
&, & browser {
border-radius: var(--zen-browser-border-radius);
}
/* This fixes an issue with the left border */
margin-left: 2px;
}
}

View File

@@ -1,11 +1,15 @@
#navigator-toolbox,
#browser,
#appcontent,
#tabbrowser-tabpanels {
background: transparent !important;
}
#navigator-toolbox {
/* see issue #426 */
background: var(--zen-navigator-toolbox-background, transparent) !important;
}
#browser {
width: 100%;
}
@@ -21,7 +25,6 @@ html#main-window > body {
:not([inDOMFullscreen="true"]) #appcontent,
#sidebar-box {
/** Sidebar is already hidden in full screen mode */
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
border: none;
}

View File

@@ -12,26 +12,34 @@
#navigator-toolbox[inFullscreen]{ margin-top: 0 !important; }
#navigator-toolbox {
--zen-compact-toolbox-margin-single: 15px;
--zen-compact-toolbox-margin-single: calc(var(--zen-element-separation) * 2);
--zen-compact-toolbox-margin: var(--zen-compact-toolbox-margin-single);
position: absolute;
display: block;
transition: 200ms ease-in-out !important;
transform: translateX(calc(-100% + var(--zen-compact-toolbox-margin-single) + 2px));
transform: translateX(calc(-100% + (var(--zen-compact-toolbox-margin-single) / 2)));
opacity: 0;
line-height: 0;
z-index: 1;
height: 100%;
margin: 0;
padding: var(--zen-compact-toolbox-margin);
padding-top: calc(var(--zen-compact-toolbox-margin-single) - var(--zen-element-separation));
padding: var(--zen-compact-toolbox-margin) !important;
& #titlebar {
border: 1px solid var(--zen-colors-border);
transition-delay: 200ms;
background: var(--zen-colors-tertiary) !important;
padding: 0 5px;
border-radius: var(--zen-panel-radius);
}
& > * {
pointer-events: none;
}
&, & #titlebar {
min-width: calc(var(--zen-navigation-toolbar-min-width) + var(--zen-compact-toolbox-margin-single) * 4) !important;
}
}
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
@@ -64,7 +72,14 @@
@media not (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
#navigator-toolbox {
/* Remove the top margin */
--zen-compact-toolbox-margin: calc(var(--zen-compact-toolbox-margin-single) / 3) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single);
/* The toolbox isn't relative to the webview anymore, meaning we can't just add a static value and call it a day...
* The top margin is calculated by taking the following factors into account:
* 1. Element separation
* 2. Extra margin to separate from the webview
* 3. Add element separation variable, to avoid overlaping with the toolbar
* 4. Calculate toolbar height, taken from zen-urlbar.css
*/
--zen-compact-toolbox-margin: calc(var(--zen-compact-toolbox-margin-single) + .15rem + var(--zen-element-separation) + (18px + (var(--toolbarbutton-inner-padding) * 2))) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single) var(--zen-compact-toolbox-margin-single);
}
#zen-sidebar-web-panel-wrapper,
@@ -78,12 +93,15 @@
#navigator-toolbox[zen-user-show],
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
transition-delay: 33ms !important;
transform: none !important;
opacity: 1;
& > * {
pointer-events: all;
}
}
#navigator-toolbox > *{ line-height: normal; pointer-events: auto }
#navigator-toolbox > *{ line-height: normal; }
#navigator-toolbox,
#navigator-toolbox > *{
@@ -111,14 +129,10 @@
}
@media (-moz-bool-pref: "zen.view.compact.hide-toolbar") {
#navigator-toolbox {
padding-top: var(--zen-compact-toolbox-margin);
}
#zen-appcontent-navbar-container {
--urlbar-height: unset;
transition: .2s ease-in-out;
transform: translateY(calc(-100% + 5px));
transform: translateY(calc(-100% + var(--zen-element-separation)));
opacity: 0;
position: absolute;
width: 100%;
@@ -152,4 +166,24 @@
margin-top: 10px !important;
}
}
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") {
#navigator-toolbox {
right: 0 !important;
transform: translateX(calc(100% - (var(--zen-compact-toolbox-margin-single) / 2))) !important;;
}
#navigator-toolbox:hover,
#navigator-toolbox:focus-within,
#navigator-toolbox[zen-user-show],
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
transform: none !important;
opacity: 1;
& > * {
pointer-events: all;
}
}
}
}

View File

@@ -283,4 +283,3 @@ menu, menuitem {
color: var(--button-hover-color);
}
}

View File

@@ -10,7 +10,7 @@
}
#sidebar-box {
--zen-sidebar-box-border-radius: var(--zen-browser-border-radius);
--zen-sidebar-box-border-radius: var(--zen-panel-radius);
margin: var(--zen-element-separation);
border-radius: var(--zen-sidebar-box-border-radius);
overflow: hidden;
@@ -40,7 +40,7 @@
background: transparent !important;
border-color: transparent !important;
width: 1px !important;
margin-right: 5px !important;
margin-right: 5px;
}
#sidebar-box[positionend] {
@@ -48,6 +48,7 @@
}
.zen-sidebar-action-button {
--toolbarbutton-active-background: var(--zen-colors-secondary);
width: var(--zen-sidebar-action-button-width);
height: var(--zen-sidebar-action-button-width);
padding: 0;
@@ -73,10 +74,7 @@
display: none;
}
#TabsToolbar .toolbarbutton-1:hover > :is(.toolbarbutton-icon, .toolbarbutton-badge-stack),
#TabsToolbar .toolbarbutton-1[open="true"] > :is(.toolbarbutton-icon, .toolbarbutton-badge-stack),
.zen-sidebar-action-button:hover,
.zen-sidebar-action-button[open="true"] {
.zen-sidebar-action-button:hover {
background: var(--toolbarbutton-hover-background) !important;
}
@@ -84,10 +82,6 @@
background: transparent !important;
}
.zen-sidebar-action-button label {
display: none !important;
}
#sidebar-box[hidden="true"] .zen-sidebar-action-button,
.zen-sidebar-panel-button[animate] {
opacity: 0;
@@ -123,10 +117,11 @@
#zen-profile-button {
display: flex;
justify-content: center;
position: relative;
align-items: center;
}
#zen-profile-button > div:last-child {
#zen-profile-button::before {
background-image: var(--avatar-image-url);
border-radius: 50%;
background-size: cover;
@@ -134,6 +129,11 @@
width: 20px;
height: 20px;
border: 2px solid var(--zen-colors-border);
content: '';
top: 50%;
left: var(--toolbar-start-end-padding);
transform: translateY(-50%);
position: absolute;
}
/* Ugly code */
@@ -149,12 +149,6 @@
#TabsToolbar .zen-sidebar-action-button:nth-child(9), .zen-sidebar-panel-button:nth-child(9) { animation-delay: 0.9s; }
#TabsToolbar .zen-sidebar-action-button:nth-child(10), .zen-sidebar-panel-button:nth-child(10) { animation-delay: 1s; }
#TabsToolbar .zen-side-bar-profiles-button-panel-correction {
position: absolute;
bottom: -2px;
right: -2px;
}
#zen-sidebar-icons-wrapper toolbarbutton {
position: relative;
}
@@ -205,6 +199,7 @@
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
width: 0;
padding-right: 2px;
}
#zen-sidebar-splitter {
@@ -214,7 +209,7 @@
@media (-moz-bool-pref: "zen.view.sidebar-expanded.show-button") {
#zen-expand-sidebar-button {
display: block;
display: flex;
}
}

View File

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

View File

@@ -0,0 +1,3 @@
@media not (-moz-bool-pref: "zen.tabs.vertical") {
}

View File

@@ -6,11 +6,15 @@
#navigator-toolbox {
--zen-tabbrowser-padding: 5px;
padding-left: 3px;
margin-top: 0; /* Issue #156 */
order: 0 !important;
}
#zen-sidebar-splitter {
order: 0 !important;
}
:root[inFullscreen="true"] #navigator-toolbox {
#navigator-toolbox {
margin-top: 0 !important;
}
@@ -32,6 +36,7 @@
#TabsToolbar-customization-target {
flex-direction: column;
max-width: 100%;
}
:root[customizing] .customization-target:not(#widget-overflow-fixed-list) {
@@ -151,6 +156,7 @@
.tabbrowser-tab {
margin-inline-start: 0;
margin: 0 auto;
margin-bottom: 1.5px;
}
.tabbrowser-tab[pinned] {
@@ -223,7 +229,7 @@
}
#tabbrowser-arrowscrollbox {
margin: 3px 0;
margin: 3px 0 !important;
}
#alltabs-button stack {
@@ -231,155 +237,261 @@
}
.tab-icon-overlay {
margin-inline-end: 0;
margin-inline-end: 0 !important;
display: none; /* TODO: fix this */
}
@media (-moz-bool-pref: "zen.view.sidebar-collapsed.hide-mute-button") and (not (-moz-bool-pref: "zen.view.sidebar-expanded")) {
.tab-icon-overlay:is([soundplaying], [muted]):not([selected]) {
display: none;
}
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded.on-hover") {
#navigator-toolbox:is([zen-user-hover="true"]:hover, :not([zen-user-hover="true"])) {
padding-right: 47px !important;
}
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox:is(
#navigator-toolbox[zen-user-hover="true"]:hover,
#navigator-toolbox[zen-user-hover="true"]:focus-within,
#mainPopupSet[zen-user-hover="true"]:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox[zen-user-hover="true"]:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)),
:not([zen-user-hover="true"])) {
--zen-navigation-toolbar-min-width: 155px;
min-width: var(--zen-navigation-toolbar-min-width) !important;
align-items: start;
transition: .2s;
width: 170px;
border: none;
padding-left: 2px;
animation: zen-sidebar-panel-animation-2 0.3s backwards;
& .tab-label-container {
display: block;
}
& #titlebar,
& #TabsToolbar,
& #TabsToolbar .toolbar-items {
width: 100%;
align-items: flex-start;
}
& #TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) {
width: 100% !important;
border-radius: 8px;
}
& #TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button):hover {
background: var(--button-hover-bgcolor);
}
& #TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-text,
& #TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-icon,
& #TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-badge-stack {
background: transparent !important;
}
& #tabbrowser-arrowscrollbox-periphery > toolbarbutton {
display: flex;
justify-content: center;
align-items: center;
}
& .tabbrowser-tab {
max-width: unset !important;
&:not([pinned]) {
width: 100%;
&:hover .tab-close-button {
display: block !important;
}
& .tab-content {
position: relative;
width: 100%;
}
& .tab-stack {
justify-content: start;
padding: 10px;
width: 100% !important;
}
& .tab-label-container {
#tabbrowser-tabs:not([secondarytext-unsupported]) & {
display: flex;
align-items: center;
padding-left: 10px;
}
}
}
&:active,
.zen-sidebar-panel-button:active {
transform: scale(0.96) !important;
}
&[pinned] {
margin: 0 !important;
}
}
& #tabbrowser-arrowscrollbox::part(scrollbox) {
/* We have the pinned tabs on the top, next to each other,
* and the rest of the tabs are below them. */
display: grid;
grid-template-columns: repeat(auto-fill, minmax(var(--tab-min-height), 1fr));
padding: calc(var(--zen-tabbrowser-padding) / 2);
}
& .tabbrowser-tab:not([pinned]),
& #tabbrowser-arrowscrollbox-periphery {
grid-column: 1 / -1;
}
& .tabbrowser-tab[pinned] {
grid-column: span 1;
min-width: 100%;
}
& #zen-sidebar-icons-wrapper {
width: -moz-available;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(37px, 1fr));
transition: .1s;
}
& #zen-sidebar-icons-wrapper::before {
width: 100%;
}
}
}
@media not (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
width: fit-content !important;
}
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
--zen-navigation-toolbar-min-width: 155px;
min-width: var(--zen-navigation-toolbar-min-width) !important;
align-items: start;
transition: .2s;
width: 170px;
border: none;
}
.tab-label-container {
display: block;
}
#titlebar,
#TabsToolbar,
#TabsToolbar .toolbar-items {
width: 100%;
align-items: flex-start;
}
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) {
width: 100% !important;
border-radius: 8px;
}
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button):hover {
background: var(--button-hover-bgcolor);
}
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-text,
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-icon,
#TabsToolbar > .toolbar-items toolbarbutton:not(#zen-workspaces-button) .toolbarbutton-badge-stack {
background: transparent !important;
}
#tabbrowser-arrowscrollbox-periphery {
margin-top: 5px;
}
#tabbrowser-arrowscrollbox-periphery > toolbarbutton {
display: flex;
justify-content: center;
align-items: center;
}
.tabbrowser-tab {
max-width: unset !important;
&:not([pinned]) {
width: 100%;
&:hover .tab-close-button {
display: block !important;
}
& .tab-content {
position: relative;
width: 100%;
}
& .tab-stack {
justify-content: start;
padding: 10px;
width: 100% !important;
}
& .tab-label-container {
#tabbrowser-tabs:not([secondarytext-unsupported]) & {
display: flex;
align-items: center;
padding-left: 10px;
}
}
}
&:active,
.zen-sidebar-panel-button:active {
transform: scale(0.96) !important;
}
&[pinned] {
margin: 0 !important;
}
}
#tabbrowser-arrowscrollbox::part(scrollbox) {
/* We have the pinned tabs on the top, next to each other,
* and the rest of the tabs are below them. */
display: grid;
grid-template-columns: repeat(auto-fill, minmax(var(--tab-min-height), 1fr));
padding: calc(var(--zen-tabbrowser-padding) / 2);
}
.tabbrowser-tab:not([pinned]),
#tabbrowser-arrowscrollbox-periphery {
grid-column: 1 / -1;
}
.tabbrowser-tab[pinned] {
grid-column: span 1;
min-width: 100%;
}
#zen-sidebar-icons-wrapper {
width: -moz-available;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(37px, 1fr));
transition: .1s;
}
#zen-sidebar-icons-wrapper::before {
width: 100%;
}
}
#navigator-toolbox[zen-user-hover="true"] {
width: fit-content !important;
}
/* Display the vertical tabs on the right side */
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") and (not (-moz-bool-pref: "zen.view.compact")) {
#navigator-toolbox {
order: 4;
padding-left: 0;
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#navigator-toolbox {
padding-right: 3px !important;
}
order: 6 !important;
padding-left: 0 !important;
padding: calc(var(--zen-tabbrowser-padding) * 1.5);
}
#zen-sidebar-splitter {
order: 3;
}
#tabbrowser-tabbox {
padding-left: 10px;
order: 5 !important;
}
#tabbrowser-tabpanels .browserSidebarContainer {
margin-right: 0 !important;
margin-left: var(--zen-element-separation) !important;
}
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded.on-hover") and (not (-moz-bool-pref: "zen.view.compact")) {
#zen-sidebar-splitter {
display: none !important;
}
#navigator-toolbox {
z-index: 1;
}
#navigator-toolbox, #titlebar, #TabsToolbar {
transition: 0s !important;
}
#TabsToolbar {
--hovered-verticaltab-width: 20em;
z-index: 1;
background-repeat: no-repeat !important;
background-position: center center !important;
background-size: cover !important;
border-top: 1px solid transparent;
border-right: 1px solid transparent;
height: 100%;
border-top-right-radius: var(--zen-border-radius);
transform: translateY(-1px);
}
#navigator-toolbox:hover,
#navigator-toolbox:focus-within,
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
--zen-navigation-toolbar-min-width: 3.3rem !important;
& #TabsToolbar {
z-index: 100 !important;
width: 250px !important;
background-color: var(--zen-dialog-background);
border-top-color: var(--zen-colors-border);
border-right-color: var(--zen-colors-border);
padding-right: .1rem !important;
position: absolute;
}
#navigator-toolbox:not(&) #TabsToolbar #tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab .tab-content[class] > .tab-close-button[class] {
display: none !important;
visibility: hidden !important;
}
& #zen-sidebar-icons-wrapper {
display: block !important;
}
& .zen-sidebar-action-button {
width: 100%;
& > * {
--toolbarbutton-active-background: transparent;
}
& label {
--toolbarbutton-hover-background: transparent;
display: block !important;
text-align: start;
}
}
}
@media (-moz-bool-pref: "zen.tabs.vertical.right-side") {
#TabsToolbar {
border-right: 0 !important;
border-left: 1px solid transparent;
border-top-right-radius: 0;
border-top-left-radius: var(--zen-border-radius);
right: 100%;
}
#navigator-toolbox:hover,
#navigator-toolbox:focus-within,
#mainPopupSet:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)) {
--zen-navigation-toolbar-min-width: 0 !important;
position: relative;
padding: 0 !important;
& #TabsToolbar {
border-left: 1px solid var(--zen-colors-border);
}
}
}
}
}

View File

@@ -28,7 +28,7 @@
--zen-colors-input-bg: color-mix(in srgb, var(--zen-primary-color) 10%, white 80%);
--zen-dialog-background: var(--zen-colors-tertiary);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, #f1f1f1 92%);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, #f7f7f7 92%);
--zen-secondary-btn-color: var(--zen-colors-primary-foreground);
@@ -89,7 +89,6 @@
--zen-appcontent-border: 1px solid var(--zen-colors-border);
--zen-panel-radius: var(--zen-border-radius);
--zen-browser-border-radius: var(--zen-panel-radius);
--toolbarbutton-border-radius: 6px;
@@ -112,7 +111,7 @@
--input-border-color: var(--zen-input-border-color) !important;
--zen-themed-toolbar-bg: var(--zen-colors-tertiary);
--toolbar-field-background-color: var(--zen-colors-input-bg);
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
--arrowpanel-background: var(--zen-dialog-background) !important;
}
@@ -132,7 +131,7 @@
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 80%, black 20%);
--zen-dialog-background: color-mix(in srgb, var(--zen-primary-color) 10%, black 90%);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, black 92%);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, rgb(15, 15, 15) 92%);
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, black 70%);
}

View File

@@ -1,21 +1,20 @@
/* URL and tool bars */
#urlbar {
--toolbarbutton-border-radius: 999px;
border: transparent;
--toolbarbutton-border-radius: 6px;
--urlbarView-separator-color: var(--zen-colors-border);
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
border: 1px solid var(--zen-colors-border);
border-radius: 999px;
overflow: hidden;
padding: 1px;
border-radius: var(--toolbarbutton-border-radius);
}
#urlbar[focused="true"][breakout-extend="true"] {
overflow: visible;
}
#urlbar {
border: 1px solid light-dark(rgba(0,0,0,.2), rgba(255,255,255,.2))
}
#searchbar:focus-within {
border-color: transparent !important;
}
@@ -28,6 +27,8 @@
background: var(--zen-dialog-background) !important;
}
#urlbar-background { border: transparent !important; }
#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background,
#searchbar:focus-within {
outline: none !important;
@@ -37,16 +38,29 @@
#urlbar .urlbar-page-action,
#urlbar #tracking-protection-icon-container,
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI) #identity-icon-box {
#urlbar:not([breakout-extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
border-radius: 999px;
}
#urlbar[breakout-extend="true"] {
--toolbarbutton-border-radius: 6px;
#urlbar[breakout-extend="true"] .urlbar-page-action,
#urlbar[breakout-extend="true"] #tracking-protection-icon-container,
#urlbar[breakout-extend="true"] #identity-box #identity-icon-box,
.searchbar-engine-one-off-item {
border-radius: var(--toolbarbutton-border-radius) !important;
}
#identity-icon-box {
#urlbar[breakout-extend="true"] {
border-radius: 12px;
}
#identity-icon-box,
#identity-permission-box {
background: var(--zen-colors-secondary) !important;
margin: 0 8px 0 0 !important;
}
#identity-permission-box {
background: var(--zen-colors-border) !important;
}
#urlbar:is([focused], [open]) > #urlbar-background, #searchbar:focus-within {
@@ -54,39 +68,41 @@
}
#identity-icon-label {
padding-inline-start: 8px !important;
padding-inline-start: 8px !important;
}
#urlbar #identity-box.chromeUI #identity-icon-box {
border-radius: 5px !important;
#identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
margin-right: 0 !important;
}
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI #identity-icon-box {
#urlbar:not([breakout-extend="true"]) #identity-box.chromeUI:not([pageproxystate="invalid"]) #identity-icon-box {
border-radius: 20px 10px 10px 20px !important;
}
#urlbar .urlbar-page-action,
#urlbar #identity-box #identity-icon-box,
#urlbar #tracking-protection-icon-container {
margin: 0 1px;
}
#urlbar:not([extend="true"]) #identity-box #identity-icon-box { position: relative; }
#urlbar:not([extend="true"]) #identity-box #identity-icon-box { position: relative;}
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI):not(.localResource) #identity-icon-box {
#urlbar:not([extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) #identity-icon-box {
margin-right: 5px;
}
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI):not(.localResource) {
#urlbar:not([extend="true"]) #identity-box:is(:not(.chromeUI), [pageproxystate="invalid"]) {
margin-inline-end: 0 !important;
}
.urlbar-page-action {
width: calc(var(--urlbar-min-height) - 5px - 2 * var(--urlbar-container-padding)) !important;
height: calc(var(--urlbar-min-height) - 5px - 2 * var(--urlbar-container-padding)) !important;
.urlbar-page-action,
#tracking-protection-icon-container {
width: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
height: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
padding: 0 !important;
justify-content: center !important;
align-items: center !important;
margin: 0 0 0 2px !important;
}
#urlbar[breakout-extend="true"] .urlbar-page-action,
#urlbar[breakout-extend="true"] #tracking-protection-icon-container {
width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
}
toolbar .toolbarbutton-1:not(.unified-extensions-item-action-button) {
@@ -106,12 +122,16 @@ toolbar .zen-sidebar-panel-button {
}
#identity-permission-box {
margin: 0 5px 0 0 !important;
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])) #identity-icon-box {
#identity-box:has(#notification-popup-box:not([hidden="true"])) #identity-icon-box,
#identity-box:has(#notification-popup-box:not([hidden="true"])) #identity-permission-box {
margin-right: 4px !important;
}
#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])):not([pageproxystate="invalid"]) #identity-icon-box {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
margin-right: 0 !important;
@@ -124,10 +144,22 @@ toolbar .zen-sidebar-panel-button {
#notification-popup-box {
border-radius: 999px;
margin-right: 5px;
transition: .2s;
height: 100%;
padding: 7px;
margin: 0 4px 0 0 !important;
padding: 0 4px;
min-width: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
height: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important;
justify-content: center;
gap: 8px;
}
#urlbar[breakout-extend="true"] #notification-popup-box {
min-width: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
height: calc(var(--urlbar-min-height) - 4 * var(--urlbar-container-padding)) !important;
}
#notification-popup-box > image {
margin: 0;
padding: 0;
}
button.popup-notification-dropmarker {
@@ -141,11 +173,12 @@ button.popup-notification-dropmarker {
}
.searchbar-engine-one-off-item {
max-width: 20px;
min-width: 20px !important;
max-width: 28px;
min-width: 28px !important;
transition: background 0s;
justify-content: center;
}
#downloadsHistory {
margin-top: 5px
}
}

View File

@@ -1,42 +1,55 @@
#zen-workspaces-button {
--zen-workspaces-button-vmargin: 0.35rem;
border: 1px solid var(--zen-colors-border);
border-radius: 50px;
width: calc(var(--zen-sidebar-action-button-width) - 5px) !important;
height: calc(var(--zen-sidebar-action-button-width) - 10px) !important;
margin-bottom: .1rem !important;
margin-top: var(--zen-workspaces-button-vmargin) !important;
margin-bottom: var(--zen-workspaces-button-vmargin) !important;
justify-content: center;
align-items: center;
display: flex;
}
#zen-workspaces-button .zen-workspace-sidebar-name {
margin-left: .1rem;
margin-left: .2rem;
display: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 12px;
}
@media (-moz-bool-pref: "zen.view.sidebar-expanded") {
#zen-workspaces-button .zen-workspace-sidebar-name {
display: block;
}
/** Keep these selectors in sync with the ones in vertical-tabs.css */
#navigator-toolbox:is(
#navigator-toolbox[zen-user-hover="true"]:hover,
#navigator-toolbox[zen-user-hover="true"]:focus-within,
#mainPopupSet[zen-user-hover="true"]:has(> #appMenu-popup:hover) ~ toolbox,
#navigator-toolbox[zen-user-hover="true"]:has(*[open="true"]:not(tab):not(#zen-sidepanel-button)),
:not([zen-user-hover="true"])) {
& #zen-workspaces-button .zen-workspace-sidebar-name {
display: block;
}
#zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] {
display: none;
}
& #zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] {
display: none;
}
#zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] + .zen-workspace-sidebar-name {
margin-left: 0;
}
& #zen-workspaces-button .zen-workspace-sidebar-icon[no-icon="true"] + .zen-workspace-sidebar-name {
margin-left: 0;
}
#zen-workspaces-button {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: flex;
padding: 2px 10px;
width: calc(100% - var(--zen-tabbrowser-padding) * 8) !important;
& #zen-workspaces-button {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: flex;
padding: 2px 10px;
width: calc(100% - var(--zen-tabbrowser-padding) * 6) !important;
gap: 0.5ch;
}
}
}
@@ -49,6 +62,8 @@
#PanelUI-zen-workspaces > panelmultiview {
align-items: flex-start;
overflow-x: hidden;
overflow-y: auto;
}
#PanelUI-zen-workspaces panelmultiview panelview {
@@ -58,11 +73,13 @@
min-height: 150px;
}
#PanelUI-zen-workspaces-create-input {
#PanelUI-zen-workspaces-create-input,
#PanelUI-zen-workspaces-edit-input {
margin-top: 10px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton {
#PanelUI-zen-workspaces-create-icons-container toolbarbutton,
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton {
width: 30px;
height: 30px;
display: flex;
@@ -72,27 +89,37 @@
border-radius: 7px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton[selected="true"] {
#PanelUI-zen-workspaces-create-icons-container toolbarbutton[selected="true"],
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton[selected="true"] {
border-color: var(--zen-colors-secondary);
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-icon {
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-icon,
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton .toolbarbutton-icon {
display: none;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-text {
#PanelUI-zen-workspaces-create-icons-container toolbarbutton .toolbarbutton-text,
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton .toolbarbutton-text {
min-width: unset;
}
#PanelUI-zen-workspaces-create-icons-container {
#PanelUI-zen-workspaces-create-icons-container,
#PanelUI-zen-workspaces-edit-icons-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
gap: 8px;
}
#PanelUI-zen-workspaces-create-icons-container toolbarbutton.toolbarbutton-1,
#PanelUI-zen-workspaces-edit-icons-container toolbarbutton.toolbarbutton-1 {
margin-top: 10px;
}
#PanelUI-zen-workspaces-list {
display: flex;
flex-direction: column;
flex-shrink: 0;
}
#PanelUI-zen-workspaces-list[empty="true"] {
@@ -132,6 +159,7 @@
justify-content: center;
align-items: center;
font-weight: 600;
flex-shrink: 0;
}
& .zen-workspace-name {
@@ -171,14 +199,16 @@
height: 20px;
}
#PanelUI-zen-workspaces-create-footer {
#PanelUI-zen-workspaces-create-footer,
#PanelUI-zen-workspaces-edit-footer {
padding-bottom: 0 !important;
margin-top: 20px;
margin-top: 10px;
margin-left: 0;
margin-bottom: 0 !important;
width: 100%;
}
#PanelUI-zen-workspaces-create-footer button[default="true"] {
#PanelUI-zen-workspaces-create-footer button[default="true"],
#PanelUI-zen-workspaces-edit-footer button[default="true"] {
width: 100%;
}

View File

@@ -80,6 +80,9 @@ var ZenThemeModifier = {
},
_updateZenAvatar() {
if (typeof ProfileService === "undefined") {
return;
}
const mainWindowEl = document.documentElement;
// Dont override the sync avatar if it's already set
if (mainWindowEl.style.hasOwnProperty("--avatar-image-url")) {

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/customizableui/content/customizeMode.inc.xhtml b/browser/components/customizableui/content/customizeMode.inc.xhtml
index 2788cc6a8fb42b7b968eb45aafc02f8d6fcf771d..5142e65576aebaac0e31677b707a5e05f88dae76 100644
--- a/browser/components/customizableui/content/customizeMode.inc.xhtml
+++ b/browser/components/customizableui/content/customizeMode.inc.xhtml
@@ -94,7 +94,7 @@
class="footer-button"
oncommand="gCustomizeMode.togglePong(this.checked);"
hidden="true"/>
-
+#include zenCustomizationMode.inc.xhtml
<spacer id="customization-footer-spacer"/>
#ifdef XP_MACOSX
<button id="customization-touchbar-button"

View File

@@ -16,6 +16,21 @@ var gZenNewWebPanel = {
}
},
addHttpIfMissing(url) {
// List of schemes to avoid
const avoidSchemes = ['about:', 'chrome:', 'moz-extension:', 'view-source:'];
// Check if the URL starts with any of the avoid schemes
for (let scheme of avoidSchemes) {
if (url.startsWith(scheme)) {
return url;
}
}
if (!url.startsWith('http://') && !url.startsWith('https://')) {
return 'https://' + url;
}
return url;
},
handleDialogAccept: async function(aEvent) {
document.commandDispatcher.focusedElement?.blur();
let url = document.getElementById("zenNWP_url");
@@ -23,16 +38,17 @@ var gZenNewWebPanel = {
if (!url || !ua) {
return;
}
let urlValue = url.value;
try {
new URL(url.value);
new URL(urlValue);
} catch (_) {
return;
urlValue = this.addHttpIfMissing(url.value);
}
if (!url.value || !ua.value) {
return;
}
let newSite = {
url: url.value,
url: urlValue,
ua: ua.value,
};
let currentData = JSON.parse(Services.prefs.getStringPref("zen.sidebar.data"));

View File

@@ -1,14 +1,15 @@
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..fb7c6f419c02701aecd148ef2fe271ed6f1a73c1 100644
index 7e21bab426b6eb52fe84876d817fddbdb1a35ffc..56b42e2d025e4a47ea0983cf33ae69ffafa0d576 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -196,6 +196,9 @@ function init_all() {
@@ -196,6 +196,10 @@ function init_all() {
// the entire document.
Preferences.queueUpdateOfAllElements();
Services.telemetry.setEventRecordingEnabled("aboutpreferences", true);
+ register_module("paneZenLooks", gZenLooksAndFeel);
+ register_module("paneZenWorkspaces", gZenWorkspacesSettings);
+ register_module("paneZenCKS", gZenCKSSettings);
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
register_module("paneGeneral", gMainPane);
register_module("paneHome", gHomePane);

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca1cf7acc5 100644
index 3affb19d1a243da4a5782c9a4a5588d165b4119f..837f078ff1f3a65a40877c1380c6d050a8415bab 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -43,6 +43,8 @@
@@ -24,7 +24,7 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca
<!-- category list -->
<richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label">
<richlistitem id="category-general"
@@ -110,6 +118,39 @@
@@ -110,6 +118,50 @@
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
</richlistitem>
@@ -60,11 +60,22 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca
+ <image class="category-icon"/>
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-CKS-title"></label>
+ </richlistitem>
+
+ <richlistitem id="category-zen-marketplace"
+ class="category"
+ value="paneZenMarketplace"
+ helpTopic="prefs-main"
+ data-l10n-id="category-zen-marketplace"
+ data-l10n-attrs="tooltiptext"
+ align="center">
+ <image class="category-icon"/>
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-marketplace-title"></label>
+ </richlistitem>
+
<richlistitem id="category-home"
class="category"
value="paneHome"
@@ -228,11 +269,13 @@
@@ -228,11 +280,13 @@
<html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/>
</hbox>
</hbox>
@@ -78,13 +89,14 @@ index 3affb19d1a243da4a5782c9a4a5588d165b4119f..6fdc0c4447d2d43ee5f4563c725b6eca
</hbox>
</hbox>
<vbox id="mainPrefPane">
@@ -246,6 +289,9 @@
@@ -246,6 +300,10 @@
#include sync.inc.xhtml
#include experimental.inc.xhtml
#include moreFromMozilla.inc.xhtml
+#include zenLooksAndFeel.inc.xhtml
+#include zenKeyboardShortcuts.inc.xhtml
+#include zenWorkspaces.inc.xhtml
+#include zenMarketplace.inc.xhtml
</vbox>
</vbox>
</vbox>

View File

@@ -15,11 +15,238 @@ const kZenColors = [
"#d4bbff",
];
const kZenOSToSmallName = {
WINNT: "windows",
Darwin: "macos",
Linux: "linux",
};
var gZenMarketplaceManager = {
init() {
Services.prefs.addObserver(this.updatePref, this._buildThemesList.bind(this));
this._buildThemesList();
document.getElementById("zenThemeMarketplaceCheckForUpdates").addEventListener("click", (event) => {
if (event.target === document.getElementById("zenThemeMarketplaceCheckForUpdates")) {
event.preventDefault();
this._checkForThemeUpdates(event);
}
});
document.addEventListener("ZenThemeMarketplace:CheckForUpdatesFinished", (event) => {
document.getElementById("zenThemeMarketplaceCheckForUpdates").disabled = false;
const updates = event.detail.updates;
const success = document.getElementById("zenThemeMarketplaceUpdatesSuccess");
const error = document.getElementById("zenThemeMarketplaceUpdatesFailure");
if (updates) {
success.hidden = false;
error.hidden = true;
} else {
success.hidden = true;
error.hidden = false;
}
});
},
_checkForThemeUpdates(event) {
// Send a message to the child to check for theme updates.
event.target.disabled = true;
// send an event that will be listened by the child process.
document.dispatchEvent(new CustomEvent("ZenCheckForThemeUpdates"));
},
get updatePref() {
return "zen.themes.updated-value-observer";
},
triggerThemeUpdate() {
Services.prefs.setBoolPref(this.updatePref, !Services.prefs.getBoolPref(this.updatePref));
},
get themesList() {
return document.getElementById("zenThemeMarketplaceList");
},
get themesDataFile() {
return PathUtils.join(
PathUtils.profileDir,
"zen-themes.json"
);
},
get themesRootPath() {
return PathUtils.join(
PathUtils.profileDir,
"chrome",
"zen-themes"
);
},
async removeTheme(themeId) {
const themePath = PathUtils.join(this.themesRootPath, themeId);
console.info("ZenThemeMarketplaceParent(settings): Removing theme ", themePath);
await IOUtils.remove(themePath, { recursive: true, ignoreAbsent: true });
let themes = await this._getThemes();
delete themes[themeId];
await IOUtils.writeJSON(this.themesDataFile, themes);
this.triggerThemeUpdate();
},
async _getThemes() {
if (!this._themes) {
if (!(await IOUtils.exists(this.themesDataFile))) {
await IOUtils.writeJSON(this.themesDataFile, {});
}
this._themes = await IOUtils.readJSON(this.themesDataFile);
}
return this._themes;
},
get currentOperatingSystem() {
let os = Services.appinfo.OS;
return kZenOSToSmallName[os];
},
_getValidPreferences(preferences) {
for (let key in preferences) {
// [!][os:]key
let restOfPreferences = key;
let isNegation = false;
if (key.startsWith("!")) {
isNegation = true;
restOfPreferences = key.slice(1);
}
let os = "";
if (restOfPreferences.includes(":")) {
[os, restOfPreferences] = restOfPreferences.split(":");
}
if (isNegation && os === this.currentOperatingSystem) {
delete preferences[key];
} else if (os && os !== this.currentOperatingSystem && !isNegation) {
delete preferences[key];
} else {
// Change the key to contain only the rest of the preferences.
preferences[restOfPreferences] = preferences[key];
if (key !== restOfPreferences) {
delete preferences[key];
}
}
}
return preferences;
},
async _getThemePreferences(theme) {
const themePath = PathUtils.join(this.themesRootPath, theme.id, "preferences.json");
if (!(await IOUtils.exists(themePath)) || !theme.preferences) {
return {};
}
return this._getValidPreferences(await IOUtils.readJSON(themePath));
},
async _buildThemesList() {
if (this.__alreadyBuilding) return;
this.__alreadyBuilding = true;
let themes = await this._getThemes();
this.themesList.innerHTML = "";
for (let theme of Object.values(themes)) {
const fragment = window.MozXULElement.parseXULToFragment(`
<hbox class="zenThemeMarketplaceItem" align="center">
<vbox class="zenThemeMarketplaceItemContent" flex="1">
<label><h3 class="zenThemeMarketplaceItemTitle"></h3></label>
<description class="description-deemphasized zenThemeMarketplaceItemDescription"></description>
</vbox>
<button class="zenThemeMarketplaceItemUninstallButton" data-l10n-id="zen-theme-marketplace-remove-button" zen-theme-id="${theme.id}"></button>
</hbox>
`);
fragment.querySelector(".zenThemeMarketplaceItemTitle").textContent = `${theme.name} (v${theme.version || "1.0.0"})`;
fragment.querySelector(".zenThemeMarketplaceItemDescription").textContent = theme.description;
fragment.querySelector(".zenThemeMarketplaceItemUninstallButton").addEventListener("click", async (event) => {
if (!confirm("Are you sure you want to remove this theme?")) {
return;
}
const target = event.target;
const themeId = target.getAttribute("zen-theme-id");
await this.removeTheme(themeId);
});
this.themesList.appendChild(fragment);
const preferences = await this._getThemePreferences(theme);
if (Object.keys(preferences).length > 0) {
let preferencesWrapper = document.createXULElement("vbox");
preferencesWrapper.classList.add("indent");
preferencesWrapper.classList.add("zenThemeMarketplaceItemPreferences");
for (let [key, value] of Object.entries(preferences)) {
const fragment = window.MozXULElement.parseXULToFragment(`
<hbox class="zenThemeMarketplaceItemPreference">
<checkbox class="zenThemeMarketplaceItemPreferenceCheckbox" zen-pref="${key}"></checkbox>
<vbox class="zenThemeMarketplaceItemPreferenceData">
<label class="zenThemeMarketplaceItemPreferenceLabel">${key}</label>
<description class="description-deemphasized zenThemeMarketplaceItemPreferenceValue">${value}</description>
</vbox>
</hbox>
`);
// Checkbox only works with "true" and "false" values, it's not like HTML checkboxes.
if (Services.prefs.getBoolPref(key, false)) {
fragment.querySelector(".zenThemeMarketplaceItemPreferenceCheckbox").setAttribute("checked", "true");
}
fragment.querySelector(".zenThemeMarketplaceItemPreferenceCheckbox").addEventListener("click", (event) => {
let target = event.target.closest(".zenThemeMarketplaceItemPreferenceCheckbox");
let key = target.getAttribute("zen-pref");
let checked = target.hasAttribute("checked");
if (!checked) {
target.removeAttribute("checked");
} else {
target.setAttribute("checked", "true");
}
Services.prefs.setBoolPref(key, !checked);
});
preferencesWrapper.appendChild(fragment);
}
this.themesList.appendChild(preferencesWrapper);
}
}
this.__alreadyBuilding = false;
}
};
var gZenLooksAndFeel = {
init() {
this._initializeColorPicker(this._getInitialAccentColor());
window.zenPageAccentColorChanged = this._handleAccentColorChange.bind(this);
this._initializeTabbarExpandForm();
gZenThemeBuilder.init();
gZenMarketplaceManager.init();
},
_initializeTabbarExpandForm() {
const form = document.getElementById("zen-expand-tabbar-strat");
const radios = form.querySelectorAll("input[type=radio]");
const onHoverPref = "zen.view.sidebar-expanded.on-hover";
const defaultExpandPref = "zen.view.sidebar-expanded";
if (Services.prefs.getBoolPref(onHoverPref)) {
form.querySelector("input[value=\"hover\"]").checked = true;
} else if (Services.prefs.getBoolPref(defaultExpandPref)) {
form.querySelector("input[value=\"expand\"]").checked = true;
} else {
form.querySelector("input[value=\"none\"]").checked = true;
}
for (let radio of radios) {
radio.addEventListener("change", e => {
switch (e.target.value) {
case "expand":
Services.prefs.setBoolPref(onHoverPref, false);
Services.prefs.setBoolPref(defaultExpandPref, true);
break;
case "none":
Services.prefs.setBoolPref(onHoverPref, false);
Services.prefs.setBoolPref(defaultExpandPref, false);
break;
case "hover":
Services.prefs.setBoolPref(onHoverPref, true);
Services.prefs.setBoolPref(defaultExpandPref, true);
break;
}
});
}
},
_initializeColorPicker(accentColor) {

View File

@@ -34,6 +34,25 @@
</vbox>
</groupbox>
<hbox id="zenThemeCategory"
class="subcategory"
hidden="true"
data-category="paneZenLooks">
<html:h1 data-l10n-id="pane-zen-theme-title"/>
</hbox>
<groupbox id="zenThemeGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
<label><html:h2 data-l10n-id="zen-look-and-feel-buttons-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-buttons-description" />
<checkbox id="zenLooksAndFeelPilledButtons"
data-l10n-id="zen-look-and-feel-pilled-buttons"
preference="zen.theme.pill-button"/>
<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" />
</groupbox>
<hbox id="zenSidePanelsCategory"
class="subcategory"
hidden="true"
@@ -69,28 +88,23 @@
<checkbox id="zenLooksAndFeelShowTabExpandButton"
data-l10n-id="zen-vertical-tabs-show-expand-button"
preference="zen.view.sidebar-expanded.show-button"/>
<checkbox id="zenLooksAndFeelExpandTabsByDefault"
data-l10n-id="zen-vertical-tabs-expand-tabs-by-default"
preference="zen.view.sidebar-expanded"/>
</groupbox>
<hbox id="zenThemeCategory"
class="subcategory"
hidden="true"
data-category="paneZenLooks">
<html:h1 data-l10n-id="pane-zen-theme-title"/>
</hbox>
<groupbox id="zenThemeGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
<label><html:h2 data-l10n-id="zen-look-and-feel-buttons-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-buttons-description" />
<checkbox id="zenLooksAndFeelPilledButtons"
data-l10n-id="zen-look-and-feel-pilled-buttons"
preference="zen.theme.pill-button"/>
<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" />
<label><html:h2 data-l10n-id="zen-vertical-tabs-expand-tabs-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-vertical-tabs-expand-tabs-description" />
<form xmlns="http://www.w3.org/1999/xhtml" id="zen-expand-tabbar-strat" autocomplete="off" class="indent">
<hbox>
<input type="radio" name="zen-expand-tabbar-value" value="expand" data-l10n-id="zen-vertical-tabs-expand-tabs-by-default" />
<span data-l10n-id="zen-vertical-tabs-expand-tabs-by-default" />
</hbox>
<hbox>
<input type="radio" name="zen-expand-tabbar-value" value="hover" data-l10n-id="zen-vertical-tabs-expand-tabs-on-hover" />
<span data-l10n-id="zen-vertical-tabs-expand-tabs-on-hover" />
</hbox>
<hbox>
<input type="radio" name="zen-expand-tabbar-value" value="none" data-l10n-id="zen-vertical-tabs-dont-expand-tabs-by-default" />
<span data-l10n-id="zen-vertical-tabs-dont-expand-tabs-by-default" />
</hbox>
</form>
</groupbox>
</html:template>

View File

@@ -0,0 +1,23 @@
<html:template id="template-paneZenMarketplace">
<hbox id="ZenMarketplaceCategory"
class="subcategory"
hidden="true"
data-category="paneZenMarketplace">
<html:h1 data-l10n-id="pane-zen-marketplace-title"/>
</hbox>
<groupbox id="zenMarketplaceGroup" data-category="paneZenMarketplace" hidden="true" class="highlighting-group">
<label><html:h2 data-l10n-id="zen-theme-marketplace-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-description" />
<hbox class="indent">
<html:a id="zenThemeMarketplaceLink" href="https://zen-browser.app/themes" target="_blank" data-l10n-id="zen-theme-marketplace-link" />
<button id="zenThemeMarketplaceCheckForUpdates" data-l10n-id="zen-theme-marketplace-check-for-updates-button" />
</hbox>
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-updates-success" hidden="true" id="zenThemeMarketplaceUpdatesSuccess" />
<description class="description-deemphasized" data-l10n-id="zen-theme-marketplace-updates-failure" hidden="true" id="zenThemeMarketplaceUpdatesFailure" />
<vbox id="zenThemeMarketplaceList"></vbox>
</groupbox>
</html:template>

View File

@@ -1,12 +1,36 @@
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
index d05d561b6d01b11a36c762fc39dc13e14181bce7..cbb85d7019a68f283e38c45172eda605c7b90144 100644
index d05d561b6d01b11a36c762fc39dc13e14181bce7..b3aaf776c1fdeb1c02f88f2e8d5f424215b2cc26 100644
--- a/browser/components/sidebar/browser-sidebar.js
+++ b/browser/components/sidebar/browser-sidebar.js
@@ -471,6 +471,7 @@ var SidebarController = {
@@ -446,7 +446,7 @@ var SidebarController = {
*/
setPosition() {
// First reset all ordinals to match DOM ordering.
- let browser = document.getElementById("browser");
+ let browser = document.getElementById("zen-tabbox-wrapper");
[...browser.children].forEach((node, i) => {
node.style.order = i + 1;
});
@@ -460,9 +460,11 @@ var SidebarController = {
let boxOrdinal = this._box.style.order;
this._box.style.order = appcontent.style.order;
- appcontent.style.order = boxOrdinal;
+ // appcontent.style.order = boxOrdinal;
// the launcher should be on the right of the sidebar-box
- sidebarContainer.style.order = parseInt(this._box.style.order) + 1;
+ this._box.style.order = browser.children.length + 2;
+ this._splitter.style.order = browser.children.length + 1;
+ this._splitter.style.marginRight = 0;
// Indicate we've switched ordering to the box
this._box.setAttribute("positionend", true);
sidebarMain.setAttribute("positionend", true);
@@ -471,6 +473,8 @@ var SidebarController = {
this._box.removeAttribute("positionend");
sidebarMain.removeAttribute("positionend");
sidebarContainer.removeAttribute("positionend");
+ this._box.style.order = 0;
+ this._splitter.style.removeProperty("margin-right");
}
this.hideSwitcherPanel();

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index e9aa0f03c26dc26e1a2e56d28fadb70e60c8e8ca..9c209752b01bd07a3f38452da4bc8efc7433466c 100644
index e9aa0f03c26dc26e1a2e56d28fadb70e60c8e8ca..f66f9c168ab560e41ea9d03c2d0727e4a5c15132 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -552,19 +552,36 @@
@@ -146,6 +146,15 @@ index e9aa0f03c26dc26e1a2e56d28fadb70e60c8e8ca..9c209752b01bd07a3f38452da4bc8efc
children.pop();
this._allTabs = children;
return children;
@@ -1386,7 +1430,7 @@
let tabsToReset = [];
for (let i = numPinned; i < tabs.length; i++) {
let tab = tabs[i];
- tab.style.setProperty("max-width", aTabWidth, "important");
+ //tab.style.setProperty("max-width", aTabWidth, "important");
if (!isEndTab) {
// keep tabs the same width
tab.style.transition = "none";
@@ -1476,11 +1520,11 @@
for (let i = numPinned - 1; i >= 0; i--) {
let tab = tabs[i];

View File

@@ -79,6 +79,7 @@ body {
display: flex;
justify-content: space-between;
align-items: center;
z-index: 2;
}
#second-view {

View File

@@ -63,7 +63,7 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
</div>
<h2 data-l10n-id="welcome-dialog-theme-header-2"></h2>
<div id="themeList" class="cardGroup">
<svg width="700" height="700" viewBox="0 0 700 700" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg viewBox="0 0 700 700" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_404_2706)">
<rect width="700" height="700" fill="#F4F4F4"/>
<g filter="url(#filter0_d_404_2706)">
@@ -92,7 +92,7 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
</clipPath>
</defs>
</svg>
<svg width="700" height="700" viewBox="0 0 700 700" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg viewBox="0 0 700 700" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_404_2709)">
<rect width="700" height="700" fill="#515151"/>
<g filter="url(#filter0_d_404_2709)">

View File

@@ -18,7 +18,6 @@ ChromeUtils.defineModuleGetter(
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
const kWelcomeURL = 'https://www.zen-browser.app/welcome';
const kWelcomeSeenPref = 'zen.welcomeScreen.seen'
// =============================================================================
@@ -288,19 +287,12 @@ class Pages {
Services.prefs.setBoolPref(kWelcomeSeenPref, true)
close();
this._openWelcomePage();
return
}
this._displayCurrentPage()
}
_openWelcomePage() {
gZenUIManager.openAndChangeToTab(kWelcomeURL, {
inBackground: true,
});
}
_displayCurrentPage() {
let progress = document.getElementById('circular-progress');
progress.style.setProperty('--progress', ((this.currentPage + 1) / this.pages.length) * 100);

View File

@@ -1,8 +1,8 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 1b87a9ab4aec939acac1da54a2b6670cc581fe86..603de2aa8d07adce7eb1002313f6403e1d90c5ea 100644
index da760e143740a166df14d055cf3ec7b095b93d10..093dacee4356d4084432d53639873e3da006dd94 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -370,8 +370,8 @@ bin/libfreebl_64int_3.so
@@ -377,17 +377,17 @@ bin/libfreebl_64int_3.so
; [MaintenanceService]
;
#ifdef MOZ_MAINTENANCE_SERVICE
@@ -13,3 +13,23 @@ index 1b87a9ab4aec939acac1da54a2b6670cc581fe86..603de2aa8d07adce7eb1002313f6403e
#endif
; [Crash Reporter]
;
#ifdef MOZ_CRASHREPORTER
#ifdef XP_MACOSX
-@BINPATH@/crashreporter.app/
+;@BINPATH@/crashreporter.app/
#else
-@BINPATH@/crashreporter@BIN_SUFFIX@
+;@BINPATH@/crashreporter@BIN_SUFFIX@
#if defined(XP_WIN)
@BINPATH@/@DLL_PREFIX@mozwer@DLL_SUFFIX@
#endif
@@ -397,7 +397,7 @@ bin/libfreebl_64int_3.so
; [ minidump-analyzer ]
;
#ifdef MOZ_CRASHREPORTER
-@BINPATH@/minidump-analyzer@BIN_SUFFIX@
+;@BINPATH@/minidump-analyzer@BIN_SUFFIX@
#endif
; [ Ping Sender ]

View File

@@ -1,32 +0,0 @@
diff --git a/browser/locales/en-US/browser/appExtensionFields.ftl b/browser/locales/en-US/browser/appExtensionFields.ftl
index 09d7a076eccd4235fac66156770d8b9ae01a7d16..f32affde0d6f77dadd421ff68bf2050bda9f0cd0 100644
--- a/browser/locales/en-US/browser/appExtensionFields.ftl
+++ b/browser/locales/en-US/browser/appExtensionFields.ftl
@@ -8,13 +8,13 @@
extension-default-theme-name-auto=System theme auto
extension-default-theme-description=Follow the operating system setting for buttons, menus, and windows.
-extension-firefox-compact-light-name=Light
+extension-firefox-compact-light-name=Zen Light
extension-firefox-compact-light-description=A theme with a light color scheme.
-extension-firefox-compact-dark-name=Dark
+extension-firefox-compact-dark-name=Zen Dark
extension-firefox-compact-dark-description=A theme with a dark color scheme.
-extension-firefox-alpenglow-name=Firefox Alpenglow
+extension-firefox-alpenglow-name=Zen Universe
extension-firefox-alpenglow-description=Use a colorful appearance for buttons, menus, and windows.
## Colorway Themes
@@ -28,3 +28,9 @@ extension-colorways-balanced-name={ $colorway-name } Balanced
# "Bold" is used in the sense of bravery or courage, not in the sense of
# emphasized text.
extension-colorways-bold-name={ $colorway-name } Bold
+
+extension-firefox-compact-galaxy-name=Zen Galaxy
+extension-firefox-compact-galaxy-description=A theme with a dark color scheme and a nice galaxy touch!
+
+extension-firefox-compact-dream-name=Zen Dream
+extension-firefox-compact-dream-description=A theme with a light color scheme and a nice dream-y touch!
\ No newline at end of file

View File

@@ -1,10 +0,0 @@
diff --git a/browser/locales/en-US/browser/appmenu.ftl b/browser/locales/en-US/browser/appmenu.ftl
index 5ad2d75f6215f7da44948cda5ad938db8fd97e8d..da4442ebcd594b602b9e991c9591071dddcaa5f6 100644
--- a/browser/locales/en-US/browser/appmenu.ftl
+++ b/browser/locales/en-US/browser/appmenu.ftl
@@ -314,3 +314,5 @@ appmenuitem-relay-title = { -relay-brand-short-name }
appmenuitem-relay-description = Mask your real email and phone
appmenuitem-vpn-title = { -mozilla-vpn-brand-name }
appmenuitem-vpn-description = Protect your online activity
+
+zen-panel-ui-current-profile-text = current profile

View File

@@ -1,11 +0,0 @@
diff --git a/browser/locales/en-US/browser/customizeMode.ftl b/browser/locales/en-US/browser/customizeMode.ftl
index e5f54b231738fc8fee505c8c8dcccde820995cfc..ec81ef8e451faa25878830b7d4796708e15fe395 100644
--- a/browser/locales/en-US/browser/customizeMode.ftl
+++ b/browser/locales/en-US/browser/customizeMode.ftl
@@ -36,3 +36,5 @@ customize-mode-touchbar-cmd =
.label = Customize Touch Bar
customize-mode-downloads-button-autohide =
.label = Hide button when empty
+
+customization-zen-browser-space = Content Space
\ No newline at end of file

View File

@@ -1,13 +0,0 @@
diff --git a/browser/locales/en-US/browser/editBookmarkOverlay.ftl b/browser/locales/en-US/browser/editBookmarkOverlay.ftl
index da74660e48620fe9097d05a51ba4be34f21246e6..3153ee3e3ea534807f7e6c35b016edf25749bbe7 100644
--- a/browser/locales/en-US/browser/editBookmarkOverlay.ftl
+++ b/browser/locales/en-US/browser/editBookmarkOverlay.ftl
@@ -13,7 +13,7 @@ bookmark-overlay-url =
# Location refers to the position of the bookmark within the browser's
# bookmarks, not to its URL or address.
bookmark-overlay-location-2 =
- .value = Location
+ .value = Folder
.accesskey = L
bookmark-overlay-choose =

View File

@@ -1,153 +0,0 @@
pane-zen-looks-title = Look And Feel
category-zen-looks =
.tooltiptext = { pane-zen-looks-title }
zen-warning-language = Changing the default language could make it easier for Websites to track you.
zen-look-and-feel-colors-header = Pick a theme colour
zen-look-and-feel-colors-description = Make { -brand-short-name } look and feel the way you like
zen-look-and-feel-themed-toolbar =
.label = Make the toolbar themed with the accent color
pane-zen-side-panels-title = Side Web Panels
zen-side-panels-header = General settings for web panels
zen-side-panels-description = Increase productivity by having multiple views at once!
zen-side-panels-enabled =
.label = Enable Web Side Panels
zen-side-panels-close-on-blur =
.label = Close the panel when it loses focus if it's not pinned
zen-look-and-feel-compact-view-header = Show in compact view
zen-look-and-feel-compact-view-description = Only show the toolbars you use!
zen-look-and-feel-compact-view-enabled =
.label = Enable { -brand-short-name }'s compact mode
zen-look-and-feel-compact-view-top-toolbar =
.label = Hide the top toolbar as well in compact mode
zen-look-and-feel-buttons-header = Button style
zen-look-and-feel-buttons-description = Choose the style of buttons you want to see
zen-look-and-feel-pilled-buttons =
.label = Pilled Buttons
pane-zen-workspaces-title = Workspaces
category-zen-workspaces =
.tooltiptext = { pane-workspaces-title }
pane-settings-workspaces-title = Workspaces
pane-zen-workspaces-header = Workspaces
zen-settings-workspaces-header = General settings for workspaces
zen-settings-workspaces-description = With workspaces, you can have multiple browsing sessions at once!
zen-settings-workspaces-enabled =
.label = Enable Workspaces (Experimental)
pane-zen-theme-title = Theme Settings
zen-look-and-feel-urlbar-header = Awesome Bar Settings
zen-look-and-feel-urlbar-description = Customize the look and feel of the Awesome Bar
zen-vertical-tabs-title = Sidebar and tabs layout
zen-vertical-tabs-header = Vertical Tabs
zen-vertical-tabs-description = Manage your tabs in a vertical layout
zen-vertical-tabs-show-expand-button =
.label = Show Expand Button
zen-vertical-tabs-expand-tabs-by-default =
.label = Expand Tabs by Default
pane-zen-CKS-title = Keyboard Shortcuts
category-zen-CKS =
.tooltiptext = { pane-zen-CKS-title }
pane-settings-CKS-title = { -brand-short-name } Keyboard Shortcuts
zen-settings-CKS-header = Customize your keyboard shortcuts
zen-settings-CKS-description = Change the default keyboard shortcuts to your liking and improve your browsing experience
zen-settings-CKS-disable-firefox =
.label = Disable { -brand-short-name }'s default keyboard shortcuts
zen-cks-group-tab-action = Tab Actions
zen-cks-group-page-action = Page Actions
zen-cks-group-visible-action = Visible Actions
zen-cks-group-history-action = History Actions
zen-cks-group-search-action = Search Actions
zen-cks-group-tools-action = Tools Actions
zen-cks-group-bookmark-action = Bookmark Actions
zen-cks-group-open-page-action = Open Page Actions
zen-cks-group-downloads-action = Downloads Actions
zen-cks-group-sidebar-action = Sidebar Actions
zen-cks-group-compact-mode-action = Compact Mode Actions
zen-cks-group-split-view-action = Split View Actions
zen-cks-group-workspace-action = Workspace Actions
open-new-tab = Open New Tab
close-tab = Close Tab
open-new-window = Open New Window
open-new-private-window = Open New Private Window
close-window = Close Window
restore-last-tab = Restore Last Tab
restore-last-window = Restore Last Window
show-next-tab = Show Next Tab
show-previous-tab = Show Previous Tab
show-all-tabs-panel = Show All Tabs Panel
send-with-mail = Send Page with Mail
save-page = Save Page
print-page = Print Page
mute-current-tab = Mute Current Tab
show-source-of-page = Show Source of Page
show-page-info = Show Page Info
zoom-in = Zoom In
zoom-out = Zoom Out
reset-zoom = Reset Zoom
back = Back
forward = Forward
stop = Stop
reload = Reload
force-reload = Force Reload
search-in-this-page = Search in This Page
show-next-search-result = Show Next Search Result
show-previous-search-result = Show Previous Search Result
search-the-web = Search the Web
open-migration-wizard = Open Migration Wizard
quit-from-application = Quit Application
enter-into-customize-mode = Enter Customize Mode
enter-into-offline-mode = Enter Offline Mode
open-screen-capture = Open Screen Capture
bookmark-this-page = Bookmark This Page
open-bookmark-add-tool = Open Bookmark Add Tool
open-bookmarks-manager = Open Bookmarks Manager
toggle-bookmark-toolbar = Toggle Bookmark Toolbar
open-general-preferences = Open General Preferences
open-privacy-preferences = Open Privacy Preferences
open-workspaces-preferences = Open Workspaces Preferences
open-containers-preferences = Open Containers Preferences
open-search-preferences = Open Search Preferences
open-sync-preferences = Open Sync Preferences
open-task-manager = Open Task Manager
open-addons-manager = Open Add-ons Manager
open-home-page = Open Home Page
forget-history = Forget History
quick-forget-history = Quick Forget History
clear-recent-history = Clear Recent History
restore-last-session = Restore Last Session
search-history = Search History
manage-history = Manage History
open-downloads = Open Downloads
show-bookmark-sidebar = Show Bookmark Sidebar
show-history-sidebar = Show History Sidebar
show-synced-tabs-sidebar = Show Synced Tabs Sidebar
reverse-sidebar = Reverse Sidebar Position
hide-sidebar = Hide Sidebar
toggle-sidebar = Toggle Sidebar
zen-toggle-web-panels = Toggle Web Panels
zen-toggle-compact-mode = Toggle Compact Mode
zen-toggle-compact-mode-sidebar = Toggle Compact Mode Sidebar
zen-toggle-compact-mode-toolbar = Toggle Compact Mode Toolbar
zen-change-workspace = Cycle Workspaces
zen-split-view-grid = Split View Grid
zen-split-view-vertical = Split View Vertical
zen-split-view-horizontal = Split View Horizontal
zen-split-view-close = Close Split View

View File

@@ -1,14 +0,0 @@
diff --git a/browser/locales/en-US/browser/sidebarMenu.ftl b/browser/locales/en-US/browser/sidebarMenu.ftl
index e050a2302c6699ffcabad2db4d45267912297519..d4ff03ace4d08482b4a6de62c4f00016486cad84 100644
--- a/browser/locales/en-US/browser/sidebarMenu.ftl
+++ b/browser/locales/en-US/browser/sidebarMenu.ftl
@@ -19,3 +19,8 @@ sidebar-menu-close =
sidebar-close-button =
.tooltiptext = Close sidebar
+
+sidebar-zen-sidepanel =
+ .label = Side Panels
+sidebar-zen-expand =
+ .label = Expand Sidebar
\ No newline at end of file

View File

@@ -1,19 +0,0 @@
diff --git a/browser/locales/en-US/browser/tabContextMenu.ftl b/browser/locales/en-US/browser/tabContextMenu.ftl
index 5ace34fd8a3950777c88d680b0ba5d6b6878ad7a..780c75eb3705244d3f752aec4695547315669dd3 100644
--- a/browser/locales/en-US/browser/tabContextMenu.ftl
+++ b/browser/locales/en-US/browser/tabContextMenu.ftl
@@ -26,12 +26,12 @@ duplicate-tabs =
# The following string is displayed on a menuitem that will close the tabs from the start of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
# In left-to-right languages this should use "Left" and in right-to-left languages this should use "Right".
close-tabs-to-the-start =
- .label = Close Tabs to Left
+ .label = Close Tabs Above
.accesskey = l
# The following string is displayed on a menuitem that will close the tabs from the end of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
# In left-to-right languages this should use "Right" and in right-to-left languages this should use "Left".
close-tabs-to-the-end =
- .label = Close Tabs to Right
+ .label = Close Tabs Below
.accesskey = i
close-other-tabs =
.label = Close Other Tabs

View File

@@ -1,13 +0,0 @@
diff --git a/browser/locales/en-US/browser/unifiedExtensions.ftl b/browser/locales/en-US/browser/unifiedExtensions.ftl
index 8db0d9488ac334ada07bf3f537f78cdc99577fb7..acc1d60d5577ffafe982557757c868fa691a1d96 100644
--- a/browser/locales/en-US/browser/unifiedExtensions.ftl
+++ b/browser/locales/en-US/browser/unifiedExtensions.ftl
@@ -10,6 +10,8 @@ unified-extensions-header-title = Extensions
unified-extensions-manage-extensions =
.label = Manage extensions
+unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }.
+
## An extension in the main list
# Each extension in the unified extensions panel (list) has a secondary button

View File

@@ -1,12 +0,0 @@
tab-zen-split-tabs =
.label =
{ $tabCount ->
[1] Split Tab (multiple selected tabs needed)
*[other] Split { $tabCount } Tabs
}
.accesskey = S
zen-split-link =
.label = Split link to new tab
.accesskey = S

View File

@@ -1,4 +0,0 @@
zen-toolbar-context-tabs-right =
.label = Tabs on the right
.accesskey = R

View File

@@ -1,31 +0,0 @@
zen-web-side-panel-context-mute-panel =
.label = Mute Web Panel
.accesskey = M
zen-web-side-panel-context-unmute-panel =
.label = Unmute Web Panel
.accesskey = m
zen-web-side-panel-context-disable-ua =
.label = Disable Mobile UserAgent
.accesskey = U
zen-web-side-panel-context-enable-ua =
.label = Enable Mobile UserAgent
.accesskey = M
zen-web-side-panel-context-unload =
.label = Unload Web Panel
.accesskey = W
zen-web-side-panel-context-delete =
.label = Delete Web Panel
.accesskey = D
zen-web-side-panel-open-in-new-tab =
.label = Open in New Tab
.accesskey = N
zen-web-side-panel-context-add-to-panel =
.label = Add to Web Panels
.accesskey = A
zen-sidebar-introduction-title = Welcome to Zen Sidebar
zen-sidebar-introduction-description = Zen Sidebar is a new way to browse the web. Click on any of the icons to open a web panel.

View File

@@ -1,26 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
welcome-dialog-welcome = 👋 Welcome to { -brand-short-name }
welcome-dialog-welcome-subtext = Fast. Beautiful. Private.
welcome-dialog-get-started = Get started
welcome-dialog-import = 😍 Bring your favourites to { -brand-short-name }
welcome-dialog-import-subtext = Pick up where you left off in your last browser
welcome-dialog-import-action = Import your data
welcome-dialog-theme = Make yourself at home
welcome-dialog-theme-subtext = Personalize your experience with your favorite look!
welcome-dialog-theme-header-1 = Choose your perfect color
welcome-dialog-theme-header-2 = Choose your theme
welcome-dialog-search = 🔍 Choose a search engine
welcome-dialog-search-subtext = Select your preferred search engine to tailor your browsing experience!
welcome-dialog-thanks = Thank You So Much! ❤️
welcome-dialog-thanks-subtext = Your appreciation means the world to us!
welcome-dialog-back-action = Back
welcome-dialog-next-action = Next

Some files were not shown because too many files have changed in this diff Show More