Compare commits

...

69 Commits

Author SHA1 Message Date
mr. m
f6922ef2ba Merge branch 'dev' into window-sync 2025-09-03 13:06:44 +02:00
mr. m
182c8a4ff7 chore: New Crowdin updates, p=#10213 2025-09-03 01:09:35 +02:00
Mr. M
2f6021b0aa Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-09-02 12:16:57 +02:00
Mr. M
8c28dc9e89 feat: Dont close essentials when they are unloaded, b=no-bug, c=folders, tabs 2025-09-02 12:16:52 +02:00
reizumi
54abd673f1 fix: hide manage themes option in customize toolbar, p=#10201
* fix: hide firefox themes option in customize toolbar

* Update zen-single-components.css

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

---------

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
Co-authored-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
2025-09-02 11:34:25 +02:00
Mr. M
57635ff586 feat: Added migration for old accent colors and fixed private mode, b=no-bug, c=common, workspaces 2025-09-02 01:39:57 +02:00
mr. m
458f502184 New Crowdin updates, p=#10194
* New translations zen-folders.ftl (Irish)

* New translations zen-folders.ftl (Portuguese, Brazilian)
2025-09-02 01:17:08 +02:00
reizumi
3301ee5572 fix: wrong security indicator in about pages (#10190) 2025-09-01 23:51:59 +02:00
reizumi
236b5dc5c7 fix: use default zen accent color and revert changes related to accent color (#10187)
* fix: use AccentColor variable and revert changes related to accent color

* fix: revert default accent color to zen accent color
2025-09-01 18:09:35 +02:00
mr. m
4420d0df8c feat: Properly disable folders on private mode, b=no-bug, c=workspaces 2025-09-01 13:14:54 +02:00
mr. m
432ae29bcd Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-09-01 13:06:12 +02:00
mr. m
3d472de5ac feat: Improved the way we hanle owned tabs inside folders, b=no-bug, c=folders 2025-09-01 13:06:04 +02:00
mr-cheffy
5e942de8bc docs: Update monthly issue metrics, b=(no bug), c={docs} 2025-09-01 02:45:03 +00:00
mr. m
41adb92790 New Crowdin updates (#10174)
* New translations zen-vertical-tabs.ftl (Catalan)

* New translations zen-vertical-tabs.ftl (Danish)

* New translations zen-vertical-tabs.ftl (Korean)

* New translations zen-vertical-tabs.ftl (Ukrainian)

* New translations zen-folders.ftl (French)

* New translations zen-folders.ftl (Spanish)

* New translations zen-folders.ftl (Catalan)

* New translations zen-folders.ftl (Danish)

* New translations zen-folders.ftl (German)

* New translations zen-folders.ftl (Hungarian)

* New translations zen-folders.ftl (Korean)

* New translations zen-folders.ftl (Ukrainian)

* New translations zen-folders.ftl (Estonian)
2025-09-01 00:52:54 +02:00
mr. m
3e125fdb91 feat: Properly update items on group move, b=no-bug, c=tabs 2025-09-01 00:51:48 +02:00
mr. m
8aaa7b7322 fix: Fixed favicon not saving on close, b=no-bug, c=tabs 2025-08-31 22:35:30 +02:00
mr. m
0f4b48bd4a fix: Fixed small issues with colors, b=no-bug, c=common, compact-mode, workspaces 2025-08-31 22:33:00 +02:00
Mr. M
52a399f0ed feat: Accent color will now use the system accent color, b=no-bug, c=common, workspaces 2025-08-31 17:33:05 +02:00
Mr. M
ae66e66aa8 feat: Disable mozilla sponsors, b=no-bug, c=no-component 2025-08-31 14:26:25 +02:00
Mr. M
ba48b736e0 feat: Only close the tab when wheel clicking the tab, b=no-bug, c=tabs 2025-08-31 14:20:17 +02:00
Mr. M
9baed1ab90 feat: Small changes to the welcome page, b=no-bug, c=welcome 2025-08-31 12:15:55 +02:00
Mr. M
b11f6b84d3 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-31 12:06:11 +02:00
Mr. M
6a05a79824 fix: Fixed private mode browsing not starting up, b=no-bug, c=common, folders 2025-08-31 12:06:05 +02:00
reizumi
6a68a28f76 fix: replace essential icons with SVGs in onboarding, p=#10165
* fix: replace essential icons with SVGs in onboarding

* fix: add white border to notion's icon
2025-08-31 11:45:28 +02:00
Mr. M
e972fefa8b Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-31 00:50:05 +02:00
mr. m
30639e67df New Crowdin updates, p=#10159 2025-08-31 00:49:58 +02:00
Mr. M
a4b8e2134f fix: Fixed compact mode not restoring correctly at startup, b=bug #8606, c=compact-mode 2025-08-31 00:49:36 +02:00
Mr. M
7bd39acfdc feat: Fixed drag and droping active folders, b=no-bug, c=folders, tabs 2025-08-31 00:15:16 +02:00
Mr. M
3a03984db1 fix: Fixed compact mode twitching when hovering the urlbar, b=closes #9790, c=compact-mode 2025-08-30 21:38:26 +02:00
Mr. M
7886758127 fix: Fixed startup freezes on some devices, b=closes #10157, c=workspaces 2025-08-30 21:29:32 +02:00
Mr. M
280500cdf6 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-30 17:14:48 +02:00
Mr. M
982ef2d355 chore: Clean up and properly align star icon, b=no-bug, c=common, folders 2025-08-30 17:14:41 +02:00
mr. m
d2e8f00e3f Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-30 15:04:33 +02:00
mr. m
9e4cd6e68b fix: Hide the search popup when swiping workspaces, b=no-bug, c=workspaces 2025-08-30 15:04:13 +02:00
Mr. M
c9171b9972 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-30 15:00:32 +02:00
Mr. M
eedc5b7307 fix: Fixed moving tabs to different workspaces, b=no-bug, c=common, folders, split-view, workspaces 2025-08-30 15:00:20 +02:00
mr. m
f9452241a3 New Crowdin updates, p=#10101 2025-08-30 14:33:36 +02:00
Mr. M
6e9be15dac Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-30 14:33:27 +02:00
Mr. M
07381c9a7a feat: Added pref for context menu refresh, b=no-bug, c=common, tabs 2025-08-30 14:33:21 +02:00
Mr. M
bd4f5cee31 fix: Fixed CTRL + arrow does not move cursor when renaming workspace, b=closes #10115, c=tabs 2025-08-30 14:15:26 +02:00
Mr. M
0a8ebf9950 fix: Fixed menu color turning gray, b=closes #10110, c=common 2025-08-30 14:12:42 +02:00
Mr. M
73c5bc61fc fix: Fixed creating too many unused new tab in task manager, b=closes #10145, c=folders 2025-08-30 14:08:04 +02:00
reizumi
7253b8fa9d fix: make folder search input take up full width (#10147)
* fix: make folder search input take up full width

* fix: remove flex attribute from folder search input
2025-08-30 12:34:22 +02:00
mr. m
42ebc081a8 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-29 19:48:31 +02:00
mr. m
6e5502628e feat: Lower the amount of waiting time between workspace siwtches, b=no-bug, c=common, workspaces 2025-08-29 19:48:25 +02:00
Mr. M
b204671931 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-29 17:43:15 +02:00
Mr. M
d035348896 feat: New status bar UI, b=no-bug, c=mods, common 2025-08-29 17:42:53 +02:00
Rodrigo L. Napolitano
72433745bc fix: adds translation for the 'new folder' feature in Portuguese language, p=#10111 2025-08-29 16:09:38 +02:00
Mr. M
2436ada221 fix: Always expand folders when adding a sub-folder, b=no-bug, c=folders 2025-08-29 13:33:35 +02:00
Mr. M
4a5141c15c Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-29 00:12:29 +02:00
Mr. M
1015537a91 chore: Bump version, b=no-bug, c=no-component 2025-08-29 00:12:25 +02:00
Mr. M
89cafdaa0b fix: Fixed not being able to rename folders in double toolbar, b=no-bug, c=folders 2025-08-29 00:12:02 +02:00
octaviusz
3723517d7d fix: Pin current tab when glance full opening from Zen Folder (#10073) 2025-08-28 22:22:48 +02:00
octaviusz
c095bc7604 fix: Pin current tab when glance splitting from Zen Folder (#10072) 2025-08-28 20:01:18 +02:00
Mr. M
e312e3fe8d fix: Fixed moving folders with sub-folders into new spaces, b=no-bug, c=folders 2025-08-28 16:43:05 +02:00
Mr. M
70aeebaf66 fix: Fixed moving folders to different spaces, b=no-bug, c=folders, workspaces 2025-08-28 16:39:18 +02:00
Mr. M
f9ca9cc74c fix: Fixed creating workspaces with multiple windows opened, b=no-bug, c=workspaces 2025-08-28 16:26:22 +02:00
Mr. M
d9646f939c fix: Only add folder direct childs to the database, b=no-bug, c=tabs 2025-08-28 16:15:55 +02:00
Mr. M
8f0292d836 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-28 16:08:58 +02:00
Mr. M
95b137ac13 fix: Fixed various issues with storing folders at startup, b=no-bug, c=tabs, welcome 2025-08-28 16:08:54 +02:00
mr. m
b1fcaeb97f New Crowdin updates, p=#10055 2025-08-28 13:18:15 +02:00
Mr. M
31def1147a fix: Fixed context menu text inconsistency, b=bug #10016, c=tabs 2025-08-28 13:05:14 +02:00
Mr. M
0a80765589 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-08-28 13:01:17 +02:00
Mr. M
e34a053dd0 fix: Fixed opening new links in collapsed folders, b=closes #10022, c=folders 2025-08-28 13:00:17 +02:00
mr. m
5e790efdce fix: Fixed settings page not starting up, b=no-bug, c=no-component 2025-08-28 12:41:43 +02:00
Mr. M
005cdf53bd fix: Dont restore pinned tabs for deferred session stores, b=no-bug, c=no-component 2025-08-28 11:57:34 +02:00
Mr. M
429f74a7c7 feat: Set the style directly instead of using motion, b=no-bug, c=folders 2025-08-28 01:27:22 +02:00
octaviusz
1f72765227 fix: Some fixes for folders, p=#10038 2025-08-28 01:20:11 +02:00
Mr. M
91f5e104d2 fix: Move 'unpack folder' next to 'delete folder', b=no-bug, c=no-component 2025-08-28 01:10:40 +02:00
127 changed files with 1156 additions and 471 deletions

View File

@@ -0,0 +1,300 @@
# Issue Metrics
| Metric | Average | Median | 90th percentile |
| --- | --- | --- | ---: |
| Time to first response | 1 day, 7:39:18 | 5:45:29 | 3 days, 0:42:51 |
| Time to close | 23:47:00 | 10:26:06 | 1 day, 23:43:47 |
| Metric | Count |
| --- | ---: |
| Number of items that remain open | 145 |
| Number of items closed | 137 |
| Total number of items created | 282 |
| Title | URL | Time to first response | Time to close |
| --- | --- | --- | --- |
| Tab hover preview has incorrect origin | https://github.com/zen-browser/desktop/issues/10173 | None | None |
| Pinned tabs reset to pinned URL at startup even with related setting unchecked | https://github.com/zen-browser/desktop/issues/10172 | None | None |
| fix: Traditional Chinese as a target language for page translation | https://github.com/zen-browser/desktop/issues/10169 | None | None |
| tab groups do not group tabs anymore | https://github.com/zen-browser/desktop/issues/10167 | 2:40:11 | 12:01:38 |
| Tab Groups stuck in an expanded default state and labels are centered | https://github.com/zen-browser/desktop/issues/10166 | 3:30:58 | 3:30:58 |
| lose all tabs when private window is open and you close the browser | https://github.com/zen-browser/desktop/issues/10163 | 5:54:05 | 5:54:05 |
| Bluescreen into couldnt load XPCOM ERROR | https://github.com/zen-browser/desktop/issues/10161 | None | None |
| Compact Mode non-persistent between session when “Hide toolbar” is enabled (Collapsed toolbar layout) | https://github.com/zen-browser/desktop/issues/10160 | None | None |
| `about:debugging` wrong connected browser warning | https://github.com/zen-browser/desktop/issues/10158 | None | None |
| Window not starting up in 1.15.2b | https://github.com/zen-browser/desktop/issues/10157 | None | 0:07:54 |
| Sidebar bugging when switching spaces too quickly / too much | https://github.com/zen-browser/desktop/issues/10156 | None | None |
| Active Tab detaches when collapsing tab folder | https://github.com/zen-browser/desktop/issues/10154 | None | None |
| Folder icon disappears in semi-open state | https://github.com/zen-browser/desktop/issues/10153 | 0:53:47 | 1:08:24 |
| Pins and Essentials and Spaces | https://github.com/zen-browser/desktop/issues/10152 | 2:13:28 | 2:13:28 |
| Essential Tabs Disappear When Switching Spaces | https://github.com/zen-browser/desktop/issues/10151 | 0:31:07 | None |
| Sidebar content disappears when turning off Compact Mode | https://github.com/zen-browser/desktop/issues/10150 | 1:27:49 | 1:56:45 |
| Split view tab inside folder unloads after browser restart | https://github.com/zen-browser/desktop/issues/10149 | None | None |
| Zen create too many unused new tab in task manager | https://github.com/zen-browser/desktop/issues/10145 | None | 3:06:48 |
| workspace icons doesnt chage | https://github.com/zen-browser/desktop/issues/10140 | 4:53:04 | None |
| Glitching Tool bar in compact mode during collapsed toolbar | https://github.com/zen-browser/desktop/issues/10138 | 5:19:26 | None |
| zen doesn't remember discord sessions | https://github.com/zen-browser/desktop/issues/10136 | None | None |
| New Tab Problem | https://github.com/zen-browser/desktop/issues/10134 | 6:20:10 | 6:20:10 |
| Browsing history reset itself unexpectedly | https://github.com/zen-browser/desktop/issues/10133 | 6:29:41 | None |
| Youtube not fully signed-in | https://github.com/zen-browser/desktop/issues/10130 | 12:08:24 | None |
| Recently closed folder is re-opened as tab group | https://github.com/zen-browser/desktop/issues/10129 | None | None |
| Essentials ordering reverts itself each time browser is relaunched | https://github.com/zen-browser/desktop/issues/10127 | 13:58:08 | None |
| Garbled text on MacOS | https://github.com/zen-browser/desktop/issues/10126 | 15:57:07 | None |
| Black broder around right/middle click | https://github.com/zen-browser/desktop/issues/10125 | 15:59:15 | None |
| Groups Not Collapsing After 1.15.2b Update | https://github.com/zen-browser/desktop/issues/10124 | 10:41:50 | 17:39:32 |
| Unable to load webextension (onetab) and webpage (https://www.youtube.com/@carlsagan42) properly. Developers tools (F12) is also broken. | https://github.com/zen-browser/desktop/issues/10123 | 17:53:26 | None |
| I can't change folder names | https://github.com/zen-browser/desktop/issues/10122 | 2:02:10 | 7:08:18 |
| Zen is not getting updated on Linux systems | https://github.com/zen-browser/desktop/issues/10119 | 1 day, 22:15:27 | None |
| All tabs within folders load automatically upon launch of browser | https://github.com/zen-browser/desktop/issues/10118 | 0:19:31 | 0:48:15 |
| Open New Tab Below replaced by New Folder | https://github.com/zen-browser/desktop/issues/10117 | None | 0:09:29 |
| CTRL + arrow does not move cursor when renaming workspace, folder or tab | https://github.com/zen-browser/desktop/issues/10115 | None | 20:44:04 |
| Long press on the "New Tab" page, the text on the multi-account container page displays abnormally in vertical format | https://github.com/zen-browser/desktop/issues/10114 | 0:59:49 | 0:59:49 |
| Issue with tradingview.com and its fullscreen chart feature | https://github.com/zen-browser/desktop/issues/10113 | 1:18:05 | 1:18:04 |
| Menu color turn gray after 1.15b | https://github.com/zen-browser/desktop/issues/10110 | None | 23:24:28 |
| Missing website backgrounds making some sites unreadable | https://github.com/zen-browser/desktop/issues/10109 | 0:14:46 | 1:28:57 |
| Crunchyroll play back failing | https://github.com/zen-browser/desktop/issues/10107 | 0:35:36 | 2:09:35 |
| Leaking/Exposing IP Address via WebRTC | https://github.com/zen-browser/desktop/issues/10106 | 1:28:42 | 2:23:03 |
| Zen Browser Does Not Uninstall Cleanly on Windows | https://github.com/zen-browser/desktop/issues/10105 | 2:31:49 | 2:31:49 |
| Do not disappear tab after close folder | https://github.com/zen-browser/desktop/issues/10104 | 1:22:59 | 2:43:23 |
| Cannot rename a folder. | https://github.com/zen-browser/desktop/issues/10103 | 0:14:12 | 2:52:44 |
| The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail. | https://github.com/zen-browser/desktop/issues/10102 | 3:03:40 | None |
| Workspace to folder conversion | https://github.com/zen-browser/desktop/issues/10099 | 1:07:12 | 4:21:56 |
| Workspace changing isnt working sometimes unless i restart | https://github.com/zen-browser/desktop/issues/10098 | 20:20:44 | None |
| Profile remains locked after closing Zen (stale lock symlink to 127.0.0.1:x) | https://github.com/zen-browser/desktop/issues/10097 | None | None |
| Copy and Pasting from gemini.google.com | https://github.com/zen-browser/desktop/issues/10096 | None | None |
| Picture in Picture closes when opening a side by side tab | https://github.com/zen-browser/desktop/issues/10094 | 2 days, 9:21:19 | None |
| Keep receiving this error when trying to close Zen Browser on Mac | https://github.com/zen-browser/desktop/issues/10093 | 3:01:29 | None |
| Cannot rename folders | https://github.com/zen-browser/desktop/issues/10092 | 0:10:50 | 2:18:47 |
| Zen Crashing after update | https://github.com/zen-browser/desktop/issues/10091 | 1:33:17 | None |
| Tabs inside folders disappear when closing and reopening Zen | https://github.com/zen-browser/desktop/issues/10089 | 5:35:09 | None |
| Can't rename the folders | https://github.com/zen-browser/desktop/issues/10088 | 0:10:31 | 5:56:22 |
| Extensions don't open without loading a web page in a tab. | https://github.com/zen-browser/desktop/issues/10086 | None | None |
| Cant Rename Folders | https://github.com/zen-browser/desktop/issues/10083 | 0:13:53 | 0:15:30 |
| Tab Bar cant be resized smaller in width when on the right. On the left side it works normally. | https://github.com/zen-browser/desktop/issues/10082 | 11:09:07 | 11:09:07 |
| Unable to split view more than 4 tabs like before. | https://github.com/zen-browser/desktop/issues/10080 | 9:26:04 | 9:26:04 |
| Tab Folders jumping to the top of a space after reopening browser. | https://github.com/zen-browser/desktop/issues/10078 | None | None |
| Groups/Folders do not collapse | https://github.com/zen-browser/desktop/issues/10077 | 2:08:46 | 10:30:40 |
| Zen window going blank after new update | https://github.com/zen-browser/desktop/issues/10076 | 3:16:17 | 1 day, 23:00:52 |
| Bookmark titles/names no longer appear in Omnibar search results, only URL is shown twice. | https://github.com/zen-browser/desktop/issues/10075 | 12:09:01 | None |
| Browser are not capable of opening a full screen video on X (twitter) | https://github.com/zen-browser/desktop/issues/10074 | 0:09:19 | None |
| "delete Folder' Not Working | https://github.com/zen-browser/desktop/issues/10070 | 0:17:54 | 0:18:22 |
| Compact Mode turns off after quitting the Browser | https://github.com/zen-browser/desktop/issues/10069 | None | 1:08:15 |
| Can't delete folders with collapsed toolbar | https://github.com/zen-browser/desktop/issues/10068 | 4:28:56 | 4:28:56 |
| Picture-in-Picture Window "Migrates" When Opened | https://github.com/zen-browser/desktop/issues/10066 | 2:11:10 | None |
| Weird black bar apearing with Transparent Zen | https://github.com/zen-browser/desktop/issues/10065 | 2:24:08 | 2:24:08 |
| Unable to resize sidebar on compact mode | https://github.com/zen-browser/desktop/issues/10064 | 2:26:23 | 2:26:23 |
| When switching between a split tabs and another normal tab, the image is cut off on the left | https://github.com/zen-browser/desktop/issues/10062 | None | None |
| Incorrect theme colors in Glance mod after 1.15 update | https://github.com/zen-browser/desktop/issues/10060 | 0:38:54 | 10:26:17 |
| Crash in navigating to diffent page | https://github.com/zen-browser/desktop/issues/10059 | 1:05:23 | None |
| Cannot add tab to Essentials even when there are slots available | https://github.com/zen-browser/desktop/issues/10058 | 4:48:50 | 5:57:03 |
| Zen Browser launches in a completely invisible window | https://github.com/zen-browser/desktop/issues/10057 | None | None |
| Tabs randomly move between groups/folders when opening or relocating | https://github.com/zen-browser/desktop/issues/10056 | None | None |
| The new tab button is missing | https://github.com/zen-browser/desktop/issues/10054 | 0:03:10 | 0:03:10 |
| You can't rename folders | https://github.com/zen-browser/desktop/issues/10052 | 0:01:23 | 20:23:45 |
| Essential and pinned tab favicons aren't being cached, turn to default after browser restart | https://github.com/zen-browser/desktop/issues/10049 | 0:53:00 | 8:32:49 |
| Google Meet shows "Browser not supported" message | https://github.com/zen-browser/desktop/issues/10047 | 1:50:35 | 1:50:35 |
| MongoDB sign in page stuck after clicking login | https://github.com/zen-browser/desktop/issues/10046 | 4:18:15 | 4:18:15 |
| Pinned tabs from various spaces scrambled in consecutive windows | https://github.com/zen-browser/desktop/issues/10044 | None | None |
| New Folders always get pinned (and you can't unpin) | https://github.com/zen-browser/desktop/issues/10043 | 2:34:16 | 5:41:56 |
| Theme no working | https://github.com/zen-browser/desktop/issues/10042 | 0:51:20 | 10:33:11 |
| Can't close the historic tab | https://github.com/zen-browser/desktop/issues/10041 | 8:39:11 | 11:52:29 |
| VISUAL going to the rightmost workspace causes other icons to shift left | https://github.com/zen-browser/desktop/issues/10040 | 11:55:55 | 18:33:56 |
| Session restore almost completely disfunctional | https://github.com/zen-browser/desktop/issues/10039 | None | None |
| Trading chart not rendering properly on insilico terminal | https://github.com/zen-browser/desktop/issues/10037 | 12:48:25 | 12:48:25 |
| space name and text overallaping | https://github.com/zen-browser/desktop/issues/10036 | 13:11:14 | 19:25:14 |
| Branding: Feedback link in Help menu points to Mozilla site. | https://github.com/zen-browser/desktop/issues/10035 | None | None |
| Cannot use any of the right click options of any tab folders in compact mode | https://github.com/zen-browser/desktop/issues/10033 | None | 13:50:42 |
| Deleting folders do not work while sidebar is not expanded | https://github.com/zen-browser/desktop/issues/10032 | 0:06:20 | 13:55:12 |
| Active tabs in collapsed folders will stay in their same place after switching from Expanded Sidebar to Compacted Sidebar | https://github.com/zen-browser/desktop/issues/10031 | 1 day, 10:19:29 | 1 day, 10:19:29 |
| Tab Groups broken in v1.15b | https://github.com/zen-browser/desktop/issues/10030 | 11:33:51 | 11:51:45 |
| New Folder option not visible in private mode | https://github.com/zen-browser/desktop/issues/10029 | 15:02:27 | 15:02:27 |
| Folder context menu don't work when the sidebar is collapsed | https://github.com/zen-browser/desktop/issues/10028 | None | 15:20:22 |
| Browser crashes after downloading | https://github.com/zen-browser/desktop/issues/10027 | 22:43:29 | 1 day, 22:00:29 |
| Folder icons and names are misaligned | https://github.com/zen-browser/desktop/issues/10025 | 16:29:52 | 16:29:52 |
| Bookmark dialog opens in compact sidebar instead of floating URL bar | https://github.com/zen-browser/desktop/issues/10024 | None | None |
| Sidebar freeze when trying to switch spaces | https://github.com/zen-browser/desktop/issues/10023 | 0:04:28 | None |
| When opening a link in a new tab while inside of a collapsed Folder, the current tab disappears | https://github.com/zen-browser/desktop/issues/10022 | None | 18:17:43 |
| Can't compile: fatal: your current branch 'zen_browser' does not have any commits yet | https://github.com/zen-browser/desktop/issues/10020 | None | None |
| Workspace name and icons clasing and Overflow Menu aint working normally | https://github.com/zen-browser/desktop/issues/10018 | 1 day, 2:43:25 | None |
| Contextual menu item text should be “New Folder” not “New folder” | https://github.com/zen-browser/desktop/issues/10016 | 0:22:14 | 20:49:40 |
| Top Bar (in single bar mode) not expanding when tabs are on the right | https://github.com/zen-browser/desktop/issues/10013 | None | None |
| Close Folder and witch active Tab behaviour | https://github.com/zen-browser/desktop/issues/10012 | 1:34:22 | 1 day, 17:57:01 |
| Folders hard to drag first Items in | https://github.com/zen-browser/desktop/issues/10011 | None | None |
| YouTube videos not working — H.264 / AAC not detected on Arch Linux | https://github.com/zen-browser/desktop/issues/10010 | None | None |
| Cant download the update v1.15b | https://github.com/zen-browser/desktop/issues/10009 | 0:21:58 | 4:19:00 |
| When two windows are open, the tabs in the workspace do not sync between the two windows | https://github.com/zen-browser/desktop/issues/10008 | None | 0:00:57 |
| When two windows are open, the tabs in the workspace do not sync between the two windows | https://github.com/zen-browser/desktop/issues/10007 | 8:42:07 | 13:52:58 |
| Tabs unload only for Zammad helpdesk page | https://github.com/zen-browser/desktop/issues/10003 | None | None |
| Tab unloads only for Zammad helpdesk | https://github.com/zen-browser/desktop/issues/10002 | 0:20:37 | 0:20:37 |
| Tabs dont open when pinned | https://github.com/zen-browser/desktop/issues/9999 | None | 8:06:36 |
| "New Tab" tab bar button renders Chinese text vertically in container menu | https://github.com/zen-browser/desktop/issues/9997 | None | None |
| Can't Delete, Edit or Select different profile | https://github.com/zen-browser/desktop/issues/9996 | 5 days, 22:21:43 | None |
| Redirect Links from Apps to Browser Not Working (VSCode, GitHub Auth, etc.) | https://github.com/zen-browser/desktop/issues/9993 | None | 2 days, 2:16:42 |
| Fullscreening a video in Glance causes tab sidebar moving slightly left-ier afterwards - Twilight 1.15t (Firefox 142.0) (2025-08-24) | https://github.com/zen-browser/desktop/issues/9992 | None | None |
| Sidebar urlbar is almost unuseable with site permission and zoom icons taking up 80% of the bar | https://github.com/zen-browser/desktop/issues/9990 | 5:10:46 | 5:10:46 |
| Zen doesn't show its browser UI on the page chrome://browser/content/browser.xhtml | https://github.com/zen-browser/desktop/issues/9989 | None | 6:09:52 |
| New tab panel doesn't show tab titles | https://github.com/zen-browser/desktop/issues/9987 | 0:31:03 | 10:37:46 |
| Cursor hover style switching to default shortly after hover | https://github.com/zen-browser/desktop/issues/9984 | None | None |
| Clicking on a tab reset button hides the other tabs | https://github.com/zen-browser/desktop/issues/9981 | None | 0:01:40 |
| Text Corrupting | https://github.com/zen-browser/desktop/issues/9980 | None | None |
| Splet View windows do not restore their layout after browser restart | https://github.com/zen-browser/desktop/issues/9978 | None | None |
| Changing AccelKey Overrides Custom Shortcuts | https://github.com/zen-browser/desktop/issues/9974 | None | None |
| Button title missing for sidebar collapse | https://github.com/zen-browser/desktop/issues/9973 | None | None |
| Missing "tab rename" in the contextual menu | https://github.com/zen-browser/desktop/issues/9972 | 15:03:21 | None |
| URL bar loses focus if new tab is opened while editing | https://github.com/zen-browser/desktop/issues/9971 | None | None |
| Workspaces and Compact Mode | https://github.com/zen-browser/desktop/issues/9970 | None | None |
| Sound does not work | https://github.com/zen-browser/desktop/issues/9969 | None | None |
| Pre-loading all tabs on startup | https://github.com/zen-browser/desktop/issues/9967 | 3:05:00 | 1 day, 3:23:24 |
| Duplicate 'Stop Loading' Keyboard Shortcut fields | https://github.com/zen-browser/desktop/issues/9965 | None | None |
| Freedom Blocklist not working | https://github.com/zen-browser/desktop/issues/9964 | 11:27:00 | 11:27:00 |
| Prevent tab unload context menu entry missing on tabs | https://github.com/zen-browser/desktop/issues/9963 | None | None |
| Glance buttons (expand, exit, split screen) missing when using Zen Papercut mod | https://github.com/zen-browser/desktop/issues/9962 | 3 days, 6:00:07 | 3 days, 6:00:07 |
| Sidebar Appears Unexpectedly | https://github.com/zen-browser/desktop/issues/9961 | 0:39:14 | 5 days, 0:15:27 |
| Contrast completely broken in multiple places depending on theme color and dark/light mode | https://github.com/zen-browser/desktop/issues/9955 | 6 days, 3:55:23 | None |
| Split views not visible in sidebar when selected from folder pop-up | https://github.com/zen-browser/desktop/issues/9954 | None | None |
| Folder 3 dot state stuck after split view move | https://github.com/zen-browser/desktop/issues/9953 | None | None |
| Context menu for editing tab groups is gone in Zen Twilight | https://github.com/zen-browser/desktop/issues/9951 | 6:53:05 | 11:45:07 |
| 简洁模式启动后自己关闭 | https://github.com/zen-browser/desktop/issues/9949 | 2:20:53 | 10:20:19 |
| Tab bar and top bar are stuck, can't toggle/hide them off and minimize, close button gets clamped together in minimized window | https://github.com/zen-browser/desktop/issues/9946 | None | 1:39:32 |
| Opening links in pinned tabs creates a new pinned tab | https://github.com/zen-browser/desktop/issues/9945 | 10:45:38 | None |
| History panel not colapsing | https://github.com/zen-browser/desktop/issues/9943 | 9:12:13 | None |
| Clicking card in jira doesn't always open the card modal. | https://github.com/zen-browser/desktop/issues/9942 | None | None |
| Zen uses Windows accent color even with relevant settings set to false | https://github.com/zen-browser/desktop/issues/9940 | 17:50:40 | 1 day, 2:24:18 |
| Compact Mode keeps getting disabled randomly | https://github.com/zen-browser/desktop/issues/9939 | 1 day, 3:36:05 | None |
| [macOS] "Ask before quitting with cmd+Q" dialog box shows Firefox instead of Zen and more mentions of Firefox instead of Zen | https://github.com/zen-browser/desktop/issues/9938 | 2 days, 21:11:20 | 10 days, 6:52:44 |
| Zen Browser consistantly crashes on page | https://github.com/zen-browser/desktop/issues/9937 | 6:13:51 | None |
| Essential Tabs do not survive a restart and fail to propagate across all windows | https://github.com/zen-browser/desktop/issues/9935 | 1:43:35 | None |
| Middle click to open a link in a new tab does not preserve the previous tab's container | https://github.com/zen-browser/desktop/issues/9934 | None | 11:02:13 |
| Twighlight folders | https://github.com/zen-browser/desktop/issues/9933 | 6:40:06 | None |
| Opening new tab always shows pop-up menu rather than opening configured new tab | https://github.com/zen-browser/desktop/issues/9932 | 0:10:50 | 7 days, 11:53:34 |
| Homepage blank when first opening Zen Browser | https://github.com/zen-browser/desktop/issues/9928 | 16:41:10 | None |
| Tabs freezing, sidebar not collapsing in VS 1.14.9b | https://github.com/zen-browser/desktop/issues/9927 | 2 days, 2:43:49 | None |
| Windows control butons can be seen for a while when using compact mode | https://github.com/zen-browser/desktop/issues/9922 | None | 12:39:19 |
| Distill plugin opens persistant tabs in the Space part of the sidebar | https://github.com/zen-browser/desktop/issues/9919 | 13 days, 13:36:07 | None |
| Keyboard shortcuts like Ctrl+Shift+NumberRowKey depend on the active keyboard layout | https://github.com/zen-browser/desktop/issues/9918 | None | None |
| SPOTIFY DOESN'T WORK ON WINDOWS | https://github.com/zen-browser/desktop/issues/9917 | 0:04:16 | 5:53:18 |
| "Connection Secure >" menu won't open when Padlock is clicked inside an expanded Address Bar | https://github.com/zen-browser/desktop/issues/9913 | None | 2 days, 0:48:09 |
| Inconsistent behavior when removing essentials via drag and drop | https://github.com/zen-browser/desktop/issues/9912 | None | None |
| Essentials can't be rearranged via drag and drop | https://github.com/zen-browser/desktop/issues/9911 | 2:39:54 | 2:39:54 |
| Reset Pinned Tab doesn't work | https://github.com/zen-browser/desktop/issues/9910 | 12:56:31 | 9 days, 3:42:31 |
| when I use the Collapsed toolbar,The close button on the sidebar shows an abnormal display | https://github.com/zen-browser/desktop/issues/9905 | None | None |
| When Nerd Fonts isstelled Zen will always use them | https://github.com/zen-browser/desktop/issues/9904 | None | None |
| macOS: Zen shortcuts like Cmd+S are intercepted by websites | https://github.com/zen-browser/desktop/issues/9903 | None | None |
| Customize Toolbar issues with Extension Icons (Temporary Containers) | https://github.com/zen-browser/desktop/issues/9901 | None | None |
| Startup hang when using an invalid workspace name | https://github.com/zen-browser/desktop/issues/9900 | None | 0:58:35 |
| Spotify Web Player doesn't play songs: 'Spotify can't play this right now' error | https://github.com/zen-browser/desktop/issues/9896 | 0:18:09 | 0:57:45 |
| Header editor extensions do not work (WebRequest API for onBeforeSendHeaders) | https://github.com/zen-browser/desktop/issues/9895 | None | None |
| Essentials - "remove from Essentials" vs "Close Tab" | https://github.com/zen-browser/desktop/issues/9894 | 7:25:09 | None |
| VAAPI not working on Linux | https://github.com/zen-browser/desktop/issues/9893 | None | None |
| Browser launches up completely blank, no interface, buttons to close or minimize the tab, nothing. | https://github.com/zen-browser/desktop/issues/9890 | 3:45:59 | None |
| Annoying white margin around window contents | https://github.com/zen-browser/desktop/issues/9888 | 4 days, 12:34:56 | None |
| Zen is being recognized as using Internet Explorer 11 | https://github.com/zen-browser/desktop/issues/9887 | 10:15:03 | 10:15:03 |
| Folder unloading bug breaks whole folder tree | https://github.com/zen-browser/desktop/issues/9885 | None | 0:45:09 |
| Bug: Leftover in Default Apps | https://github.com/zen-browser/desktop/issues/9879 | 10 days, 15:06:30 | None |
| Weird rectangle behind side bar in compact mode | https://github.com/zen-browser/desktop/issues/9877 | None | None |
| On startup all previous tabs remain open | https://github.com/zen-browser/desktop/issues/9875 | 11:41:28 | None |
| Spotify skips 5 songs then plays first 5 seconds of one and frezzes. | https://github.com/zen-browser/desktop/issues/9874 | 1:56:21 | 1:56:21 |
| macOS traffic lights are grey while Zen is focused | https://github.com/zen-browser/desktop/issues/9871 | 1:49:43 | 1:49:43 |
| Background audio stops after tab switch: Spotify stalls at a specific timestamp; reload fails; only closing/reopening the tab helps | https://github.com/zen-browser/desktop/issues/9869 | 3:21:56 | 10:26:59 |
| Stripe Payment Element iFrame Performance Issues | https://github.com/zen-browser/desktop/issues/9868 | None | None |
| [1.15t]: Changing the folder icon while in collapsed mode bug | https://github.com/zen-browser/desktop/issues/9866 | None | 1 day, 7:03:54 |
| CTRL + TAB open essential tabs on start up | https://github.com/zen-browser/desktop/issues/9864 | None | None |
| Bluetooth headset device prb | https://github.com/zen-browser/desktop/issues/9863 | 1 day, 22:54:56 | None |
| Notion Crashes in Zen Browser | https://github.com/zen-browser/desktop/issues/9862 | None | None |
| Can't install mods | https://github.com/zen-browser/desktop/issues/9861 | 0:35:44 | None |
| Broken automatic updates and update checker | https://github.com/zen-browser/desktop/issues/9860 | 7 days, 22:56:36 | None |
| "Backward Workspace" and "Forward Workspace" shortcuts conflict with unchangeable tab-cycling shortcut | https://github.com/zen-browser/desktop/issues/9859 | 3:55:25 | 3:55:25 |
| Essentials favicons overlap from multiple workspaces | https://github.com/zen-browser/desktop/issues/9858 | 0:09:18 | None |
| Tap with 2 fingers on mac trackpad issue | https://github.com/zen-browser/desktop/issues/9856 | None | None |
| Compose key closes floating search input | https://github.com/zen-browser/desktop/issues/9855 | None | None |
| Critical Bug - Blackscreen on boot Intel Mac | https://github.com/zen-browser/desktop/issues/9853 | None | None |
| switching to left/upper tab is not working with shortcuts, but working if the tabs are pinned. via APIs may be couse i am uging surfing keys extension but reported here just in case. | https://github.com/zen-browser/desktop/issues/9852 | None | None |
| iCloud Passwords extension on macOS | https://github.com/zen-browser/desktop/issues/9850 | 15:37:13 | 15:37:20 |
| rpi.local:9090 don´t open | https://github.com/zen-browser/desktop/issues/9844 | 2:30:34 | 2 days, 4:55:12 |
| Laggy Scrolling Across All Sites On 120 Hz Retina Display of Macbook Pro (M3 Pro) | https://github.com/zen-browser/desktop/issues/9842 | 3:16:14 | None |
| Folders Bug on multiple windows | https://github.com/zen-browser/desktop/issues/9840 | 2 days, 19:32:00 | None |
| Twilight Updater Bug ("Update ready to install" popup will not go away, even after restarting twilight multiple times) | https://github.com/zen-browser/desktop/issues/9837 | 14 days, 15:03:33 | None |
| Windows UAC is prompted after every Zen update | https://github.com/zen-browser/desktop/issues/9836 | 3 days, 13:49:23 | None |
| Upon reopening a Zen Browser session with multiple windows, workspaces are not selected properly | https://github.com/zen-browser/desktop/issues/9835 | 6 days, 9:06:16 | None |
| When compact mode is enabled, bookmark tabs in the top toolbar fail to display fully on new pages. | https://github.com/zen-browser/desktop/issues/9834 | 3 days, 9:24:00 | None |
| Dark Theme Selected, But Light Theme Appears in Some Areas | https://github.com/zen-browser/desktop/issues/9833 | 1 day, 9:15:06 | 1 day, 20:10:57 |
| Essential tabs is missing icon when browser history is disabled | https://github.com/zen-browser/desktop/issues/9832 | None | 1 day, 0:58:09 |
| [Folders] Broken reordering functionality | https://github.com/zen-browser/desktop/issues/9830 | 1 day, 2:52:11 | 1 day, 7:27:51 |
| Essential opens some new links in a new essential tab | https://github.com/zen-browser/desktop/issues/9829 | None | 0:02:42 |
| Ctrl-shift-t should restore tab folders after deletion | https://github.com/zen-browser/desktop/issues/9828 | 4 days, 14:56:02 | None |
| UrlBar suggestions of renamed tabs are broken | https://github.com/zen-browser/desktop/issues/9825 | 1 day, 14:45:17 | 1 day, 14:45:17 |
| UrlBar persists input if closed with hitting the Escape key | https://github.com/zen-browser/desktop/issues/9824 | 1 day, 17:21:19 | 1 day, 17:21:19 |
| Bookmark tab doesn't show in single toolbar mode | https://github.com/zen-browser/desktop/issues/9823 | 2 days, 2:41:34 | 2 days, 3:29:57 |
| Mouse Hover Shortcut Key Display Lacks Synchronization with User Settings | https://github.com/zen-browser/desktop/issues/9822 | None | None |
| The context menu to delete history from the URL bar suggestions needs two clicks to open | https://github.com/zen-browser/desktop/issues/9820 | None | None |
| The tab bar shows and hide quickly when leaving the search | https://github.com/zen-browser/desktop/issues/9819 | 0:25:47 | 2 days, 8:39:47 |
| Zen Browser freezes when using ChatGPT-5 Browser (especially with code-related responses) | https://github.com/zen-browser/desktop/issues/9816 | 8:28:17 | None |
| Zen hangs on contextual menu (right clicking, opening sub menus etc) on Linux | https://github.com/zen-browser/desktop/issues/9815 | None | None |
| Bookmarks, URL Bar, and Tabs Invisible Text After Update | https://github.com/zen-browser/desktop/issues/9813 | 7:26:37 | None |
| Folder tabs aren't in folders after relaunch | https://github.com/zen-browser/desktop/issues/9812 | 15:43:15 | 1 day, 19:13:37 |
| Location bar unfocused when the last character is deleted | https://github.com/zen-browser/desktop/issues/9810 | 0:18:17 | None |
| Essentials Bug | https://github.com/zen-browser/desktop/issues/9808 | 1:41:03 | None |
| Downloads button having poor visibility after downloading a file in some gradients. | https://github.com/zen-browser/desktop/issues/9807 | 1:44:14 | 1:44:14 |
| Laggy scrolling after not quiting the browser for a while | https://github.com/zen-browser/desktop/issues/9806 | 2 days, 10:50:57 | None |
| Unnecessary haptic feedback on MacOS when pinning new tab (Twilight) | https://github.com/zen-browser/desktop/issues/9805 | 6:15:46 | 6:15:46 |
| New folder renaming text too far to the right | https://github.com/zen-browser/desktop/issues/9804 | 6:17:45 | 6:17:45 |
| [Twilight] Broken haptic feedback on macOS when dragging tabs | https://github.com/zen-browser/desktop/issues/9803 | None | 1:14:26 |
| Video player not working on crunchyroll | https://github.com/zen-browser/desktop/issues/9802 | 1:16:40 | 1:16:40 |
| Switch to tab opens new tab instead of switching | https://github.com/zen-browser/desktop/issues/9801 | 12:20:40 | 12:27:21 |
| Reordering split panels via drag-and-drop does not update ordering in tab list, messes with keyboard navigation ordering. | https://github.com/zen-browser/desktop/issues/9800 | None | 1 day, 2:11:06 |
| tab bar in fullscreen mode | https://github.com/zen-browser/desktop/issues/9799 | None | 18:51:36 |
| Taskbar not showing | https://github.com/zen-browser/desktop/issues/9798 | 10:56:45 | None |
| Security key pin dialog lacks support for paste action | https://github.com/zen-browser/desktop/issues/9796 | 21:28:51 | 1 day, 6:48:45 |
| Last popup opening when submiting forms (i.e pressing enter) | https://github.com/zen-browser/desktop/issues/9795 | 21:44:10 | 1 day, 5:01:56 |
| New password updates don't work | https://github.com/zen-browser/desktop/issues/9794 | 2:53:04 | None |
| Sidebar quickly opening and closing when in compact mode | https://github.com/zen-browser/desktop/issues/9793 | 2:51:23 | None |
| Fail to import password from Brave | https://github.com/zen-browser/desktop/issues/9792 | None | 21:51:13 |
| Favicons not showing | https://github.com/zen-browser/desktop/issues/9791 | 14:44:19 | 4 days, 20:11:15 |
| The sidebar unexpectedly appears as the mouse cursor moves away from the URL bar in compact mode | https://github.com/zen-browser/desktop/issues/9790 | 11:11:16 | 23 days, 3:02:43 |
| Tab doesn't close after search (find on page) | https://github.com/zen-browser/desktop/issues/9789 | None | None |
| Weird Margin when on Fullscreen watching videos when sidebar opened | https://github.com/zen-browser/desktop/issues/9788 | None | None |
| Squashed webpages on smaller windows in hyprland | https://github.com/zen-browser/desktop/issues/9786 | 1:09:51 | None |
| Failed to check for updates | https://github.com/zen-browser/desktop/issues/9785 | 1:15:30 | None |
| Video thumbnails not fully load (YouTube) | https://github.com/zen-browser/desktop/issues/9783 | 0:07:00 | None |
| Version Compatibility Issue | https://github.com/zen-browser/desktop/issues/9782 | 1:12:07 | None |
| Setting Backward / Forward Workspace shortcuts to cmd+opt+right arrow / cmd+opt+left arrow doesn't work | https://github.com/zen-browser/desktop/issues/9779 | 3:51:07 | None |
| The close tab button fails to work when trying to close multiple tabs that are using Glance | https://github.com/zen-browser/desktop/issues/9778 | 2 days, 16:14:18 | None |
| Switching between Spaces not working | https://github.com/zen-browser/desktop/issues/9776 | 0:14:43 | 0:14:43 |
| Sidebar is much darker than the workspace's chosen theme color when in compact mode | https://github.com/zen-browser/desktop/issues/9773 | 0:03:24 | None |
| Exit menu not appearing as it should be! | https://github.com/zen-browser/desktop/issues/9771 | 1:55:10 | 1:55:10 |
| Zorin OS (sub disturbution of ubuntu): automatically unlodaded tabs' icons appear as if they are loaded. | https://github.com/zen-browser/desktop/issues/9770 | 5:45:29 | 2 days, 12:00:33 |
| No requests are shown in Network tabs in the DevTools | https://github.com/zen-browser/desktop/issues/9765 | None | 13:35:18 |
| The Youtube UI is missing | https://github.com/zen-browser/desktop/issues/9764 | 13:42:10 | None |
| Scrolling on Touch Pad not working | https://github.com/zen-browser/desktop/issues/9763 | None | 1 day, 1:06:22 |
| Problem with the translation icon | https://github.com/zen-browser/desktop/issues/9761 | None | None |
| Sidebar appearing again in ubuntu 24.04 even i already hid it | https://github.com/zen-browser/desktop/issues/9758 | None | 4:46:11 |
| Ferefox View is not working | https://github.com/zen-browser/desktop/issues/9757 | None | None |
| Google Docs (Hebrew): Selected text is not deselected after typing, leading to infinite replacement loop. | https://github.com/zen-browser/desktop/issues/9756 | None | None |
| Container tabs can't be added to essentials | https://github.com/zen-browser/desktop/issues/9753 | 10:17:57 | 17:44:03 |
| transparent custom color issue | https://github.com/zen-browser/desktop/issues/9752 | 26 days, 4:17:37 | None |
| night tb extension problem | https://github.com/zen-browser/desktop/issues/9751 | None | 2:37:24 |
| night tab extension not working | https://github.com/zen-browser/desktop/issues/9750 | 0:45:32 | None |
| Media Component showing wrong timing. | https://github.com/zen-browser/desktop/issues/9748 | 1 day, 21:23:48 | None |
| Option+Cmd+E shortcut is assigned twice in standard settings | https://github.com/zen-browser/desktop/issues/9746 | 2 days, 1:35:44 | None |
| Microphone not detected on Google Meet using Zen Browser under Wayland | https://github.com/zen-browser/desktop/issues/9745 | None | None |
| Apple Passwords extension works in firefox but not in zen | https://github.com/zen-browser/desktop/issues/9743 | None | 4:24:39 |
| [Flatpak] Maximize and Minimize button not appearing | https://github.com/zen-browser/desktop/issues/9740 | 16:43:18 | None |
| Zen Browser does not stay in Dark theme | https://github.com/zen-browser/desktop/issues/9739 | 3:02:20 | 10:26:06 |
| Sidebar Hover keeps breaking Sidebar | https://github.com/zen-browser/desktop/issues/9738 | 18:14:03 | 18:14:03 |
| WebGL not working because glxtest cannot determine the primary gpu | https://github.com/zen-browser/desktop/issues/9735 | None | 2 days, 2:10:27 |
| Critical profile and data wipe - my data is inaccessible but viewable via AppData | https://github.com/zen-browser/desktop/issues/9733 | None | None |
| Workspace bookmarks are showing across different workspaces | https://github.com/zen-browser/desktop/issues/9732 | None | None |
| Side bar takes priority over top bar in compact mode, impossible to close window in compact mode with no tabs open | https://github.com/zen-browser/desktop/issues/9730 | None | None |
| Incorrect theme context color provider in dark mode for the bottom search bar | https://github.com/zen-browser/desktop/issues/9729 | 17:05:40 | 23:37:32 |
| URLs open in wrong space | https://github.com/zen-browser/desktop/issues/9728 | 4 days, 4:26:42 | None |
| "ZenCP Isolated Web Content" process pegs all cores after media playback on MacOS | https://github.com/zen-browser/desktop/issues/9727 | 5 days, 2:14:27 | None |
| How to disable url in sidebar. | https://github.com/zen-browser/desktop/issues/9726 | None | 0:03:33 |
| Switch to tab clones tab instead of switching. | https://github.com/zen-browser/desktop/issues/9724 | 0:21:55 | 0:42:52 |
| Not supported HTML5 | https://github.com/zen-browser/desktop/issues/9723 | 3:28:34 | 3:28:34 |
| Zen browsers loses tabs every time it is restarted | https://github.com/zen-browser/desktop/issues/9718 | 15 days, 7:57:29 | 0:03:16 |
| Can't change to different workspaces after a while | https://github.com/zen-browser/desktop/issues/9717 | 5 days, 11:32:11 | None |
| Moving bookmarks in the bookmark bar is not reliable | https://github.com/zen-browser/desktop/issues/9715 | 24 days, 1:43:39 | None |
| Ctrl+Shift+T not restoring the most recent tab | https://github.com/zen-browser/desktop/issues/9714 | None | 14:28:46 |
_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_
Search query used to find these items: `repo:zen-browser/desktop is:issue created:2025-08-01..2025-08-31`

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = إخفاء كليهما
.accesskey = خ
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Canvia la icona
zen-folders-unload-all-tooltip =
.tooltiptext = Descarrega totes les pestanyes d'aquesta carpeta
.tooltiptext = Hiberna les pestanyes actives d'aquesta carpeta
zen-folders-unload-folder =
.label = Descarrega totes les pestanyes
.label = Hiberna totes les pestanyes
zen-folders-search-no-results = No hi ha pestanyes que coincideixin amb aquesta cerca 🤔

View File

@@ -24,7 +24,7 @@ sidebar-zen-create-new =
tabbrowser-unload-tab-button =
.tooltiptext =
{ $tabCount ->
[one] Hiberna i canvia la pestanya
[one] Hiberna i canvia a la pestanya
*[other] Hiberna { $tabCount } pestanyes i canvia a la primera
}
tabbrowser-reset-pin-button =

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Změnit ikonu
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Uspat aktivní panely v této složce
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Uspat všechny panely
zen-folders-search-no-results = Žádný panel neodpovídá tomuto hledání 🤔

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Skift ikon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Stop indlæsning af aktive i denne mappe
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Stop indlæsning af alle faner
zen-folders-search-no-results = Ingen faner matcher den søgning 🤔

View File

@@ -3,7 +3,7 @@ zen-folders-search-placeholder =
zen-folders-panel-rename-folder =
.label = Ordner umbenennen
zen-folders-panel-unpack-folder =
.label = Ordner entpacken
.label = Ordner auflösen
zen-folders-new-subfolder =
.label = Neuer Unterordner
zen-folders-panel-delete-folder =
@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Symbol ändern
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Aktive Tabs in diesem Ordner entladen
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Alle Tabs entladen
zen-folders-search-no-results = Keine passenden Tabs gefunden 🤔

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Απόκρυψη όλων
.accesskey = H
zen-toolbar-context-new-folder =
.label = Νέος φάκελος
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Επέκταση Πλαϊνής στήλης

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -24,7 +24,7 @@ zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs

View File

@@ -18,7 +18,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Cambiar icono
zen-folders-unload-all-tooltip =
.tooltiptext = Suspender todas las pestañas de esta carpeta
.tooltiptext = Suspensión activa en esta carpeta
zen-folders-unload-folder =
.label = Suspender todas las pestañas
zen-folders-search-no-results = Ninguna pestaña coincide con esa búsqueda 🤔

View File

@@ -47,7 +47,7 @@ zen-look-and-feel-compact-toolbar-themed =
zen-look-and-feel-compact-sidebar-themed =
.label = Kasuta kompaktsel külgribal teema poolt küljendatud tausta
zen-workspace-continue-where-left-off =
.label = Continue where you left off
.label = Jätka sealt, kus eelmine kord pooleli jäi
pane-zen-pinned-tab-manager-title = Püsikaardid
zen-pinned-tab-manager-header = Püsikaartide üldised sätted
zen-pinned-tab-manager-description = Halda püsikaartide täiendavat käitumist
@@ -94,29 +94,29 @@ zen-vertical-tabs-expand-tabs-header = Kuidas kaarte laiendatakse
zen-vertical-tabs-expand-tabs-description = Vali kuidas laiendatakse kaarte külgribal
zen-theme-marketplace-header = Zen Mods
zen-theme-disable-all-enabled =
.title = Keela kõik muudatused
.title = Keela kõik mods-id
zen-theme-disable-all-disabled =
.title = Luba kõik muudatused
zen-theme-marketplace-description = Otsi ja paigalda muudatusi veebipoest.
zen-theme-marketplace-description = Otsi ja paigalda mods-e veebipoest.
zen-theme-marketplace-remove-button =
.label = Eemalda muudatus
.label = Eemalda mod
zen-theme-marketplace-check-for-updates-button =
.label = Kontrolli uuendusi
zen-theme-marketplace-import-button =
.label = Import mods
.label = Impordi Mods-id
zen-theme-marketplace-export-button =
.label = Export Mods
zen-theme-marketplace-import-success = Mods imported successfully
zen-theme-marketplace-import-failure = There was an error importing the mods
zen-theme-marketplace-export-success = Mods exported successfully
zen-theme-marketplace-export-failure = There was an error exporting the mods
zen-theme-marketplace-updates-success = Muudatused on edukalt uuendatud
zen-theme-marketplace-updates-failure = Couldn't find any updates!
.label = Ekspordi Mods-id
zen-theme-marketplace-import-success = Mods-id on edukalt imporditud
zen-theme-marketplace-import-failure = Mods-ide importimisel tekkis viga
zen-theme-marketplace-export-success = Mods-id on edukalt eksporditud
zen-theme-marketplace-export-failure = Mods-ide eksportimisel tekkis viga
zen-theme-marketplace-updates-success = Mods-id on edukalt uuendatud
zen-theme-marketplace-updates-failure = Uuendusi ei leitud!
zen-theme-marketplace-toggle-enabled-button =
.title = Keela muudatus
.title = Keela mod
zen-theme-marketplace-toggle-disabled-button =
.title = Luba muudatus
zen-theme-marketplace-remove-confirmation = Oled sa kindel, et soovid eemaldada selle muudatuse?
.title = Luba mod
zen-theme-marketplace-remove-confirmation = Oled sa kindel, et soovid eemaldada selle mod-i?
zen-theme-marketplace-close-modal = Sulge
zen-theme-marketplace-theme-header-title =
.title = CSS selektor: { $name }
@@ -126,7 +126,7 @@ zen-theme-marketplace-input-default-placeholder =
.placeholder = Sisesta midagi...
pane-zen-marketplace-title = Zen Mods
zen-themes-auto-update =
.label = Automatically update installed mods on startup
.label = Uuenda paigaldatud mods-e brauseri avamisel automaatselt
zen-settings-workspaces-force-container-tabs-to-workspace =
.label = Konteineri kaartide avamisel lülitu tööruumi kuhu konteiner on vaikimisi määratud
zen-theme-marketplace-link = Külasta veebipoodi
@@ -171,7 +171,7 @@ zenCKSOption-group-zen-compact-mode = Kompaktne režiim
zenCKSOption-group-zen-workspace = Tööruumid
zenCKSOption-group-zen-other = Muud Zeni funktsioonid
zenCKSOption-group-zen-split-view = Jaotatud vaade
zenCKSOption-group-devTools = Developer Tools
zenCKSOption-group-devTools = Arendaja tööriistad
zen-key-quick-restart = Kiirtaaskävitus
zen-window-new-shortcut = Uus aken
zen-tab-new-shortcut = Uus kaart
@@ -185,7 +185,7 @@ zen-text-action-redo-shortcut = Tee uuesti
zen-text-action-cut-shortcut = Lõika
zen-text-action-copy-shortcut = Kopeeri
zen-text-action-copy-url-shortcut = Kopeeri praegune URL
zen-text-action-copy-url-markdown-shortcut = Copy current URL as Markdown
zen-text-action-copy-url-markdown-shortcut = Kopeeri praegune URL Markdown-i märgendina
zen-text-action-paste-shortcut = Aseta
zen-text-action-select-all-shortcut = Vali kõik
zen-text-action-delete-shortcut = Kustuta
@@ -220,9 +220,9 @@ zen-nav-fwd-shortcut-alt = Navigeeri edasi (alternatiivne)
zen-history-show-all-shortcut = Näita kogu ajalugu
zen-key-enter-full-screen = Täisekraanirežiim
zen-key-exit-full-screen = Välju täisekraanirežiimist
zen-ai-chatbot-sidebar-shortcut = Toggle AI Chatbot Sidebar
zen-key-inspector-mac = Toggle Inspector (Mac)
zen-toggle-sidebar-shortcut = Toggle Firefox Sidebar
zen-ai-chatbot-sidebar-shortcut = Lülita AI vestlusroboti külgriba sisse/välja
zen-key-inspector-mac = Lülita inspekteerija sisse/välja (Mac)
zen-toggle-sidebar-shortcut = Lülita Firefoxi külgriba sisse/välja
zen-reader-mode-toggle-shortcut-other = Lülita lugejarežiim sisse/välja
zen-picture-in-picture-toggle-shortcut = Lülita pilt-pildis sisse/välja
zen-nav-reload-shortcut-2 = Laadi leht uuesti
@@ -239,9 +239,9 @@ zen-key-stop = Peata laadimine
zen-full-zoom-reduce-shortcut = Vähenda
zen-full-zoom-enlarge-shortcut = Suurenda
zen-full-zoom-reset-shortcut = Lähtesta suurendamine
zen-full-zoom-reset-shortcut-alt = Reset Zoom (Alt)
zen-full-zoom-enlarge-shortcut-alt = Zoom In (Alt)
zen-full-zoom-enlarge-shortcut-alt2 = Zoom In (Alt 2)
zen-full-zoom-reset-shortcut-alt = Lähtesta suurendamine (Alternatiivne)
zen-full-zoom-enlarge-shortcut-alt = Suurenda (Alternatiivne)
zen-full-zoom-enlarge-shortcut-alt2 = Suurenda (Alternatiivne 2)
zen-bidi-switch-direction-shortcut = Muuda teksti suunda
zen-private-browsing-shortcut = Ava privaatne aken
zen-screenshot-shortcut = Tee ekraanipilt
@@ -288,16 +288,16 @@ zen-key-goto-history = Ava ajalugu
zen-key-go-home = Avaleht
zen-bookmark-show-sidebar-shortcut = Kuva järjehoidjate külgriba
zen-bookmark-show-toolbar-shortcut = Kuva järjehoidjariba
zen-devtools-toggle-shortcut = Toggle DevTools
zen-devtools-toggle-browser-toolbox-shortcut = Toggle Browser Toolbox
zen-devtools-toggle-browser-console-shortcut = Toggle Browser Console
zen-devtools-toggle-responsive-design-mode-shortcut = Toggle Responsive Design Mode
zen-devtools-toggle-inspector-shortcut = Toggle Inspector
zen-devtools-toggle-web-console-shortcut = Toggle Web Console
zen-devtools-toggle-js-debugger-shortcut = Toggle JavaScript Debugger
zen-devtools-toggle-net-monitor-shortcut = Toggle Network Monitor
zen-devtools-toggle-style-editor-shortcut = Toggle Style Editor
zen-devtools-toggle-performance-shortcut = Toggle Performance
zen-devtools-toggle-storage-shortcut = Toggle Storage
zen-devtools-toggle-dom-shortcut = Toggle DOM
zen-devtools-toggle-accessibility-shortcut = Toggle Accessibility
zen-devtools-toggle-shortcut = Lülita arendaja tööriistad sisse/välja
zen-devtools-toggle-browser-toolbox-shortcut = Lülita brauseri tööriistakast sisse/välja
zen-devtools-toggle-browser-console-shortcut = Lülita brauseri konsool sisse/välja
zen-devtools-toggle-responsive-design-mode-shortcut = Lülita reageeriva disaini režiim sisse/välja
zen-devtools-toggle-inspector-shortcut = Lülita inspekteerija sisse/välja
zen-devtools-toggle-web-console-shortcut = Lülita veebikonsool sisse/välja
zen-devtools-toggle-js-debugger-shortcut = Lülita JavaScripti siluja sisse/välja
zen-devtools-toggle-net-monitor-shortcut = Lülita võrgu jälgija sisse/välja
zen-devtools-toggle-style-editor-shortcut = Lülita stiilide redaktor sisse/välja
zen-devtools-toggle-performance-shortcut = Lülita jõudluse sektsioon sisse/välja
zen-devtools-toggle-storage-shortcut = Lülita mälu sektsioon sisse/välja
zen-devtools-toggle-dom-shortcut = Lülita DOM sisse/välja
zen-devtools-toggle-accessibility-shortcut = Lülita ligipääsetavuse sektsioon sisse/välja

View File

@@ -1,21 +1,21 @@
zen-folders-search-placeholder =
.placeholder = Search { $folder-name }...
.placeholder = Otsi kaustast { $folder-name }...
zen-folders-panel-rename-folder =
.label = Rename Folder
.label = Nimeta kaust ümber
zen-folders-panel-unpack-folder =
.label = Unpack Folder
.label = Paki kaust lahti
zen-folders-new-subfolder =
.label = New Subfolder
.label = Uus alamkaust
zen-folders-panel-delete-folder =
.label = Delete Folder
.label = Kustuta kaust
zen-folders-panel-convert-folder-to-space =
.label = Convert folder to Space
.label = Teisenda kaust tööruumiks
zen-folders-panel-change-folder-space =
.label = Change Space...
.label = Liiguta tööruumi...
zen-folders-panel-change-icon-folder =
.label = Change Icon
.label = Muuda ikooni
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Eemalda mälust selle kausta aktiivsed kaardid
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔
.label = Eemalda mälust kõik kaardid
zen-folders-search-no-results = Otsingule ei vasta ühtegi kaarti 🤔

View File

@@ -2,49 +2,49 @@ zen-panel-ui-current-profile-text = praegune profiil
unified-extensions-description = Laiendusi kasutatakse täiendava funktsionaalsuse lisamiseks { -brand-short-name }i.
tab-context-zen-reset-pinned-tab =
.label = Lähtesta püsikaart
.accesskey = R
.accesskey = p
tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled)
.accesskey = E
.label = Märgi oluliseks ({ $num } / 12 täidetud)
.accesskey = o
tab-context-zen-remove-essential =
.label = Eemalda olulistest
.accesskey = R
.accesskey = o
tab-context-zen-replace-pinned-url-with-current =
.label = Asenda püsikaardi URL praegusega
.accesskey = C
zen-themes-corrupted = Sinu { -brand-short-name } muudatuste fail on vigane. See on nüüd lähtestatud vaikimisi teemaks.
.accesskey = p
zen-themes-corrupted = Sinu { -brand-short-name } mods-ide fail on vigane. See on nüüd lähtestatud vaikimisi teemaks.
zen-shortcuts-corrupted = Sinu { -brand-short-name } otseteede fail on vigane. See on nüüd lähtestatud vaikimisi otseteedeks.
# note: Do not translate the "<br/>" tags in the following string
zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/>
Try opening a new tab to see the new URL bar in action!
zen-disable = Disable
Uus asukohariba on sisse lülitatud, mistõttu pole enam uue kaardi lehte tarvis.<br/><br/>
Proovi avada uut kaarti, et näha uut asukohariba!
zen-disable = Lülita välja
pictureinpicture-minimize-btn =
.aria-label = Minimize
.tooltip = Minimize
.aria-label = Minimeeri
.tooltip = Minimeeri
zen-panel-ui-gradient-generator-custom-color = Kohandatud värv
zen-panel-ui-gradient-generator-saved-message = Värviüleminek on edukalt salvestatud!
zen-copy-current-url-confirmation = URL kopeeriti lõikelauale.
zen-general-cancel-label =
.label = Cancel
.label = Tühista
zen-general-confirm =
.label = Kinnita
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-tabs-renamed = Kaart on edukalt ümber nimetatud!
zen-background-tab-opened-toast = Taustal avati uus kaart!
zen-workspace-renamed-toast = Tööruum on edukalt ümber nimetatud!
zen-library-sidebar-workspaces =
.label = Spaces
.label = Tööruumid
zen-library-sidebar-mods =
.label = Mods
.label = Mods-id
# note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Rohkem teavet
zen-close-label = Sulge
zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search...
.placeholder = Otsi...
zen-icons-picker-emoji =
.label = Emojis
.label = Emojid
zen-icons-picker-svg =
.label = Icons
.label = Ikoonid

View File

@@ -15,22 +15,22 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Peida mõlemad
.accesskey = P
zen-toolbar-context-new-folder =
.label = New folder
.accesskey = N
.label = Uus kaust
.accesskey = U
sidebar-zen-expand =
.label = Laienda külgriba
sidebar-zen-create-new =
.label = Create New...
.label = Loo uus...
tabbrowser-unload-tab-button =
.tooltiptext =
{ $tabCount ->
[one] Unload and switch to tab
*[other] Unload { $tabCount } tabs and switch to the first
[one] Eemalda mälust ning vaheta kaarti
*[other] Eemalda mälust { $tabCount } kaarti ning vaheta esimesele kaardile
}
tabbrowser-reset-pin-button =
.tooltiptext =
{ $tabCount ->
[one] Reset and pin tab
*[other] Reset and pin { $tabCount } tabs
[one] Lähtesta ja tee püsikaardiks
*[other] Lähtesta ja tee püsikaardiks { $tabCount } kaarti
}
tab-reset-pin-label = Back to pinned url
tab-reset-pin-label = Tagasi püsikaardi URL-ile

View File

@@ -4,24 +4,24 @@
zen-welcome-title-line1 = Tere tulemast
zen-welcome-title-line2 = rahulikumasse internetti
zen-welcome-import-title = A Fresh Start, Same Bookmarks
zen-welcome-import-description-1 = Your bookmarks, history, and passwords are like a trail of breadcrumbs through the internet—dont leave them behind!
zen-welcome-import-title = Värske algus, samad järjehoidjad
zen-welcome-import-description-1 = Sinu järjehoidjad, ajalugu ja paroolid on nagu seni läbitud rada internetis—ära jäta seda maha!
zen-welcome-import-description-2 = Easily bring them over from another browser and pick up right where you left off..
zen-welcome-import-button = Import now
zen-welcome-set-default-browser = Set { -brand-short-name } as your default browser
zen-welcome-dont-set-default-browser = DONT set { -brand-short-name } as your default browser
zen-welcome-initial-essentials-title = Your Key Tabs, Always Within Reach
zen-welcome-initial-essentials-description-1 = Keep your most important tabs easily accessible and always at hand, no matter how many you open.
zen-welcome-initial-essentials-description-2 = Essential tabs are always visible, no matter what workspace you are in.
zen-welcome-workspace-colors-title = Your Workspaces, Your Colors
zen-welcome-workspace-colors-description = Personalize your browser by giving each workspace its own unique color identity.
zen-welcome-import-button = Impordi nüüd
zen-welcome-set-default-browser = Määra { -brand-short-name } oma vaikebrauseriks
zen-welcome-dont-set-default-browser = ÄRA määra { -brand-short-name } oma vaikebrauseriks
zen-welcome-initial-essentials-title = Sinu põhilised kaardid, alati käeulatuses
zen-welcome-initial-essentials-description-1 = Hoia oma kõige olulisemad kaardid hõlpsalt juurdepääsetavad ning käeulatuses, hoolimata sellest, kui mitu neid avad.
zen-welcome-initial-essentials-description-2 = Olulised kaardid on alati nähtavad sõltumata sellest, millises tööruumis hetkel oled.
zen-welcome-workspace-colors-title = Sinu tööruumid, sinu värvid
zen-welcome-workspace-colors-description = Isikupärasta oma brauser, andes igale tööruumile omapärase värvitooni.
zen-welcome-start-browsing-title =
All set?<br/>
Lets get rolling!
zen-welcome-start-browsing-description-1 = Youre all set up and ready to go. Click the button below to start browsing with { -brand-short-name }.
zen-welcome-start-browsing = Dive in!
zen-welcome-default-search-title = Your Default Search Engine
zen-welcome-default-search-description = Choose your default search engine. You can always change it later!
zen-welcome-skip-button = Skip
zen-welcome-next-action = Next
zen-welcome-finished = Your Zen has been set up correctly!
Valmis?<br/>
Alustame!
zen-welcome-start-browsing-description-1 = Kõik on valmis. { -brand-short-name }iga sirvimise alustamiseks klõpsake alloleval nupul.
zen-welcome-start-browsing = Hakkame pihta!
zen-welcome-default-search-title = Sinu vaikimisi otsingumootor
zen-welcome-default-search-description = Vali oma vaikimisi otsingumootor. Saad seda alati hiljem muuta!
zen-welcome-skip-button = Jäta vahele
zen-welcome-next-action = Edasi
zen-welcome-finished = Zen on edukalt seadistatud!

View File

@@ -1,21 +1,21 @@
zen-panel-ui-workspaces-text = Tööruumid
zen-panel-ui-workspaces-create =
.label = Create Space
.label = Uus tööruum
zen-panel-ui-folder-create =
.label = Create Folder
.label = Uus kaust
zen-workspaces-panel-context-delete =
.label = Kustuta tööruum
.accesskey = K
zen-workspaces-panel-change-name =
.label = Change Name
.label = Nimeta ümber
zen-workspaces-panel-change-icon =
.label = Change Icon
.label = Muuda ikooni
zen-workspaces-panel-context-default-profile =
.label = Set Profile
zen-workspaces-how-to-reorder-title = How to reorder spaces
zen-workspaces-how-to-reorder-desc = Drag the space icons at the bottom of the sidebar to reorder them
.label = Määra profiil
zen-workspaces-how-to-reorder-title = Kuidas vahetada tööruumide järjestust
zen-workspaces-how-to-reorder-desc = Lohista tööruumide ikoone külgriba alumises servas, et nende järjestust muuta
zen-workspaces-change-theme =
.label = Edit Theme
.label = Muuda teemat
zen-workspaces-panel-context-open =
.label = Ava tööruum
.accesskey = A
@@ -29,23 +29,23 @@ zen-bookmark-edit-panel-workspace-selector =
.value = Tööruumid
.accesskey = T
zen-panel-ui-gradient-generator-algo-complementary =
.label = Complementary
.label = Täiendvärvid
zen-panel-ui-gradient-generator-algo-splitComplementary =
.label = Split
.label = Täiendvärvide kolmik
zen-panel-ui-gradient-generator-algo-analogous =
.label = Analogous
.label = Lähedased värvid
zen-panel-ui-gradient-generator-algo-triadic =
.label = Triadic
.label = Kolmkõla
zen-panel-ui-gradient-generator-algo-floating =
.label = Floating
zen-panel-ui-gradient-click-to-add = Click to add a color
.label = Hõljuv
zen-panel-ui-gradient-click-to-add = Klõpsa värvi lisamiseks
zen-workspace-creation-name =
.placeholder = Space Name
.placeholder = Tööruumi nimi
zen-workspaces-panel-context-reorder =
.label = Reorder Spaces
zen-workspace-creation-profile = Profile
.tooltiptext = Profiles are used to separate cookies and site data between spaces.
zen-workspace-creation-header = Create a Space
zen-workspace-creation-label = Spaces are used to organize your tabs and sessions.
.label = Muuda tööruumide järjestust
zen-workspace-creation-profile = Profiil
.tooltiptext = Profiile kasutatakse küpsiste ning saidi andmete eraldamiseks tööruumide vahel.
zen-workspace-creation-header = Loo uus tööruum
zen-workspace-creation-label = Tööruume kasutatakse kaartide ja sessioonide organiseerimiseks.
zen-workspaces-delete-workspace-title = Delete Workspace?
zen-workspaces-delete-workspace-body = Are you sure you want to delete { $name }? This action cannot be undone.
zen-workspaces-delete-workspace-body = Kas oled kindel, et soovid kustutada tööruumi { $name }? Seda tegevust ei saa tagasi võtta.

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Piilota molemmat
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -10,7 +10,7 @@ zen-layout-collapsed-toolbar = Barre doutils réduite
sync-currently-syncing-workspaces = Espaces de travail
sync-engine-workspaces =
.label = Espaces de travail
.tooltiptext = Synchroniser vos espaces de travail sur plusieurs appareils
.tooltiptext = Synchroniser vos Espaces de travail sur plusieurs appareils
.accesskey = W
zen-glance-title = Aperçu
zen-glance-header = Paramètres généraux dAperçu
@@ -69,10 +69,10 @@ zen-pinned-tab-manager-reset-close-shortcut-option =
zen-pinned-tab-manager-close-close-shortcut-option =
.label = Fermer longlet
pane-zen-workspaces-header = Espaces de travail
zen-settings-workspaces-header = Paramètres généraux des espaces de travail
zen-settings-workspaces-description = Avec des espaces de travail, vous pouvez avoir plusieurs sessions de navigation à la fois!
zen-settings-workspaces-header = Paramètres généraux des Espaces de travail
zen-settings-workspaces-description = Avec les Espaces de travail, vous pouvez avoir plusieurs sessions de navigation à la fois!
zen-settings-workspaces-enabled =
.label = Activer les espaces de travail
.label = Activer les Espaces de travail
zen-settings-workspaces-hide-default-container-indicator =
.label = Dans la barre donglets, masquer lindicateur de conteneur par défaut
zen-key-unsaved = Raccourci non sauvegardé! Pour lenregistrer, veuillez le resaisir et en appuyer sur Échap.
@@ -128,7 +128,7 @@ pane-zen-marketplace-title = Mods Zen
zen-themes-auto-update =
.label = Mettre à jour automatiquement les mods installés lors du démarrage
zen-settings-workspaces-force-container-tabs-to-workspace =
.label = À l'ouverture des onglets du conteneur, basculer vers lespace de travail où le conteneur est défini par défaut
.label = À l'ouverture des onglets du conteneur, basculer vers lEspace de travail où le conteneur est défini par défaut
zen-theme-marketplace-link = Visiter le magasin
zen-dark-theme-styles-header = Styles de thème sombre
zen-dark-theme-styles-description = Personnalisez le thème sombre selon vos préférences

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Changer d'icône
zen-folders-unload-all-tooltip =
.tooltiptext = Décharger tous les onglets de ce dossier
.tooltiptext = Décharger les onglets actifs de ce dossier
zen-folders-unload-folder =
.label = Décharger tous les onglets
zen-folders-search-no-results = Aucun onglet ne correspond à cette recherche 🤔

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Athraigh Deilbhín
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Díluchtaigh gníomhach sa fhillteán seo
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Díluchtaigh Gach Cluaisín
zen-folders-search-no-results = Níl aon chluaisíní ann a mheaitseálann an cuardach sin 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Folaigh an dá cheann
.accesskey = H
zen-toolbar-context-new-folder =
.label = Fillteán nua
.label = Fillteán Nua
.accesskey = N
sidebar-zen-expand =
.label = Barra Taoibh a Leathnú

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = שינוי סמל
zen-folders-unload-all-tooltip =
.tooltiptext = פינוי כל הכרטיסייות בתיקייה הזו
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = פינוי כל הכרטיסייות
zen-folders-search-no-results = אין כרטיסיות שתואמות לחיפוש 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = הסתרת שניהם
.accesskey = י
zen-toolbar-context-new-folder =
.label = תיקייה חדשה
.label = New Folder
.accesskey = מ
sidebar-zen-expand =
.label = הרחבת סרגל צדדי

View File

@@ -9,13 +9,13 @@ zen-folders-new-subfolder =
zen-folders-panel-delete-folder =
.label = Mappa törlése
zen-folders-panel-convert-folder-to-space =
.label = Mappa konvertálása munkakörnyezeté
.label = Mappa konvertálása környezetté
zen-folders-panel-change-folder-space =
.label = Környezet váltása...
zen-folders-panel-change-icon-folder =
.label = Ikon módosítása
zen-folders-unload-all-tooltip =
.tooltiptext = Minden mappában lévő lap ürítése
.tooltiptext = Aktív lapok ürítése ebben a mappában
zen-folders-unload-folder =
.label = Minden lap ürítése
zen-folders-search-no-results = Nincsenek a keresésnek megfelelő lapok 🤔

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Ubah Ikon
zen-folders-unload-all-tooltip =
.tooltiptext = Lepaskan semua tab di folder ini
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Lepaskan Semua Tab
zen-folders-search-no-results = Tidak ada tab yang cocok 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Sembunyikan keduanya
.accesskey = H
zen-toolbar-context-new-folder =
.label = Folder baru
.label = Folder Baru
.accesskey = N
sidebar-zen-expand =
.label = Perluas Bilah Sisi

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Cambia Icona
zen-folders-unload-all-tooltip =
.tooltiptext = Scarica tutte le schede in questa cartella
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Scarica tutte le Schede
zen-folders-search-no-results = Nessuna scheda corrispondente alla ricerca 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Nascondi entrambi
.accesskey = H
zen-toolbar-context-new-folder =
.label = Nuova cartella
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Espandi barra laterale

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = 両方隠す
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = サイドバーを展開する

View File

@@ -3,9 +3,9 @@ zen-folders-search-placeholder =
zen-folders-panel-rename-folder =
.label = 폴더 이름 변경
zen-folders-panel-unpack-folder =
.label = Unpack Folder
.label = 폴더 해제
zen-folders-new-subfolder =
.label = New Subfolder
.label = 새 서브폴더
zen-folders-panel-delete-folder =
.label = 폴더 삭제
zen-folders-panel-convert-folder-to-space =
@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = 아이콘 변경
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = 이 폴더의 활성화 탭 언로드
zen-folders-unload-folder =
.label = Unload All Tabs
.label = 모든 탭 언로드
zen-folders-search-no-results = 검색어에 맞는 탭이 없습니다 🤔

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Keisti piktogramą
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Iškelti visas korteles
zen-folders-search-no-results = Nėra kortelių, atitinkančių šią paiešką. 🤔

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Beide verbergen
.accesskey = U
zen-toolbar-context-new-folder =
.label = Nieuwe map
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Zijbalk uitklappen

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Ukryj oba
.accesskey = H
zen-toolbar-context-new-folder =
.label = Nowy folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Rozwiń panel boczny

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Alterar Ícone
zen-folders-unload-all-tooltip =
.tooltiptext = Descarregar todas as abas nesta pasta
.tooltiptext = Descarregar abas ativas nesta pasta
zen-folders-unload-folder =
.label = Descarregar todas as abas
zen-folders-search-no-results = Nenhuma guia corresponde a essa pesquisa 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Esconder os dois
.accesskey = A
zen-toolbar-context-new-folder =
.label = Nova pasta
.label = Nova Pasta
.accesskey = N
sidebar-zen-expand =
.label = Expandir barra lateral

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Alterar Ícone
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = Não existem separadores que correspondam a essa pesquisa 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Ocultar ambas
.accesskey = H
zen-toolbar-context-new-folder =
.label = Nova pasta
.label = Nova Pasta
.accesskey = N
sidebar-zen-expand =
.label = Expandir Barra Lateral

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Скрыть оба
.accesskey = Н
zen-toolbar-context-new-folder =
.label = Новая папка
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Развернуть боковую панель

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Dölj båda
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Hide both
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Expand Sidebar

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = İkisini de Gizle
.accesskey = H
zen-toolbar-context-new-folder =
.label = Yeni klasör
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Kenar Çubuğunu Genişlet

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Змінити значок
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Вивантажити активне у цю теку
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Вивантажити всі вкладки
zen-folders-search-no-results = Немає вкладок, які відповідають критеріям пошуку 🤔

View File

@@ -97,7 +97,7 @@ zen-theme-disable-all-enabled =
.title = Tắt tất cả tùy chỉnh
zen-theme-disable-all-disabled =
.title = Bật tất cả tùy chỉnh
zen-theme-marketplace-description = Tìm và cài đặt tùy chỉnh từ cửa hàng.
zen-theme-marketplace-description = Tìm và cài đặt tinh chỉnh từ cửa hàng.
zen-theme-marketplace-remove-button =
.label = Xóa tùy chỉnh
zen-theme-marketplace-check-for-updates-button =
@@ -111,7 +111,7 @@ zen-theme-marketplace-import-failure = Có lỗi xảy ra khi nhập các tùy c
zen-theme-marketplace-export-success = Các tùy chỉnh được xuất thành công
zen-theme-marketplace-export-failure = Có lỗi xảy ra khi xuất các tùy chỉnh
zen-theme-marketplace-updates-success = Cập nhật tùy chỉnh thành công
zen-theme-marketplace-updates-failure = Không có cập nhật mới
zen-theme-marketplace-updates-failure = Không có cập nhật mới!
zen-theme-marketplace-toggle-enabled-button =
.title = Tắt các tùy chỉnh
zen-theme-marketplace-toggle-disabled-button =
@@ -126,7 +126,7 @@ zen-theme-marketplace-input-default-placeholder =
.placeholder = Gõ gì đó đi...
pane-zen-marketplace-title = Zen Mods
zen-themes-auto-update =
.label = Tự động câmpj nht các tùy chỉnh khi mở trình duyệt
.label = Tự động cập nht các tùy chỉnh khi mở trình duyệt
zen-settings-workspaces-force-container-tabs-to-workspace =
.label = Switch to workspace where container is set as default when opening container tabs
zen-theme-marketplace-link = Vào cửa hàng
@@ -139,7 +139,7 @@ zen-compact-mode-styles-left = Ẩn thanh tab
zen-compact-mode-styles-top = Ẩn thanh trên cùng
zen-compact-mode-styles-both = Ẩn cả hai
zen-urlbar-title = Thanh đường dẫn
zen-urlbar-header = Thit lập chung cho thanh đường dẫn
zen-urlbar-header = Thiết lập chung cho thanh đường dẫn
zen-urlbar-description = Tùy chỉnh thanh đường dẫn theo sở thích
zen-urlbar-behavior-label = Hành vi thanh đường dẫn
zen-urlbar-behavior-normal =
@@ -176,7 +176,7 @@ zen-key-quick-restart = Khởi động lại nhanh
zen-window-new-shortcut = Cửa sổ mới
zen-tab-new-shortcut = Tab mới
zen-key-redo = Hoàn tác
zen-restore-last-closed-tab-shortcut = Khôi phục lại tab gần nhất đã đóng
zen-restore-last-closed-tab-shortcut = Khôi phục lại thẻ gần nhất đã đóng
zen-location-open-shortcut = Mở đường dẫn
zen-location-open-shortcut-alt = Mở tại (Alt)
zen-key-undo-close-window = Mở lại cửa sổ đã đóng

View File

@@ -3,9 +3,9 @@ zen-folders-search-placeholder =
zen-folders-panel-rename-folder =
.label = Đổi tên thư mục thẻ
zen-folders-panel-unpack-folder =
.label = Unpack Folder
.label = Giải thoát thư mục
zen-folders-new-subfolder =
.label = New Subfolder
.label = Tạo thư mục con
zen-folders-panel-delete-folder =
.label = Xóa thư mục thẻ
zen-folders-panel-convert-folder-to-space =
@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Đổi biểu tượng thư mục thẻ
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
.label = Tải lại tất cả các thẻ
zen-folders-search-no-results = Không có thẻ nào trùng với tìm kiếm 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = Ẩn cả hai
.accesskey = H
zen-toolbar-context-new-folder =
.label = Thư mực thẻ mới
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = Mở rộng thanh bên

View File

@@ -48,4 +48,4 @@ zen-workspace-creation-profile = Hồ sơ
zen-workspace-creation-header = Tạo không gian làm việc
zen-workspace-creation-label = Không gian làm việc sẽ là nơi để bạn chứa các trang web và lượt truy cập của bạn.
zen-workspaces-delete-workspace-title = Delete Workspace?
zen-workspaces-delete-workspace-body = Are you sure you want to delete { $name }? This action cannot be undone.
zen-workspaces-delete-workspace-body = Bạn có chắc là bạn muốn xóa { $name }? Thao tác này sẽ không được hoàn lại.

View File

@@ -27,7 +27,7 @@ zen-glance-trigger-shift-click =
zen-glance-trigger-meta-click =
.label = Meta (Command) + 单击
zen-glance-trigger-mantain-click =
.label = 长按(即将上线)
.label = 长按(即将上线
zen-look-and-feel-compact-view-header = 以紧凑视图显示
zen-look-and-feel-compact-view-description = 仅显示您使用的工具栏!
zen-look-and-feel-compact-view-enabled =

View File

@@ -1,21 +1,21 @@
zen-folders-search-placeholder =
.placeholder = 搜索 { $folder-name }……
zen-folders-panel-rename-folder =
.label = Rename Folder
.label = 重命名文件夹
zen-folders-panel-unpack-folder =
.label = Unpack Folder
zen-folders-new-subfolder =
.label = New Subfolder
.label = 新建子文件夹
zen-folders-panel-delete-folder =
.label = Delete Folder
.label = 删除文件夹
zen-folders-panel-convert-folder-to-space =
.label = Convert folder to Space
.label = 将文件夹转换为工作区
zen-folders-panel-change-folder-space =
.label = Change Space...
.label = 更改工作区……
zen-folders-panel-change-icon-folder =
.label = Change Icon
.label = 更改图标
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = 卸载此文件夹中的活动
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔
zen-folders-search-no-results = 没有搜索到匹配的标签 🤔

View File

@@ -43,6 +43,6 @@ zen-close-label = 关闭
zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = 搜索……
zen-icons-picker-emoji =
.label = Emojis
.label = 表情符号
zen-icons-picker-svg =
.label = Icons
.label = 图标集

View File

@@ -2,7 +2,7 @@ zen-panel-ui-workspaces-text = 工作区
zen-panel-ui-workspaces-create =
.label = 创建工作区
zen-panel-ui-folder-create =
.label = Create Folder
.label = 新建文件夹
zen-workspaces-panel-context-delete =
.label = 删除工作区
.accesskey = D
@@ -48,4 +48,4 @@ zen-workspace-creation-profile = 身份
zen-workspace-creation-header = 创建工作区
zen-workspace-creation-label = 工作区用于组织标签页和会话。
zen-workspaces-delete-workspace-title = 删除工作区?
zen-workspaces-delete-workspace-body = Are you sure you want to delete { $name }? This action cannot be undone.
zen-workspaces-delete-workspace-body = 你确定要删除 { $name } 吗?这个操作无法撤销。

View File

@@ -15,7 +15,7 @@ zen-folders-panel-change-folder-space =
zen-folders-panel-change-icon-folder =
.label = Change Icon
zen-folders-unload-all-tooltip =
.tooltiptext = Unload all tabs in this folder
.tooltiptext = Unload active in this folder
zen-folders-unload-folder =
.label = Unload All Tabs
zen-folders-search-no-results = No tabs matching that search 🤔

View File

@@ -15,7 +15,7 @@ zen-toolbar-context-compact-mode-hide-both =
.label = 兩者皆隱藏
.accesskey = H
zen-toolbar-context-new-folder =
.label = New folder
.label = New Folder
.accesskey = N
sidebar-zen-expand =
.label = 展開側邊欄

View File

@@ -32,6 +32,9 @@
- name: zen.view.compact.show-background-tab-toast
value: true
- name: zen.view.compact.debug
value: false
# Do not edit manually
- name: zen.view.compact.should-enable-at-startup
hidden: true

View File

@@ -34,3 +34,6 @@
- name: termsofuse.bypassNotification
value: true
- name: browser.newtabpage.activity-stream.showSponsoredCheckboxes
value: false

View File

@@ -24,5 +24,4 @@
- name: zen.injections.match-urls
value: 'http://localhost/*'
locked: true
condition: '!defined(MOZILLA_OFFICIAL)'

View File

@@ -32,6 +32,9 @@
- name: zen.theme.hide-tab-throbber
value: true
- name: zen.theme.styled-status-panel
value: false
# ==== Mark: border radius ====
# macOS border radius

View File

@@ -51,3 +51,6 @@
- name: zen.view.drag-and-drop.drop-inside-lower-threshold
value: 30
- name: zen.view.context-menu.refresh
value: false

View File

@@ -97,13 +97,13 @@
content/browser/zen-vendor/motion.min.mjs (../../zen/vendor/motion.min.mjs)
# FavIcons for startup
content/browser/zen-images/favicons/calendar.ico (../../zen/images/favicons/calendar.ico)
content/browser/zen-images/favicons/discord.ico (../../zen/images/favicons/discord.ico)
content/browser/zen-images/favicons/figma.ico (../../zen/images/favicons/figma.ico)
content/browser/zen-images/favicons/github.ico (../../zen/images/favicons/github.ico)
content/browser/zen-images/favicons/notion.ico (../../zen/images/favicons/notion.ico)
content/browser/zen-images/favicons/obsidian.ico (../../zen/images/favicons/obsidian.ico)
content/browser/zen-images/favicons/slack.ico (../../zen/images/favicons/slack.ico)
content/browser/zen-images/favicons/reddit.ico (../../zen/images/favicons/reddit.ico)
content/browser/zen-images/favicons/x.ico (../../zen/images/favicons/x.ico)
content/browser/zen-images/favicons/trello.ico (../../zen/images/favicons/trello.ico)
content/browser/zen-images/favicons/calendar.svg (../../zen/images/favicons/calendar.svg)
content/browser/zen-images/favicons/discord.svg (../../zen/images/favicons/discord.svg)
content/browser/zen-images/favicons/figma.svg (../../zen/images/favicons/figma.svg)
content/browser/zen-images/favicons/github.svg (../../zen/images/favicons/github.svg)
content/browser/zen-images/favicons/notion.svg (../../zen/images/favicons/notion.svg)
content/browser/zen-images/favicons/obsidian.svg (../../zen/images/favicons/obsidian.svg)
content/browser/zen-images/favicons/slack.svg (../../zen/images/favicons/slack.svg)
content/browser/zen-images/favicons/reddit.svg (../../zen/images/favicons/reddit.svg)
content/browser/zen-images/favicons/x.svg (../../zen/images/favicons/x.svg)
content/browser/zen-images/favicons/trello.svg (../../zen/images/favicons/trello.svg)

View File

@@ -8,8 +8,7 @@
<html:input id="zen-folder-tabs-list-search"
data-l10n-id="zen-folders-search-placeholder"
data-l10n-args="{&quot;folder-name&quot;:&quot;&quot;}"
type="search"
flex="1" />
type="search" />
</hbox>
<scrollbox class="zen-folder-tabs-list-scrollbox" flex="1">
<vbox id="zen-folder-tabs-list"></vbox>

View File

@@ -38,7 +38,6 @@
<menuseparator />
<menuitem id="context_zenFolderUnloadAll" data-l10n-id="zen-folders-unload-folder"/>
<menuitem id="context_zenFolderNewSubfolder" data-l10n-id="zen-folders-new-subfolder"/>
<menuitem id="context_zenFolderUnpack" data-l10n-id="zen-folders-panel-unpack-folder"/>
<menuseparator />
<menu id="context_zenChangeFolderSpace"
data-l10n-id="zen-folders-panel-change-folder-space">
@@ -46,5 +45,6 @@
</menu>
<menuitem id="context_zenFolderToSpace" data-l10n-id="zen-folders-panel-convert-folder-to-space" />
<menuseparator />
<menuitem id="context_zenFolderUnpack" data-l10n-id="zen-folders-panel-unpack-folder"/>
<menuitem id="context_zenFolderDelete" data-l10n-id="zen-folders-panel-delete-folder"/>
</menupopup>

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
index f9129fb171362e81369056923bf25acbb87d2ad8..924bcd2cd66a5dfcf9c45aac0c63cd0257c21a2c 100644
index 66ce978d9b022285dea67fdb75b3c005adb05d9b..db61587570ca18403a82ea6796a756d403cc207e 100644
--- a/browser/components/preferences/main.inc.xhtml
+++ b/browser/components/preferences/main.inc.xhtml
@@ -29,6 +29,9 @@
@@ -12,23 +12,17 @@ index f9129fb171362e81369056923bf25acbb87d2ad8..924bcd2cd66a5dfcf9c45aac0c63cd02
#ifdef XP_WIN
<hbox id="windowsLaunchOnLoginBox" align="center" hidden="true">
<checkbox id="windowsLaunchOnLogin"
@@ -186,6 +189,7 @@
</groupbox>
@@ -188,7 +191,8 @@
<!-- Browser layout -->
+#if 0
<groupbox data-category="paneGeneral"
data-subcategory="layout"
hidden="true">
@@ -201,6 +205,7 @@
preference="sidebar.revamp"/>
<description class="indent" data-l10n-id="browser-layout-show-sidebar-desc"></description>
</groupbox>
+#endif
<hbox id="languageAndAppearanceCategory"
class="subcategory"
@@ -421,6 +426,7 @@
- hidden="true">
+ hidden="true"
+ style="display: none !important;">
<label><html:h2 data-l10n-id="browser-layout-header"/></label>
<radiogroup id="browserLayoutRadioGroup" preference="sidebar.verticalTabs">
<radio id="browserLayoutHorizontalTabs" data-l10n-id="browser-layout-horizontal-tabs" value="false"/>
@@ -419,6 +423,7 @@
languages-customize-add.label,
" />
</hbox>

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
index e954a8df26ed84731b08b151f90a758206946582..5b8013c71c6b50579668d16a5f7d5a82b5d43e4d 100644
index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c292756c3 100644
--- a/browser/components/sessionstore/SessionStore.sys.mjs
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
@@ -2135,7 +2135,6 @@ var SessionStoreInternal = {
@@ -143,3 +143,12 @@ index e954a8df26ed84731b08b151f90a758206946582..5b8013c71c6b50579668d16a5f7d5a82
if (tabData.pinned) {
tabbrowser.pinTab(tab);
@@ -7266,7 +7289,7 @@ var SessionStoreInternal = {
let groupsToSave = new Map();
for (let tIndex = 0; tIndex < window.tabs.length; ) {
- if (window.tabs[tIndex].pinned) {
+ if (window.tabs[tIndex].pinned && false) {
// Adjust window.selected
if (tIndex + 1 < window.selected) {
window.selected -= 1;

View File

@@ -1,11 +1,15 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc58e2af77 100644
index d80a66a01002e78a9c65545d08fe786328ddf124..46b1e3075165e1e9e783db84861b0fea99420448 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -422,15 +422,60 @@
@@ -422,15 +422,64 @@
return this.tabContainer.visibleTabs;
}
+ zenHandleTabMove(...args) {
+ return this.#handleTabMove(...args);
+ }
+
+ get _numVisiblePinTabsWithoutCollapsed() {
+ let i = 0;
+ for (let item of this.tabContainer.ariaFocusableItems) {
@@ -65,7 +69,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
set selectedTab(val) {
if (
gSharedTabWarning.willShowSharedTabWarning(val) ||
@@ -578,6 +623,7 @@
@@ -578,6 +627,7 @@
this.tabpanels.appendChild(panel);
let tab = this.tabs[0];
@@ -73,7 +77,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
tab.linkedPanel = uniqueId;
this._selectedTab = tab;
this._selectedBrowser = browser;
@@ -863,9 +909,13 @@
@@ -863,9 +913,13 @@
}
this.showTab(aTab);
@@ -88,7 +92,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
aTab.setAttribute("pinned", "true");
this._updateTabBarForPinnedTabs();
@@ -878,11 +928,15 @@
@@ -878,11 +932,15 @@
}
this.#handleTabMove(aTab, () => {
@@ -105,7 +109,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
});
aTab.style.marginInlineStart = "";
@@ -1060,6 +1114,8 @@
@@ -1060,6 +1118,8 @@
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
@@ -114,7 +118,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (
aIconURL &&
!aLoadingPrincipal &&
@@ -1070,6 +1126,9 @@
@@ -1070,6 +1130,9 @@
);
return;
}
@@ -124,7 +128,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
let browser = this.getBrowserForTab(aTab);
browser.mIconURL = aIconURL;
@@ -1319,6 +1378,7 @@
@@ -1319,6 +1382,7 @@
if (!this._previewMode) {
newTab.recordTimeFromUnloadToReload();
newTab.updateLastAccessed();
@@ -132,7 +136,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
oldTab.updateLastAccessed();
// if this is the foreground window, update the last-seen timestamps.
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
@@ -1471,6 +1531,9 @@
@@ -1471,6 +1535,9 @@
}
let activeEl = document.activeElement;
@@ -142,7 +146,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// If focus is on the old tab, move it to the new tab.
if (activeEl == oldTab) {
newTab.focus();
@@ -1794,7 +1857,8 @@
@@ -1794,7 +1861,8 @@
}
_setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) {
@@ -152,7 +156,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
return false;
}
@@ -1902,7 +1966,7 @@
@@ -1902,7 +1970,7 @@
newIndex = this.selectedTab._tPos + 1;
}
@@ -161,7 +165,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (this.isTabGroupLabel(targetTab)) {
throw new Error(
"Replacing a tab group label with a tab is not supported"
@@ -2166,6 +2230,7 @@
@@ -2166,6 +2234,7 @@
uriIsAboutBlank,
userContextId,
skipLoad,
@@ -169,7 +173,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} = {}) {
let b = document.createXULElement("browser");
// Use the JSM global to create the permanentKey, so that if the
@@ -2239,8 +2304,7 @@
@@ -2239,8 +2308,7 @@
// we use a different attribute name for this?
b.setAttribute("name", name);
}
@@ -179,7 +183,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
b.setAttribute("transparent", "true");
}
@@ -2405,7 +2469,7 @@
@@ -2405,7 +2473,7 @@
let panel = this.getPanel(browser);
let uniqueId = this._generateUniquePanelID();
@@ -188,7 +192,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
aTab.linkedPanel = uniqueId;
// Inject the <browser> into the DOM if necessary.
@@ -2464,8 +2528,8 @@
@@ -2464,8 +2532,8 @@
// If we transitioned from one browser to two browsers, we need to set
// hasSiblings=false on both the existing browser and the new browser.
if (this.tabs.length == 2) {
@@ -199,7 +203,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} else {
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
}
@@ -2629,7 +2693,6 @@
@@ -2629,7 +2697,6 @@
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
tabIndex: tab._tPos + 1,
userContextId: tab.userContextId,
@@ -207,7 +211,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
focusUrlBar: true,
});
resolve(this.selectedBrowser);
@@ -2709,6 +2772,8 @@
@@ -2709,6 +2776,8 @@
schemelessInput,
hasValidUserGestureActivation = false,
textDirectiveUserActivation = false,
@@ -216,7 +220,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} = {}
) {
// all callers of addTab that pass a params object need to pass
@@ -2719,6 +2784,12 @@
@@ -2719,6 +2788,12 @@
);
}
@@ -229,7 +233,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (!UserInteraction.running("browser.tabs.opening", window)) {
UserInteraction.start("browser.tabs.opening", "initting", window);
}
@@ -2782,6 +2853,19 @@
@@ -2782,6 +2857,19 @@
noInitialLabel,
skipBackgroundNotify,
});
@@ -249,7 +253,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (insertTab) {
// Insert the tab into the tab container in the correct position.
this.#insertTabAtIndex(t, {
@@ -2790,6 +2874,7 @@
@@ -2790,6 +2878,7 @@
ownerTab,
openerTab,
pinned,
@@ -257,7 +261,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
bulkOrderedOpen,
tabGroup: tabGroup ?? openerTab?.group,
});
@@ -2808,6 +2893,7 @@
@@ -2808,6 +2897,7 @@
openWindowInfo,
skipLoad,
triggeringRemoteType,
@@ -265,7 +269,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
}));
if (focusUrlBar) {
@@ -2928,6 +3014,12 @@
@@ -2928,6 +3018,12 @@
}
}
@@ -278,7 +282,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// Additionally send pinned tab events
if (pinned) {
this.#notifyPinnedStatus(t);
@@ -3016,10 +3108,10 @@
@@ -3016,10 +3112,10 @@
isAdoptingGroup = false,
isUserTriggered = false,
telemetryUserCreateSource = "unknown",
@@ -290,7 +294,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
}
if (!color) {
@@ -3040,9 +3132,14 @@
@@ -3040,9 +3136,14 @@
label,
isAdoptingGroup
);
@@ -307,7 +311,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
);
group.addTabs(tabs);
@@ -3163,7 +3260,7 @@
@@ -3163,7 +3264,7 @@
}
this.#handleTabMove(tab, () =>
@@ -316,7 +320,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
);
}
@@ -3365,6 +3462,7 @@
@@ -3365,6 +3466,7 @@
openWindowInfo,
skipLoad,
triggeringRemoteType,
@@ -324,7 +328,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
}
) {
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
@@ -3434,6 +3532,7 @@
@@ -3434,6 +3536,7 @@
openWindowInfo,
name,
skipLoad,
@@ -332,7 +336,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
});
}
@@ -3621,7 +3720,7 @@
@@ -3621,7 +3724,7 @@
// Add a new tab if needed.
if (!tab) {
let createLazyBrowser =
@@ -341,7 +345,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
let url = "about:blank";
if (tabData.entries?.length) {
@@ -3658,8 +3757,10 @@
@@ -3658,8 +3761,10 @@
insertTab: false,
skipLoad: true,
preferredRemoteType,
@@ -353,7 +357,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (select) {
tabToSelect = tab;
}
@@ -3671,7 +3772,8 @@
@@ -3671,7 +3776,8 @@
this.pinTab(tab);
// Then ensure all the tab open/pinning information is sent.
this._fireTabOpen(tab, {});
@@ -363,7 +367,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
let { groupId } = tabData;
const tabGroup = tabGroupWorkingData.get(groupId);
// if a tab refers to a tab group we don't know, skip any group
@@ -3685,7 +3787,10 @@
@@ -3685,7 +3791,10 @@
tabGroup.stateData.id,
tabGroup.stateData.color,
tabGroup.stateData.collapsed,
@@ -375,7 +379,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
);
tabsFragment.appendChild(tabGroup.node);
}
@@ -3730,9 +3835,23 @@
@@ -3730,9 +3839,23 @@
// to remove the old selected tab.
if (tabToSelect) {
let leftoverTab = this.selectedTab;
@@ -391,15 +395,22 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
+ gZenWorkspaces._initialTab._shouldRemove = true;
+ }
+ }
+ }
}
+ else {
+ gZenWorkspaces._tabToRemoveForEmpty = this.selectedTab;
}
+ }
+ this._hasAlreadyInitializedZenSessionStore = true;
if (tabs.length > 1 || !tabs[0].selected) {
this._updateTabsAfterInsert();
@@ -3927,7 +4046,7 @@
@@ -3923,11 +4046,14 @@
if (ownerTab) {
tab.owner = ownerTab;
}
+ if (!tab.pinned && tabGroup?.isZenFolder && !Services.prefs.getBoolPref('zen.folders.owned-tabs-in-folder')) {
+ tabGroup = null;
+ }
// Ensure we have an index if one was not provided.
if (typeof elementIndex != "number" && typeof tabIndex != "number") {
// Move the new tab after another tab if needed, to the end otherwise.
@@ -408,7 +419,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (
!bulkOrderedOpen &&
((openerTab &&
@@ -3939,7 +4058,7 @@
@@ -3939,7 +4065,7 @@
let lastRelatedTab =
openerTab && this._lastRelatedTabMap.get(openerTab);
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
@@ -417,7 +428,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
tabGroup = previousTab.group;
}
if (
@@ -3950,7 +4069,7 @@
@@ -3950,7 +4076,7 @@
) {
elementIndex = Infinity;
} else if (previousTab.visible) {
@@ -426,7 +437,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} else if (previousTab == FirefoxViewHandler.tab) {
elementIndex = 0;
}
@@ -3978,14 +4097,14 @@
@@ -3978,14 +4104,14 @@
}
// Ensure index is within bounds.
if (tab.pinned) {
@@ -445,7 +456,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (pinned && !itemAfter?.pinned) {
itemAfter = null;
@@ -3996,7 +4115,7 @@
@@ -3996,7 +4122,7 @@
this.tabContainer._invalidateCachedTabs();
@@ -454,7 +465,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
// Place at the front of, or between tabs in, the same tab group
this.tabContainer.insertBefore(tab, itemAfter);
@@ -4032,6 +4151,7 @@
@@ -4032,6 +4158,7 @@
if (pinned) {
this._updateTabBarForPinnedTabs();
}
@@ -462,7 +473,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
TabBarVisibility.update();
}
@@ -4321,6 +4441,9 @@
@@ -4321,6 +4448,9 @@
return;
}
@@ -472,7 +483,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
}
@@ -4582,6 +4705,7 @@
@@ -4582,6 +4712,7 @@
telemetrySource,
} = {}
) {
@@ -480,7 +491,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
// can be considered equivalent to closing the window.
if (
@@ -4671,6 +4795,7 @@
@@ -4671,6 +4802,7 @@
if (lastToClose) {
this.removeTab(lastToClose, aParams);
}
@@ -488,7 +499,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} catch (e) {
console.error(e);
}
@@ -4709,6 +4834,12 @@
@@ -4709,6 +4841,12 @@
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
}
@@ -501,7 +512,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// Handle requests for synchronously removing an already
// asynchronously closing tab.
if (!animate && aTab.closing) {
@@ -4723,6 +4854,9 @@
@@ -4723,6 +4861,9 @@
// state).
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
let isLastTab = this.#isLastTabInWindow(aTab);
@@ -511,7 +522,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (
!this._beginRemoveTab(aTab, {
closeWindowFastpath: true,
@@ -4905,7 +5039,7 @@
@@ -4905,7 +5046,7 @@
closeWindowWithLastTab != null
? closeWindowWithLastTab
: !window.toolbar.visible ||
@@ -520,7 +531,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (closeWindow) {
// We've already called beforeunload on all the relevant tabs if we get here,
@@ -4929,6 +5063,7 @@
@@ -4929,6 +5070,7 @@
newTab = true;
}
@@ -528,7 +539,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
aTab._endRemoveArgs = [closeWindow, newTab];
// swapBrowsersAndCloseOther will take care of closing the window without animation.
@@ -4969,13 +5104,7 @@
@@ -4969,13 +5111,7 @@
aTab._mouseleave();
if (newTab) {
@@ -543,7 +554,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} else {
TabBarVisibility.update();
}
@@ -5108,6 +5237,7 @@
@@ -5108,6 +5244,7 @@
this.tabs[i]._tPos = i;
}
@@ -551,7 +562,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (!this._windowIsClosing) {
// update tab close buttons state
this.tabContainer._updateCloseButtons();
@@ -5320,6 +5450,7 @@
@@ -5320,6 +5457,7 @@
}
let excludeTabs = new Set(aExcludeTabs);
@@ -559,7 +570,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// If this tab has a successor, it should be selectable, since
// hiding or closing a tab removes that tab as a successor.
@@ -5332,13 +5463,13 @@
@@ -5332,13 +5470,13 @@
!excludeTabs.has(aTab.owner) &&
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
) {
@@ -575,7 +586,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
);
let tab = this.tabContainer.findNextTab(aTab, {
@@ -5354,7 +5485,7 @@
@@ -5354,7 +5492,7 @@
}
if (tab) {
@@ -584,7 +595,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
}
// If no qualifying visible tab was found, see if there is a tab in
@@ -5375,7 +5506,7 @@
@@ -5375,7 +5513,7 @@
});
}
@@ -593,7 +604,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
}
_blurTab(aTab) {
@@ -5777,10 +5908,10 @@
@@ -5777,10 +5915,10 @@
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
}
@@ -606,7 +617,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
aTab.selected ||
aTab.closing ||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
@@ -5839,6 +5970,7 @@
@@ -5839,6 +5977,7 @@
* @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab
*/
replaceTabWithWindow(aTab, aOptions) {
@@ -614,7 +625,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (this.tabs.length == 1) {
return null;
}
@@ -5972,7 +6104,7 @@
@@ -5972,7 +6111,7 @@
* `true` if element is a `<tab-group>`
*/
isTabGroup(element) {
@@ -623,16 +634,18 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
}
/**
@@ -6049,7 +6181,7 @@
@@ -6048,8 +6187,8 @@
}
// Don't allow mixing pinned and unpinned tabs.
if (this.isTab(element) && element.pinned) {
- if (this.isTab(element) && element.pinned) {
- tabIndex = Math.min(tabIndex, this.pinnedTabCount - 1);
+ if (element.pinned) {
+ tabIndex = element.hasAttribute('zen-essential') ? Math.min(tabIndex, this._numZenEssentials - 1) : Math.min(Math.max(tabIndex, this._numZenEssentials), this.pinnedTabCount - 1);
} else {
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
}
@@ -6075,10 +6207,16 @@
@@ -6075,10 +6214,16 @@
this.#handleTabMove(
element,
() => {
@@ -651,7 +664,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
neighbor.after(element);
} else {
@@ -6136,22 +6274,23 @@
@@ -6136,23 +6281,28 @@
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
if (this.isTabGroupLabel(targetElement)) {
targetElement = targetElement.group;
@@ -679,9 +692,14 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
- targetElement = this.tabs[this.pinnedTabCount - 1];
+ targetElement = this.tabsWithoutGlance[this.pinnedTabCount - 1];
moveBefore = false;
+ if (!this.visibleTabs.includes(targetElement)) {
+ targetElement = gZenWorkspaces.pinnedTabsContainer.querySelector('.pinned-tabs-container-separator')
+ moveBefore = true;
+ }
} else if (!element.pinned && targetElement && targetElement.pinned) {
// If the caller asks to move an unpinned element next to a pinned
@@ -6165,14 +6304,34 @@
// tab, move the unpinned element to be the first unpinned element
@@ -6165,14 +6315,34 @@
// move the tab group right before the first unpinned tab.
// 4. Moving a tab group and the first unpinned tab is grouped:
// move the tab group right before the first unpinned tab's tab group.
@@ -717,7 +735,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
element.pinned
? this.tabContainer.pinnedTabsContainer
: this.tabContainer;
@@ -6181,7 +6340,7 @@
@@ -6181,7 +6351,7 @@
element,
() => {
if (moveBefore) {
@@ -726,7 +744,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
} else if (targetElement) {
targetElement.after(element);
} else {
@@ -6227,10 +6386,10 @@
@@ -6227,10 +6397,10 @@
* @param {TabMetricsContext} [metricsContext]
*/
moveTabToGroup(aTab, aGroup, metricsContext) {
@@ -739,7 +757,24 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
return;
}
if (aTab.group && aTab.group.id === aGroup.id) {
@@ -6324,6 +6483,10 @@
@@ -6261,6 +6431,7 @@
let state = {
tabIndex: tab._tPos,
+ workspaceId: tab.getAttribute("zen-workspace-id")
};
if (tab.visible) {
state.elementIndex = tab.elementIndex;
@@ -6287,7 +6458,7 @@
let changedTabGroup =
previousTabState.tabGroupId != currentTabState.tabGroupId;
- if (changedPosition || changedTabGroup) {
+ if (changedPosition || changedTabGroup || (previousTabState.workspaceId != currentTabState.workspaceId)) {
tab.dispatchEvent(
new CustomEvent("TabMove", {
bubbles: true,
@@ -6324,6 +6495,10 @@
moveActionCallback();
@@ -750,7 +785,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// Clear tabs cache after moving nodes because the order of tabs may have
// changed.
this.tabContainer._invalidateCachedTabs();
@@ -7221,7 +7384,7 @@
@@ -7221,7 +7396,7 @@
// preventDefault(). It will still raise the window if appropriate.
break;
}
@@ -759,7 +794,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
window.focus();
aEvent.preventDefault();
break;
@@ -8166,6 +8329,7 @@
@@ -8166,6 +8341,7 @@
aWebProgress.isTopLevel
) {
this.mTab.setAttribute("busy", "true");
@@ -767,7 +802,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
gBrowser._tabAttrModified(this.mTab, ["busy"]);
this.mTab._notselectedsinceload = !this.mTab.selected;
}
@@ -9157,7 +9321,7 @@ var TabContextMenu = {
@@ -9157,7 +9333,7 @@ var TabContextMenu = {
);
contextUnpinSelectedTabs.hidden =
!this.contextTab.pinned || !this.multiselected;
@@ -776,7 +811,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc
// Build Ask Chat items
TabContextMenu.GenAI.buildTabMenu(
document.getElementById("context_askChat"),
@@ -9476,6 +9640,7 @@ var TabContextMenu = {
@@ -9476,6 +9652,7 @@ var TabContextMenu = {
)
);
} else {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
index caea196b22b4689f55780a528661d87b52f4e728..729848f1d3856bc4a5225e1a83cc10ef22819ca1 100644
index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99bf10038d7 100644
--- a/browser/components/tabbrowser/content/tabgroup.js
+++ b/browser/components/tabbrowser/content/tabgroup.js
@@ -13,10 +13,12 @@
@@ -166,16 +166,15 @@ index caea196b22b4689f55780a528661d87b52f4e728..729848f1d3856bc4a5225e1a83cc10ef
}
/**
@@ -373,7 +443,7 @@
*/
@@ -374,7 +444,6 @@
addTabs(tabs, metricsContext) {
for (let tab of tabs) {
- if (tab.pinned) {
+ if (tab.pinned !== this.pinned) {
tab.ownerGlobal.gBrowser.unpinTab(tab);
if (tab.pinned) {
- tab.ownerGlobal.gBrowser.unpinTab(tab);
}
let tabToMove =
@@ -437,7 +507,7 @@
this.ownerGlobal === tab.ownerGlobal
@@ -437,7 +506,7 @@
*/
on_click(event) {
let isToggleElement =
@@ -184,7 +183,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..729848f1d3856bc4a5225e1a83cc10ef
event.target === this.#overflowCountLabel;
if (isToggleElement && event.button === 0) {
event.preventDefault();
@@ -470,5 +540,6 @@
@@ -470,5 +539,6 @@
}
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c3b65f80b 100644
index e2b27db6c13278defea3bcc7606a8da54e7d001c..3033f5c98c94cf4b048432dfee72e20f4d8e37b6 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -332,7 +332,7 @@
@@ -19,7 +19,17 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
} else if (
event.originalTarget.closest("scrollbox") &&
!Services.prefs.getBoolPref(
@@ -686,7 +685,7 @@
@@ -449,6 +448,9 @@
}
on_keydown(event) {
+ if (document.documentElement.getAttribute('zen-renaming-tab') === 'true') {
+ return;
+ }
let { altKey, shiftKey } = event;
let [accel, nonAccel] =
AppConstants.platform == "macosx"
@@ -686,7 +688,7 @@
if (this.#isContainerVerticalPinnedGrid(tab)) {
// In expanded vertical mode, the max number of pinned tabs per row is dynamic
// Set this before adjusting dragged tab's position
@@ -28,7 +38,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let tabsPerRow = 0;
let position = RTL_UI
? window.windowUtils.getBoundsWithoutFlushing(
@@ -851,7 +850,7 @@
@@ -851,7 +853,7 @@
let dropEffect = this.getDropEffectForTabDrag(event);
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
let collapseTabGroupDuringDrag =
@@ -37,7 +47,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
tab._dragData = {
offsetX: this.verticalMode
@@ -861,7 +860,7 @@
@@ -861,7 +863,7 @@
? event.screenY - window.screenY - tabOffset
: event.screenY - window.screenY,
scrollPos:
@@ -46,15 +56,15 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
? this.pinnedTabsContainer.scrollPosition
: this.arrowScrollbox.scrollPosition,
screenX: event.screenX,
@@ -886,6 +885,7 @@
if (tab.multiselected) {
@@ -887,6 +889,7 @@
this.#moveTogetherSelectedTabs(tab);
} else if (collapseTabGroupDuringDrag) {
+ gZenFolders.collapseVisibleTab(tab.group);
tab.group.collapsed = true;
+ gZenFolders.collapseVisibleTab(tab.group);
}
}
@@ -932,6 +932,10 @@
@@ -932,6 +935,10 @@
}
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
@@ -65,18 +75,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
if (
(dropEffect == "move" || dropEffect == "copy") &&
document == draggedTab.ownerDocument &&
@@ -1059,7 +1063,9 @@
isTabGroupLabel(draggedTab) &&
draggedTab._dragData?.expandGroupOnDrop
) {
- draggedTab.group.collapsed = false;
+ const isActive = draggedTab.group.hasAttribute("has-active");
+ draggedTab.group.collapsed = isActive;
+ if (isActive) gZenFolders.expandVisibleTab(draggedTab.group);
}
}
@@ -1095,6 +1101,18 @@
@@ -1095,6 +1102,18 @@
this._tabDropIndicator.hidden = true;
event.stopPropagation();
@@ -95,7 +94,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
if (draggedTab && dropEffect == "copy") {
let duplicatedDraggedTab;
let duplicatedTabs = [];
@@ -1119,8 +1137,9 @@
@@ -1119,8 +1138,9 @@
let translateOffsetY = oldTranslateY % tabHeight;
let newTranslateX = oldTranslateX - translateOffsetX;
let newTranslateY = oldTranslateY - translateOffsetY;
@@ -107,7 +106,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
if (this.#isContainerVerticalPinnedGrid(draggedTab)) {
// Update both translate axis for pinned vertical expanded tabs
@@ -1136,8 +1155,8 @@
@@ -1136,8 +1156,8 @@
}
} else {
let tabs = this.ariaFocusableItems.slice(
@@ -118,7 +117,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
);
let size = this.verticalMode ? "height" : "width";
let screenAxis = this.verticalMode ? "screenY" : "screenX";
@@ -1178,11 +1197,9 @@
@@ -1178,11 +1198,9 @@
}
let shouldPin =
@@ -132,7 +131,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let shouldTranslate =
!gReduceMotion &&
!shouldCreateGroupOnDrop &&
@@ -1195,6 +1212,7 @@
@@ -1195,6 +1213,7 @@
(oldTranslateY && oldTranslateY != newTranslateY);
} else if (this.verticalMode) {
shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY;
@@ -140,7 +139,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
} else {
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
}
@@ -1376,6 +1394,7 @@
@@ -1376,6 +1395,7 @@
let nextItem = this.ariaFocusableItems[newIndex];
let tabGroup = isTab(nextItem) && nextItem.group;
@@ -148,7 +147,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
gBrowser.loadTabs(urls, {
inBackground,
replace,
@@ -1408,6 +1427,17 @@
@@ -1408,6 +1428,17 @@
this.finishMoveTogetherSelectedTabs(draggedTab);
this.finishAnimateTabMove();
@@ -166,7 +165,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
this.#expandGroupOnDrop(draggedTab);
this.#resetTabsAfterDrop(draggedTab.ownerDocument);
@@ -1577,7 +1607,6 @@
@@ -1577,7 +1608,6 @@
this.toggleAttribute("overflow", true);
this._updateCloseButtons();
@@ -174,7 +173,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
document
.getElementById("tab-preview-panel")
@@ -1635,7 +1664,7 @@
@@ -1635,7 +1665,7 @@
}
get newTabButton() {
@@ -183,7 +182,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
get verticalMode() {
@@ -1651,6 +1680,7 @@
@@ -1651,6 +1681,7 @@
}
get overflowing() {
@@ -191,7 +190,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
return this.hasAttribute("overflow");
}
@@ -1659,26 +1689,54 @@
@@ -1659,26 +1690,54 @@
if (this.#allTabs) {
return this.#allTabs;
}
@@ -253,7 +252,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
/**
@@ -1745,32 +1803,27 @@
@@ -1745,32 +1804,27 @@
let elementIndex = 0;
@@ -295,7 +294,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
return this.#focusableItems;
}
@@ -1778,6 +1831,7 @@
@@ -1778,6 +1832,7 @@
_invalidateCachedTabs() {
this.#allTabs = null;
this._invalidateCachedVisibleTabs();
@@ -303,7 +302,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
_invalidateCachedVisibleTabs() {
@@ -1793,8 +1847,8 @@
@@ -1793,8 +1848,8 @@
#isContainerVerticalPinnedGrid(tab) {
return (
this.verticalMode &&
@@ -314,7 +313,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
!this.expandOnHover
);
}
@@ -1810,7 +1864,7 @@
@@ -1810,7 +1865,7 @@
if (node == null) {
// We have a container for non-tab elements at the end of the scrollbox.
@@ -323,7 +322,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
node.before(tab);
@@ -1905,7 +1959,7 @@
@@ -1905,7 +1960,7 @@
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
// Attach the long click popup to all of them.
@@ -332,7 +331,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
const newTab2 = this.newTabButton;
const newTabVertical = document.getElementById(
"vertical-tabs-newtab-button"
@@ -2000,10 +2054,12 @@
@@ -2000,10 +2055,12 @@
_handleTabSelect(aInstant) {
let selectedTab = this.selectedItem;
@@ -345,7 +344,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
selectedTab._notselectedsinceload = false;
}
@@ -2140,6 +2196,16 @@
@@ -2140,6 +2197,16 @@
when the tab is first selected to be dragged.
*/
#updateTabStylesOnDrag(tab) {
@@ -362,7 +361,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let isPinned = tab.pinned;
let numPinned = gBrowser.pinnedTabCount;
let allTabs = this.ariaFocusableItems;
@@ -2398,7 +2464,7 @@
@@ -2398,7 +2465,7 @@
return;
}
@@ -371,7 +370,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let directionX = screenX > dragData.animLastScreenX;
let directionY = screenY > dragData.animLastScreenY;
@@ -2407,6 +2473,8 @@
@@ -2407,6 +2474,8 @@
let { width: tabWidth, height: tabHeight } =
draggedTab.getBoundingClientRect();
@@ -380,7 +379,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let shiftSizeX = tabWidth * movingTabs.length;
let shiftSizeY = tabHeight;
dragData.tabWidth = tabWidth;
@@ -2443,8 +2511,8 @@
@@ -2443,8 +2512,8 @@
let lastBoundX =
lastTabInRow.screenX +
lastTabInRow.getBoundingClientRect().width -
@@ -391,7 +390,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX);
translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY);
@@ -2560,7 +2628,7 @@
@@ -2560,7 +2629,7 @@
}
dragData.animDropElementIndex = newIndex;
@@ -400,7 +399,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
dragData.dropBefore = newIndex < tabs.length;
// Shift background tabs to leave a gap where the dragged tab
@@ -2593,13 +2661,18 @@
@@ -2593,13 +2662,18 @@
this.#clearDragOverCreateGroupTimer();
@@ -423,7 +422,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
if (this.#rtlMode) {
tabs.reverse();
@@ -2610,7 +2683,7 @@
@@ -2610,7 +2684,7 @@
let screenAxis = this.verticalMode ? "screenY" : "screenX";
let size = this.verticalMode ? "height" : "width";
let translateAxis = this.verticalMode ? "translateY" : "translateX";
@@ -432,7 +431,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let translateX = event.screenX - dragData.screenX;
let translateY = event.screenY - dragData.screenY;
@@ -2620,10 +2693,16 @@
@@ -2620,10 +2694,16 @@
dragData.translateY = translateY;
// Move the dragged tab based on the mouse position.
@@ -451,7 +450,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let endEdge = ele => ele[screenAxis] + bounds(ele)[size];
let lastMovingTabScreen = endEdge(lastMovingTab);
let firstMovingTabScreen = firstMovingTab[screenAxis];
@@ -2632,6 +2711,7 @@
@@ -2632,6 +2712,7 @@
// Constrain the range over which the moving tabs can move between the first and last tab
let firstBound = firstTab[screenAxis] - firstMovingTabScreen;
let lastBound = endEdge(lastTab) - lastMovingTabScreen;
@@ -459,7 +458,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
// Center the tab under the cursor if the tab is not under the cursor while dragging
if (
@@ -2649,6 +2729,9 @@
@@ -2649,6 +2730,9 @@
// Shift the `.tab-group-label-container` to shift the label element.
item = item.parentElement;
}
@@ -469,7 +468,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
item.style.transform = `${translateAxis}(${translate}px)`;
}
@@ -2786,6 +2869,9 @@
@@ -2786,6 +2870,9 @@
break;
}
let element = tabs[mid];
@@ -479,7 +478,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let elementForSize = isTabGroupLabel(element)
? element.parentElement
: element;
@@ -2805,6 +2891,8 @@
@@ -2805,6 +2892,8 @@
};
let dropElement = getOverlappedElement();
@@ -488,7 +487,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
let newDropElementIndex;
if (dropElement) {
@@ -2869,7 +2957,10 @@
@@ -2869,7 +2958,10 @@
let shouldCreateGroupOnDrop;
let dropBefore;
if (dropElement) {
@@ -500,7 +499,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
? dropElement.parentElement
: dropElement;
@@ -2889,7 +2980,7 @@
@@ -2889,7 +2981,7 @@
? Services.prefs.getIntPref(
"browser.tabs.dragDrop.moveOverThresholdPercent"
) / 100
@@ -509,7 +508,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold));
let shouldMoveOver = overlapPercent > moveOverThreshold;
if (logicalForward && shouldMoveOver) {
@@ -2921,44 +3012,21 @@
@@ -2921,44 +3013,21 @@
// If dragging a group over another group, don't make it look like it is
// possible to drop the dragged group inside the other group.
@@ -559,7 +558,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
// When dragging tab(s) over an ungrouped tab, signal to the user
// that dropping the tab(s) will create a new tab group.
shouldCreateGroupOnDrop =
@@ -2968,12 +3036,6 @@
@@ -2968,12 +3037,6 @@
overlapPercent > dragOverGroupingThreshold;
if (shouldCreateGroupOnDrop) {
@@ -572,7 +571,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
} else {
this.removeAttribute("movingtab-createGroup");
document
@@ -3000,19 +3062,14 @@
@@ -3000,19 +3063,14 @@
dropElement = dropElementGroup;
colorCode = undefined;
} else if (isTabGroupLabel(dropElement)) {
@@ -600,7 +599,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
this.#setDragOverGroupColor(colorCode);
this.toggleAttribute("movingtab-ungroup", !colorCode);
@@ -3030,19 +3087,28 @@
@@ -3030,19 +3088,28 @@
dragData.dropElement = dropElement;
dragData.dropBefore = dropBefore;
dragData.animDropElementIndex = newDropElementIndex;
@@ -631,7 +630,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
item.style.transform = transform;
}
@@ -3095,12 +3161,14 @@
@@ -3095,12 +3162,14 @@
);
}
@@ -648,7 +647,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
for (let item of this.ariaFocusableItems) {
if (isTabGroupLabel(item)) {
@@ -3108,6 +3176,18 @@
@@ -3108,6 +3177,18 @@
item = item.parentElement;
}
item.style.transform = "";
@@ -667,7 +666,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
item.removeAttribute("dragover-createGroup");
}
this.removeAttribute("movingtab-createGroup");
@@ -3129,16 +3209,15 @@
@@ -3129,16 +3210,15 @@
tab.style.left = "";
tab.style.top = "";
tab.style.maxWidth = "";
@@ -686,7 +685,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
}
let periphery = draggedTabDocument.getElementById(
"tabbrowser-arrowscrollbox-periphery"
@@ -3211,7 +3290,7 @@
@@ -3211,7 +3291,7 @@
let postTransitionCleanup = () => {
movingTab._moveTogetherSelectedTabsData.animate = false;
};
@@ -695,7 +694,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
postTransitionCleanup();
} else {
let onTransitionEnd = transitionendEvent => {
@@ -3384,7 +3463,7 @@
@@ -3384,7 +3464,7 @@
}
_notifyBackgroundTab(aTab) {
@@ -704,7 +703,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
return;
}
@@ -3493,7 +3572,10 @@
@@ -3493,7 +3573,10 @@
#getDragTarget(event, { ignoreSides = false } = {}) {
let { target } = event;
while (target) {
@@ -716,7 +715,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..016d58789918235cc3a41f33ee402c2c
break;
}
target = target.parentNode;
@@ -3510,6 +3592,9 @@
@@ -3510,6 +3593,9 @@
return null;
}
}

View File

@@ -582,7 +582,9 @@ groupbox h2 {
#dataCollectionGroup,
#websiteAdvertisingCategory,
#websiteAdvertisingGroup,
#helpButton {
#helpButton,
#support-firefox,
.mission-message {
display: none !important;
}
@@ -596,3 +598,9 @@ groupbox h2 {
display: none;
}
}
@media -moz-pref('zen.urlbar.replace-newtab') {
#category-home {
display: none !important;
}
}

View File

@@ -2,6 +2,6 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width="24" height="24" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.25 7C10.25 6.30964 10.8097 5.75 11.5 5.75C12.1904 5.75 12.75 6.30964 12.75 7V9.74469L14.8375 8.44C15.4229 8.07411 16.1941 8.25208 16.56 8.8375C16.9259 9.42292 16.7479 10.1941 16.1625 10.56L13.8585 12L16.1625 13.44C16.7479 13.8059 16.9259 14.5771 16.56 15.1625C16.1941 15.7479 15.4229 15.9259 14.8375 15.56L12.75 14.2553V17C12.75 17.6904 12.1904 18.25 11.5 18.25C10.8097 18.25 10.25 17.6904 10.25 17V14.2553L8.16251 15.56C7.57709 15.9259 6.8059 15.7479 6.44002 15.1625C6.07413 14.5771 6.2521 13.8059 6.83752 13.44L9.14152 12L6.83752 10.56C6.2521 10.1941 6.07413 9.42292 6.44002 8.8375C6.8059 8.25208 7.57709 8.07411 8.16251 8.44L10.25 9.74469V7Z" fill="context-fill" fill-opacity="context-fill-opacity"/>
</svg>

View File

@@ -35,7 +35,8 @@
#stop-button,
.close-icon,
.zen-glance-sidebar-close,
.zen-theme-picker-custom-list-item-remove {
.zen-theme-picker-custom-list-item-remove,
#appMenu-quit-button2 {
list-style-image: url('close.svg') !important;
}
@@ -343,6 +344,7 @@
}
#identity-popup[connection='chrome'] .identity-popup-security-connection {
list-style-image: url('chrome://branding/content/icon48.png') !important;
filter: grayscale(1);
}

View File

@@ -78,6 +78,9 @@ var gZenUIManager = {
},
_debloatContextMenus() {
if (!Services.prefs.getBoolPref('zen.view.context-menu.refresh', false)) {
return;
}
const contextMenusToClean = [
// Remove the 'new tab below' context menu.
// reason: It doesn't properly work with zen and it's philosophy of not having
@@ -129,7 +132,7 @@ var gZenUIManager = {
},
updateTabsToolbar() {
const kUrlbarHeight = 336;
const kUrlbarHeight = 388;
gURLBar.textbox.style.setProperty(
'--zen-urlbar-top',
`${window.innerHeight / 2 - Math.max(kUrlbarHeight, gURLBar.textbox.getBoundingClientRect().height) / 2}px`

View File

@@ -6,7 +6,7 @@ const { AppConstants } = ChromeUtils.importESModule('resource://gre/modules/AppC
class nsZenUIMigration {
PREF_NAME = 'zen.ui.migration.version';
MIGRATION_VERSION = 2;
MIGRATION_VERSION = 3;
init(isNewProfile) {
if (!isNewProfile) {
@@ -71,6 +71,12 @@ class nsZenUIMigration {
Services.prefs.setIntPref('zen.theme.gradient-legacy-version', 0);
}
}
_migrateV3() {
if (Services.prefs.getStringPref('zen.theme.accent-color', '').startsWith('system')) {
Services.prefs.setStringPref('zen.theme.accent-color', '#ffb787');
}
}
}
export var gZenUIMigration = new nsZenUIMigration();

View File

@@ -46,7 +46,6 @@
pointer-events: none;
isolation: isolate;
background: var(--zen-themed-toolbar-bg-transparent);
&::after,
@@ -100,7 +99,8 @@
opacity: var(--zen-grainy-background-opacity, 0);
mix-blend-mode: overlay;
:root:not([swipe-gesture='true']) & {
transition: opacity 0.3s ease-in-out;
/* note: Keep in sync with kGlobalAnimationDuration */
transition: opacity 0.2s ease-in-out;
}
}
}

View File

@@ -23,6 +23,12 @@
display: none !important;
}
@media -moz-pref('zen.theme.disable-lightweight') {
#customization-lwtheme-link {
display: none !important;
}
}
.private-browsing-indicator-with-label {
display: none !important;
}
@@ -228,3 +234,21 @@ body > #confetti {
linear-gradient(#fff 0 0);
mask-composite: exclude;
}
/* Status panel */
@media (-moz-pref('zen.theme.styled-status-panel')) {
#statuspanel {
padding: 4px 3px;
& > #statuspanel-label {
border-radius: 16px !important;
border: 1px solid rgba(225, 225, 225, 0.15) !important;
padding: 4px 8px 5px 8px !important;
font-weight: 600 !important;
background: color-mix(in srgb, var(--zen-primary-color), black 80%) !important;
color: #f3f3f3 !important;
font-size: small !important;
}
}
}

View File

@@ -44,7 +44,7 @@
var(--zen-colors-tertiary) 99%
);
--zen-dialog-background: light-dark(rgb(219, 219, 219), rgb(31, 31, 31));
--zen-dialog-background: light-dark(rgb(244, 244, 244), rgb(31, 31, 31));
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 3%, #f4f4f4 97%);
--zen-secondary-btn-color: var(--zen-colors-primary-foreground);

View File

@@ -628,7 +628,11 @@ button.popup-notification-dropmarker {
}
&[selected] {
background-color: color-mix(in srgb, var(--zen-primary-color) 50%, transparent 50%) !important;
background-color: color-mix(
in srgb,
var(--zen-primary-color) 50%,
light-dark(transparent, rgba(255, 255, 255, 0.3)) 50%
) !important;
& *,
& .urlbarView-title-separator::before {

View File

@@ -39,16 +39,22 @@ var gZenCompactModeManager = {
preInit() {
// Remove it before initializing so we can properly calculate the width
// of the sidebar at startup and avoid overflowing items not being hidden
let xulStoreValue = Services.xulStore.getValue(
AppConstants.BROWSER_CHROME_URL,
'zen-main-app-wrapper',
'zen-compact-mode'
);
if (xulStoreValue === '-moz-missing\n' || !xulStoreValue) {
xulStoreValue = false;
}
this._wasInCompactMode =
Services.xulStore.getValue(
AppConstants.BROWSER_CHROME_URL,
'zen-main-app-wrapper',
'zen-compact-mode'
) || Services.prefs.getBoolPref('zen.view.compact.should-enable-at-startup', false);
xulStoreValue ||
Services.prefs.getBoolPref('zen.view.compact.should-enable-at-startup', false);
lazyCompactMode.mainAppWrapper.removeAttribute('zen-compact-mode');
this._canDebugLog = Services.prefs.getBoolPref('zen.view.compact.debug', false);
this.addContextMenu();
this._resolvePreInit();
},
init() {
@@ -88,25 +94,30 @@ var gZenCompactModeManager = {
});
}
this._preInitPromise.then(() => {
SessionStore.promiseAllWindowsRestored.then(() => {
this.preference = this._wasInCompactMode;
delete this._resolvePreInit;
delete this._preInitPromise;
});
},
log(...args) {
if (this._canDebugLog) {
console.log('[Zen Compact Mode]', ...args);
}
},
get preference() {
return lazyCompactMode.mainAppWrapper.getAttribute('zen-compact-mode') === 'true';
return document.documentElement.getAttribute('zen-compact-mode') === 'true';
},
get shouldBeCompact() {
return !document.documentElement.getAttribute('chromehidden').includes('toolbar');
return !document.documentElement.getAttribute('chromehidden')?.includes('toolbar');
},
set preference(value) {
if (!this.shouldBeCompact) {
value = false;
}
this.log('Setting compact mode preference to', value);
if (
this.preference === value ||
document.documentElement.hasAttribute('zen-compact-animating')
@@ -225,6 +236,7 @@ var gZenCompactModeManager = {
},
async _updateEvent() {
const isUrlbarFocused = gURLBar.focused;
// IF we are animating IN, call the callbacks first so we can calculate the width
// once the window buttons are shown
this.updateContextMenu();
@@ -241,6 +253,9 @@ var gZenCompactModeManager = {
this._evenListeners.forEach((callback) => callback());
}
gZenUIManager.updateTabsToolbar();
if (isUrlbarFocused) {
gURLBar.focus();
}
},
// NOTE: Dont actually use event, it's just so we make sure
@@ -585,7 +600,6 @@ var gZenCompactModeManager = {
gZenVerticalTabsManager._hasSetSingleToolbar) ||
this._hasHoveredUrlbar
) {
delete this._hasHoveredUrlbar;
return;
}
@@ -642,6 +656,16 @@ var gZenCompactModeManager = {
}
}, this.HOVER_HACK_DELAY);
});
gURLBar.textbox.addEventListener('mouseleave', () => {
setTimeout(() => {
setTimeout(() => {
requestAnimationFrame(() => {
delete this._hasHoveredUrlbar;
});
}, 0);
}, 0);
});
},
_getCrossedEdge(posX, posY, element = document.documentElement, maxDistance = 10) {
@@ -708,10 +732,6 @@ var gZenCompactModeManager = {
},
};
gZenCompactModeManager._preInitPromise = new Promise((resolve) => {
gZenCompactModeManager._resolvePreInit = resolve;
});
document.addEventListener(
'MozBeforeInitialXULLayout',
() => {

View File

@@ -148,7 +148,7 @@
right: 0;
bottom: 0;
background: var(--zen-dialog-background);
outline: 1px solid var(--zen-colors-border-contrast);
outline: 1px solid var(--zen-colors-border);
outline-offset: -1px;
box-shadow: var(--zen-big-shadow);
pointer-events: none;

View File

@@ -139,7 +139,7 @@
}
rename() {
if (!gZenVerticalTabsManager._hasSetSingleToolbar) {
if (!document.documentElement.hasAttribute('zen-sidebar-expanded')) {
return;
}
gZenVerticalTabsManager.renameTabStart({
@@ -149,6 +149,12 @@
}
createSubfolder() {
// We need to expand all parent folders
let currentFolder = this;
do {
currentFolder.collapsed = false;
currentFolder = currentFolder.group;
} while (currentFolder);
gZenFolders.createFolder([], {
renameFolder: !gZenUIManager.testingEnabled,
label: 'Subfolder',

View File

@@ -231,7 +231,7 @@
}
if (group.collapsed && !this._sessionRestoring) {
group.collapsed = false;
group.collapsed = group.hasAttribute('has-active');
}
}
@@ -269,10 +269,6 @@
if (Services.prefs.getBoolPref('zen.folders.owned-tabs-in-folder')) {
gBrowser.pinTab(tab);
group.addTabs([tab]);
} else {
// Otherwise, we must move it to the first tab since it was added in an unpinned state
gZenWorkspaces._emptyTab.after(tab);
gBrowser.tabContainer._invalidateCachedTabs();
}
}
@@ -291,7 +287,7 @@
if (!folder.activeTabs.length) {
folder.removeAttribute('has-active');
}
this.collapseVisibleTab(folder);
this.collapseVisibleTab(folder, true);
this.updateFolderIcon(folder, 'close', false);
}
}
@@ -332,7 +328,9 @@
clearTimeout(this.#mouseTimer);
this.#mouseTimer = null;
}
this.#popup.hidePopup();
if (this.#popup) {
this.#popup.hidePopup();
}
}
async on_TabGroupCollapse(event) {
@@ -618,7 +616,23 @@
let activeGroup = folders.get(group?.id);
// If group has active tabs, we need to update the indentation
if (activeGroup) {
this.on_TabGroupCollapse({ target: activeGroup });
const activeGroupStart = activeGroup.querySelector('.zen-tab-group-start');
const selectedTabs = activeGroup.activeTabs;
if (selectedTabs.length > 0) {
const selectedItem = selectedTabs[0];
const isSplitView = selectedItem.group?.hasAttribute('split-view-group');
const selectedContainer = isSplitView ? selectedItem.group : selectedItem;
const heightUntilSelected =
window.windowUtils.getBoundsWithoutFlushing(selectedContainer).top -
window.windowUtils.getBoundsWithoutFlushing(activeGroupStart).bottom;
const adjustedHeight = isSplitView
? heightUntilSelected - 2
: heightUntilSelected;
activeGroupStart.style.marginTop =
-(adjustedHeight + 4 * (selectedTabs.length === 0 ? 1 : 0)) + 'px';
}
this.setFolderIndentation([tab], activeGroup, /* for collapse = */ true);
} else {
// Since the folder is now expanded, we should remove active attribute
@@ -745,9 +759,11 @@
const workspaceElement = gZenWorkspaces.workspaceElement(workspaceId);
const pinnedTabsContainer = workspaceElement.pinnedTabsContainer;
pinnedTabsContainer.insertBefore(folder, pinnedTabsContainer.lastChild);
folder.setAttribute('zen-workspace-id', workspaceId);
for (const tab of folder.tabs) {
tab.setAttribute('zen-workspace-id', workspaceId);
// This sets the ID for the current folder and any sub-folder
// we may encounter
tab.group.setAttribute('zen-workspace-id', workspaceId);
gBrowser.TabStateFlusher.flush(tab.linkedBrowser);
if (gZenWorkspaces._lastSelectedWorkspaceTabs[workspaceId] === tab) {
// This tab is no longer the last selected tab in the previous workspace because it's being moved to a new workspace
@@ -755,7 +771,9 @@
}
}
folder.dispatchEvent(new CustomEvent('ZenFolderChangedWorkspace', { bubbles: true }));
gZenWorkspaces.changeWorkspaceWithID(workspaceId);
gZenWorkspaces.changeWorkspaceWithID(workspaceId).then(() => {
gBrowser.moveTabTo(folder, { elementIndex: 0, forceUngrouped: true });
});
}
canDropElement(element, targetElement) {
@@ -792,8 +810,10 @@
pinned: true,
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
_forZenEmptyTab: true,
createLazyBrowser: true,
});
gBrowser.pinTab(emptyTab);
tabs = [emptyTab, ...filteredTabs];
const folder = this._createFolderNode(options);
@@ -1034,9 +1054,7 @@
// We don't need to do anything if the URL is invalid. e.g. about:blank
}
let tabLabel = tab.label || '';
let iconURL =
gBrowser.getIcon(tab) ||
"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3C/svg%3E";
let iconURL = gBrowser.getIcon(tab) || PlacesUtils.favicons.defaultFavicon.spec;
icon.src = iconURL;
@@ -1290,6 +1308,11 @@
}
}
if (group.activeTabs.length === 0) {
group.removeAttribute('has-active');
this.updateFolderIcon(group, 'close', false);
}
this.on_TabGroupExpand({ target: group, forExpandVisible: true });
gBrowser.tabContainer._invalidateCachedVisibleTabs();

View File

@@ -392,6 +392,9 @@ zen-folder {
background-color: transparent;
border: none !important;
outline: none !important;
flex: 1;
text-overflow: ellipsis;
white-space: nowrap;
}
#zen-folder-tabs-list {
@@ -415,6 +418,8 @@ zen-folder {
flex-shrink: 0;
margin-inline-end: 10px;
margin-inline-start: 4px;
fill: currentColor;
-moz-context-properties: fill;
}
.folders-tabs-list-item-labels {

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