Compare commits

...

27 Commits

Author SHA1 Message Date
Mr. M
0d3be81421 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-10-08 18:44:40 +02:00
Mr. M
1b8e492f63 feat: Added protection toggle for the site data panel, b=no-bug, c=common 2025-10-08 18:44:37 +02:00
Aryan Rawlani
4bfb815297 feat: settings -> shortcuts: show conflicting shortcut label, p=#10735 2025-10-08 17:41:25 +02:00
Mr. M
cc502f6c95 fix: Fixed compact mode animation not resolving on double toolbar, b=no-bug, c=compact-mode 2025-10-08 14:50:26 +02:00
Mr. M
faa820e992 fix: Fixed copact mode not hiding sometimes, b=closes #10414, c=compact-mode 2025-10-08 14:02:41 +02:00
Mr. M
3b58806c8a fix: Fixed freezing when opening external links, b=bug #10666, c=workspaces 2025-10-08 13:38:16 +02:00
Mr. M
ab6a8ee717 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-10-08 12:50:33 +02:00
Mr. M
9479062358 feat: Reset hover ignore when not animating compact mode, b=no-bug, c=tabs, compact-mode 2025-10-08 12:50:30 +02:00
Blake Gearin
ba1a59622a feat: Add config to support more than 12 essential tabs, p=#10731 2025-10-08 12:49:40 +02:00
Mr. M
0c5a2aa96d perf: Fixed performance for media controls label, b=no-bug, c=media 2025-10-08 12:49:18 +02:00
Mr. M
00a70c11a7 fix: Fixed fullscren urlbar not focusing, b=closes #5229, c=common 2025-10-07 23:12:10 +02:00
mr. m
2dc98fa7f7 chore: Updated to Firefox 144.0, p=#10725, c=l10n, tabs, media, common, tests, workspaces 2025-10-07 23:06:47 +02:00
reizumi
289058c25d style: update sidebar icon (#10718) 2025-10-07 17:59:11 +02:00
Mr. M
c2951d0a0f fix: Add debug info when an invalid folder is trying to restore, b=no-bug, c=common, folders 2025-10-07 01:21:52 +02:00
Mr. M
9f42abf789 feat: Restore top toolbar compact mode, b=no-bug, c=tabs, compact-mode, common 2025-10-07 01:06:16 +02:00
Mr. M
d0fb8aea03 feat: Increase the size of toolbar buttons, b=no-bug, c=common, workspaces 2025-10-06 01:05:48 +02:00
Mr. M
856d6f523a fix: Fixed collapsed sidebar in compact mode not showing tabs, b=no-bug, c=glance, tabs, workspaces 2025-10-06 00:46:34 +02:00
Mr. M
47d1f973e4 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-10-06 00:22:59 +02:00
Mr. M
0a8fe6d7ba feat: Move the site data button to the end, b=no-bug, c=common 2025-10-06 00:22:53 +02:00
atharva kamble
d6ac283388 feat: Unload a workspace context menu, p=#10688
Co-authored-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
2025-10-05 23:55:29 +02:00
Mr. M
9bf8bd97b2 feat: Always show new site data popup, b=no-bug, c=glance 2025-10-05 23:45:32 +02:00
Mr. M
43c634f477 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-10-05 19:14:20 +02:00
Mr. M
0feb6ac3f9 fix: Fixed omnibox not appearing on fullscreen, b=closes #5229, c=common 2025-10-05 19:14:15 +02:00
alightsoulmate
2dd185288d Fix: Unexpected Spelling in Theme Configuration Page, p=#10696
Co-authored-by: Mr. M <mr.m@tuta.com>
2025-10-05 19:00:19 +02:00
mr. m
f273cd8fd1 chore: Refactor glance animtions, p=#10690 2025-10-05 18:57:35 +02:00
mr. m
3ac31a96a6 feat: New site data popup, p=#10651 2025-10-05 18:56:41 +02:00
Mr. M
e340923623 feat: Increased the width and height of toolbar buttons, b=no-bug, c=common, workspaces 2025-10-05 00:28:32 +02:00
194 changed files with 4125 additions and 2615 deletions

View File

@@ -35,7 +35,7 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
### Firefox Versions ### Firefox Versions
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `143.0.4`! 🚀 - [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `143.0.4`! 🚀
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 143.0.4`! - [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 144.0`!
### Contributing ### Contributing

View File

@@ -1 +1 @@
5cbf54e3cfaf4cfb375088d7e11702e8974b238f dd57c783345c5401fcdcc48e83b1fa9ce511d1cf

View File

@@ -7,7 +7,7 @@ base-version: '24.08'
add-extensions: add-extensions:
org.freedesktop.Platform.ffmpeg-full: org.freedesktop.Platform.ffmpeg-full:
directory: lib/ffmpeg directory: lib/ffmpeg
version: '24.08' version: '24.08.26'
add-ld-path: . add-ld-path: .
app.zen_browser.zen.systemconfig: app.zen_browser.zen.systemconfig:
directory: etc/zen directory: etc/zen

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = الملف الشخصي الحالي zen-panel-ui-current-profile-text = الملف الشخصي الحالي
unified-extensions-description = تستخدم الإضافات لجلب المزيد من الوظائف الإضافية إلى { -brand-short-name }. unified-extensions-description = تستخدم الإضافات لجلب المزيد من الوظائف الإضافية إلى { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = إعادة تعيين علامة التبويب المثبتة .label = إعادة تعيين علامة التبويب المثبتة
.accesskey = ر .accesskey = ر
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remove from Essentials .label = Remove from Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = استبدال الرابط المثبت بالرابط الحالي .label = استبدال الرابط المثبت بالرابط الحالي
.accesskey = C .accesskey = C
zen-themes-corrupted = ملف التعديل { -brand-short-name } الخاص بك تالف. تم إعادة تعيينه إلى السمة الافتراضية. zen-themes-corrupted = ملف التعديل { -brand-short-name } الخاص بك تالف. تم إعادة تعيينه إلى السمة الافتراضية.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = Disable zen-disable = Disable
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = لون مخصص zen-panel-ui-gradient-generator-custom-color = لون مخصص
zen-panel-ui-gradient-generator-saved-message = حفظ معامل التدرج بنجاح! zen-panel-ui-gradient-generator-saved-message = حفظ معامل التدرج بنجاح!
zen-copy-current-url-confirmation = The URL has been copied to the clipboard. zen-copy-current-url-confirmation = The URL has been copied to the clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = إلى المزيد تعرف zen-learn-more-text = إلى المزيد تعرف
zen-close-label = Close zen-close-label = Close
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = perfil actual zen-panel-ui-current-profile-text = perfil actual
unified-extensions-description = Les extensions aporten funcionalitats addicionals a { -brand-short-name }. unified-extensions-description = Les extensions aporten funcionalitats addicionals a { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Restableix la pestanya fixada .label = Restableix la pestanya fixada
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Afegeix als essentials ({ $num }/12 espais ocupats) .label = Afegeix als essentials ({ $num } / { $max } espais ocupats)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Elimina dels essencials .label = Elimina dels essencials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Substitueix l'URL fixat per l'actual .label = Substitueix l'URL fixat per l'actual
.accesskey = C .accesskey = C
zen-themes-corrupted = El vostre fitxer de modificacions { -brand-short-name } està malmès. S'ha restablert al tema per defecte. zen-themes-corrupted = El vostre fitxer de modificacions { -brand-short-name } està malmès. S'ha restablert al tema per defecte.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
La nova barra d'URL s'ha activat, eliminant la necessitat de noves pàgines de pestanya.<br/><br/> La nova barra d'URL s'ha activat, eliminant la necessitat de noves pàgines de pestanya.<br/><br/>
Proveu d'obrir una pestanya nova per veure la nova barra d'URL en acció! Proveu d'obrir una pestanya nova per veure la nova barra d'URL en acció!
zen-disable = Deshabilita zen-disable = Deshabilita
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimitza .aria-label = Minimitza
.tooltip = Minimitza .tooltip = Minimitza
zen-panel-ui-gradient-generator-custom-color = Color personalitzat zen-panel-ui-gradient-generator-custom-color = Color personalitzat
zen-panel-ui-gradient-generator-saved-message = El degradat s'ha desat correctament! zen-panel-ui-gradient-generator-saved-message = El degradat s'ha desat correctament!
zen-copy-current-url-confirmation = L'URL s'ha copiat al porta-retalls. zen-copy-current-url-confirmation = L'URL s'ha copiat al porta-retalls.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel·la .label = Cancel·la
zen-general-confirm = zen-general-confirm =
.label = Confirma .label = Confirma
zen-pinned-tab-replaced = L'URL de la pestanya fixada s'ha substituït per l'URL actual. zen-pinned-tab-replaced = L'URL de la pestanya fixada s'ha substituït per l'URL actual.
zen-tabs-renamed = S'ha canviat el nom de la pestanya correctament! zen-tabs-renamed = S'ha canviat el nom de la pestanya correctament!
zen-background-tab-opened-toast = S'ha obert una nova pestanya de fons! zen-background-tab-opened-toast = S'ha obert una nova pestanya de fons!
zen-workspace-renamed-toast = S'ha canviat el nom de l'espai de treball correctament! zen-workspace-renamed-toast = S'ha canviat el nom de l'espai de treball correctament!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Espais .label = Espais
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Modificacions .label = Modificacions
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Més informació zen-learn-more-text = Més informació
zen-close-label = Tanca zen-close-label = Tanca
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Cerca... .placeholder = Cerca...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icones .label = Icones
urlbar-search-mode-zen_actions = Accions urlbar-search-mode-zen_actions = Accions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = aktuální profil zen-panel-ui-current-profile-text = aktuální profil
unified-extensions-description = Rozšíření slouží k přidání dalších funkcí do prohlížeče { -brand-short-name }. unified-extensions-description = Rozšíření slouží k přidání dalších funkcí do prohlížeče { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Resetovat připnuté karty .label = Resetovat připnuté karty
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Přidat do Essentials ({ $num } / 12 zaplněných slotů) .label = Přidat do Essentials ({ $num } / { $max } zaplněných slotů)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Odstranit z Essentials .label = Odstranit z Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Nahradit připnutou URL adresu aktuální adresou .label = Nahradit připnutou URL adresu aktuální adresou
.accesskey = C .accesskey = C
zen-themes-corrupted = Váš { -brand-short-name } mods soubor je poškozen. Byl obnoven na výchozí motiv. zen-themes-corrupted = Váš { -brand-short-name } mods soubor je poškozen. Byl obnoven na výchozí motiv.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Nový adresní řádek je nyní zapnutý, takže už není potřeba otevírat nové karty.<br/><br/> Nový adresní řádek je nyní zapnutý, takže už není potřeba otevírat nové karty.<br/><br/>
Zkuste otevřít novou kartu a podívejte se, jak funguje! Zkuste otevřít novou kartu a podívejte se, jak funguje!
zen-disable = Zavřít zen-disable = Zavřít
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimalizovat .aria-label = Minimalizovat
.tooltip = Minimalizovat .tooltip = Minimalizovat
zen-panel-ui-gradient-generator-custom-color = Vlastní barva zen-panel-ui-gradient-generator-custom-color = Vlastní barva
zen-panel-ui-gradient-generator-saved-message = Gradient byl úspěšně uložen! zen-panel-ui-gradient-generator-saved-message = Gradient byl úspěšně uložen!
zen-copy-current-url-confirmation = URL adresa byla zkopírována do schránky. zen-copy-current-url-confirmation = URL adresa byla zkopírována do schránky.
zen-general-cancel-label = zen-general-cancel-label =
.label = Zrušit .label = Zrušit
zen-general-confirm = zen-general-confirm =
.label = Potvrdit .label = Potvrdit
zen-pinned-tab-replaced = Připnutá URL adresa panelu byla nahrazena aktuální URL adresou. zen-pinned-tab-replaced = Připnutá URL adresa panelu byla nahrazena aktuální URL adresou.
zen-tabs-renamed = Panel byl úspěšně přejmenován! zen-tabs-renamed = Panel byl úspěšně přejmenován!
zen-background-tab-opened-toast = Nová karta na pozadí byla otevřena! zen-background-tab-opened-toast = Nová karta na pozadí byla otevřena!
zen-workspace-renamed-toast = Pracovní prostor byl úspěšně přejmenován! zen-workspace-renamed-toast = Pracovní prostor byl úspěšně přejmenován!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Prostory .label = Prostory
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Módy .label = Módy
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Zjistit více zen-learn-more-text = Zjistit více
zen-close-label = Zavřít zen-close-label = Zavřít
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Hledat... .placeholder = Hledat...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emodži .label = Emodži
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ikony .label = Ikony
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = proffil gweithredol zen-panel-ui-current-profile-text = proffil gweithredol
unified-extensions-description = Mae ehangiadau'n cael ei defnyddio er mwyn ychwanegu fwy o weithrediadau i mewn i { -brand-short-name }. unified-extensions-description = Mae ehangiadau'n cael ei defnyddio er mwyn ychwanegu fwy o weithrediadau i mewn i { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Ailosod Tab wedi'i Binio .label = Ailosod Tab wedi'i Binio
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Diddymu o Hanfodion .label = Diddymu o Hanfodion
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Ailosod URL wedi'i Binio gyda'r Gyfredol .label = Ailosod URL wedi'i Binio gyda'r Gyfredol
.accesskey = C .accesskey = C
zen-themes-corrupted = Mae eich ffeil am y mod { -brand-short-name } wedi'i llygru. Maent wedi cael eu hailosod i'r thema rhagosodedig. zen-themes-corrupted = Mae eich ffeil am y mod { -brand-short-name } wedi'i llygru. Maent wedi cael eu hailosod i'r thema rhagosodedig.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Mae'r bar URL newydd wedi'i alluogi, sydd yn dileu'r angen am dudalennau tab newydd.<br/><br/> Mae'r bar URL newydd wedi'i alluogi, sydd yn dileu'r angen am dudalennau tab newydd.<br/><br/>
Ceisiwch agor tab newydd i weld y bar URL newydd ar waith! Ceisiwch agor tab newydd i weld y bar URL newydd ar waith!
zen-disable = Analluogi zen-disable = Analluogi
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Addasu Lliw zen-panel-ui-gradient-generator-custom-color = Addasu Lliw
zen-panel-ui-gradient-generator-saved-message = Llwyddiant arbedi'r graddiant! zen-panel-ui-gradient-generator-saved-message = Llwyddiant arbedi'r graddiant!
zen-copy-current-url-confirmation = Mae'r URL wedi'i gopïo i'r clipfwrdd. zen-copy-current-url-confirmation = Mae'r URL wedi'i gopïo i'r clipfwrdd.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Mae URL y tab wedi'i binio wedi'i newid i'r URL gyfredol. zen-pinned-tab-replaced = Mae URL y tab wedi'i binio wedi'i newid i'r URL gyfredol.
zen-tabs-renamed = Llwyddiant ailenwi'r tab! zen-tabs-renamed = Llwyddiant ailenwi'r tab!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = Cau zen-close-label = Cau
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = nuværende profil zen-panel-ui-current-profile-text = nuværende profil
unified-extensions-description = Udvidelser bruges til at bringe ekstra funktionalitet ind i { -brand-short-name }. unified-extensions-description = Udvidelser bruges til at bringe ekstra funktionalitet ind i { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Nulstil fastgjort fane .label = Nulstil fastgjort fane
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Føj til Essentielle ({ $num } / 12 pladser fyldt) .label = Føj til Essentielle ({ $num } / { $max } pladser fyldt)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Fjern fra Essentielle .label = Fjern fra Essentielle
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Erstat fastgjort URL med nuværende .label = Erstat fastgjort URL med nuværende
.accesskey = C .accesskey = C
zen-themes-corrupted = Din { -brand-short-name } mods-fil er beskadiget. De er blevet nulstillet til standardtemaet. zen-themes-corrupted = Din { -brand-short-name } mods-fil er beskadiget. De er blevet nulstillet til standardtemaet.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Den nye URL-linje er aktiveret og fjerner dermed behovet for nye fanesider.<br/><br/> Den nye URL-linje er aktiveret og fjerner dermed behovet for nye fanesider.<br/><br/>
Prøv at åbne en ny fane for at se den i aktion! Prøv at åbne en ny fane for at se den i aktion!
zen-disable = Deaktiver zen-disable = Deaktiver
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimer .aria-label = Minimer
.tooltip = Minimer .tooltip = Minimer
zen-panel-ui-gradient-generator-custom-color = Brugerdefineret Farve zen-panel-ui-gradient-generator-custom-color = Brugerdefineret Farve
zen-panel-ui-gradient-generator-saved-message = Gradienten blev gemt! zen-panel-ui-gradient-generator-saved-message = Gradienten blev gemt!
zen-copy-current-url-confirmation = URL'en blev kopieret til udklipsholderen. zen-copy-current-url-confirmation = URL'en blev kopieret til udklipsholderen.
zen-general-cancel-label = zen-general-cancel-label =
.label = Annuller .label = Annuller
zen-general-confirm = zen-general-confirm =
.label = Bekræft .label = Bekræft
zen-pinned-tab-replaced = Den fastgjorte fane-URL blev erstattet med den aktuelle. zen-pinned-tab-replaced = Den fastgjorte fane-URL blev erstattet med den aktuelle.
zen-tabs-renamed = Fanen blev omdøbt! zen-tabs-renamed = Fanen blev omdøbt!
zen-background-tab-opened-toast = Ny baggrundsfane åbnet! zen-background-tab-opened-toast = Ny baggrundsfane åbnet!
zen-workspace-renamed-toast = Arbejdsområde blev omdøbt! zen-workspace-renamed-toast = Arbejdsområde blev omdøbt!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Rum .label = Rum
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Lær mere zen-learn-more-text = Lær mere
zen-close-label = Luk zen-close-label = Luk
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Søg... .placeholder = Søg...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ikoner .label = Ikoner
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = Aktuelles Profil zen-panel-ui-current-profile-text = Aktuelles Profil
unified-extensions-description = Erweiterungen werden verwendet, um { -brand-short-name } zusätzliche Funktionen hinzuzufügen. unified-extensions-description = Erweiterungen werden verwendet, um { -brand-short-name } zusätzliche Funktionen hinzuzufügen.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Angepinnten Tab zurücksetzen .label = Angepinnten Tab zurücksetzen
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Zu Essentials hinzufügen ({ $num } / 12 Plätze belegt) .label = Zu Essentials hinzufügen ({ $num } / { $max } Plätze belegt)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Aus Essentials entfernen .label = Aus Essentials entfernen
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Angepinnte URL durch aktuelle ersetzen .label = Angepinnte URL durch aktuelle ersetzen
.accesskey = C .accesskey = C
zen-themes-corrupted = Ihre { -brand-short-name } Mods-Datei ist beschädigt. Sie wurde auf das Standard-Design zurückgesetzt. zen-themes-corrupted = Ihre { -brand-short-name } Mods-Datei ist beschädigt. Sie wurde auf das Standard-Design zurückgesetzt.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Die neue Adressleiste wurde aktiviert und macht neue Tab-Seiten überflüssig.<br/><br/> Die neue Adressleiste wurde aktiviert und macht neue Tab-Seiten überflüssig.<br/><br/>
Öffnen Sie einen neuen Tab, um die neue Adressleiste in Aktion zu sehen! Öffnen Sie einen neuen Tab, um die neue Adressleiste in Aktion zu sehen!
zen-disable = Deaktivieren zen-disable = Deaktivieren
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimieren .aria-label = Minimieren
.tooltip = Minimieren .tooltip = Minimieren
zen-panel-ui-gradient-generator-custom-color = Benutzerdefinierte Farbe zen-panel-ui-gradient-generator-custom-color = Benutzerdefinierte Farbe
zen-panel-ui-gradient-generator-saved-message = Farbverlauf erfolgreich gespeichert! zen-panel-ui-gradient-generator-saved-message = Farbverlauf erfolgreich gespeichert!
zen-copy-current-url-confirmation = Die URL wurde in die Zwischenablage kopiert. zen-copy-current-url-confirmation = Die URL wurde in die Zwischenablage kopiert.
zen-general-cancel-label = zen-general-cancel-label =
.label = Abbrechen .label = Abbrechen
zen-general-confirm = zen-general-confirm =
.label = Bestätigen .label = Bestätigen
zen-pinned-tab-replaced = Die URL des angepinnten Tabs wurde durch die aktuelle URL ersetzt! zen-pinned-tab-replaced = Die URL des angepinnten Tabs wurde durch die aktuelle URL ersetzt!
zen-tabs-renamed = Tab wurde erfolgreich umbenannt! zen-tabs-renamed = Tab wurde erfolgreich umbenannt!
zen-background-tab-opened-toast = Neuer Hintergrund-Tab geöffnet! zen-background-tab-opened-toast = Neuer Hintergrund-Tab geöffnet!
zen-workspace-renamed-toast = Arbeitsbereich wurde erfolgreich umbenannt! zen-workspace-renamed-toast = Arbeitsbereich wurde erfolgreich umbenannt!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Arbeitsbereiche .label = Arbeitsbereiche
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Mehr erfahren zen-learn-more-text = Mehr erfahren
zen-close-label = Schließen zen-close-label = Schließen
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Suchen... .placeholder = Suchen...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Symbole .label = Symbole
urlbar-search-mode-zen_actions = Aktionen urlbar-search-mode-zen_actions = Aktionen

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = τρέχον προφίλ zen-panel-ui-current-profile-text = τρέχον προφίλ
unified-extensions-description = Οι επεκτάσεις χρησιμοποιούνται για να φέρουν περισσότερη επιπλέον λειτουργικότητα στο { -brand-short-name }. unified-extensions-description = Οι επεκτάσεις χρησιμοποιούνται για να φέρουν περισσότερη επιπλέον λειτουργικότητα στο { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Επαναφορά Καρφιτσωμένης Καρτέλας .label = Επαναφορά Καρφιτσωμένης Καρτέλας
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Προσθήκη στα Απαραίτητα ({ $num } / 12 θέσεις γεμάτες) .label = Προσθήκη στα Απαραίτητα ({ $num } / { $max } θέσεις γεμάτες)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Αφαίρεση από Απαραίτητα .label = Αφαίρεση από Απαραίτητα
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Αντικατάσταση καρφιτσωμένου URL με το τρέχον .label = Αντικατάσταση καρφιτσωμένου URL με το τρέχον
.accesskey = C .accesskey = C
zen-themes-corrupted = Το αρχείο { -brand-short-name } mods είναι κατεστραμμένο. Έχει γίνει επαναφορά στο προεπιλεγμένο θέμα. zen-themes-corrupted = Το αρχείο { -brand-short-name } mods είναι κατεστραμμένο. Έχει γίνει επαναφορά στο προεπιλεγμένο θέμα.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Η νέα γραμμή URL έχει ενεργοποιηθεί, αφαιρώντας την ανάγκη για σελίδες νέας καρτέλας.<br/><br/> Η νέα γραμμή URL έχει ενεργοποιηθεί, αφαιρώντας την ανάγκη για σελίδες νέας καρτέλας.<br/><br/>
Δοκιμάστε να ανοίξετε μια νέα καρτέλα για να δείτε τη νέα γραμμή URL εν δράσει! Δοκιμάστε να ανοίξετε μια νέα καρτέλα για να δείτε τη νέα γραμμή URL εν δράσει!
zen-disable = Απενεργοποίηση zen-disable = Απενεργοποίηση
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Ελαχιστοποίηση .aria-label = Ελαχιστοποίηση
.tooltip = Ελαχιστοποίηση .tooltip = Ελαχιστοποίηση
zen-panel-ui-gradient-generator-custom-color = Προσαρμοσμένο Χρώμα zen-panel-ui-gradient-generator-custom-color = Προσαρμοσμένο Χρώμα
zen-panel-ui-gradient-generator-saved-message = Επιτυχής αποθήκευση της διαβάθμισης! zen-panel-ui-gradient-generator-saved-message = Επιτυχής αποθήκευση της διαβάθμισης!
zen-copy-current-url-confirmation = Το URL έχει αντιγραφεί στο πρόχειρο. zen-copy-current-url-confirmation = Το URL έχει αντιγραφεί στο πρόχειρο.
zen-general-cancel-label = zen-general-cancel-label =
.label = Ακύρωση .label = Ακύρωση
zen-general-confirm = zen-general-confirm =
.label = Επιβεβαίωση .label = Επιβεβαίωση
zen-pinned-tab-replaced = Το URL της καρφιτσωμένης καρτέλας έχει αντικατασταθεί από το τρέχον URL. zen-pinned-tab-replaced = Το URL της καρφιτσωμένης καρτέλας έχει αντικατασταθεί από το τρέχον URL.
zen-tabs-renamed = Η καρτέλα μετονομάστηκε επιτυχώς! zen-tabs-renamed = Η καρτέλα μετονομάστηκε επιτυχώς!
zen-background-tab-opened-toast = Άνοιξε νέα καρτέλα στο παρασκήνιο! zen-background-tab-opened-toast = Άνοιξε νέα καρτέλα στο παρασκήνιο!
zen-workspace-renamed-toast = Ο χώρος εργασίας μετονομάστηκε επιτυχώς! zen-workspace-renamed-toast = Ο χώρος εργασίας μετονομάστηκε επιτυχώς!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Χώροι .label = Χώροι
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Μάθετε Περισσότερα zen-learn-more-text = Μάθετε Περισσότερα
zen-close-label = Κλείσιμο zen-close-label = Κλείσιμο
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Αναζήτηση... .placeholder = Αναζήτηση...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = Current profile zen-panel-ui-current-profile-text = Current profile
unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }. unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Reset Pinned Tab .label = Reset Pinned Tab
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remove from Essentials .label = Remove from Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Replace Pinned URL with Current .label = Replace Pinned URL with Current
.accesskey = C .accesskey = C
zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme. zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme.
@@ -17,33 +17,33 @@ zen-shortcuts-corrupted = Your { -brand-short-name } shortcuts file is corrupted
# note: Do not translate the "<br/>" tags in the following string # 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. Try opening a new tab to see the new URL bar in action!<br/><br/> zen-new-urlbar-notification = The new URL bar has been enabled, removing the need for new tab pages. Try opening a new tab to see the new URL bar in action!<br/><br/>
zen-disable = Disable zen-disable = Disable
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Custom colour zen-panel-ui-gradient-generator-custom-color = Custom colour
zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient! zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient!
zen-copy-current-url-confirmation = The URL has been copied to the clipboard. zen-copy-current-url-confirmation = The URL has been copied to the clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = Close zen-close-label = Close
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -8,9 +8,9 @@ zen-warning-language = Changing the default language could make it easier for We
zen-vertical-tabs-layout-header = Browser Layout zen-vertical-tabs-layout-header = Browser Layout
zen-vertical-tabs-layout-description = Choose the layout that suits you best zen-vertical-tabs-layout-description = Choose the layout that suits you best
zen-layout-single-toolbar = Single toolbar zen-layout-single-toolbar = Only Sidebar
zen-layout-multiple-toolbar = Multiple toolbars zen-layout-multiple-toolbar = Sidebar and Top Toolbar
zen-layout-collapsed-toolbar = Collapsed toolbar zen-layout-collapsed-toolbar = Collapsed Sidebar
sync-currently-syncing-workspaces = Workspaces sync-currently-syncing-workspaces = Workspaces
sync-engine-workspaces = sync-engine-workspaces =
@@ -33,8 +33,6 @@ zen-glance-trigger-shift-click =
.label = Shift + Click .label = Shift + Click
zen-glance-trigger-meta-click = zen-glance-trigger-meta-click =
.label = Meta (Command) + Click .label = Meta (Command) + Click
zen-glance-trigger-mantain-click =
.label = Hold Click (Coming Soon!)
zen-look-and-feel-compact-view-header = Show in compact view zen-look-and-feel-compact-view-header = Show in compact view
zen-look-and-feel-compact-view-description = Only show the toolbars you use! zen-look-and-feel-compact-view-description = Only show the toolbars you use!
@@ -91,7 +89,7 @@ zen-settings-workspaces-hide-default-container-indicator =
.label = Hide the default container indicator in the tab bar .label = Hide the default container indicator in the tab bar
zen-key-unsaved = Unsaved shortcut! Please save it by clicking the "Escape" key after retyping it. zen-key-unsaved = Unsaved shortcut! Please save it by clicking the "Escape" key after retyping it.
zen-key-conflict = Conflict with another shortcut zen-key-conflict = Conflicts with { $group } -> { $shortcut }
pane-zen-theme-title = Theme Settings pane-zen-theme-title = Theme Settings

View File

@@ -6,7 +6,7 @@ tab-context-zen-reset-pinned-tab =
.label = Reset Pinned Tab .label = Reset Pinned Tab
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remove from Essentials .label = Remove from Essentials
@@ -49,6 +49,10 @@ zen-library-sidebar-workspaces =
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
zen-toggle-compact-mode-button =
.label = Compact Mode
.tooltiptext = Toggle Compact Mode
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
@@ -64,3 +68,29 @@ zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions
zen-site-data-settings = Settings
zen-generic-manage = Manage
zen-generic-more = More
# These labels will be used for the site data panel settings
zen-site-data-setting-allow = Allowed
zen-site-data-setting-block = Blocked
zen-site-data-security-info-extension =
.label = Extension
zen-site-data-security-info-secure =
.label = Secure
zen-site-data-security-info-not-secure =
.label = Not Secure
zen-site-data-manage-addons =
.label = Manage Extensions
zen-site-data-get-addons =
.label = Add Extensions
zen-site-data-site-settings =
.label = All Site Settings
zen-site-data-setting-site-protection = Site Protection
zen-site-data-panel-feature-callout-title = A new home for add-ons, permissions, and more
zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site settings, view security info, access extensions, and perform common actions.

View File

@@ -4,9 +4,7 @@ zen-toolbar-context-tabs-right =
.accesskey = R .accesskey = R
zen-toolbar-context-compact-mode = zen-toolbar-context-compact-mode =
.label = Compact mode .label = Compact Mode
.accesskey = C
zen-toolbar-context-compact-mode-enable = zen-toolbar-context-compact-mode-enable =
.label = Enable compact mode .label = Enable compact mode
.accesskey = D .accesskey = D
@@ -17,6 +15,7 @@ zen-toolbar-context-compact-mode-just-toolbar =
zen-toolbar-context-compact-mode-hide-both = zen-toolbar-context-compact-mode-hide-both =
.label = Hide both .label = Hide both
.accesskey = H .accesskey = H
zen-toolbar-context-new-folder = zen-toolbar-context-new-folder =
.label = New Folder .label = New Folder
.accesskey = N .accesskey = N

View File

@@ -23,6 +23,9 @@ zen-workspaces-panel-change-icon =
zen-workspaces-panel-context-default-profile = zen-workspaces-panel-context-default-profile =
.label = Set Profile .label = Set Profile
zen-workspaces-panel-unload =
.label = Unload Space
zen-workspaces-how-to-reorder-title = How to reorder spaces 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 zen-workspaces-how-to-reorder-desc = Drag the space icons at the bottom of the sidebar to reorder them

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = perfil actual zen-panel-ui-current-profile-text = perfil actual
unified-extensions-description = Las extensiones se utilizan para agregar más funcionalidades a { -brand-short-name }. unified-extensions-description = Las extensiones se utilizan para agregar más funcionalidades a { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Restablecer pestaña fijada .label = Restablecer pestaña fijada
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Añadir a esenciales ({ $num } / 12 huecos llenos) .label = Añadir a esenciales ({ $num } / { $max } huecos llenos)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Quitar de esenciales .label = Quitar de esenciales
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Reemplazar la URL fijada con la actual .label = Reemplazar la URL fijada con la actual
.accesskey = C .accesskey = C
zen-themes-corrupted = Su archivo de mods de { -brand-short-name } está dañado. Se ha restablecido el tema por defecto. zen-themes-corrupted = Su archivo de mods de { -brand-short-name } está dañado. Se ha restablecido el tema por defecto.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Se ha habilitado la nueva barra de direcciones, eliminando la necesidad de la página de nueva pestaña.<br/><br/> Se ha habilitado la nueva barra de direcciones, eliminando la necesidad de la página de nueva pestaña.<br/><br/>
¡Pruebe a abrir una nueva pestaña para ver la nueva barra de direcciones en acción! ¡Pruebe a abrir una nueva pestaña para ver la nueva barra de direcciones en acción!
zen-disable = Deshabilitar zen-disable = Deshabilitar
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimizar .aria-label = Minimizar
.tooltip = Minimizar .tooltip = Minimizar
zen-panel-ui-gradient-generator-custom-color = Color personalizado zen-panel-ui-gradient-generator-custom-color = Color personalizado
zen-panel-ui-gradient-generator-saved-message = ¡Gradiente guardado con éxito! zen-panel-ui-gradient-generator-saved-message = ¡Gradiente guardado con éxito!
zen-copy-current-url-confirmation = La URL se ha copiado al portapapeles. zen-copy-current-url-confirmation = La URL se ha copiado al portapapeles.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancelar .label = Cancelar
zen-general-confirm = zen-general-confirm =
.label = Confirmar .label = Confirmar
zen-pinned-tab-replaced = La URL de la pestaña fijada se ha reemplazado por la URL actual. zen-pinned-tab-replaced = La URL de la pestaña fijada se ha reemplazado por la URL actual.
zen-tabs-renamed = ¡La pestaña se ha renombrado con éxito! zen-tabs-renamed = ¡La pestaña se ha renombrado con éxito!
zen-background-tab-opened-toast = ¡Nueva pestaña abierta en segundo plano! zen-background-tab-opened-toast = ¡Nueva pestaña abierta en segundo plano!
zen-workspace-renamed-toast = ¡El espacio de trabajo ha sido renombrado con éxito! zen-workspace-renamed-toast = ¡El espacio de trabajo ha sido renombrado con éxito!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Espacios .label = Espacios
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Más información zen-learn-more-text = Más información
zen-close-label = Cerrar zen-close-label = Cerrar
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Buscar... .placeholder = Buscar...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Iconos .label = Iconos
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = praegune profiil zen-panel-ui-current-profile-text = praegune profiil
unified-extensions-description = Laiendusi kasutatakse täiendava funktsionaalsuse lisamiseks { -brand-short-name }i. unified-extensions-description = Laiendusi kasutatakse täiendava funktsionaalsuse lisamiseks { -brand-short-name }i.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Lähtesta püsikaart .label = Lähtesta püsikaart
.accesskey = p .accesskey = p
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Märgi oluliseks ({ $num } / 12 täidetud) .label = Märgi oluliseks ({ $num } / { $max } täidetud)
.accesskey = o .accesskey = o
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Eemalda olulistest .label = Eemalda olulistest
.accesskey = o .accesskey = o
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Asenda püsikaardi URL praegusega .label = Asenda püsikaardi URL praegusega
.accesskey = p .accesskey = p
zen-themes-corrupted = Sinu { -brand-short-name } mods-ide fail on vigane. See on nüüd lähtestatud vaikimisi teemaks. zen-themes-corrupted = Sinu { -brand-short-name } mods-ide fail on vigane. See on nüüd lähtestatud vaikimisi teemaks.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Uus asukohariba on sisse lülitatud, mistõttu pole enam uue kaardi lehte tarvis.<br/><br/> 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! Proovi avada uut kaarti, et näha uut asukohariba!
zen-disable = Lülita välja zen-disable = Lülita välja
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimeeri .aria-label = Minimeeri
.tooltip = Minimeeri .tooltip = Minimeeri
zen-panel-ui-gradient-generator-custom-color = Kohandatud värv zen-panel-ui-gradient-generator-custom-color = Kohandatud värv
zen-panel-ui-gradient-generator-saved-message = Värviüleminek on edukalt salvestatud! zen-panel-ui-gradient-generator-saved-message = Värviüleminek on edukalt salvestatud!
zen-copy-current-url-confirmation = URL kopeeriti lõikelauale. zen-copy-current-url-confirmation = URL kopeeriti lõikelauale.
zen-general-cancel-label = zen-general-cancel-label =
.label = Tühista .label = Tühista
zen-general-confirm = zen-general-confirm =
.label = Kinnita .label = Kinnita
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Kaart on edukalt ümber nimetatud! zen-tabs-renamed = Kaart on edukalt ümber nimetatud!
zen-background-tab-opened-toast = Taustal avati uus kaart! zen-background-tab-opened-toast = Taustal avati uus kaart!
zen-workspace-renamed-toast = Tööruum on edukalt ümber nimetatud! zen-workspace-renamed-toast = Tööruum on edukalt ümber nimetatud!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Tööruumid .label = Tööruumid
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods-id .label = Mods-id
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Rohkem teavet zen-learn-more-text = Rohkem teavet
zen-close-label = Sulge zen-close-label = Sulge
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Otsi... .placeholder = Otsi...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojid .label = Emojid
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ikoonid .label = Ikoonid
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = نمایهٔ کنونی zen-panel-ui-current-profile-text = نمایهٔ کنونی
unified-extensions-description = افزونه‌های در حال استفاده عملکردهای بیشتری به { -brand-short-name } می‌دهند. unified-extensions-description = افزونه‌های در حال استفاده عملکردهای بیشتری به { -brand-short-name } می‌دهند.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Reset Pinned Tab .label = Reset Pinned Tab
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remove from Essentials .label = Remove from Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Replace Pinned URL with Current .label = Replace Pinned URL with Current
.accesskey = C .accesskey = C
zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme. zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = Disable zen-disable = Disable
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Custom Color zen-panel-ui-gradient-generator-custom-color = Custom Color
zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient! zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient!
zen-copy-current-url-confirmation = The URL has been copied to the clipboard. zen-copy-current-url-confirmation = The URL has been copied to the clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = Close zen-close-label = Close
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = nykyinen profiili zen-panel-ui-current-profile-text = nykyinen profiili
unified-extensions-description = Laajennuksia käytetään tuomaan enemmän ylimääräisiä toimintoja { -brand-short-name }. unified-extensions-description = Laajennuksia käytetään tuomaan enemmän ylimääräisiä toimintoja { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Nollaa Kiinnitetty Välilehti .label = Nollaa Kiinnitetty Välilehti
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Poista olennaisista .label = Poista olennaisista
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Korvaa kiinnitetty URL-osoite nykyisellä .label = Korvaa kiinnitetty URL-osoite nykyisellä
.accesskey = C .accesskey = C
zen-themes-corrupted = { -brand-short-name } modejasi tiedosto on vioittunut. Ne on palautettu oletusteemaan. zen-themes-corrupted = { -brand-short-name } modejasi tiedosto on vioittunut. Ne on palautettu oletusteemaan.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = Disable zen-disable = Disable
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Muokattu Väri zen-panel-ui-gradient-generator-custom-color = Muokattu Väri
zen-panel-ui-gradient-generator-saved-message = Kaltevuus tallennettu onnistuneesti! zen-panel-ui-gradient-generator-saved-message = Kaltevuus tallennettu onnistuneesti!
zen-copy-current-url-confirmation = The URL has been copied to the clipboard. zen-copy-current-url-confirmation = The URL has been copied to the clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = Close zen-close-label = Close
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = profil actuel zen-panel-ui-current-profile-text = profil actuel
unified-extensions-description = Les extensions sont utilisées pour ajouter plus de fonctionnalités à { -brand-short-name }. unified-extensions-description = Les extensions sont utilisées pour ajouter plus de fonctionnalités à { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Réinitialiser longlet épinglé .label = Réinitialiser longlet épinglé
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Ajouter aux Essentials ({ $num }/12 emplacements occupés) .label = Ajouter aux Essentials ({ $num } / { $max } emplacements occupés)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Retirer des Essentials .label = Retirer des Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Remplacer lURL épinglée par lactuelle .label = Remplacer lURL épinglée par lactuelle
.accesskey = C .accesskey = C
zen-themes-corrupted = Votre fichier de thèmes { -brand-short-name } est corrompu. Il a été réinitialisé au thème par défaut. zen-themes-corrupted = Votre fichier de thèmes { -brand-short-name } est corrompu. Il a été réinitialisé au thème par défaut.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
La nouvelle barre dadresse a été activée, supprimant la nécessité de nouvelles pages donglets.<br/><br/> La nouvelle barre dadresse a été activée, supprimant la nécessité de nouvelles pages donglets.<br/><br/>
Essayez douvrir un nouvel onglet pour voir la nouvelle barre dadresse en action! Essayez douvrir un nouvel onglet pour voir la nouvelle barre dadresse en action!
zen-disable = Désactiver zen-disable = Désactiver
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimiser .aria-label = Minimiser
.tooltip = Minimiser .tooltip = Minimiser
zen-panel-ui-gradient-generator-custom-color = Couleur personnalisée zen-panel-ui-gradient-generator-custom-color = Couleur personnalisée
zen-panel-ui-gradient-generator-saved-message = Le dégradé a été enregistré avec succès! zen-panel-ui-gradient-generator-saved-message = Le dégradé a été enregistré avec succès!
zen-copy-current-url-confirmation = Ladresse a été copiée dans le presse-papier. zen-copy-current-url-confirmation = Ladresse a été copiée dans le presse-papier.
zen-general-cancel-label = zen-general-cancel-label =
.label = Annuler .label = Annuler
zen-general-confirm = zen-general-confirm =
.label = Confirmer .label = Confirmer
zen-pinned-tab-replaced = Ladresse de l'onglet épinglé a été remplacée par ladresse actuelle. zen-pinned-tab-replaced = Ladresse de l'onglet épinglé a été remplacée par ladresse actuelle.
zen-tabs-renamed = Longlet a été renommé avec succès! zen-tabs-renamed = Longlet a été renommé avec succès!
zen-background-tab-opened-toast = Nouvel onglet ouvert en arrière-plan! zen-background-tab-opened-toast = Nouvel onglet ouvert en arrière-plan!
zen-workspace-renamed-toast = L'espace de travail a été renommé avec succès ! zen-workspace-renamed-toast = L'espace de travail a été renommé avec succès !
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Espaces .label = Espaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = En savoir plus zen-learn-more-text = En savoir plus
zen-close-label = Fermer zen-close-label = Fermer
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Rechercher... .placeholder = Rechercher...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Émojis .label = Émojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icônes .label = Icônes
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = próifíl reatha zen-panel-ui-current-profile-text = próifíl reatha
unified-extensions-description = Úsáidtear síntí chun níos mó feidhmiúlachta breise a thabhairt isteach i { -brand-short-name }. unified-extensions-description = Úsáidtear síntí chun níos mó feidhmiúlachta breise a thabhairt isteach i { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Athshocraigh an Cluaisín Prionáilte .label = Athshocraigh an Cluaisín Prionáilte
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Cuir le Bunriachtanais ({ $num } / 12 sliotán líonta) .label = Cuir le Bunriachtanais ({ $num } / { $max } sliotán líonta)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Bain de na Bunriachtanais .label = Bain de na Bunriachtanais
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Cuir URL Prionáilte in ionad an URL Reatha .label = Cuir URL Prionáilte in ionad an URL Reatha
.accesskey = C .accesskey = C
zen-themes-corrupted = Tá do chomhad mods { -brand-short-name } truaillithe. Tá siad athshocraithe chuig an téama réamhshocraithe. zen-themes-corrupted = Tá do chomhad mods { -brand-short-name } truaillithe. Tá siad athshocraithe chuig an téama réamhshocraithe.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Tá an barra URL nua cumasaithe, rud a fhágann nach bhfuil gá le leathanaigh cluaisín nua.<br/><br/> Tá an barra URL nua cumasaithe, rud a fhágann nach bhfuil gá le leathanaigh cluaisín nua.<br/><br/>
Bain triail as cluaisín nua a oscailt chun an barra URL nua i mbun oibre a fheiceáil! Bain triail as cluaisín nua a oscailt chun an barra URL nua i mbun oibre a fheiceáil!
zen-disable = Díchumasaigh zen-disable = Díchumasaigh
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Íoslaghdaigh .aria-label = Íoslaghdaigh
.tooltip = Íoslaghdaigh .tooltip = Íoslaghdaigh
zen-panel-ui-gradient-generator-custom-color = Dath Saincheaptha zen-panel-ui-gradient-generator-custom-color = Dath Saincheaptha
zen-panel-ui-gradient-generator-saved-message = Sábháladh an grádán go rathúil! zen-panel-ui-gradient-generator-saved-message = Sábháladh an grádán go rathúil!
zen-copy-current-url-confirmation = Tá an URL cóipeáilte chuig an ghearrthaisce. zen-copy-current-url-confirmation = Tá an URL cóipeáilte chuig an ghearrthaisce.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cealaigh .label = Cealaigh
zen-general-confirm = zen-general-confirm =
.label = Deimhnigh .label = Deimhnigh
zen-pinned-tab-replaced = Tá URL an chluaisín phinnáilte curtha in ionad an URL reatha! zen-pinned-tab-replaced = Tá URL an chluaisín phinnáilte curtha in ionad an URL reatha!
zen-tabs-renamed = Athainmníodh an cluaisín go rathúil! zen-tabs-renamed = Athainmníodh an cluaisín go rathúil!
zen-background-tab-opened-toast = Tá cluaisín cúlra nua oscailte! zen-background-tab-opened-toast = Tá cluaisín cúlra nua oscailte!
zen-workspace-renamed-toast = Athainmníodh an spás oibre go rathúil! zen-workspace-renamed-toast = Athainmníodh an spás oibre go rathúil!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spásanna .label = Spásanna
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Modanna .label = Modanna
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Foghlaim Tuilleadh zen-learn-more-text = Foghlaim Tuilleadh
zen-close-label = Dún zen-close-label = Dún
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Cuardaigh... .placeholder = Cuardaigh...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Deilbhíní .label = Deilbhíní
urlbar-search-mode-zen_actions = Gníomhartha urlbar-search-mode-zen_actions = Gníomhartha

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = פרופיל נוכחי zen-panel-ui-current-profile-text = פרופיל נוכחי
unified-extensions-description = הרחבות מוסיפות פונקציונליות נוספת ל{ -brand-short-name }. unified-extensions-description = הרחבות מוסיפות פונקציונליות נוספת ל{ -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = אפס כרטיסייה מוצמדת .label = אפס כרטיסייה מוצמדת
.accesskey = ר .accesskey = ר
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = הוסף לנחוצים ({ $num } / 12 מקומות מלאים) .label = הוסף לנחוצים ({ $num } / { $max } מקומות מלאים)
.accesskey = ק .accesskey = ק
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = הסר מנחוצים .label = הסר מנחוצים
.accesskey = ר .accesskey = ר
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = החלף קישור מוצמד עם הנוכחי .label = החלף קישור מוצמד עם הנוכחי
.accesskey = ב .accesskey = ב
zen-themes-corrupted = קובץ המודים { -brand-short-name } שלך פגום. הם אופסו לנושא ברירת המחדל. zen-themes-corrupted = קובץ המודים { -brand-short-name } שלך פגום. הם אופסו לנושא ברירת המחדל.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
סרגל הכתובת החדש הופעל, ומסיר את הצורך בעמודי כרטיסייה חדשה.<br/><br/> סרגל הכתובת החדש הופעל, ומסיר את הצורך בעמודי כרטיסייה חדשה.<br/><br/>
נסה לפתוח כרטיסייה חדשה כדי לראות את סרגל הכתובת החדש בפעולה! נסה לפתוח כרטיסייה חדשה כדי לראות את סרגל הכתובת החדש בפעולה!
zen-disable = כבה zen-disable = כבה
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = מזער .aria-label = מזער
.tooltip = מזער .tooltip = מזער
zen-panel-ui-gradient-generator-custom-color = צבע מותאם אישית zen-panel-ui-gradient-generator-custom-color = צבע מותאם אישית
zen-panel-ui-gradient-generator-saved-message = מיזוג הצבעים נשמר בהצלחה! zen-panel-ui-gradient-generator-saved-message = מיזוג הצבעים נשמר בהצלחה!
zen-copy-current-url-confirmation = הקישור הועתק ללוח. zen-copy-current-url-confirmation = הקישור הועתק ללוח.
zen-general-cancel-label = zen-general-cancel-label =
.label = ביטול .label = ביטול
zen-general-confirm = zen-general-confirm =
.label = אישור .label = אישור
zen-pinned-tab-replaced = קישור כרטיסייה מוצמדת הוחלפה עם הקישור הנוכחי. zen-pinned-tab-replaced = קישור כרטיסייה מוצמדת הוחלפה עם הקישור הנוכחי.
zen-tabs-renamed = שם הכרטיסייה שונתה בהצלחה! zen-tabs-renamed = שם הכרטיסייה שונתה בהצלחה!
zen-background-tab-opened-toast = לשונית נפתחה ברקע! zen-background-tab-opened-toast = לשונית נפתחה ברקע!
zen-workspace-renamed-toast = שם הסביבת עבודה שונתה בהצלחה! zen-workspace-renamed-toast = שם הסביבת עבודה שונתה בהצלחה!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = סביבות .label = סביבות
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = מודים .label = מודים
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = מידע נוסף zen-learn-more-text = מידע נוסף
zen-close-label = סגור zen-close-label = סגור
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = חיפוש... .placeholder = חיפוש...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = אימוג'ים .label = אימוג'ים
zen-icons-picker-svg = zen-icons-picker-svg =
.label = סמלים .label = סמלים
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = jelenlegi profil zen-panel-ui-current-profile-text = jelenlegi profil
unified-extensions-description = A bővítmények a { -brand-short-name }-t új funkciókkal látják el. unified-extensions-description = A bővítmények a { -brand-short-name }-t új funkciókkal látják el.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Kitűzött lap visszaállítása .label = Kitűzött lap visszaállítása
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Felvétel az alapvetőkbe ({ $num } / 12 hely foglalt) .label = Felvétel az alapvetőkbe ({ $num } / { $max } hely foglalt)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Eltávolítás az alapvetőkből .label = Eltávolítás az alapvetőkből
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Kitűzött lap cseréje a jelenlegi URL-el .label = Kitűzött lap cseréje a jelenlegi URL-el
.accesskey = C .accesskey = C
zen-themes-corrupted = A te { -brand-short-name } mod fájljaid károsodtak. Vissza lettek állítva az eredeti témára. zen-themes-corrupted = A te { -brand-short-name } mod fájljaid károsodtak. Vissza lettek állítva az eredeti témára.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Az új URL sáv engedélyezve lett, így nincs szükség új lapokra.<br/><br/> Az új URL sáv engedélyezve lett, így nincs szükség új lapokra.<br/><br/>
Próbáljon ki egy új lapot nyitni, hogy láthassa az új URL-sávot működés közben! Próbáljon ki egy új lapot nyitni, hogy láthassa az új URL-sávot működés közben!
zen-disable = Kikapcsolás zen-disable = Kikapcsolás
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimalizálás .aria-label = Minimalizálás
.tooltip = Minimalizálás .tooltip = Minimalizálás
zen-panel-ui-gradient-generator-custom-color = Egyedi szín zen-panel-ui-gradient-generator-custom-color = Egyedi szín
zen-panel-ui-gradient-generator-saved-message = Színátmenet sikeresen mentve! zen-panel-ui-gradient-generator-saved-message = Színátmenet sikeresen mentve!
zen-copy-current-url-confirmation = Az URL-cím a vágólapra lett másolva. zen-copy-current-url-confirmation = Az URL-cím a vágólapra lett másolva.
zen-general-cancel-label = zen-general-cancel-label =
.label = Mégsem .label = Mégsem
zen-general-confirm = zen-general-confirm =
.label = Megerősítés .label = Megerősítés
zen-pinned-tab-replaced = A rögzített lap URL címe helyébe az aktuális URL cím lépett! zen-pinned-tab-replaced = A rögzített lap URL címe helyébe az aktuális URL cím lépett!
zen-tabs-renamed = A lap sikeresen át lett nevezve! zen-tabs-renamed = A lap sikeresen át lett nevezve!
zen-background-tab-opened-toast = Új lap megnyitva! zen-background-tab-opened-toast = Új lap megnyitva!
zen-workspace-renamed-toast = A munkakörnyezet sikeresen át lett nevezve! zen-workspace-renamed-toast = A munkakörnyezet sikeresen át lett nevezve!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Környezetek .label = Környezetek
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Modok .label = Modok
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Tudjon meg többet zen-learn-more-text = Tudjon meg többet
zen-close-label = Bezárás zen-close-label = Bezárás
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Keresés... .placeholder = Keresés...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojik .label = Emojik
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ikonok .label = Ikonok
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = profil saat ini zen-panel-ui-current-profile-text = profil saat ini
unified-extensions-description = Ekstensi digunakan untuk menambahkan lebih banyak fungsi ekstra ke { -brand-short-name }. unified-extensions-description = Ekstensi digunakan untuk menambahkan lebih banyak fungsi ekstra ke { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Kembalikan ke URL Awal .label = Kembalikan ke URL Awal
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Tambahkan ke Essentials ({ $num } / 12 slot terisi) .label = Tambahkan ke Essentials ({ $num } / { $max } slot terisi)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Hapus dari Essentials .label = Hapus dari Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Ganti URL Sematan ke URL saat ini .label = Ganti URL Sematan ke URL saat ini
.accesskey = C .accesskey = C
zen-themes-corrupted = Tidak dapat memuat file tema { -brand-short-name } Anda karena rusak. File tersebut telah diatur ulang ke tema default. zen-themes-corrupted = Tidak dapat memuat file tema { -brand-short-name } Anda karena rusak. File tersebut telah diatur ulang ke tema default.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Bilah URL baru telah diaktifkan, menghapus kebutuhan untuk halaman tab baru.<br/><br/> Bilah URL baru telah diaktifkan, menghapus kebutuhan untuk halaman tab baru.<br/><br/>
Coba buka tab baru untuk melihat bilah URL baru beraksi! Coba buka tab baru untuk melihat bilah URL baru beraksi!
zen-disable = Nonaktifkan zen-disable = Nonaktifkan
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimalkan .aria-label = Minimalkan
.tooltip = Minimalkan .tooltip = Minimalkan
zen-panel-ui-gradient-generator-custom-color = Warna Kustom zen-panel-ui-gradient-generator-custom-color = Warna Kustom
zen-panel-ui-gradient-generator-saved-message = Berhasil menyimpan gradien! zen-panel-ui-gradient-generator-saved-message = Berhasil menyimpan gradien!
zen-copy-current-url-confirmation = URL telah disalin ke clipboard. zen-copy-current-url-confirmation = URL telah disalin ke clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Batalkan .label = Batalkan
zen-general-confirm = zen-general-confirm =
.label = Konfirmasi .label = Konfirmasi
zen-pinned-tab-replaced = URL awal dari tab yang disematkan telah diganti dengan URL saat ini. zen-pinned-tab-replaced = URL awal dari tab yang disematkan telah diganti dengan URL saat ini.
zen-tabs-renamed = Tab telah berhasil diubah namanya! zen-tabs-renamed = Tab telah berhasil diubah namanya!
zen-background-tab-opened-toast = Tab baru telah terbuka di latar belakang! zen-background-tab-opened-toast = Tab baru telah terbuka di latar belakang!
zen-workspace-renamed-toast = Ruang Kerja telah berhasil diubah namanya! zen-workspace-renamed-toast = Ruang Kerja telah berhasil diubah namanya!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Ruang .label = Ruang
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Pelajari Lebih Lanjut zen-learn-more-text = Pelajari Lebih Lanjut
zen-close-label = Tutup zen-close-label = Tutup
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Cari... .placeholder = Cari...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emoji .label = Emoji
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ikon .label = Ikon
urlbar-search-mode-zen_actions = Aksi urlbar-search-mode-zen_actions = Aksi

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = núverandi prófíl zen-panel-ui-current-profile-text = núverandi prófíl
unified-extensions-description = Viðbætur eru notaðar til að koma með meiri auka virkni inn í { -brand-short-name }. unified-extensions-description = Viðbætur eru notaðar til að koma með meiri auka virkni inn í { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Endursetja Festan Flipa .label = Endursetja Festan Flipa
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Fjarlægja frá Höfuðatriði .label = Fjarlægja frá Höfuðatriði
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Setja aftur Fest-URL með Núverandi .label = Setja aftur Fest-URL með Núverandi
.accesskey = C .accesskey = C
zen-themes-corrupted = { -brand-short-name } mods skráin þín er skemmd. Þeir hafa verið endurstilltir á sjálfgefið þema. zen-themes-corrupted = { -brand-short-name } mods skráin þín er skemmd. Þeir hafa verið endurstilltir á sjálfgefið þema.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Nýja vefslóðastikan hefur verið virkjuð og fjarlægir þörfina á nýjum flipasíðum.<br/><br/> Nýja vefslóðastikan hefur verið virkjuð og fjarlægir þörfina á nýjum flipasíðum.<br/><br/>
Prófaðu að opna nýjan flipa til að sjá nýju vefslóðastikuna í notkun! Prófaðu að opna nýjan flipa til að sjá nýju vefslóðastikuna í notkun!
zen-disable = Óvirkja zen-disable = Óvirkja
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Sérsniðinn litur zen-panel-ui-gradient-generator-custom-color = Sérsniðinn litur
zen-panel-ui-gradient-generator-saved-message = Vistað hallann! zen-panel-ui-gradient-generator-saved-message = Vistað hallann!
zen-copy-current-url-confirmation = Slóðin hefur verið afrituð á klippiborðið. zen-copy-current-url-confirmation = Slóðin hefur verið afrituð á klippiborðið.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Læra Meira zen-learn-more-text = Læra Meira
zen-close-label = Loka zen-close-label = Loka
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = profilo in uso zen-panel-ui-current-profile-text = profilo in uso
unified-extensions-description = Le estensioni sono usate per portare più funzionalità in { -brand-short-name }. unified-extensions-description = Le estensioni sono usate per portare più funzionalità in { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Reimposta Scheda Bloccata .label = Reimposta Scheda Bloccata
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Aggiungi a Essentials ({ $num } / 12 slot riempiti) .label = Aggiungi a Essentials ({ $num } / { $max } slot riempiti)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Rimuovi dagli Essenziali .label = Rimuovi dagli Essenziali
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Sostituisci URL fissato con quello corrente .label = Sostituisci URL fissato con quello corrente
.accesskey = C .accesskey = C
zen-themes-corrupted = Il tuo file { -brand-short-name } mods è danneggiato. Sono stati reimpostati al tema predefinito. zen-themes-corrupted = Il tuo file { -brand-short-name } mods è danneggiato. Sono stati reimpostati al tema predefinito.
@@ -17,33 +17,33 @@ zen-shortcuts-corrupted = Il file delle scorciatoie per { -brand-short-name } è
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-new-urlbar-notification = La nuova barra degli indirizzi è stata abilitata, eliminando la necessità della pagina di una nuova scheda.<br/><br/>Prova ad aprire una nuova scheda per vedere la nuova barra degli indirizzi in azione! zen-new-urlbar-notification = La nuova barra degli indirizzi è stata abilitata, eliminando la necessità della pagina di una nuova scheda.<br/><br/>Prova ad aprire una nuova scheda per vedere la nuova barra degli indirizzi in azione!
zen-disable = Disabilita zen-disable = Disabilita
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimizza .aria-label = Minimizza
.tooltip = Minimizza .tooltip = Minimizza
zen-panel-ui-gradient-generator-custom-color = Colore Personalizzato zen-panel-ui-gradient-generator-custom-color = Colore Personalizzato
zen-panel-ui-gradient-generator-saved-message = Gradiente salvato con successo! zen-panel-ui-gradient-generator-saved-message = Gradiente salvato con successo!
zen-copy-current-url-confirmation = L'URL è stato copiato negli appunti. zen-copy-current-url-confirmation = L'URL è stato copiato negli appunti.
zen-general-cancel-label = zen-general-cancel-label =
.label = Annulla .label = Annulla
zen-general-confirm = zen-general-confirm =
.label = Conferma .label = Conferma
zen-pinned-tab-replaced = L'URL della scheda bloccata è stato sostituito con l'URL attuale. zen-pinned-tab-replaced = L'URL della scheda bloccata è stato sostituito con l'URL attuale.
zen-tabs-renamed = La scheda è stata rinominata con successo! zen-tabs-renamed = La scheda è stata rinominata con successo!
zen-background-tab-opened-toast = Nuova scheda aperta in background! zen-background-tab-opened-toast = Nuova scheda aperta in background!
zen-workspace-renamed-toast = Il Workspace è stato rinominato con successo! zen-workspace-renamed-toast = Il Workspace è stato rinominato con successo!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spazi .label = Spazi
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mod .label = Mod
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Scopri di più zen-learn-more-text = Scopri di più
zen-close-label = Chiudi zen-close-label = Chiudi
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Cerca... .placeholder = Cerca...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emoji .label = Emoji
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icone .label = Icone
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = 使用中のプロファイル zen-panel-ui-current-profile-text = 使用中のプロファイル
unified-extensions-description = 拡張機能は、 { -brand-short-name } に多くの追加機能をもたらすために使用されます。 unified-extensions-description = 拡張機能は、 { -brand-short-name } に多くの追加機能をもたらすために使用されます。
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = ピン留めされたタブをリセット .label = ピン留めされたタブをリセット
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Essentialsから削除 .label = Essentialsから削除
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = ピン留めされた URL を現在のものに置き換え .label = ピン留めされた URL を現在のものに置き換え
.accesskey = C .accesskey = C
zen-themes-corrupted = { -brand-short-name } Modファイルが破損しています。既定のテーマにリセットされました。 zen-themes-corrupted = { -brand-short-name } Modファイルが破損しています。既定のテーマにリセットされました。
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = 無効 zen-disable = 無効
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = カスタムカラー zen-panel-ui-gradient-generator-custom-color = カスタムカラー
zen-panel-ui-gradient-generator-saved-message = グラデーションを正常に保存しました! zen-panel-ui-gradient-generator-saved-message = グラデーションを正常に保存しました!
zen-copy-current-url-confirmation = URLをクリップボードにコピーしました zen-copy-current-url-confirmation = URLをクリップボードにコピーしました
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = 閉じる zen-close-label = 閉じる
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = 현재 프로필 zen-panel-ui-current-profile-text = 현재 프로필
unified-extensions-description = 확장 프로그램은 { -brand-short-name }에 더 많은 추가 기능을 제공하는 데 사용됩니다. unified-extensions-description = 확장 프로그램은 { -brand-short-name }에 더 많은 추가 기능을 제공하는 데 사용됩니다.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = 고정된 탭 초기화 .label = 고정된 탭 초기화
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = 에센셜에 추가 ({ $num } / 12 개 추가됨) .label = 에센셜에 추가 ({ $num } / { $max } 개 추가됨)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = 에센셜에서 제거하기 .label = 에센셜에서 제거하기
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = 고정된 URL을 현재 URL로 변경 .label = 고정된 URL을 현재 URL로 변경
.accesskey = C .accesskey = C
zen-themes-corrupted = { -brand-short-name } 모드 파일이 손상되었습니다. 기본 테마로 재설정되었습니다. zen-themes-corrupted = { -brand-short-name } 모드 파일이 손상되었습니다. 기본 테마로 재설정되었습니다.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
새 탭 페이지가 필요 없는 새로운 주소 표시줄이 활성화 되었습니다.<br/><br/> 새 탭 페이지가 필요 없는 새로운 주소 표시줄이 활성화 되었습니다.<br/><br/>
새 탭을 열어서 새로운 URL 바를 만나보세요! 새 탭을 열어서 새로운 URL 바를 만나보세요!
zen-disable = 비활성화 zen-disable = 비활성화
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = 최소화 .aria-label = 최소화
.tooltip = 최소화 .tooltip = 최소화
zen-panel-ui-gradient-generator-custom-color = 커스텀 색상 zen-panel-ui-gradient-generator-custom-color = 커스텀 색상
zen-panel-ui-gradient-generator-saved-message = 성공적으로 그라데이션을 저장했습니다! zen-panel-ui-gradient-generator-saved-message = 성공적으로 그라데이션을 저장했습니다!
zen-copy-current-url-confirmation = URL이 복사되었습니다. zen-copy-current-url-confirmation = URL이 복사되었습니다.
zen-general-cancel-label = zen-general-cancel-label =
.label = 취소 .label = 취소
zen-general-confirm = zen-general-confirm =
.label = 확인 .label = 확인
zen-pinned-tab-replaced = 고정 URL이 현재 URL로 변경되었습니다! zen-pinned-tab-replaced = 고정 URL이 현재 URL로 변경되었습니다!
zen-tabs-renamed = 탭의 이름이 성공적으로 변경되었습니다! zen-tabs-renamed = 탭의 이름이 성공적으로 변경되었습니다!
zen-background-tab-opened-toast = 새 백그라운드 탭이 열렸습니다! zen-background-tab-opened-toast = 새 백그라운드 탭이 열렸습니다!
zen-workspace-renamed-toast = 워크스페이스 이름이 변경되었습니다! zen-workspace-renamed-toast = 워크스페이스 이름이 변경되었습니다!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = 스페이스 .label = 스페이스
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = 모드 .label = 모드
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = 더 알아보기 zen-learn-more-text = 더 알아보기
zen-close-label = 닫기 zen-close-label = 닫기
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = 검색... .placeholder = 검색...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = 이모티콘 .label = 이모티콘
zen-icons-picker-svg = zen-icons-picker-svg =
.label = 아이콘 .label = 아이콘
urlbar-search-mode-zen_actions = 액션 urlbar-search-mode-zen_actions = 액션

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = dabartinis profilis zen-panel-ui-current-profile-text = dabartinis profilis
unified-extensions-description = Plėtiniai naudojami norint į „{ -brand-short-name }“ įtraukti daugiau papildomų funkcijų. unified-extensions-description = Plėtiniai naudojami norint į „{ -brand-short-name }“ įtraukti daugiau papildomų funkcijų.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Atkurti prisegtą kortelę .label = Atkurti prisegtą kortelę
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Įtraukti į būtiniausius ({ $num } / 12 užpildytų vietų) .label = Įtraukti į būtiniausius ({ $num } / { $max } užpildytų vietų)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Šalinti iš būtiniausių .label = Šalinti iš būtiniausių
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Pakeisti prisegtą URL adresą dabartiniu .label = Pakeisti prisegtą URL adresą dabartiniu
.accesskey = C .accesskey = C
zen-themes-corrupted = Jūsų „{ -brand-short-name }“ modifikacijos failas sugadintas. Jie buvo atkurti į numatytąją temą. zen-themes-corrupted = Jūsų „{ -brand-short-name }“ modifikacijos failas sugadintas. Jie buvo atkurti į numatytąją temą.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Įjungta nauja URL juosta, todėl nebereikia naujų kortelių puslapių.<br/><br/> Įjungta nauja URL juosta, todėl nebereikia naujų kortelių puslapių.<br/><br/>
Pabandykite atverti naują kortelę, kad pamatytumėte naująją URL juostą! Pabandykite atverti naują kortelę, kad pamatytumėte naująją URL juostą!
zen-disable = Išjungti zen-disable = Išjungti
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Sumažinti .aria-label = Sumažinti
.tooltip = Sumažinti .tooltip = Sumažinti
zen-panel-ui-gradient-generator-custom-color = Pasirinktinė spalva zen-panel-ui-gradient-generator-custom-color = Pasirinktinė spalva
zen-panel-ui-gradient-generator-saved-message = Gradientas sėkmingai įrašytas. zen-panel-ui-gradient-generator-saved-message = Gradientas sėkmingai įrašytas.
zen-copy-current-url-confirmation = URL buvo nukopijuotas į iškarpinę. zen-copy-current-url-confirmation = URL buvo nukopijuotas į iškarpinę.
zen-general-cancel-label = zen-general-cancel-label =
.label = Atšaukti .label = Atšaukti
zen-general-confirm = zen-general-confirm =
.label = Patvirtinti .label = Patvirtinti
zen-pinned-tab-replaced = Prisegtos kortelės URL pakeistas dabartiniu URL. zen-pinned-tab-replaced = Prisegtos kortelės URL pakeistas dabartiniu URL.
zen-tabs-renamed = Kortelė sėkmingai pervadinta. zen-tabs-renamed = Kortelė sėkmingai pervadinta.
zen-background-tab-opened-toast = Nauja fonos kortelė atverta. zen-background-tab-opened-toast = Nauja fonos kortelė atverta.
zen-workspace-renamed-toast = Darbo sritis sėkmingai pervadintas. zen-workspace-renamed-toast = Darbo sritis sėkmingai pervadintas.
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Erdvės .label = Erdvės
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Modifikacijos .label = Modifikacijos
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Sužinoti daugiau zen-learn-more-text = Sužinoti daugiau
zen-close-label = Užverti zen-close-label = Užverti
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Ieškokite... .placeholder = Ieškokite...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Jaustukai .label = Jaustukai
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Piktogramos .label = Piktogramos
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = huidig profiel zen-panel-ui-current-profile-text = huidig profiel
unified-extensions-description = Extensies worden gebruikt om extra functionaliteit toe te voegen aan { -brand-short-name }. unified-extensions-description = Extensies worden gebruikt om extra functionaliteit toe te voegen aan { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Vastgezette tabblad resetten .label = Vastgezette tabblad resetten
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Toevoegen aan Essentials ({ $num } / 12 plekken gevuld) .label = Toevoegen aan Essentials ({ $num } / { $max } plekken gevuld)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Verwijderen uit Essentials .label = Verwijderen uit Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Vastgezette URL vervangen met huidige .label = Vastgezette URL vervangen met huidige
.accesskey = C .accesskey = C
zen-themes-corrupted = Je { -brand-short-name } mods bestand is beschadigd. Ze zijn gereset naar het standaard thema. zen-themes-corrupted = Je { -brand-short-name } mods bestand is beschadigd. Ze zijn gereset naar het standaard thema.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
De nieuwe URL-balk is ingeschakeld, waardoor nieuwe tabbladen niet meer nodig zijn.<br/><br/> De nieuwe URL-balk is ingeschakeld, waardoor nieuwe tabbladen niet meer nodig zijn.<br/><br/>
Probeer een nieuw tabblad te openen om de nieuwe URL-balk in actie te zien! Probeer een nieuw tabblad te openen om de nieuwe URL-balk in actie te zien!
zen-disable = Uitschakelen zen-disable = Uitschakelen
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimaliseren .aria-label = Minimaliseren
.tooltip = Minimaliseren .tooltip = Minimaliseren
zen-panel-ui-gradient-generator-custom-color = Aangepaste kleur zen-panel-ui-gradient-generator-custom-color = Aangepaste kleur
zen-panel-ui-gradient-generator-saved-message = Verloop is succesvol opgeslagen! zen-panel-ui-gradient-generator-saved-message = Verloop is succesvol opgeslagen!
zen-copy-current-url-confirmation = De URL is gekopieerd naar het klembord. zen-copy-current-url-confirmation = De URL is gekopieerd naar het klembord.
zen-general-cancel-label = zen-general-cancel-label =
.label = Annuleren .label = Annuleren
zen-general-confirm = zen-general-confirm =
.label = Bevestigen .label = Bevestigen
zen-pinned-tab-replaced = Vastgemaakte tabblad URL is vervangen met de huidige URL! zen-pinned-tab-replaced = Vastgemaakte tabblad URL is vervangen met de huidige URL!
zen-tabs-renamed = Tabblad is succesvol hernoemd! zen-tabs-renamed = Tabblad is succesvol hernoemd!
zen-background-tab-opened-toast = Nieuw achtergrondtabblad geopend! zen-background-tab-opened-toast = Nieuw achtergrondtabblad geopend!
zen-workspace-renamed-toast = Werkruimte succesvol is hernoemd! zen-workspace-renamed-toast = Werkruimte succesvol is hernoemd!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Ruimtes .label = Ruimtes
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Meer leren zen-learn-more-text = Meer leren
zen-close-label = Sluiten zen-close-label = Sluiten
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Zoeken… .placeholder = Zoeken…
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = current profile zen-panel-ui-current-profile-text = current profile
unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }. unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Reset Pinned Tab .label = Reset Pinned Tab
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remove from Essentials .label = Remove from Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Replace Pinned URL with Current .label = Replace Pinned URL with Current
.accesskey = C .accesskey = C
zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme. zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = Disable zen-disable = Disable
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Custom Color zen-panel-ui-gradient-generator-custom-color = Custom Color
zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient! zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient!
zen-copy-current-url-confirmation = The URL has been copied to the clipboard. zen-copy-current-url-confirmation = The URL has been copied to the clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = Close zen-close-label = Close
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = Aktualny profil zen-panel-ui-current-profile-text = Aktualny profil
unified-extensions-description = Rozszerzenia są używane do zapewnienia większej liczby dodatkowych funkcji w { -brand-short-name }. unified-extensions-description = Rozszerzenia są używane do zapewnienia większej liczby dodatkowych funkcji w { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Resetuj przypiętą kartę .label = Resetuj przypiętą kartę
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Dodaj do Niezbędnych ({ $num } / 12 miejsc wypełnione) .label = Dodaj do Niezbędnych ({ $num } / { $max } miejsc wypełnione)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Usuń z Niezbędnych .label = Usuń z Niezbędnych
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Zastąp przypięty adres URL aktualnym .label = Zastąp przypięty adres URL aktualnym
.accesskey = C .accesskey = C
zen-themes-corrupted = Twój plik modów { -brand-short-name } jest uszkodzony. Zostały one zresetowane do domyślnego stanu. zen-themes-corrupted = Twój plik modów { -brand-short-name } jest uszkodzony. Zostały one zresetowane do domyślnego stanu.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Nowy pasek adresu został aktywowany, a tym samym strona nowej karty nie jest już potrzebna.<br/><br/> Nowy pasek adresu został aktywowany, a tym samym strona nowej karty nie jest już potrzebna.<br/><br/>
Spróbuj otworzyć nową kartę i wypróbuj nowy pasek adresu w akcji! Spróbuj otworzyć nową kartę i wypróbuj nowy pasek adresu w akcji!
zen-disable = Deaktywuj zen-disable = Deaktywuj
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Zminimalizuj .aria-label = Zminimalizuj
.tooltip = Zminimalizuj .tooltip = Zminimalizuj
zen-panel-ui-gradient-generator-custom-color = Niestandardowy kolor zen-panel-ui-gradient-generator-custom-color = Niestandardowy kolor
zen-panel-ui-gradient-generator-saved-message = Pomyślnie zapisano gradient! zen-panel-ui-gradient-generator-saved-message = Pomyślnie zapisano gradient!
zen-copy-current-url-confirmation = Adres URL został skopiowany do schowka. zen-copy-current-url-confirmation = Adres URL został skopiowany do schowka.
zen-general-cancel-label = zen-general-cancel-label =
.label = Anuluj .label = Anuluj
zen-general-confirm = zen-general-confirm =
.label = Potwierdź .label = Potwierdź
zen-pinned-tab-replaced = URL przypiętej karty został zastąpiony bieżącym adresem. zen-pinned-tab-replaced = URL przypiętej karty został zastąpiony bieżącym adresem.
zen-tabs-renamed = Nazwa karty została z powodzeniem zmieniona! zen-tabs-renamed = Nazwa karty została z powodzeniem zmieniona!
zen-background-tab-opened-toast = Nowa karta została otworzona w tle! zen-background-tab-opened-toast = Nowa karta została otworzona w tle!
zen-workspace-renamed-toast = Zmieniono nazwę Przestrzeni roboczej! zen-workspace-renamed-toast = Zmieniono nazwę Przestrzeni roboczej!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Przestrzenie .label = Przestrzenie
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Modyfikacje .label = Modyfikacje
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Dowiedz się więcej zen-learn-more-text = Dowiedz się więcej
zen-close-label = Zamknij zen-close-label = Zamknij
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Szukaj... .placeholder = Szukaj...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = perfil atual zen-panel-ui-current-profile-text = perfil atual
unified-extensions-description = As extensões são usadas para trazer mais recursos adicionais para o { -brand-short-name }. unified-extensions-description = As extensões são usadas para trazer mais recursos adicionais para o { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Redefinir Guia Fixada .label = Redefinir Guia Fixada
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Adicionar aos Essenciais ({ $num } / 12 espaços preenchidos) .label = Adicionar aos Essenciais ({ $num } / { $max } espaços preenchidos)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remover dos Essenciais .label = Remover dos Essenciais
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Substituir URL da Guia Fixada pela Atual .label = Substituir URL da Guia Fixada pela Atual
.accesskey = C .accesskey = C
zen-themes-corrupted = Seu arquivo de modificações { -brand-short-name } está corrompido. Eles foram redefinidos para o tema padrão. zen-themes-corrupted = Seu arquivo de modificações { -brand-short-name } está corrompido. Eles foram redefinidos para o tema padrão.
@@ -17,33 +17,33 @@ zen-shortcuts-corrupted = Seu arquivo de atalhos { -brand-short-name } está cor
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-new-urlbar-notification = A nova barra de URL foi ativada, removendo a necessidade de novas páginas de guia.<br/><br/>Tente abrir uma nova guia para ver a nova barra de URL em ação! zen-new-urlbar-notification = A nova barra de URL foi ativada, removendo a necessidade de novas páginas de guia.<br/><br/>Tente abrir uma nova guia para ver a nova barra de URL em ação!
zen-disable = Desativar zen-disable = Desativar
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimizar .aria-label = Minimizar
.tooltip = Minimizar .tooltip = Minimizar
zen-panel-ui-gradient-generator-custom-color = Cor Personalizada zen-panel-ui-gradient-generator-custom-color = Cor Personalizada
zen-panel-ui-gradient-generator-saved-message = O gradiente foi salvo com sucesso! zen-panel-ui-gradient-generator-saved-message = O gradiente foi salvo com sucesso!
zen-copy-current-url-confirmation = A URL foi copiada para a área de transferência. zen-copy-current-url-confirmation = A URL foi copiada para a área de transferência.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancelar .label = Cancelar
zen-general-confirm = zen-general-confirm =
.label = Confirmar .label = Confirmar
zen-pinned-tab-replaced = A URL da guia fixada foi substituída pela URL atual! zen-pinned-tab-replaced = A URL da guia fixada foi substituída pela URL atual!
zen-tabs-renamed = A guia foi renomeada com sucesso! zen-tabs-renamed = A guia foi renomeada com sucesso!
zen-background-tab-opened-toast = Nova guia em segundo plano aberta! zen-background-tab-opened-toast = Nova guia em segundo plano aberta!
zen-workspace-renamed-toast = A área de trabalho foi renomeada com sucesso! zen-workspace-renamed-toast = A área de trabalho foi renomeada com sucesso!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Espaços .label = Espaços
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Saiba Mais zen-learn-more-text = Saiba Mais
zen-close-label = Fechar zen-close-label = Fechar
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Pesquisar... .placeholder = Pesquisar...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ícones .label = Ícones
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = perfil atual zen-panel-ui-current-profile-text = perfil atual
unified-extensions-description = As extensões são usadas para trazer funcionalidades adicionais para o { -brand-short-name }. unified-extensions-description = As extensões são usadas para trazer funcionalidades adicionais para o { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Repor o Separador Fixado .label = Repor o Separador Fixado
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Adicionar aos Essenciais ({ $num }/12 espaços preenchidos) .label = Adicionar aos Essenciais ({ $num } / { $max } espaços preenchidos)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remover dos Essenciais .label = Remover dos Essenciais
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Substituir o URL Fixado pelo URL Atual .label = Substituir o URL Fixado pelo URL Atual
.accesskey = C .accesskey = C
zen-themes-corrupted = O seu ficheiro de modificações do { -brand-short-name } está corrompido. Elas foram redefinidas como iguais às do tema padrão. zen-themes-corrupted = O seu ficheiro de modificações do { -brand-short-name } está corrompido. Elas foram redefinidas como iguais às do tema padrão.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
A nova barra de URL foi ativada, removendo a necessidade de páginas de novo separador.<br/><br/> A nova barra de URL foi ativada, removendo a necessidade de páginas de novo separador.<br/><br/>
Experimente abrir um novo separador para ver a nova barra de URL em ação! Experimente abrir um novo separador para ver a nova barra de URL em ação!
zen-disable = Desativar zen-disable = Desativar
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimizar .aria-label = Minimizar
.tooltip = Minimizar .tooltip = Minimizar
zen-panel-ui-gradient-generator-custom-color = Cor personalizada zen-panel-ui-gradient-generator-custom-color = Cor personalizada
zen-panel-ui-gradient-generator-saved-message = Gradiente guardado com sucesso! zen-panel-ui-gradient-generator-saved-message = Gradiente guardado com sucesso!
zen-copy-current-url-confirmation = O URL foi copiado para a área de transferência. zen-copy-current-url-confirmation = O URL foi copiado para a área de transferência.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancelar .label = Cancelar
zen-general-confirm = zen-general-confirm =
.label = Confirmar .label = Confirmar
zen-pinned-tab-replaced = O URL do separador fixado foi substituído pelo URL atual. zen-pinned-tab-replaced = O URL do separador fixado foi substituído pelo URL atual.
zen-tabs-renamed = Nome do separador alterado com sucesso! zen-tabs-renamed = Nome do separador alterado com sucesso!
zen-background-tab-opened-toast = Novo separador aberto em segundo plano! zen-background-tab-opened-toast = Novo separador aberto em segundo plano!
zen-workspace-renamed-toast = Nome do espaço de trabalho alterado com sucesso! zen-workspace-renamed-toast = Nome do espaço de trabalho alterado com sucesso!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Espaços .label = Espaços
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Modificações .label = Modificações
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Saber Mais zen-learn-more-text = Saber Mais
zen-close-label = Fechar zen-close-label = Fechar
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Pesquisar... .placeholder = Pesquisar...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ícones .label = Ícones
urlbar-search-mode-zen_actions = Ações urlbar-search-mode-zen_actions = Ações

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = текущий профиль zen-panel-ui-current-profile-text = текущий профиль
unified-extensions-description = Расширения дополняют функционал { -brand-short-name }. unified-extensions-description = Расширения дополняют функционал { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Сбросить закреплённую вкладку .label = Сбросить закреплённую вкладку
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Добавить в важное ({ $num } из 12 слотов заполнено) .label = Добавить в важное ({ $num } из { $num } слотов заполнено)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Удалить из важного .label = Удалить из важного
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Заменить закреплённый адрес на текущий .label = Заменить закреплённый адрес на текущий
.accesskey = C .accesskey = C
zen-themes-corrupted = Файл дополнения { -brand-short-name } повреждён. Возвращена тема по умолчанию. zen-themes-corrupted = Файл дополнения { -brand-short-name } повреждён. Возвращена тема по умолчанию.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Новая адресная строка активирована, теперь нет необходимости использовать отдельные страницы для новых вкладок.<br/><br/> Новая адресная строка активирована, теперь нет необходимости использовать отдельные страницы для новых вкладок.<br/><br/>
Попробуйте открыть новую вкладку, чтобы увидеть новую адресную строку в действии! Попробуйте открыть новую вкладку, чтобы увидеть новую адресную строку в действии!
zen-disable = Выключить zen-disable = Выключить
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Свернуть .aria-label = Свернуть
.tooltip = Свернуть .tooltip = Свернуть
zen-panel-ui-gradient-generator-custom-color = Пользовательский цвет zen-panel-ui-gradient-generator-custom-color = Пользовательский цвет
zen-panel-ui-gradient-generator-saved-message = Градиент успешно сохранён! zen-panel-ui-gradient-generator-saved-message = Градиент успешно сохранён!
zen-copy-current-url-confirmation = Ссылка скопирована в буфер обмена. zen-copy-current-url-confirmation = Ссылка скопирована в буфер обмена.
zen-general-cancel-label = zen-general-cancel-label =
.label = Отменить .label = Отменить
zen-general-confirm = zen-general-confirm =
.label = Подтвердить .label = Подтвердить
zen-pinned-tab-replaced = Адрес закреплённой вкладки заменён на текущий адрес! zen-pinned-tab-replaced = Адрес закреплённой вкладки заменён на текущий адрес!
zen-tabs-renamed = Вкладка успешно переименована! zen-tabs-renamed = Вкладка успешно переименована!
zen-background-tab-opened-toast = Открыта новая фоновая вкладка! zen-background-tab-opened-toast = Открыта новая фоновая вкладка!
zen-workspace-renamed-toast = Пространство успешно переименовано! zen-workspace-renamed-toast = Пространство успешно переименовано!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Пространства .label = Пространства
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Моды .label = Моды
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Узнать больше zen-learn-more-text = Узнать больше
zen-close-label = Закрыть zen-close-label = Закрыть
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Найти... .placeholder = Найти...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Эмодзи .label = Эмодзи
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Иконки .label = Иконки
urlbar-search-mode-zen_actions = Действия urlbar-search-mode-zen_actions = Действия

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = nuvarande profil zen-panel-ui-current-profile-text = nuvarande profil
unified-extensions-description = Tillägg används för att få fler extra funktioner i { -brand-short-name }. unified-extensions-description = Tillägg används för att få fler extra funktioner i { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Återställ Fäst flik .label = Återställ Fäst flik
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Lägg till Essentials ({ $num } / 12 platser fyllda) .label = Lägg till Essentials ({ $num } / { $max } platser fyllda)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Ta bort från Essentials .label = Ta bort från Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Ersätt fäst fliks URL med nuvarande .label = Ersätt fäst fliks URL med nuvarande
.accesskey = C .accesskey = C
zen-themes-corrupted = Din { -brand-short-name } modds-fil är skadad. De har återställts till standardtemat. zen-themes-corrupted = Din { -brand-short-name } modds-fil är skadad. De har återställts till standardtemat.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = Inaktivera zen-disable = Inaktivera
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimera .aria-label = Minimera
.tooltip = Minimera .tooltip = Minimera
zen-panel-ui-gradient-generator-custom-color = Anpassad färg zen-panel-ui-gradient-generator-custom-color = Anpassad färg
zen-panel-ui-gradient-generator-saved-message = Lyckades spara gradienten! zen-panel-ui-gradient-generator-saved-message = Lyckades spara gradienten!
zen-copy-current-url-confirmation = Länken har kopierats till urklipp. zen-copy-current-url-confirmation = Länken har kopierats till urklipp.
zen-general-cancel-label = zen-general-cancel-label =
.label = Avbryt .label = Avbryt
zen-general-confirm = zen-general-confirm =
.label = Bekräfta .label = Bekräfta
zen-pinned-tab-replaced = Den fästa flikens URL har ersatts med den aktuella URL! zen-pinned-tab-replaced = Den fästa flikens URL har ersatts med den aktuella URL!
zen-tabs-renamed = Fliken har fått nytt namn! zen-tabs-renamed = Fliken har fått nytt namn!
zen-background-tab-opened-toast = Ny bakgrundsflik öppnad! zen-background-tab-opened-toast = Ny bakgrundsflik öppnad!
zen-workspace-renamed-toast = Arbetsytan har fått ett nytt namn! zen-workspace-renamed-toast = Arbetsytan har fått ett nytt namn!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Arbetsytor .label = Arbetsytor
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Läs mer zen-learn-more-text = Läs mer
zen-close-label = Stäng zen-close-label = Stäng
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Sök... .placeholder = Sök...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Ikoner .label = Ikoner
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = current profile zen-panel-ui-current-profile-text = current profile
unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }. unified-extensions-description = Extensions are used to bring more extra functionality into { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Reset Pinned Tab .label = Reset Pinned Tab
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Remove from Essentials .label = Remove from Essentials
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Replace Pinned URL with Current .label = Replace Pinned URL with Current
.accesskey = C .accesskey = C
zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme. zen-themes-corrupted = Your { -brand-short-name } mods file is corrupted. They have been reset to the default theme.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/> 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! Try opening a new tab to see the new URL bar in action!
zen-disable = Disable zen-disable = Disable
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Minimize .aria-label = Minimize
.tooltip = Minimize .tooltip = Minimize
zen-panel-ui-gradient-generator-custom-color = Custom Color zen-panel-ui-gradient-generator-custom-color = Custom Color
zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient! zen-panel-ui-gradient-generator-saved-message = Successfully saved the gradient!
zen-copy-current-url-confirmation = The URL has been copied to the clipboard. zen-copy-current-url-confirmation = The URL has been copied to the clipboard.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Confirm .label = Confirm
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL. zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
zen-tabs-renamed = Tab has been successfully renamed! zen-tabs-renamed = Tab has been successfully renamed!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Learn More zen-learn-more-text = Learn More
zen-close-label = Close zen-close-label = Close
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = mevcut profil zen-panel-ui-current-profile-text = mevcut profil
unified-extensions-description = Uzantılar { -brand-short-name } daha fazla işlevsellik kazandırmak için kullanılır. unified-extensions-description = Uzantılar { -brand-short-name } daha fazla işlevsellik kazandırmak için kullanılır.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Sabitlenen Sekmeyi Sıfırla .label = Sabitlenen Sekmeyi Sıfırla
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Temel Ögelerden Kaldır .label = Temel Ögelerden Kaldır
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Sabitlenen URL'yi Mevcut ile Değiştir .label = Sabitlenen URL'yi Mevcut ile Değiştir
.accesskey = C .accesskey = C
zen-themes-corrupted = { -brand-short-name } adlı modun dosyaları hatalı. Varsayılan temaya sıfırlandılar. zen-themes-corrupted = { -brand-short-name } adlı modun dosyaları hatalı. Varsayılan temaya sıfırlandılar.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Yeni sekme sayfalarına ihtiyacı kaldıran yeni URL Bar aktifleşti.<br/><br/> Yeni sekme sayfalarına ihtiyacı kaldıran yeni URL Bar aktifleşti.<br/><br/>
Yeni URL bar'ı görmek için yeni bir sekme açın! Yeni URL bar'ı görmek için yeni bir sekme açın!
zen-disable = Devre dışı bırak zen-disable = Devre dışı bırak
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Küçült .aria-label = Küçült
.tooltip = Küçült .tooltip = Küçült
zen-panel-ui-gradient-generator-custom-color = Özel Renk zen-panel-ui-gradient-generator-custom-color = Özel Renk
zen-panel-ui-gradient-generator-saved-message = Renkler başarıyla kaydedildi! zen-panel-ui-gradient-generator-saved-message = Renkler başarıyla kaydedildi!
zen-copy-current-url-confirmation = URL panoya kopyalandı. zen-copy-current-url-confirmation = URL panoya kopyalandı.
zen-general-cancel-label = zen-general-cancel-label =
.label = Cancel .label = Cancel
zen-general-confirm = zen-general-confirm =
.label = Onayla .label = Onayla
zen-pinned-tab-replaced = Başa tutturulmuş sekme URL'si, şimdiki URL ile değiştirildi. zen-pinned-tab-replaced = Başa tutturulmuş sekme URL'si, şimdiki URL ile değiştirildi.
zen-tabs-renamed = Sekme başarıyla yeniden adlandırıldı! zen-tabs-renamed = Sekme başarıyla yeniden adlandırıldı!
zen-background-tab-opened-toast = New background tab opened! zen-background-tab-opened-toast = New background tab opened!
zen-workspace-renamed-toast = Workspace has been successfully renamed! zen-workspace-renamed-toast = Workspace has been successfully renamed!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Spaces .label = Spaces
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Daha Fazla Bilgi zen-learn-more-text = Daha Fazla Bilgi
zen-close-label = Kapat zen-close-label = Kapat
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Search... .placeholder = Search...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Emojis .label = Emojis
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Icons .label = Icons
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = поточний профіль zen-panel-ui-current-profile-text = поточний профіль
unified-extensions-description = Розширення використовуються, щоб додати більше функціональних можливостей до { -brand-short-name }. unified-extensions-description = Розширення використовуються, щоб додати більше функціональних можливостей до { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Скинути прикріплену вкладку .label = Скинути прикріплену вкладку
.accesskey = Р .accesskey = Р
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Додати до Основного ({ $num } / 12 комірок заповнено) .label = Додати до Основного ({ $num } / { $max } комірок заповнено)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Вилучити з основних елементів .label = Вилучити з основних елементів
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Замінити закріплений URL на поточний .label = Замінити закріплений URL на поточний
.accesskey = C .accesskey = C
zen-themes-corrupted = Ваш файл модифікацій { -brand-short-name } пошкоджено. Вони були скинуті до типової теми. zen-themes-corrupted = Ваш файл модифікацій { -brand-short-name } пошкоджено. Вони були скинуті до типової теми.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Увімкнено новий рядок URL-адрес, що усуває потребу в нових сторінках вкладок.<br/><br/> Увімкнено новий рядок URL-адрес, що усуває потребу в нових сторінках вкладок.<br/><br/>
Спробуйте відкрити нову вкладку, щоб побачити новий рядок URL-адреси в дії! Спробуйте відкрити нову вкладку, щоб побачити новий рядок URL-адреси в дії!
zen-disable = Вимкнути zen-disable = Вимкнути
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Згорнути .aria-label = Згорнути
.tooltip = Згорнути .tooltip = Згорнути
zen-panel-ui-gradient-generator-custom-color = Власний колір zen-panel-ui-gradient-generator-custom-color = Власний колір
zen-panel-ui-gradient-generator-saved-message = Градієнт успішно збережено! zen-panel-ui-gradient-generator-saved-message = Градієнт успішно збережено!
zen-copy-current-url-confirmation = URL-адресу було скопійовано до буфера обміну. zen-copy-current-url-confirmation = URL-адресу було скопійовано до буфера обміну.
zen-general-cancel-label = zen-general-cancel-label =
.label = Скасувати .label = Скасувати
zen-general-confirm = zen-general-confirm =
.label = Підтвердити .label = Підтвердити
zen-pinned-tab-replaced = URL-адресу закріпленої вкладки замінено на поточну URL-адресу. zen-pinned-tab-replaced = URL-адресу закріпленої вкладки замінено на поточну URL-адресу.
zen-tabs-renamed = Вкладку успішно перейменовано! zen-tabs-renamed = Вкладку успішно перейменовано!
zen-background-tab-opened-toast = Відкрито нову фонову вкладку! zen-background-tab-opened-toast = Відкрито нову фонову вкладку!
zen-workspace-renamed-toast = Робочий простір успішно перейменовано! zen-workspace-renamed-toast = Робочий простір успішно перейменовано!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Простори .label = Простори
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Модифікації .label = Модифікації
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Дізнатися більше zen-learn-more-text = Дізнатися більше
zen-close-label = Закрити zen-close-label = Закрити
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Пошук... .placeholder = Пошук...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Емоджі .label = Емоджі
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Значки .label = Значки
urlbar-search-mode-zen_actions = Дії urlbar-search-mode-zen_actions = Дії

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = hồ sơ hiện tại zen-panel-ui-current-profile-text = hồ sơ hiện tại
unified-extensions-description = Các tiện ích mở rộng được sử dụng để mang thêm tính năng vào { -brand-short-name }. unified-extensions-description = Các tiện ích mở rộng được sử dụng để mang thêm tính năng vào { -brand-short-name }.
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = Đặt lại thẻ đã ghim .label = Đặt lại thẻ đã ghim
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Thêm thẻ vào thường trú (đã thêm { $num } / 12 ) .label = Thêm thẻ vào thường trú (đã thêm { $num } / { $max } )
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = Loại ra khỏi thẻ thường trú .label = Loại ra khỏi thẻ thường trú
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = Thay thế đường dường dẫn đã gim với hiện tại .label = Thay thế đường dường dẫn đã gim với hiện tại
.accesskey = C .accesskey = C
zen-themes-corrupted = Thư mục chủ đề { -brand-short-name } của bạn đã bị hư, chúng đã được trả về thiết kế gốc. zen-themes-corrupted = Thư mục chủ đề { -brand-short-name } của bạn đã bị hư, chúng đã được trả về thiết kế gốc.
@@ -19,33 +19,33 @@ zen-new-urlbar-notification =
Thanh đường dẫn mới đã được kích hoạt, loại bỏ chức năng của trang "thẻ mới". <br/><br/> Thanh đường dẫn mới đã được kích hoạt, loại bỏ chức năng của trang "thẻ mới". <br/><br/>
Hãy thử tạo một thể để xem cái "mới" của thành đường dẫn! Hãy thử tạo một thể để xem cái "mới" của thành đường dẫn!
zen-disable = Vô hiệu hóa zen-disable = Vô hiệu hóa
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = Thu nhỏ .aria-label = Thu nhỏ
.tooltip = Thu nhỏ .tooltip = Thu nhỏ
zen-panel-ui-gradient-generator-custom-color = Tùy chỉnh màu sắc zen-panel-ui-gradient-generator-custom-color = Tùy chỉnh màu sắc
zen-panel-ui-gradient-generator-saved-message = Lưu tùy chỉnh đổ màu thành công! zen-panel-ui-gradient-generator-saved-message = Lưu tùy chỉnh đổ màu thành công!
zen-copy-current-url-confirmation = Đường dẫn đã được chép vào bộ nhớ. zen-copy-current-url-confirmation = Đường dẫn đã được chép vào bộ nhớ.
zen-general-cancel-label = zen-general-cancel-label =
.label = Hủy .label = Hủy
zen-general-confirm = zen-general-confirm =
.label = Xác nhận .label = Xác nhận
zen-pinned-tab-replaced = Đường dẫn trên thẻ gim đã được thay thể bởi đường dẫn hiện tại! zen-pinned-tab-replaced = Đường dẫn trên thẻ gim đã được thay thể bởi đường dẫn hiện tại!
zen-tabs-renamed = Thẻ đã được đổi tên! zen-tabs-renamed = Thẻ đã được đổi tên!
zen-background-tab-opened-toast = Một thẻ mới đã được mở dưới nền! zen-background-tab-opened-toast = Một thẻ mới đã được mở dưới nền!
zen-workspace-renamed-toast = Không gian làm việc đã được đổi tên! zen-workspace-renamed-toast = Không gian làm việc đã được đổi tên!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = Không gian làm việc .label = Không gian làm việc
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = Mods .label = Mods
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = Tìm hiểu thêm zen-learn-more-text = Tìm hiểu thêm
zen-close-label = Đóng zen-close-label = Đóng
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = Tìm kiếm... .placeholder = Tìm kiếm...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = Biểu cảm .label = Biểu cảm
zen-icons-picker-svg = zen-icons-picker-svg =
.label = Biểu tượng .label = Biểu tượng
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = 当前配置 zen-panel-ui-current-profile-text = 当前配置
unified-extensions-description = 扩展用于为 { -brand-short-name } 带来更多额外功能。 unified-extensions-description = 扩展用于为 { -brand-short-name } 带来更多额外功能。
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = 重置固定标签页 .label = 重置固定标签页
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = 添加到常驻标签页(已使用 { $num } / 12 .label = 添加到常驻标签页(已使用 { $num } / { $max }
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = 从常驻标签页中移除 .label = 从常驻标签页中移除
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = 将固定标签页的 URL 替换为当前页面 URL .label = 将固定标签页的 URL 替换为当前页面 URL
.accesskey = C .accesskey = C
zen-themes-corrupted = 您的 { -brand-short-name } 模组文件已损坏。它们已重置为默认主题。 zen-themes-corrupted = 您的 { -brand-short-name } 模组文件已损坏。它们已重置为默认主题。
@@ -17,33 +17,33 @@ zen-shortcuts-corrupted = 您的 { -brand-short-name } 快捷键文件已损坏
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-new-urlbar-notification = 新的 URL 栏已启用,不再需要新标签页。<br/><br/>打开一个新标签页来试试看新 URL 栏! zen-new-urlbar-notification = 新的 URL 栏已启用,不再需要新标签页。<br/><br/>打开一个新标签页来试试看新 URL 栏!
zen-disable = 禁用 zen-disable = 禁用
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = 最小化 .aria-label = 最小化
.tooltip = 最小化 .tooltip = 最小化
zen-panel-ui-gradient-generator-custom-color = 自定义颜色 zen-panel-ui-gradient-generator-custom-color = 自定义颜色
zen-panel-ui-gradient-generator-saved-message = 渐变保存成功! zen-panel-ui-gradient-generator-saved-message = 渐变保存成功!
zen-copy-current-url-confirmation = 网址已复制到剪贴板。 zen-copy-current-url-confirmation = 网址已复制到剪贴板。
zen-general-cancel-label = zen-general-cancel-label =
.label = 取消 .label = 取消
zen-general-confirm = zen-general-confirm =
.label = 确认 .label = 确认
zen-pinned-tab-replaced = 固定标签页的网址已更新为当前页面网址。 zen-pinned-tab-replaced = 固定标签页的网址已更新为当前页面网址。
zen-tabs-renamed = 标签页重命名成功! zen-tabs-renamed = 标签页重命名成功!
zen-background-tab-opened-toast = 新的后台标签页已打开 zen-background-tab-opened-toast = 新的后台标签页已打开
zen-workspace-renamed-toast = 工作区重命名成功! zen-workspace-renamed-toast = 工作区重命名成功!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = 工作区 .label = 工作区
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = 模组 .label = 模组
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = 了解更多 zen-learn-more-text = 了解更多
zen-close-label = 关闭 zen-close-label = 关闭
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = 搜索… .placeholder = 搜索…
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = 表情符号 .label = 表情符号
zen-icons-picker-svg = zen-icons-picker-svg =
.label = 图标集 .label = 图标集
urlbar-search-mode-zen_actions = Actions urlbar-search-mode-zen_actions = Actions

View File

@@ -1,15 +1,15 @@
zen-panel-ui-current-profile-text = 當前設定檔 zen-panel-ui-current-profile-text = 當前設定檔
unified-extensions-description = 擴充功能可為 { -brand-short-name } 帶來更多額外功能。 unified-extensions-description = 擴充功能可為 { -brand-short-name } 帶來更多額外功能。
tab-context-zen-reset-pinned-tab = tab-context-zen-reset-pinned-tab =
.label = 重置釘選的分頁 .label = 重置釘選的分頁
.accesskey = R .accesskey = R
tab-context-zen-add-essential = tab-context-zen-add-essential =
.label = Add to Essentials ({ $num } / 12 slots filled) .label = Add to Essentials ({ $num } / { $max } slots filled)
.accesskey = E .accesskey = E
tab-context-zen-remove-essential = tab-context-zen-remove-essential =
.label = 從 Essentials 中移除 .label = 從 Essentials 中移除
.accesskey = R .accesskey = R
tab-context-zen-replace-pinned-url-with-current = tab-context-zen-replace-pinned-url-with-current =
.label = 將釘選的網址換成目前的網址 .label = 將釘選的網址換成目前的網址
.accesskey = C .accesskey = C
zen-themes-corrupted = 你的 { -brand-short-name } 模組文件已損壞,它們已重設為預設主題。 zen-themes-corrupted = 你的 { -brand-short-name } 模組文件已損壞,它們已重設為預設主題。
@@ -17,33 +17,33 @@ zen-shortcuts-corrupted = 你的 { -brand-short-name } 快捷文件已損壞。
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-new-urlbar-notification = 新的 URL 欄已啟用,你不再需要新增新分頁。<br/><br/>馬上打開新分頁來看看新的 URL 欄! zen-new-urlbar-notification = 新的 URL 欄已啟用,你不再需要新增新分頁。<br/><br/>馬上打開新分頁來看看新的 URL 欄!
zen-disable = 停用 zen-disable = 停用
pictureinpicture-minimize-btn = pictureinpicture-minimize-btn =
.aria-label = 最小化 .aria-label = 最小化
.tooltip = 最小化 .tooltip = 最小化
zen-panel-ui-gradient-generator-custom-color = 自訂顏色 zen-panel-ui-gradient-generator-custom-color = 自訂顏色
zen-panel-ui-gradient-generator-saved-message = 已成功儲存漸層! zen-panel-ui-gradient-generator-saved-message = 已成功儲存漸層!
zen-copy-current-url-confirmation = 網址已複製到剪貼簿。 zen-copy-current-url-confirmation = 網址已複製到剪貼簿。
zen-general-cancel-label = zen-general-cancel-label =
.label = 取消 .label = 取消
zen-general-confirm = zen-general-confirm =
.label = 確認 .label = 確認
zen-pinned-tab-replaced = 釘選分頁網址已替換為當前當前網址。 zen-pinned-tab-replaced = 釘選分頁網址已替換為當前當前網址。
zen-tabs-renamed = 已成功重新命名分頁! zen-tabs-renamed = 已成功重新命名分頁!
zen-background-tab-opened-toast = 已在背景開啟新分頁! zen-background-tab-opened-toast = 已在背景開啟新分頁!
zen-workspace-renamed-toast = 已成功重新命名工作區! zen-workspace-renamed-toast = 已成功重新命名工作區!
zen-library-sidebar-workspaces = zen-library-sidebar-workspaces =
.label = 工作區 .label = 工作區
zen-library-sidebar-mods = zen-library-sidebar-mods =
.label = 模組 .label = 模組
# note: Do not translate the "<br/>" tags in the following string # note: Do not translate the "<br/>" tags in the following string
zen-learn-more-text = 瞭解更多 zen-learn-more-text = 瞭解更多
zen-close-label = 關閉 zen-close-label = 關閉
zen-singletoolbar-urlbar-placeholder-with-name = zen-singletoolbar-urlbar-placeholder-with-name =
.placeholder = 搜尋... .placeholder = 搜尋...
zen-icons-picker-emoji = zen-icons-picker-emoji =
.label = 表情符號 .label = 表情符號
zen-icons-picker-svg = zen-icons-picker-svg =
.label = 圖示 .label = 圖示
urlbar-search-mode-zen_actions = 操作 urlbar-search-mode-zen_actions = 操作

View File

@@ -78,6 +78,7 @@
value: false value: false
- name: browser.tabs.groups.hoverPreview.enabled - name: browser.tabs.groups.hoverPreview.enabled
locked: true
value: false value: false
- name: browser.tabs.closeWindowWithLastTab - name: browser.tabs.closeWindowWithLastTab

View File

@@ -6,7 +6,7 @@
value: true value: true
- name: zen.folders.search.hover-delay - name: zen.folders.search.hover-delay
value: 1000 # ms value: 900 # ms
- name: zen.folders.max-subfolders - name: zen.folders.max-subfolders
value: 5 value: 5

View File

@@ -8,9 +8,6 @@
- name: zen.glance.enable-contextmenu-search - name: zen.glance.enable-contextmenu-search
value: true value: true
- name: zen.glance.hold-duration
value: 300 # in ms
- name: zen.glance.open-essential-external-links - name: zen.glance.open-essential-external-links
value: true value: true

View File

@@ -26,7 +26,7 @@
- name: zen.theme.disable-lightweight - name: zen.theme.disable-lightweight
value: true value: true
- name: zen.theme.use-sysyem-colors - name: zen.theme.use-system-colors
value: false value: false
- name: zen.theme.hide-tab-throbber - name: zen.theme.hide-tab-throbber

View File

@@ -51,3 +51,6 @@
- name: zen.view.context-menu.refresh - name: zen.view.context-menu.refresh
value: false value: false
- name: zen.view.borderless-fullscreen
value: true

View File

@@ -8,6 +8,9 @@
- name: zen.urlbar.show-protections-icon - name: zen.urlbar.show-protections-icon
value: false value: false
- name: zen.urlbar.show-contextual-id
value: false
- name: zen.urlbar.behavior - name: zen.urlbar.behavior
value: floating-on-type value: floating-on-type

View File

@@ -11,6 +11,9 @@
- name: zen.tabs.rename-tabs - name: zen.tabs.rename-tabs
value: true value: true
- name: zen.tabs.essentials.max
value: 12
- name: zen.tabs.show-newtab-vertical - name: zen.tabs.show-newtab-vertical
value: true value: true

View File

@@ -6,6 +6,7 @@ import os
import sys import sys
import json import json
from pathlib import Path from pathlib import Path
from typing import Any
IGNORE_PREFS_FILE_IN = os.path.join( IGNORE_PREFS_FILE_IN = os.path.join(
'src', 'zen', 'tests', 'ignorePrefs.json' 'src', 'zen', 'tests', 'ignorePrefs.json'
@@ -15,6 +16,15 @@ IGNORE_PREFS_FILE_OUT = os.path.join(
) )
class JSONWithCommentsDecoder(json.JSONDecoder):
def __init__(self, **kw):
super().__init__(**kw)
def decode(self, s: str) -> Any:
s = '\n'.join(l for l in s.split('\n') if not l.lstrip(' ').startswith('//'))
return super().decode(s)
def copy_ignore_prefs(): def copy_ignore_prefs():
print("Copying ignorePrefs.json from src/zen/tests to engine/testing/mochitest...") print("Copying ignorePrefs.json from src/zen/tests to engine/testing/mochitest...")
# if there are prefs that dont exist on output file, copy them from input file # if there are prefs that dont exist on output file, copy them from input file
@@ -22,7 +32,7 @@ def copy_ignore_prefs():
with open(IGNORE_PREFS_FILE_OUT, 'r') as f: with open(IGNORE_PREFS_FILE_OUT, 'r') as f:
all_prefs = json.load(f) all_prefs = json.load(f)
with open(IGNORE_PREFS_FILE_IN, 'r') as f_in: with open(IGNORE_PREFS_FILE_IN, 'r') as f_in:
new_prefs = json.load(f_in) new_prefs = json.load(f_in, cls=JSONWithCommentsDecoder)
all_prefs.extend(p for p in new_prefs if p not in all_prefs) all_prefs.extend(p for p in new_prefs if p not in all_prefs)
with open(IGNORE_PREFS_FILE_OUT, 'w') as f_out: with open(IGNORE_PREFS_FILE_OUT, 'w') as f_out:
json.dump(all_prefs, f_out, indent=2) json.dump(all_prefs, f_out, indent=2)

View File

@@ -1,8 +1,8 @@
diff --git a/Cargo.lock b/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock
index 2ac65181b1a9561ee4760e0569dfdd621c684142..b159fd8a351ba7c6541e8994a815de8150db619f 100644 index c079ef11880c5338c4498a0e5b3eb4cf4bfb6e02..ecd06b05381be740197c07c8cf0743dc882727f5 100644
--- a/Cargo.lock --- a/Cargo.lock
+++ b/Cargo.lock +++ b/Cargo.lock
@@ -4029,8 +4029,6 @@ dependencies = [ @@ -4069,8 +4069,6 @@ dependencies = [
[[package]] [[package]]
name = "mime_guess" name = "mime_guess"
version = "2.0.4" version = "2.0.4"

View File

@@ -1,8 +1,8 @@
diff --git a/Cargo.toml b/Cargo.toml diff --git a/Cargo.toml b/Cargo.toml
index 0fdad8b956be8119f5a914b9cee01bb6520cd13d..f1414b5afd5c66c61d1585184de6b32f9918670d 100644 index 2331ff5733d39e26c0a16301cb83d46ca970f632..777dbd5fb8546466e4a349772ccba254c7ffd691 100644
--- a/Cargo.toml --- a/Cargo.toml
+++ b/Cargo.toml +++ b/Cargo.toml
@@ -218,6 +218,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" } @@ -224,6 +224,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" }
# Workaround for https://github.com/rust-lang/cargo/issues/11232 # Workaround for https://github.com/rust-lang/cargo/issues/11232
rure = { path = "third_party/rust/rure" } rure = { path = "third_party/rust/rure" }

View File

@@ -1,5 +1,5 @@
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
index f327e1684d0966a0dcfdcdbf8cc70259b27a4504..c8f722bda4cf297f5d0a6aa22dafbe27c4218123 100644 index 80fd2177c7112c958ff51bbf7a18ebea39e50fbf..24f62810901dc558e25ee874bd49736bd64fd358 100644
--- a/browser/actors/WebRTCParent.sys.mjs --- a/browser/actors/WebRTCParent.sys.mjs
+++ b/browser/actors/WebRTCParent.sys.mjs +++ b/browser/actors/WebRTCParent.sys.mjs
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent { @@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd693f1f1135 100644 index 754ce380ed233eb8764af07af3c8dc95d3f39d5c..29864ab59819271b7319b273c08bdc2736d40c93 100644
--- a/browser/base/content/browser-addons.js --- a/browser/base/content/browser-addons.js
+++ b/browser/base/content/browser-addons.js +++ b/browser/base/content/browser-addons.js
@@ -1064,7 +1064,7 @@ var gXPInstallObserver = { @@ -1071,7 +1071,7 @@ var gXPInstallObserver = {
persistent: true, persistent: true,
hideClose: true, hideClose: true,
popupOptions: { popupOptions: {
@@ -11,7 +11,7 @@ index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd69
}, },
}; };
@@ -1273,7 +1273,7 @@ var gXPInstallObserver = { @@ -1280,7 +1280,7 @@ var gXPInstallObserver = {
hideClose: true, hideClose: true,
timeout: Date.now() + 30000, timeout: Date.now() + 30000,
popupOptions: { popupOptions: {
@@ -20,7 +20,47 @@ index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd69
}, },
}; };
@@ -2608,7 +2608,7 @@ var gUnifiedExtensions = { @@ -2212,7 +2212,7 @@ var gUnifiedExtensions = {
// If the new ID is not added in NOTIFICATION_IDS, consider handling the case
// in the "PopupNotificationsBeforeAnchor" handler elsewhere in this file.
getPopupAnchorID(aBrowser, aWindow) {
- const anchorID = "unified-extensions-button";
+ const anchorID = "zen-site-data-icon-button";
const attr = anchorID + "popupnotificationanchor";
if (!aBrowser[attr]) {
@@ -2223,7 +2223,7 @@ var gUnifiedExtensions = {
anchorID
// Anchor on the toolbar icon to position the popup right below the
// button.
- ).firstElementChild;
+ );
}
return anchorID;
@@ -2516,11 +2516,7 @@ var gUnifiedExtensions = {
// Lazy load the unified-extensions-panel panel the first time we need to
// display it.
if (!this._panel) {
- let template = document.getElementById(
- "unified-extensions-panel-template"
- );
- template.replaceWith(template.content);
- this._panel = document.getElementById("unified-extensions-panel");
+ this._panel = document.getElementById("zen-unified-site-data-panel");
let customizationArea = this._panel.querySelector(
"#unified-extensions-area"
);
@@ -2570,7 +2566,7 @@ var gUnifiedExtensions = {
// The button should directly open `about:addons` when the user does not
// have any active extensions listed in the unified extensions panel.
- if (!this.hasExtensionsInPanel()) {
+ if (!this.hasExtensionsInPanel() && false) {
let viewID;
if (
Services.prefs.getBoolPref("extensions.getAddons.showPane", true) &&
@@ -2615,7 +2611,7 @@ var gUnifiedExtensions = {
this.recordButtonTelemetry(reason || "extensions_panel_showing"); this.recordButtonTelemetry(reason || "extensions_panel_showing");
this.ensureButtonShownBeforeAttachingPanel(panel); this.ensureButtonShownBeforeAttachingPanel(panel);
PanelMultiView.openPopup(panel, this._button, { PanelMultiView.openPopup(panel, this._button, {
@@ -29,7 +69,7 @@ index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd69
triggerEvent: aEvent, triggerEvent: aEvent,
}); });
} }
@@ -2795,18 +2795,20 @@ var gUnifiedExtensions = { @@ -2802,18 +2798,20 @@ var gUnifiedExtensions = {
this._maybeMoveWidgetNodeBack(widgetId); this._maybeMoveWidgetNodeBack(widgetId);
} }

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
index 637e9dda83df5b490d6340367dd63077904ea056..6ffb1dc6ed1d6e58b4e8de1faca887f6b38115cb 100644 index 74aae01ddcdc4b6460ebbe174355ca129a89010b..52dd4e6aa49929394ed6afa6b25f4ee4954b8b94 100644
--- a/browser/base/content/browser-commands.js --- a/browser/base/content/browser-commands.js
+++ b/browser/base/content/browser-commands.js +++ b/browser/base/content/browser-commands.js
@@ -317,6 +317,10 @@ var BrowserCommands = { @@ -317,6 +317,10 @@ var BrowserCommands = {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
index d477ac782e0cb921203f8cd38da70a003ac41b39..648d0b4066b630a9b31da0bb8490f29da701dd3d 100644 index b41449d4c4bc373a4c9cf449c0bb370bfdbc20d6..f1166929397dd39b7f44bd9cb0d62a45d67f0e1d 100644
--- a/browser/base/content/browser-fullScreenAndPointerLock.js --- a/browser/base/content/browser-fullScreenAndPointerLock.js
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js +++ b/browser/base/content/browser-fullScreenAndPointerLock.js
@@ -427,10 +427,10 @@ var FullScreen = { @@ -427,10 +427,10 @@ var FullScreen = {

View File

@@ -1,20 +1,12 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
index e4a94863c0f0810d1894475b020814b2ad32ffb3..515f61d2df5d4a593fc32d3f32e8fdec2b8f5983 100644 index 8e63654b343e8518aa0e366a3fd3bf7e0856eafb..fe402e526ab33cdcc4baabf8685dfb03efac6003 100644
--- a/browser/base/content/browser-init.js --- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js +++ b/browser/base/content/browser-init.js
@@ -191,6 +191,7 @@ var gBrowserInit = { @@ -198,6 +198,7 @@ var gBrowserInit = {
}, },
onLoad() { onLoad() {
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window); + Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
gBrowser.addEventListener("DOMUpdateBlockedPopups", e => gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
PopupBlockerObserver.handleEvent(e) PopupAndRedirectBlockerObserver.handleEvent(e)
); );
@@ -359,6 +360,7 @@ var gBrowserInit = {
this._handleURIToLoad();
+ gZenWorkspaces.selectStartPage();
Services.obs.addObserver(gIdentityHandler, "perm-changed");
Services.obs.addObserver(gRemoteControl, "devtools-socket");
Services.obs.addObserver(gRemoteControl, "marionette-listening");

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae7782a987 100644 index 32b67f846b9942ad3da4276bb8748fee915eb485..f77d5df7c8ef49c0366ada8b3153c5a6c676239b 100644
--- a/browser/base/content/browser.js --- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js +++ b/browser/base/content/browser.js
@@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, { @@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, {
@@ -10,7 +10,7 @@ index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae
DevToolsSocketStatus: DevToolsSocketStatus:
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs", "resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs", DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
@@ -2291,6 +2292,8 @@ var XULBrowserWindow = { @@ -2293,6 +2294,8 @@ var XULBrowserWindow = {
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser); AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
TranslationsParent.onLocationChange(gBrowser.selectedBrowser); TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
@@ -19,7 +19,7 @@ index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser); PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) { if (!gMultiProcessBrowser) {
@@ -5232,6 +5235,9 @@ var ConfirmationHint = { @@ -4782,6 +4785,9 @@ var ConfirmationHint = {
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl"); MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl"); MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");
document.l10n.setAttributes(this._message, messageId, options.l10nArgs); document.l10n.setAttributes(this._message, messageId, options.l10nArgs);

View File

@@ -0,0 +1,12 @@
diff --git a/browser/base/content/browser-pageActions.js b/browser/base/content/browser-pageActions.js
index 00da33bc11189db17b6a2e656acb3a778531197c..9571155baccad9a886cbe9c7bf0bd76a135331c4 100644
--- a/browser/base/content/browser-pageActions.js
+++ b/browser/base/content/browser-pageActions.js
@@ -451,6 +451,7 @@ var BrowserPageActions = {
),
document.getElementById(this.mainButtonNode.id),
document.getElementById("identity-icon"),
+ document.getElementById("zen-site-data-icon-button"),
];
for (let node of potentialAnchorNodes) {
if (node && !node.hidden) {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
index 5ba2b6a58776e2b1d70b80e8cb1533cb20caafc6..65736705968732a185e81561b2866bfbe6f3233a 100644 index 79b4f6f8fb2f7dd8784920038784e6bb0c967e2d..1f3f4991b3ba7c00516e9708e89e8f95db25a36a 100644
--- a/browser/base/content/browser-places.js --- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js +++ b/browser/base/content/browser-places.js
@@ -252,6 +252,8 @@ var StarUI = { @@ -252,6 +252,8 @@ var StarUI = {

View File

@@ -1,8 +1,20 @@
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index 65354e0ad3097e10de72f36e257c94472524baf7..bc9527ec9ddfab11c0839398d3f3953872ad9632 100644 index 65354e0ad3097e10de72f36e257c94472524baf7..866cf5672f30f81a1d8e061c9af0c1af5fbb5fb2 100644
--- a/browser/base/content/browser-siteIdentity.js --- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js +++ b/browser/base/content/browser-siteIdentity.js
@@ -834,7 +834,7 @@ var gIdentityHandler = { @@ -453,11 +453,6 @@ var gIdentityHandler = {
// avoid a pretty ugly transition. Also hide it even
// if the update resulted in no site data, to keep the
// illusion that clicking the button had an effect.
- let hidden = new Promise(c => {
- this._identityPopup.addEventListener("popuphidden", c, { once: true });
- });
- PanelMultiView.hidePopup(this._identityPopup);
- await hidden;
let baseDomain = SiteDataManager.getBaseDomainFromHost(this._uri.host);
if (SiteDataManager.promptSiteDataRemoval(window, [baseDomain])) {
@@ -834,7 +829,7 @@ var gIdentityHandler = {
// This is a secure internal Firefox page. // This is a secure internal Firefox page.
this._identityBox.className = "chromeUI"; this._identityBox.className = "chromeUI";
let brandBundle = document.getElementById("bundle_brand"); let brandBundle = document.getElementById("bundle_brand");
@@ -11,7 +23,7 @@ index 65354e0ad3097e10de72f36e257c94472524baf7..bc9527ec9ddfab11c0839398d3f39538
} else if (this._pageExtensionPolicy) { } else if (this._pageExtensionPolicy) {
// This is a WebExtension page. // This is a WebExtension page.
this._identityBox.className = "extensionPage"; this._identityBox.className = "extensionPage";
@@ -1163,6 +1163,12 @@ var gIdentityHandler = { @@ -1163,6 +1158,12 @@ var gIdentityHandler = {
} }
} }

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c844cbf1cdf 100644 index ffddea280e2edffa2531b4b129489c2be0e2c3d2..f03db9e2db0dec06f997740337f28e76a08a3bdb 100644
--- a/browser/base/content/browser.xhtml --- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml +++ b/browser/base/content/browser.xhtml
@@ -26,6 +26,7 @@ @@ -19,6 +19,7 @@
sizemode="normal" sizemode="normal"
retargetdocumentfocus="urlbar-input" retargetdocumentfocus="urlbar-input"
scrolling="false" scrolling="false"
@@ -10,7 +10,7 @@ index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c84
persist="screenX screenY width height sizemode" persist="screenX screenY width height sizemode"
data-l10n-sync="true"> data-l10n-sync="true">
<head> <head>
@@ -105,8 +106,10 @@ @@ -98,8 +99,10 @@
<title data-l10n-id="browser-main-window-default-title"></title> <title data-l10n-id="browser-main-window-default-title"></title>
@@ -21,7 +21,7 @@ index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c84
</head> </head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
# All sets except for popupsets (commands, keys, and stringbundles) # All sets except for popupsets (commands, keys, and stringbundles)
@@ -128,9 +131,11 @@ @@ -132,9 +135,11 @@
</vbox> </vbox>
</html:template> </html:template>

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
index fc219ea3dc901fe2ed351161240700113efb8799..f25bdbf886733e2081a4dff55614809056e9885e 100644 index 69b83857f40bab6a7298c1416989df2d929d78c1..4ac9f02eb31f58a72d4c58c239ebeadcb66d1e16 100644
--- a/browser/base/content/main-popupset.inc.xhtml --- a/browser/base/content/main-popupset.inc.xhtml
+++ b/browser/base/content/main-popupset.inc.xhtml +++ b/browser/base/content/main-popupset.inc.xhtml
@@ -208,6 +208,10 @@ @@ -208,6 +208,10 @@
@@ -21,7 +21,7 @@ index fc219ea3dc901fe2ed351161240700113efb8799..f25bdbf886733e2081a4dff556148090
</panel> </panel>
</html:template> </html:template>
@@ -613,6 +618,8 @@ @@ -615,6 +620,8 @@
#include popup-notifications.inc.xhtml #include popup-notifications.inc.xhtml

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
index 8e56b24b39e9c1607e3ff208d284a9b555a91ebb..2402848ae564234ec22d5a317c43864ea1b36f29 100644 index 328a9b052e2f758f48df1caa8165347ed0301b33..1c111abe148f2e16afa6b5f33eb118b7c02dfd69 100644
--- a/browser/base/content/navigator-toolbox.inc.xhtml --- a/browser/base/content/navigator-toolbox.inc.xhtml
+++ b/browser/base/content/navigator-toolbox.inc.xhtml +++ b/browser/base/content/navigator-toolbox.inc.xhtml
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e71604425 100644 index 413bad2a62058a1c434d6a44e927e44eb397289d..472eab5d3bca2bc665920707a71105167cbe75ec 100644
--- a/browser/base/content/navigator-toolbox.js --- a/browser/base/content/navigator-toolbox.js
+++ b/browser/base/content/navigator-toolbox.js +++ b/browser/base/content/navigator-toolbox.js
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
@@ -11,6 +11,24 @@ index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e
const widgetOverflow = document.getElementById("widget-overflow"); const widgetOverflow = document.getElementById("widget-overflow");
function onPopupShowing(event) { function onPopupShowing(event) {
@@ -110,7 +110,7 @@ document.addEventListener(
#pageActionButton,
#downloads-button,
#fxa-toolbar-menu-button,
- #unified-extensions-button,
+ #zen-site-data-icon-button,
#library-button
`);
if (!element) {
@@ -138,7 +138,7 @@ document.addEventListener(
gSync.toggleAccountPanel(element, event);
break;
- case "unified-extensions-button":
+ case "zen-site-data-icon-button":
gUnifiedExtensions.togglePanel(event);
break;
@@ -187,6 +187,7 @@ document.addEventListener( @@ -187,6 +187,7 @@ document.addEventListener(
#reload-button , #reload-button ,
#urlbar-go-button, #urlbar-go-button,
@@ -27,3 +45,21 @@ index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e
gBrowser.handleNewTabMiddleClick(element, event); gBrowser.handleNewTabMiddleClick(element, event);
break; break;
@@ -317,7 +319,7 @@ document.addEventListener(
#pageActionButton,
#downloads-button,
#fxa-toolbar-menu-button,
- #unified-extensions-button,
+ #zen-site-data-icon-button,
#library-button
`);
if (!element) {
@@ -396,7 +398,7 @@ document.addEventListener(
gSync.toggleAccountPanel(element, event);
break;
- case "unified-extensions-button":
+ case "zen-site-data-icon-button":
gUnifiedExtensions.togglePanel(event);
break;

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
index bc71ba720ef3603e8b90d295fb16d8415ba114c4..99677f70e22258f61cc9bda31e4d8745d7ca9395 100644 index b4fe996f9685a085c14324a35a1d51e2fed569b7..c83d5e9bf92f8f2e3d96b121ba3b758dd124393b 100644
--- a/browser/base/content/nsContextMenu.sys.mjs --- a/browser/base/content/nsContextMenu.sys.mjs
+++ b/browser/base/content/nsContextMenu.sys.mjs +++ b/browser/base/content/nsContextMenu.sys.mjs
@@ -1095,6 +1095,8 @@ export class nsContextMenu { @@ -1105,6 +1105,8 @@ export class nsContextMenu {
!this.isSecureAboutPage() !this.isSecureAboutPage()
); );

View File

@@ -5,10 +5,7 @@
<commandset id="zenCommandSet"> <commandset id="zenCommandSet">
<command id="cmd_zenCompactModeToggle" /> <command id="cmd_zenCompactModeToggle" />
<command id="cmd_zenCompactModeShowSidebar" /> <command id="cmd_zenCompactModeShowSidebar" />
<command id="cmd_zenCompactModeShowToolbar" /> <command id="cmd_toggleCompactModeIgnoreHover" />
<command id="cmd_zenCompactModeHideSidebar" />
<command id="cmd_zenCompactModeHideToolbar" />
<command id="cmd_zenCompactModeHideBoth" />
<command id="cmd_zenWorkspaceForward" /> <command id="cmd_zenWorkspaceForward" />
<command id="cmd_zenWorkspaceBackward" /> <command id="cmd_zenWorkspaceBackward" />
@@ -42,6 +39,7 @@
<command id="cmd_contextZenRemoveFromEssentials" /> <command id="cmd_contextZenRemoveFromEssentials" />
<command id="cmd_zenCtxDeleteWorkspace" /> <command id="cmd_zenCtxDeleteWorkspace" />
<command id="cmd_zenUnloadWorkspace" />
<command id="cmd_zenChangeWorkspaceName" /> <command id="cmd_zenChangeWorkspaceName" />
<command id="cmd_zenChangeWorkspaceIcon" /> <command id="cmd_zenChangeWorkspaceIcon" />
<command id="cmd_zenReorderWorkspaces" /> <command id="cmd_zenReorderWorkspaces" />

View File

@@ -25,6 +25,7 @@
hide-if-usercontext-disabled="true"> hide-if-usercontext-disabled="true">
<menupopup /> <menupopup />
</menu> </menu>
<menuitem id="context_zenUnloadWorkspace" data-l10n-id="zen-workspaces-panel-unload" command="cmd_zenUnloadWorkspace"/>
<menuseparator id="context_zenWorkspacesSeparator"/> <menuseparator id="context_zenWorkspacesSeparator"/>
<menuseparator/> <menuseparator/>
<menuitem id="context_zenReorderWorkspaces" data-l10n-id="zen-workspaces-panel-context-reorder" command="cmd_zenReorderWorkspaces"/> <menuitem id="context_zenReorderWorkspaces" data-l10n-id="zen-workspaces-panel-context-reorder" command="cmd_zenReorderWorkspaces"/>
@@ -49,3 +50,12 @@
<menuitem id="context_zenFolderUnpack" data-l10n-id="zen-folders-panel-unpack-folder"/> <menuitem id="context_zenFolderUnpack" data-l10n-id="zen-folders-panel-unpack-folder"/>
<menuitem id="context_zenFolderDelete" data-l10n-id="zen-folders-panel-delete-folder"/> <menuitem id="context_zenFolderDelete" data-l10n-id="zen-folders-panel-delete-folder"/>
</menupopup> </menupopup>
<menupopup id="zenSiteDataActions">
<menuitem id="context_zenClearSiteData" data-l10n-id="identity-clear-site-data"/>
<menuseparator />
<menuitem command="Tools:Addons" data-l10n-id="zen-site-data-manage-addons"/>
<menuitem id="context_zenOpenGetAddons" data-l10n-id="zen-site-data-get-addons"/>
<menuseparator />
<menuitem id="context_zenOpenSiteSettings" data-l10n-id="zen-site-data-site-settings"/>
</menupopup>

View File

@@ -0,0 +1,87 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<panel id="zen-unified-site-data-panel"
role="group"
type="arrow"
noautofocus="true"
position="bottomright topright">
<panelmultiview mainViewId="unified-extensions-view">
# We'll keep the view with this name/id in order to prevent
# any sort of future issues we may have if firefox decides
# to change the functionality of this view
<panelview id="unified-extensions-view"
class="cui-widget-panelview"
mainview-with-header="true">
<hbox id="zen-site-data-header">
<toolbarbutton id="zen-site-data-header-share"
data-l10n-id="zen-site-data-share"
flex="1"
closemenu="none" />
<toolbarbutton id="zen-site-data-header-reader-mode"
command="View:ReaderView"
flex="1" />
<toolbarbutton id="zen-site-data-header-screenshot"
command="Browser:Screenshot"
flex="1" />
<toolbarbutton id="zen-site-data-header-bookmark"
command="Browser:AddBookmarkAs"
flex="1" />
</hbox>
<vbox class="zen-site-data-section">
<hbox class="zen-site-data-section-header">
<label data-l10n-id="unified-extensions-header-title" flex="1" />
<label data-l10n-id="zen-generic-manage" id="zen-site-data-manage-addons" />
</hbox>
<hbox class="panel-subview-body" context="unified-extensions-context-menu" id="zen-site-data-addons">
<html:div id="unified-extensions-messages-container">
<!-- messages will be inserted here -->
</html:div>
<vbox id="overflowed-extensions-list">
<!-- overflowed extension buttons from the nav-bar will go here -->
</vbox>
<vbox id="unified-extensions-area">
<!-- default area for extension browser action buttons -->
</vbox>
<vbox class="unified-extensions-list">
<!-- active visible extensions go here -->
</vbox>
<vbox id="zen-site-data-new-addon-button-container">
<toolbarbutton id="zen-site-data-new-addon-button"
class="subviewbutton toolbarbutton-1" />
</vbox>
</hbox>
# Keep this button on the DOM even though we hide it for ever,
# again, to keep firefox happy if they decide to change functionality
# for this specific button / id
<toolbarbutton id="unified-extensions-manage-extensions"
class="subviewbutton panel-subview-footer-button unified-extensions-manage-extensions"
data-l10n-id="unified-extensions-manage-extensions"
hidden="true" />
</vbox>
<vbox class="zen-site-data-section">
<hbox class="zen-site-data-section-header">
<label data-l10n-id="zen-site-data-settings" flex="1" />
<label data-l10n-id="zen-generic-more" id="zen-site-data-settings-more" />
</hbox>
<vbox id="zen-site-data-settings-list">
<!-- settings will be inserted here -->
</vbox>
</vbox>
<hbox id="zen-site-data-footer">
<toolbarbutton id="zen-site-data-security-info"
class="subviewbutton zen-interactive-button" />
<toolbarbutton id="zen-site-data-actions"
class="subviewbutton zen-interactive-button"
closemenu="none"
context="zenSiteDataActions" />
</hbox>
</panelview>
</panelmultiview>
</panel>

View File

@@ -5,5 +5,6 @@
#include zen-panels/gradient-generator.inc #include zen-panels/gradient-generator.inc
#include zen-panels/emojis-picker.inc #include zen-panels/emojis-picker.inc
#include zen-panels/folders-search.inc #include zen-panels/folders-search.inc
#include zen-panels/site-data.inc
#include zen-panels/popups.inc #include zen-panels/popups.inc

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/moz.build b/browser/base/moz.build diff --git a/browser/base/moz.build b/browser/base/moz.build
index 2f2807a246c262298d0802a6a80abe211c99732c..089a86c9e7f69b994657f20fb2392f3dcc8646bf 100644 index 086b462e706bb46727d0fed85b4c98debaeaf721..44a4fcb9b8181678667ee11b0443eed681dd2a43 100644
--- a/browser/base/moz.build --- a/browser/base/moz.build
+++ b/browser/base/moz.build +++ b/browser/base/moz.build
@@ -81,3 +81,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"] @@ -82,3 +82,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
JAR_MANIFESTS += ["jar.mn"] JAR_MANIFESTS += ["jar.mn"]

View File

@@ -1,12 +0,0 @@
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
index 8630614d23147365628e0cb7e9625b8f2a160588..0750869f16336452a458f27627e6fe0492aae462 100644
--- a/browser/components/BrowserContentHandler.sys.mjs
+++ b/browser/components/BrowserContentHandler.sys.mjs
@@ -1276,6 +1276,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
".avif",
".htm",
".html",
+ ".jxl",
".pdf",
".shtml",
".xht",

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
index eae3ed9518ad9ce2103bb912963465c1b10ac050..ccbb04cd36fd8fd63fd8c9ebd0b51f0a5966829c 100644 index 67b2806835baba3070f295d6b96f97077639995a..5f28e0073c893c57c1d6c37deaacf7b097351d60 100644
--- a/browser/components/BrowserGlue.sys.mjs --- a/browser/components/BrowserGlue.sys.mjs
+++ b/browser/components/BrowserGlue.sys.mjs +++ b/browser/components/BrowserGlue.sys.mjs
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; @@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
@@ -10,7 +10,7 @@ index eae3ed9518ad9ce2103bb912963465c1b10ac050..ccbb04cd36fd8fd63fd8c9ebd0b51f0a
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs", AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs", AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs", ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
@@ -1448,7 +1449,7 @@ BrowserGlue.prototype = { @@ -1458,7 +1459,7 @@ BrowserGlue.prototype = {
windowcount++; windowcount++;
let tabbrowser = win.gBrowser; let tabbrowser = win.gBrowser;
if (tabbrowser) { if (tabbrowser) {
@@ -19,7 +19,7 @@ index eae3ed9518ad9ce2103bb912963465c1b10ac050..ccbb04cd36fd8fd63fd8c9ebd0b51f0a
} }
} }
@@ -1611,6 +1612,8 @@ BrowserGlue.prototype = { @@ -1623,6 +1624,8 @@ BrowserGlue.prototype = {
} else if (profileDataVersion < APP_DATA_VERSION) { } else if (profileDataVersion < APP_DATA_VERSION) {
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION); lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
} }

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/controlcenter/content/identityPanel.inc.xhtml b/browser/components/controlcenter/content/identityPanel.inc.xhtml diff --git a/browser/components/controlcenter/content/identityPanel.inc.xhtml b/browser/components/controlcenter/content/identityPanel.inc.xhtml
index 225340c698f775a321bf5f82c0156bb0e3e2aa96..59e6613638efadfd2961999bd77b388c4529314b 100644 index 8e23aad8ca0bb686a669b11e1d78b7906f5f38d0..cf4873cc6165b5f77091c056d7e275e0f3d36769 100644
--- a/browser/components/controlcenter/content/identityPanel.inc.xhtml --- a/browser/components/controlcenter/content/identityPanel.inc.xhtml
+++ b/browser/components/controlcenter/content/identityPanel.inc.xhtml +++ b/browser/components/controlcenter/content/identityPanel.inc.xhtml
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0ade05e3b 100644 index d9a059f608779fea7cd8c595a432f6fe95183e0c..a3c18551e3b24ee86a4373cbbc4f2cdb074aa94d 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs --- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs +++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, { @@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@@ -10,7 +10,16 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
HomePage: "resource:///modules/HomePage.sys.mjs", HomePage: "resource:///modules/HomePage.sys.mjs",
PanelMultiView: PanelMultiView:
"moz-src:///browser/components/customizableui/PanelMultiView.sys.mjs", "moz-src:///browser/components/customizableui/PanelMultiView.sys.mjs",
@@ -333,19 +334,14 @@ var CustomizableUIInternal = { @@ -326,7 +327,7 @@ var CustomizableUIInternal = {
{
type: CustomizableUI.TYPE_PANEL,
defaultPlacements: [],
- anchor: "unified-extensions-button",
+ anchor: "zen-site-data-icon-button",
},
false
);
@@ -336,19 +337,14 @@ var CustomizableUIInternal = {
"back-button", "back-button",
"forward-button", "forward-button",
"stop-reload-button", "stop-reload-button",
@@ -31,7 +40,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
this.registerArea( this.registerArea(
CustomizableUI.AREA_NAVBAR, CustomizableUI.AREA_NAVBAR,
{ {
@@ -353,8 +349,6 @@ var CustomizableUIInternal = { @@ -356,8 +352,6 @@ var CustomizableUIInternal = {
overflowable: true, overflowable: true,
defaultPlacements: navbarPlacements, defaultPlacements: navbarPlacements,
verticalTabsDefaultPlacements: [ verticalTabsDefaultPlacements: [
@@ -40,7 +49,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
], ],
defaultCollapsed: false, defaultCollapsed: false,
}, },
@@ -378,10 +372,7 @@ var CustomizableUIInternal = { @@ -381,10 +375,7 @@ var CustomizableUIInternal = {
{ {
type: CustomizableUI.TYPE_TOOLBAR, type: CustomizableUI.TYPE_TOOLBAR,
defaultPlacements: [ defaultPlacements: [
@@ -51,7 +60,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
], ],
verticalTabsDefaultPlacements: [], verticalTabsDefaultPlacements: [],
defaultCollapsed: null, defaultCollapsed: null,
@@ -463,6 +454,7 @@ var CustomizableUIInternal = { @@ -466,6 +457,7 @@ var CustomizableUIInternal = {
CustomizableUI.AREA_NAVBAR, CustomizableUI.AREA_NAVBAR,
CustomizableUI.AREA_BOOKMARKS, CustomizableUI.AREA_BOOKMARKS,
CustomizableUI.AREA_TABSTRIP, CustomizableUI.AREA_TABSTRIP,
@@ -59,7 +68,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
]); ]);
if (AppConstants.platform != "macosx") { if (AppConstants.platform != "macosx") {
toolbars.add(CustomizableUI.AREA_MENUBAR); toolbars.add(CustomizableUI.AREA_MENUBAR);
@@ -1247,6 +1239,9 @@ var CustomizableUIInternal = { @@ -1250,6 +1242,9 @@ var CustomizableUIInternal = {
placements = gPlacements.get(area); placements = gPlacements.get(area);
} }
@@ -69,7 +78,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
// For toolbars that need it, mark as dirty. // For toolbars that need it, mark as dirty.
let defaultPlacements = areaProperties.get("defaultPlacements"); let defaultPlacements = areaProperties.get("defaultPlacements");
if ( if (
@@ -1754,7 +1749,7 @@ var CustomizableUIInternal = { @@ -1757,7 +1752,7 @@ var CustomizableUIInternal = {
lazy.log.info( lazy.log.info(
"Widget " + aWidgetId + " not found, unable to remove from " + aArea "Widget " + aWidgetId + " not found, unable to remove from " + aArea
); );
@@ -78,7 +87,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
} }
this.notifyDOMChange(widgetNode, null, container, true, () => { this.notifyDOMChange(widgetNode, null, container, true, () => {
@@ -1764,7 +1759,7 @@ var CustomizableUIInternal = { @@ -1767,7 +1762,7 @@ var CustomizableUIInternal = {
// We also need to remove the panel context menu if it's there: // We also need to remove the panel context menu if it's there:
this.ensureButtonContextMenu(widgetNode); this.ensureButtonContextMenu(widgetNode);
if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) { if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) {
@@ -87,7 +96,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
} else { } else {
window.gNavToolbox.palette.appendChild(widgetNode); window.gNavToolbox.palette.appendChild(widgetNode);
} }
@@ -1932,16 +1927,16 @@ var CustomizableUIInternal = { @@ -1935,16 +1930,16 @@ var CustomizableUIInternal = {
elem.setAttribute("skipintoolbarset", "true"); elem.setAttribute("skipintoolbarset", "true");
} }
} }
@@ -107,7 +116,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
// Handle initial state of vertical tabs. // Handle initial state of vertical tabs.
if (isVerticalTabs) { if (isVerticalTabs) {
// Show the vertical tabs toolbar // Show the vertical tabs toolbar
@@ -2183,6 +2178,10 @@ var CustomizableUIInternal = { @@ -2186,6 +2181,10 @@ var CustomizableUIInternal = {
* The identifier string of the area that aNode is being inserted into. * The identifier string of the area that aNode is being inserted into.
*/ */
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) { insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
@@ -118,7 +127,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => { this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
this.setLocationAttributes(aNode, aAreaId); this.setLocationAttributes(aNode, aAreaId);
aContainer.insertBefore(aNode, aNextNode); aContainer.insertBefore(aNode, aNextNode);
@@ -3303,7 +3302,6 @@ var CustomizableUIInternal = { @@ -3306,7 +3305,6 @@ var CustomizableUIInternal = {
if (!this.isWidgetRemovable(aWidgetId)) { if (!this.isWidgetRemovable(aWidgetId)) {
return; return;
} }
@@ -126,7 +135,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
let placements = gPlacements.get(oldPlacement.area); let placements = gPlacements.get(oldPlacement.area);
let position = placements.indexOf(aWidgetId); let position = placements.indexOf(aWidgetId);
if (position != -1) { if (position != -1) {
@@ -4538,7 +4536,7 @@ var CustomizableUIInternal = { @@ -4541,7 +4539,7 @@ var CustomizableUIInternal = {
* For all registered areas, builds those areas to reflect the current * For all registered areas, builds those areas to reflect the current
* placement state of all widgets. * placement state of all widgets.
*/ */
@@ -135,7 +144,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
for (let [areaId, areaNodes] of gBuildAreas) { for (let [areaId, areaNodes] of gBuildAreas) {
let placements = gPlacements.get(areaId); let placements = gPlacements.get(areaId);
let isFirstChangedToolbar = true; let isFirstChangedToolbar = true;
@@ -4549,7 +4547,7 @@ var CustomizableUIInternal = { @@ -4552,7 +4550,7 @@ var CustomizableUIInternal = {
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) { if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
let defaultCollapsed = area.get("defaultCollapsed"); let defaultCollapsed = area.get("defaultCollapsed");
let win = areaNode.ownerGlobal; let win = areaNode.ownerGlobal;
@@ -144,7 +153,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
win.setToolbarVisibility( win.setToolbarVisibility(
areaNode, areaNode,
typeof defaultCollapsed == "string" typeof defaultCollapsed == "string"
@@ -5840,6 +5838,7 @@ export var CustomizableUI = { @@ -5843,6 +5841,7 @@ export var CustomizableUI = {
unregisterArea(aName, aDestroyPlacements) { unregisterArea(aName, aDestroyPlacements) {
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements); CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
}, },
@@ -152,7 +161,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
/** /**
* Add a widget to an area. * Add a widget to an area.
* If the area to which you try to add is not known to CustomizableUI, * If the area to which you try to add is not known to CustomizableUI,
@@ -7887,11 +7886,11 @@ class OverflowableToolbar { @@ -7890,11 +7889,11 @@ class OverflowableToolbar {
parseFloat(style.paddingLeft) - parseFloat(style.paddingLeft) -
parseFloat(style.paddingRight) - parseFloat(style.paddingRight) -
toolbarChildrenWidth; toolbarChildrenWidth;
@@ -166,17 +175,17 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
}); });
lazy.log.debug( lazy.log.debug(
@@ -7901,7 +7900,8 @@ class OverflowableToolbar { @@ -7909,7 +7908,8 @@ class OverflowableToolbar {
// If the target has min-width: 0, their children might actually overflow Math.max(targetWidth, targetChildrenWidth)
// it, so check for both cases explicitly. );
let targetContentWidth = Math.max(targetWidth, targetChildrenWidth); totalAvailWidth = Math.ceil(totalAvailWidth);
- let isOverflowing = Math.floor(targetContentWidth) > totalAvailWidth; - let isOverflowing = targetContentWidth > totalAvailWidth;
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') return { isOverflowing: false, targetContentWidth, totalAvailWidth }; + if (win.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') return { isOverflowing: false, targetContentWidth, totalAvailWidth };
+ let isOverflowing = Math.floor(targetContentWidth) + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth; + let isOverflowing = targetContentWidth + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth;
return { isOverflowing, targetContentWidth, totalAvailWidth }; return { isOverflowing, targetContentWidth, totalAvailWidth };
} }
@@ -7995,7 +7995,7 @@ class OverflowableToolbar { @@ -8003,7 +8003,7 @@ class OverflowableToolbar {
} }
} }
if (!inserted) { if (!inserted) {
@@ -185,7 +194,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
} }
child.removeAttribute("cui-anchorid"); child.removeAttribute("cui-anchorid");
child.removeAttribute("overflowedItem"); child.removeAttribute("overflowedItem");
@@ -8340,7 +8340,7 @@ class OverflowableToolbar { @@ -8348,7 +8348,7 @@ class OverflowableToolbar {
break; break;
} }
case "mousedown": { case "mousedown": {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba40c695739 100644 index 89b0bb3b92c15b89499ffc6cf35dcee7ebb89e48..327afaea3821cdca8d7f58bfaa65c7ce3dbfa7a3 100644
--- a/browser/components/extensions/parent/ext-browser.js --- a/browser/components/extensions/parent/ext-browser.js
+++ b/browser/components/extensions/parent/ext-browser.js +++ b/browser/components/extensions/parent/ext-browser.js
@@ -351,6 +351,7 @@ class TabTracker extends TabTrackerBase { @@ -354,6 +354,7 @@ class TabTracker extends TabTrackerBase {
} }
getId(nativeTab) { getId(nativeTab) {
@@ -10,7 +10,7 @@ index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba4
let id = this._tabs.get(nativeTab); let id = this._tabs.get(nativeTab);
if (id) { if (id) {
return id; return id;
@@ -385,6 +386,7 @@ class TabTracker extends TabTrackerBase { @@ -388,6 +389,7 @@ class TabTracker extends TabTrackerBase {
if (nativeTab.ownerGlobal.closed) { if (nativeTab.ownerGlobal.closed) {
throw new Error("Cannot attach ID to a tab in a closed window."); throw new Error("Cannot attach ID to a tab in a closed window.");
} }
@@ -18,7 +18,7 @@ index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba4
this._tabs.set(nativeTab, id); this._tabs.set(nativeTab, id);
if (nativeTab.linkedBrowser) { if (nativeTab.linkedBrowser) {
@@ -1268,6 +1270,10 @@ class TabManager extends TabManagerBase { @@ -1271,6 +1273,10 @@ class TabManager extends TabManagerBase {
} }
canAccessTab(nativeTab) { canAccessTab(nativeTab) {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
index 29fb3308dcc98d785a3345dee78050d633927db2..0ae28fa0618def4a146723b19a22280956a25371 100644 index ee6050d411df009d8b61e49d7fdaba79f1bc5db1..0149528329dad3d48449175a35d96d3ed3a3058e 100644
--- a/browser/components/places/content/browserPlacesViews.js --- a/browser/components/places/content/browserPlacesViews.js
+++ b/browser/components/places/content/browserPlacesViews.js +++ b/browser/components/places/content/browserPlacesViews.js
@@ -330,12 +330,23 @@ class PlacesViewBase { @@ -330,12 +330,23 @@ class PlacesViewBase {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
index eac1fc65c01107cc7f1a3f3aeb1e8caac3c4a3f5..c3bd265acc924bcf26816e9e78f314c31af41f6d 100644 index a786155d80a9f1f09d209f2da11437ee2d662739..2e422b48b452698275118d336d1b16af6a221577 100644
--- a/browser/components/preferences/jar.mn --- a/browser/components/preferences/jar.mn
+++ b/browser/components/preferences/jar.mn +++ b/browser/components/preferences/jar.mn
@@ -27,3 +27,5 @@ browser.jar: @@ -30,3 +30,5 @@ browser.jar:
content/browser/preferences/widgets/setting-control.mjs (widgets/setting-control/setting-control.mjs) content/browser/preferences/widgets/setting-control.mjs (widgets/setting-control/setting-control.mjs)
content/browser/preferences/widgets/setting-group.mjs (widgets/setting-group/setting-group.mjs) content/browser/preferences/widgets/setting-group.mjs (widgets/setting-group/setting-group.mjs)
content/browser/preferences/widgets/setting-group.css (widgets/setting-group/setting-group.css) content/browser/preferences/widgets/setting-group.css (widgets/setting-group/setting-group.css)

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
index 66ce978d9b022285dea67fdb75b3c005adb05d9b..db61587570ca18403a82ea6796a756d403cc207e 100644 index 891cf7108cf4606c99a902afa420e744b9690b87..72034b4a28e68016c04d06a2991ccebff30dd341 100644
--- a/browser/components/preferences/main.inc.xhtml --- a/browser/components/preferences/main.inc.xhtml
+++ b/browser/components/preferences/main.inc.xhtml +++ b/browser/components/preferences/main.inc.xhtml
@@ -29,6 +29,9 @@ @@ -29,6 +29,9 @@
@@ -12,7 +12,7 @@ index 66ce978d9b022285dea67fdb75b3c005adb05d9b..db61587570ca18403a82ea6796a756d4
#ifdef XP_WIN #ifdef XP_WIN
<hbox id="windowsLaunchOnLoginBox" align="center" hidden="true"> <hbox id="windowsLaunchOnLoginBox" align="center" hidden="true">
<checkbox id="windowsLaunchOnLogin" <checkbox id="windowsLaunchOnLogin"
@@ -188,7 +191,8 @@ @@ -189,7 +192,8 @@
<!-- Browser layout --> <!-- Browser layout -->
<groupbox data-category="paneGeneral" <groupbox data-category="paneGeneral"
data-subcategory="layout" data-subcategory="layout"
@@ -22,7 +22,7 @@ index 66ce978d9b022285dea67fdb75b3c005adb05d9b..db61587570ca18403a82ea6796a756d4
<label><html:h2 data-l10n-id="browser-layout-header"/></label> <label><html:h2 data-l10n-id="browser-layout-header"/></label>
<radiogroup id="browserLayoutRadioGroup" preference="sidebar.verticalTabs"> <radiogroup id="browserLayoutRadioGroup" preference="sidebar.verticalTabs">
<radio id="browserLayoutHorizontalTabs" data-l10n-id="browser-layout-horizontal-tabs" value="false"/> <radio id="browserLayoutHorizontalTabs" data-l10n-id="browser-layout-horizontal-tabs" value="false"/>
@@ -419,6 +423,7 @@ @@ -420,6 +424,7 @@
languages-customize-add.label, languages-customize-add.label,
" /> " />
</hbox> </hbox>

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
index 3f578f3888684a1830d456f2a4896e8a5f6630fd..7de18a724d3953a5616577f65a8cf9a18f71893c 100644 index 259bc260328af1b1f2b95866e7cf92dec341a4b0..3cebff51774b2542a8d4d888aa99dc10929c80be 100644
--- a/browser/components/preferences/main.js --- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js +++ b/browser/components/preferences/main.js
@@ -424,7 +424,7 @@ function getBundleForLocales(newLocales) { @@ -443,7 +443,7 @@ function getBundleForLocales(newLocales) {
]) ])
); );
return new Localization( return new Localization(

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index b5af9af69fd715012af5c0613e0627dd9cf9c3b7..7f86bac8cce278c5b7b7e1230230b3a27b7cf49a 100644 index 1fb8a954f61e89736b369f5fa01bb4f89fff16ad..3030c32cb66529f14e575428654778abd312dfd8 100644
--- a/browser/components/preferences/preferences.js --- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js +++ b/browser/components/preferences/preferences.js
@@ -117,6 +117,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () { @@ -117,6 +117,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {

View File

@@ -1,17 +1,17 @@
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587541b0da5 100644 index 0081bb470c9b15b39441ff844680e5e91b05fb86..3e4e7c43cf0e4feffb80623491de6222bb88a64b 100644
--- a/browser/components/preferences/preferences.xhtml --- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml +++ b/browser/components/preferences/preferences.xhtml
@@ -44,6 +44,8 @@ @@ -45,6 +45,8 @@
<link rel="stylesheet" href="chrome://browser/skin/preferences/privacy.css" />
<link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-group.css" /> <link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-group.css" />
<link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-control.css" />
+#include zen-preferences-links.xhtml +#include zen-preferences-links.xhtml
+ +
<link rel="localization" href="branding/brand.ftl"/> <link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="browser/browser.ftl"/> <link rel="localization" href="browser/browser.ftl"/>
<!-- Used by fontbuilder.js --> <!-- Used by fontbuilder.js -->
@@ -104,6 +106,11 @@ @@ -106,6 +108,11 @@
<hbox flex="1"> <hbox flex="1">
<vbox class="navigation"> <vbox class="navigation">
@@ -23,7 +23,7 @@ index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587
<!-- category list --> <!-- category list -->
<richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label"> <richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label">
<richlistitem id="category-general" <richlistitem id="category-general"
@@ -116,6 +123,50 @@ @@ -118,6 +125,50 @@
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label> <label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
</richlistitem> </richlistitem>
@@ -74,7 +74,7 @@ index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587
<richlistitem id="category-home" <richlistitem id="category-home"
class="category" class="category"
value="paneHome" value="paneHome"
@@ -227,11 +278,6 @@ @@ -229,11 +280,6 @@
<html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/> <html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/>
</hbox> </hbox>
</hbox> </hbox>
@@ -86,7 +86,7 @@ index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587
</hbox> </hbox>
</hbox> </hbox>
<vbox id="mainPrefPane"> <vbox id="mainPrefPane">
@@ -245,6 +291,10 @@ @@ -247,6 +293,10 @@
#include sync.inc.xhtml #include sync.inc.xhtml
#include experimental.inc.xhtml #include experimental.inc.xhtml
#include moreFromMozilla.inc.xhtml #include moreFromMozilla.inc.xhtml

View File

@@ -648,8 +648,6 @@ var gZenLooksAndFeel = {
Services.prefs.removeObserver(pref, this); Services.prefs.removeObserver(pref, this);
} }
}); });
this.setCompactModeStyle();
this.applySidebarLayout(); this.applySidebarLayout();
}, },
@@ -696,41 +694,6 @@ var gZenLooksAndFeel = {
}); });
} }
}, },
setCompactModeStyle() {
const chooser = document.getElementById('zen-compact-mode-styles-form');
const radios = [...chooser.querySelectorAll('input')];
let value = '';
if (
Services.prefs.getBoolPref('zen.view.compact.hide-tabbar', false) &&
Services.prefs.getBoolPref('zen.view.compact.hide-toolbar', false)
) {
value = 'both';
} else {
value = Services.prefs.getBoolPref('zen.view.compact.hide-tabbar') ? 'left' : 'top';
}
chooser.querySelector(`[value='${value}']`).checked = true;
for (let radio of radios) {
radio.addEventListener('change', (e) => {
let value = e.target.value;
switch (value) {
case 'left':
Services.prefs.setBoolPref('zen.view.compact.hide-tabbar', true);
Services.prefs.setBoolPref('zen.view.compact.hide-toolbar', false);
break;
case 'top':
Services.prefs.setBoolPref('zen.view.compact.hide-tabbar', false);
Services.prefs.setBoolPref('zen.view.compact.hide-toolbar', true);
break;
default:
Services.prefs.setBoolPref('zen.view.compact.hide-tabbar', true);
Services.prefs.setBoolPref('zen.view.compact.hide-toolbar', true);
break;
}
});
}
},
}; };
/* eslint-disable no-unused-vars */ /* eslint-disable no-unused-vars */
@@ -1010,7 +973,7 @@ var gZenCKSSettings = {
this._latestValidKey = null; this._latestValidKey = null;
return; return;
} else if (shortcut == 'Escape' && !modifiersActive) { } else if (shortcut == 'Escape' && !modifiersActive) {
const hasConflicts = gZenKeyboardShortcutsManager.checkForConflicts( const { hasConflicts, conflictShortcut } = gZenKeyboardShortcutsManager.checkForConflicts(
this._latestValidKey ? this._latestValidKey : shortcut, this._latestValidKey ? this._latestValidKey : shortcut,
this._latestModifier ? this._latestModifier : modifiers, this._latestModifier ? this._latestModifier : modifiers,
this._currentActionID this._currentActionID
@@ -1023,12 +986,29 @@ var gZenCKSSettings = {
input.classList.add(`${ZEN_CKS_INPUT_FIELD_CLASS}-invalid`); input.classList.add(`${ZEN_CKS_INPUT_FIELD_CLASS}-invalid`);
} }
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-unsafed`); input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-unsafed`);
if (hasConflicts && !input.nextElementSibling) {
input.after( if (hasConflicts) {
window.MozXULElement.parseXULToFragment(` const shortcutL10nKey =
<label class="${ZEN_CKS_CLASS_BASE}-conflict" data-l10n-id="zen-key-conflict"></label> zenMissingKeyboardShortcutL10n[conflictShortcut.getID()] ??
`) conflictShortcut.getL10NID();
);
const [group, shortcut] = await document.l10n.formatValues([
{ id: `${ZEN_CKS_GROUP_PREFIX}-${conflictShortcut.getGroup()}` },
{ id: shortcutL10nKey },
]);
if (!input.nextElementSibling) {
input.after(
window.MozXULElement.parseXULToFragment(`
<label class="${ZEN_CKS_CLASS_BASE}-conflict" data-l10n-id="zen-key-conflict"></label>
`)
);
}
document.l10n.setAttributes(input.nextElementSibling, 'zen-key-conflict', {
group: group ?? '',
shortcut: shortcut ?? '',
});
} }
} else { } else {
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-editing`); input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-editing`);
@@ -1075,11 +1055,6 @@ var gZenCKSSettings = {
}; };
Preferences.addAll([ Preferences.addAll([
{
id: 'zen.view.compact.hide-toolbar',
type: 'bool',
default: false,
},
{ {
id: 'zen.view.compact.toolbar-flash-popup', id: 'zen.view.compact.toolbar-flash-popup',
type: 'bool', type: 'bool',

View File

@@ -56,43 +56,6 @@
<label><html:h2 data-l10n-id="zen-look-and-feel-compact-view-header"/></label> <label><html:h2 data-l10n-id="zen-look-and-feel-compact-view-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-compact-view-description" /> <description class="description-deemphasized" data-l10n-id="zen-look-and-feel-compact-view-description" />
<html:div id="ZenCompactModeStyle">
<form xmlns="http://www.w3.org/1999/xhtml" autocomplete="off" id="zen-compact-mode-styles-form">
<label class="web-appearance-choice">
<div class="web-appearance-choice-image-container">
<div class="zen-compact-mode-styles-browser-wrapper" left="">
<div></div>
</div>
</div>
<div class="web-appearance-choice-footer">
<input type="radio" name="web-appearance" value="left" data-l10n-id="preferences-web-appearance-choice-input-auto"
/><span data-l10n-id="zen-compact-mode-styles-left" />
</div>
</label>
<label class="web-appearance-choice">
<div class="web-appearance-choice-image-container">
<div class="zen-compact-mode-styles-browser-wrapper" top="">
<div></div>
</div>
</div>
<div class="web-appearance-choice-footer">
<input type="radio" name="web-appearance" value="top" data-l10n-id="preferences-web-appearance-choice-input-light"
/><span data-l10n-id="zen-compact-mode-styles-top" />
</div>
</label>
<label class="web-appearance-choice">
<div class="web-appearance-choice-image-container">
<div class="zen-compact-mode-styles-browser-wrapper" both="">
<div></div>
</div>
</div>
<div class="web-appearance-choice-footer">
<input type="radio" name="web-appearance" value="both" data-l10n-id="preferences-web-appearance-choice-input-dark"
/><span data-l10n-id="zen-compact-mode-styles-both" />
</div>
</label>
</form>
</html:div>
<vbox class="indent"> <vbox class="indent">
<checkbox id="zenLooksAndFeelEnableToolbarFlashPopup" <checkbox id="zenLooksAndFeelEnableToolbarFlashPopup"
data-l10n-id="zen-look-and-feel-compact-toolbar-flash-popup" data-l10n-id="zen-look-and-feel-compact-toolbar-flash-popup"
@@ -124,7 +87,6 @@
#ifdef XP_MACOSX #ifdef XP_MACOSX
<menuitem data-l10n-id="zen-glance-trigger-meta-click" value="meta"/> <menuitem data-l10n-id="zen-glance-trigger-meta-click" value="meta"/>
#endif #endif
<menuitem data-l10n-id="zen-glance-trigger-mantain-click" value="mantain" disabled="true"/>
</menupopup> </menupopup>
</menulist> </menulist>
</hbox> </hbox>

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/screenshots/overlay/overlay.css b/browser/components/screenshots/overlay/overlay.css diff --git a/browser/components/screenshots/overlay/overlay.css b/browser/components/screenshots/overlay/overlay.css
index 037b060327d896e1ec0d087ade80df7548c8c1f7..7a158291c56df0e3b01bf7a37d04de71940d395f 100644 index ee2740fc48e9b70fe17b0f27b60053209516dbbf..cc0270e0eb28c3e60216460b02d62111abb970de 100644
--- a/browser/components/screenshots/overlay/overlay.css --- a/browser/components/screenshots/overlay/overlay.css
+++ b/browser/components/screenshots/overlay/overlay.css +++ b/browser/components/screenshots/overlay/overlay.css
@@ -225,6 +225,9 @@ @@ -196,6 +196,9 @@
pointer-events: none; pointer-events: none;
position: absolute; position: absolute;
z-index: var(--screenshots-high-layer); z-index: var(--screenshots-high-layer);
@@ -12,7 +12,7 @@ index 037b060327d896e1ec0d087ade80df7548c8c1f7..7a158291c56df0e3b01bf7a37d04de71
} }
#top-background { #top-background {
@@ -243,7 +246,7 @@ @@ -214,7 +217,7 @@
} }
.bghighlight { .bghighlight {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/search/SearchUIUtils.sys.mjs b/browser/components/search/SearchUIUtils.sys.mjs diff --git a/browser/components/search/SearchUIUtils.sys.mjs b/browser/components/search/SearchUIUtils.sys.mjs
index 6ef224ce377cf3ff511e435f3c7a5dc1de819c60..5b4c395c222c6317fd88499a1aa5307032ea13f8 100644 index 55f90f4e802480728bbd5ef962b507183e017997..2a83f861fe6edee2b127c8d7946abcdcdbf677f5 100644
--- a/browser/components/search/SearchUIUtils.sys.mjs --- a/browser/components/search/SearchUIUtils.sys.mjs
+++ b/browser/components/search/SearchUIUtils.sys.mjs +++ b/browser/components/search/SearchUIUtils.sys.mjs
@@ -426,7 +426,7 @@ export var SearchUIUtils = { @@ -430,7 +430,7 @@ export var SearchUIUtils = {
triggeringSearchEngine: engine.name, triggeringSearchEngine: engine.name,
}, },
}); });

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb1077ea5c 100644 index eb62ff3e733e43fdaa299babddea3ba0125abb06..8f20ba50b06f5b75d7de08eb4d1b27d89fb95494 100644
--- a/browser/components/sessionstore/SessionStore.sys.mjs --- a/browser/components/sessionstore/SessionStore.sys.mjs
+++ b/browser/components/sessionstore/SessionStore.sys.mjs +++ b/browser/components/sessionstore/SessionStore.sys.mjs
@@ -126,6 +126,8 @@ const TAB_EVENTS = [ @@ -126,6 +126,8 @@ const TAB_EVENTS = [
@@ -11,7 +11,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
]; ];
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
@@ -1898,6 +1900,8 @@ var SessionStoreInternal = { @@ -1904,6 +1906,8 @@ var SessionStoreInternal = {
case "TabPinned": case "TabPinned":
case "TabUnpinned": case "TabUnpinned":
case "SwapDocShells": case "SwapDocShells":
@@ -20,7 +20,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
this.saveStateDelayed(win); this.saveStateDelayed(win);
break; break;
case "TabGroupCreate": case "TabGroupCreate":
@@ -2133,7 +2137,6 @@ var SessionStoreInternal = { @@ -2139,7 +2143,6 @@ var SessionStoreInternal = {
if (closedWindowState) { if (closedWindowState) {
let newWindowState; let newWindowState;
if ( if (
@@ -28,7 +28,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
!lazy.SessionStartup.willRestore() !lazy.SessionStartup.willRestore()
) { ) {
// We want to split the window up into pinned tabs and unpinned tabs. // We want to split the window up into pinned tabs and unpinned tabs.
@@ -2366,11 +2369,9 @@ var SessionStoreInternal = { @@ -2372,11 +2375,9 @@ var SessionStoreInternal = {
tabbrowser.selectedTab.label; tabbrowser.selectedTab.label;
} }
@@ -40,7 +40,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
// Store the window's close date to figure out when each individual tab // Store the window's close date to figure out when each individual tab
// was closed. This timestamp should allow re-arranging data based on how // was closed. This timestamp should allow re-arranging data based on how
@@ -3355,7 +3356,7 @@ var SessionStoreInternal = { @@ -3361,7 +3362,7 @@ var SessionStoreInternal = {
if (!isPrivateWindow && tabState.isPrivate) { if (!isPrivateWindow && tabState.isPrivate) {
return; return;
} }
@@ -49,7 +49,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
return; return;
} }
@@ -4067,6 +4068,11 @@ var SessionStoreInternal = { @@ -4073,6 +4074,11 @@ var SessionStoreInternal = {
Math.min(tabState.index, tabState.entries.length) Math.min(tabState.index, tabState.entries.length)
); );
tabState.pinned = false; tabState.pinned = false;
@@ -61,7 +61,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
if (inBackground === false) { if (inBackground === false) {
aWindow.gBrowser.selectedTab = newTab; aWindow.gBrowser.selectedTab = newTab;
@@ -4503,6 +4509,7 @@ var SessionStoreInternal = { @@ -4509,6 +4515,7 @@ var SessionStoreInternal = {
// Append the tab if we're opening into a different window, // Append the tab if we're opening into a different window,
tabIndex: aSource == aTargetWindow ? pos : Infinity, tabIndex: aSource == aTargetWindow ? pos : Infinity,
pinned: state.pinned, pinned: state.pinned,
@@ -138,7 +138,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
this._log.debug( this._log.debug(
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs` `restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
); );
@@ -6349,6 +6360,25 @@ var SessionStoreInternal = { @@ -6348,6 +6359,25 @@ var SessionStoreInternal = {
// Most of tabData has been restored, now continue with restoring // Most of tabData has been restored, now continue with restoring
// attributes that may trigger external events. // attributes that may trigger external events.
@@ -164,7 +164,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
if (tabData.pinned) { if (tabData.pinned) {
tabbrowser.pinTab(tab); tabbrowser.pinTab(tab);
@@ -7264,7 +7294,7 @@ var SessionStoreInternal = { @@ -7263,7 +7293,7 @@ var SessionStoreInternal = {
let groupsToSave = new Map(); let groupsToSave = new Map();
for (let tIndex = 0; tIndex < window.tabs.length; ) { for (let tIndex = 0; tIndex < window.tabs.length; ) {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
index f62decaa3f7400787b245b3e765197f4e70dffbb..329240cf434fdbefcf145a733179bd565a814280 100644 index c4edb5442e5243b7d9fe35e1774b2fc651903601..d58076fedafe07d3401ab1723eaa837fabbae09f 100644
--- a/browser/components/sidebar/browser-sidebar.js --- a/browser/components/sidebar/browser-sidebar.js
+++ b/browser/components/sidebar/browser-sidebar.js +++ b/browser/components/sidebar/browser-sidebar.js
@@ -779,7 +779,7 @@ var SidebarController = { @@ -779,7 +779,7 @@ var SidebarController = {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/TabsList.sys.mjs b/browser/components/tabbrowser/TabsList.sys.mjs diff --git a/browser/components/tabbrowser/TabsList.sys.mjs b/browser/components/tabbrowser/TabsList.sys.mjs
index 97990af166b63cae4b0343c77da5084850890504..b58d20eb3db82867030292625d45277afce1bbea 100644 index 20a543dede6bf4428c8af19c5d0589788ddd8eaa..27a378e70f5b280b720c95ba8dac2cc4e88985be 100644
--- a/browser/components/tabbrowser/TabsList.sys.mjs --- a/browser/components/tabbrowser/TabsList.sys.mjs
+++ b/browser/components/tabbrowser/TabsList.sys.mjs +++ b/browser/components/tabbrowser/TabsList.sys.mjs
@@ -87,7 +87,7 @@ class TabsListBase { @@ -87,7 +87,7 @@ class TabsListBase {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6e64a457d 100644 index 425aaf8c8e4adf1507eb0d8ded671f8295544b04..5b0f46642e36fd3e15d13a8dbc633c7a9751f8aa 100644
--- a/browser/components/tabbrowser/content/tab.js --- a/browser/components/tabbrowser/content/tab.js
+++ b/browser/components/tabbrowser/content/tab.js +++ b/browser/components/tabbrowser/content/tab.js
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
@@ -31,7 +31,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
"fadein,pinned,busy,progress,selected=visuallyselected", "fadein,pinned,busy,progress,selected=visuallyselected",
".tab-icon-pending": ".tab-icon-pending":
@@ -93,9 +96,9 @@ @@ -93,9 +96,9 @@
"src=image,triggeringprincipal=iconloadingprincipal,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing,pictureinpicture,pending,discarded", "src=image,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing,pictureinpicture,pending,discarded",
".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned", ".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned",
".tab-icon-overlay": ".tab-icon-overlay":
- "sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked", - "sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
@@ -101,7 +101,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
} }
return null; return null;
} }
@@ -459,6 +475,8 @@ @@ -468,6 +484,8 @@
this.style.MozUserFocus = "ignore"; this.style.MozUserFocus = "ignore";
} else if ( } else if (
event.target.classList.contains("tab-close-button") || event.target.classList.contains("tab-close-button") ||
@@ -110,7 +110,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
event.target.classList.contains("tab-icon-overlay") || event.target.classList.contains("tab-icon-overlay") ||
event.target.classList.contains("tab-audio-button") event.target.classList.contains("tab-audio-button")
) { ) {
@@ -513,6 +531,10 @@ @@ -522,6 +540,10 @@
this.style.MozUserFocus = ""; this.style.MozUserFocus = "";
} }
@@ -121,7 +121,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
on_click(event) { on_click(event) {
if (event.button != 0) { if (event.button != 0) {
return; return;
@@ -561,6 +583,7 @@ @@ -570,6 +592,7 @@
) )
); );
} else { } else {
@@ -129,7 +129,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
gBrowser.removeTab(this, { gBrowser.removeTab(this, {
animate: true, animate: true,
triggeringEvent: event, triggeringEvent: event,
@@ -573,6 +596,14 @@ @@ -582,6 +605,14 @@
// (see tabbrowser-tabs 'click' handler). // (see tabbrowser-tabs 'click' handler).
gBrowser.tabContainer._blockDblClick = true; gBrowser.tabContainer._blockDblClick = true;
} }
@@ -144,7 +144,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
} }
on_dblclick(event) { on_dblclick(event) {
@@ -596,6 +627,8 @@ @@ -605,6 +636,8 @@
animate: true, animate: true,
triggeringEvent: event, triggeringEvent: event,
}); });

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80ed9d2317a 100644 index c099e8646b9341a3ff55bf394037c8fc2769969b..0d524a0519bbbdf304a594d1fb56c394b7dbc6a7 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js --- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js +++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -427,15 +427,64 @@ @@ -432,15 +432,64 @@
return this.tabContainer.visibleTabs; return this.tabContainer.visibleTabs;
} }
@@ -69,7 +69,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
set selectedTab(val) { set selectedTab(val) {
if ( if (
gSharedTabWarning.willShowSharedTabWarning(val) || gSharedTabWarning.willShowSharedTabWarning(val) ||
@@ -583,6 +632,7 @@ @@ -588,6 +637,7 @@
this.tabpanels.appendChild(panel); this.tabpanels.appendChild(panel);
let tab = this.tabs[0]; let tab = this.tabs[0];
@@ -77,22 +77,26 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
tab.linkedPanel = uniqueId; tab.linkedPanel = uniqueId;
this._selectedTab = tab; this._selectedTab = tab;
this._selectedBrowser = browser; this._selectedBrowser = browser;
@@ -868,9 +918,13 @@ @@ -873,13 +923,17 @@
} }
this.showTab(aTab); this.showTab(aTab);
+ const handled = gZenFolders.handleTabPin(aTab); + const handled = gZenFolders.handleTabPin(aTab);
+ if (!handled) { + if (!handled) {
+ this.ungroupTab(aTab); + this.ungroupTab(aTab);
this.#handleTabMove(aTab, () => this.#handleTabMove(aTab, () => {
- this.pinnedTabsContainer.appendChild(aTab) let periphery = document.getElementById(
"pinned-tabs-container-periphery"
);
// If periphery is null, append to end
- this.pinnedTabsContainer.insertBefore(aTab, periphery);
+ aTab.hasAttribute("zen-essential") ? gZenWorkspaces.getEssentialsSection(aTab).appendChild(aTab) : this.pinnedTabsContainer.insertBefore(aTab, this.pinnedTabsContainer.lastChild) + aTab.hasAttribute("zen-essential") ? gZenWorkspaces.getEssentialsSection(aTab).appendChild(aTab) : this.pinnedTabsContainer.insertBefore(aTab, this.pinnedTabsContainer.lastChild)
); });
+ } + }
aTab.setAttribute("pinned", "true"); aTab.setAttribute("pinned", "true");
this._updateTabBarForPinnedTabs(); this._updateTabBarForPinnedTabs();
@@ -883,11 +937,15 @@ @@ -892,11 +946,15 @@
} }
this.#handleTabMove(aTab, () => { this.#handleTabMove(aTab, () => {
@@ -109,7 +113,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}); });
aTab.style.marginInlineStart = ""; aTab.style.marginInlineStart = "";
@@ -1065,6 +1123,8 @@ @@ -1073,6 +1131,8 @@
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"]; let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
@@ -117,8 +121,8 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
+ gZenPinnedTabManager.onTabIconChanged(aTab, aIconURL); + gZenPinnedTabManager.onTabIconChanged(aTab, aIconURL);
if ( if (
aIconURL && aIconURL &&
!aLoadingPrincipal && !LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
@@ -1075,6 +1135,9 @@ @@ -1082,6 +1142,9 @@
); );
return; return;
} }
@@ -128,7 +132,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
let browser = this.getBrowserForTab(aTab); let browser = this.getBrowserForTab(aTab);
browser.mIconURL = aIconURL; browser.mIconURL = aIconURL;
@@ -1333,6 +1396,7 @@ @@ -1445,6 +1508,7 @@
if (!this._previewMode) { if (!this._previewMode) {
newTab.recordTimeFromUnloadToReload(); newTab.recordTimeFromUnloadToReload();
newTab.updateLastAccessed(); newTab.updateLastAccessed();
@@ -136,7 +140,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
oldTab.updateLastAccessed(); oldTab.updateLastAccessed();
// if this is the foreground window, update the last-seen timestamps. // if this is the foreground window, update the last-seen timestamps.
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) { if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
@@ -1485,6 +1549,9 @@ @@ -1597,6 +1661,9 @@
} }
let activeEl = document.activeElement; let activeEl = document.activeElement;
@@ -146,7 +150,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// If focus is on the old tab, move it to the new tab. // If focus is on the old tab, move it to the new tab.
if (activeEl == oldTab) { if (activeEl == oldTab) {
newTab.focus(); newTab.focus();
@@ -1808,7 +1875,8 @@ @@ -1920,7 +1987,8 @@
} }
_setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) { _setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) {
@@ -156,7 +160,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
return false; return false;
} }
@@ -1916,7 +1984,7 @@ @@ -2028,7 +2096,7 @@
newIndex = this.selectedTab._tPos + 1; newIndex = this.selectedTab._tPos + 1;
} }
@@ -165,7 +169,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (this.isTabGroupLabel(targetTab)) { if (this.isTabGroupLabel(targetTab)) {
throw new Error( throw new Error(
"Replacing a tab group label with a tab is not supported" "Replacing a tab group label with a tab is not supported"
@@ -2191,6 +2259,7 @@ @@ -2303,6 +2371,7 @@
uriIsAboutBlank, uriIsAboutBlank,
userContextId, userContextId,
skipLoad, skipLoad,
@@ -173,7 +177,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} = {}) { } = {}) {
let b = document.createXULElement("browser"); let b = document.createXULElement("browser");
// Use the JSM global to create the permanentKey, so that if the // Use the JSM global to create the permanentKey, so that if the
@@ -2264,8 +2333,7 @@ @@ -2376,8 +2445,7 @@
// we use a different attribute name for this? // we use a different attribute name for this?
b.setAttribute("name", name); b.setAttribute("name", name);
} }
@@ -183,7 +187,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
b.setAttribute("transparent", "true"); b.setAttribute("transparent", "true");
} }
@@ -2430,7 +2498,7 @@ @@ -2542,7 +2610,7 @@
let panel = this.getPanel(browser); let panel = this.getPanel(browser);
let uniqueId = this._generateUniquePanelID(); let uniqueId = this._generateUniquePanelID();
@@ -192,7 +196,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
aTab.linkedPanel = uniqueId; aTab.linkedPanel = uniqueId;
// Inject the <browser> into the DOM if necessary. // Inject the <browser> into the DOM if necessary.
@@ -2489,8 +2557,8 @@ @@ -2601,8 +2669,8 @@
// If we transitioned from one browser to two browsers, we need to set // If we transitioned from one browser to two browsers, we need to set
// hasSiblings=false on both the existing browser and the new browser. // hasSiblings=false on both the existing browser and the new browser.
if (this.tabs.length == 2) { if (this.tabs.length == 2) {
@@ -203,7 +207,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else { } else {
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1; aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
} }
@@ -2654,7 +2722,6 @@ @@ -2779,7 +2847,6 @@
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, { this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
tabIndex: tab._tPos + 1, tabIndex: tab._tPos + 1,
userContextId: tab.userContextId, userContextId: tab.userContextId,
@@ -211,7 +215,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
focusUrlBar: true, focusUrlBar: true,
}); });
resolve(this.selectedBrowser); resolve(this.selectedBrowser);
@@ -2734,6 +2801,8 @@ @@ -2859,6 +2926,8 @@
schemelessInput, schemelessInput,
hasValidUserGestureActivation = false, hasValidUserGestureActivation = false,
textDirectiveUserActivation = false, textDirectiveUserActivation = false,
@@ -220,7 +224,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} = {} } = {}
) { ) {
// all callers of addTab that pass a params object need to pass // all callers of addTab that pass a params object need to pass
@@ -2744,6 +2813,12 @@ @@ -2869,6 +2938,12 @@
); );
} }
@@ -233,7 +237,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (!UserInteraction.running("browser.tabs.opening", window)) { if (!UserInteraction.running("browser.tabs.opening", window)) {
UserInteraction.start("browser.tabs.opening", "initting", window); UserInteraction.start("browser.tabs.opening", "initting", window);
} }
@@ -2807,6 +2882,19 @@ @@ -2932,6 +3007,19 @@
noInitialLabel, noInitialLabel,
skipBackgroundNotify, skipBackgroundNotify,
}); });
@@ -253,7 +257,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (insertTab) { if (insertTab) {
// Insert the tab into the tab container in the correct position. // Insert the tab into the tab container in the correct position.
this.#insertTabAtIndex(t, { this.#insertTabAtIndex(t, {
@@ -2815,6 +2903,7 @@ @@ -2940,6 +3028,7 @@
ownerTab, ownerTab,
openerTab, openerTab,
pinned, pinned,
@@ -261,7 +265,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
bulkOrderedOpen, bulkOrderedOpen,
tabGroup: tabGroup ?? openerTab?.group, tabGroup: tabGroup ?? openerTab?.group,
}); });
@@ -2833,6 +2922,7 @@ @@ -2958,6 +3047,7 @@
openWindowInfo, openWindowInfo,
skipLoad, skipLoad,
triggeringRemoteType, triggeringRemoteType,
@@ -269,7 +273,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
})); }));
if (focusUrlBar) { if (focusUrlBar) {
@@ -2953,6 +3043,12 @@ @@ -3078,6 +3168,12 @@
} }
} }
@@ -282,7 +286,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Additionally send pinned tab events // Additionally send pinned tab events
if (pinned) { if (pinned) {
this.#notifyPinnedStatus(t); this.#notifyPinnedStatus(t);
@@ -3041,10 +3137,10 @@ @@ -3248,10 +3344,10 @@
isAdoptingGroup = false, isAdoptingGroup = false,
isUserTriggered = false, isUserTriggered = false,
telemetryUserCreateSource = "unknown", telemetryUserCreateSource = "unknown",
@@ -294,7 +298,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} }
if (!color) { if (!color) {
@@ -3065,9 +3161,14 @@ @@ -3272,9 +3368,14 @@
label, label,
isAdoptingGroup isAdoptingGroup
); );
@@ -311,7 +315,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
); );
group.addTabs(tabs); group.addTabs(tabs);
@@ -3188,7 +3289,7 @@ @@ -3395,7 +3496,7 @@
} }
this.#handleTabMove(tab, () => this.#handleTabMove(tab, () =>
@@ -320,7 +324,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
); );
} }
@@ -3390,6 +3491,7 @@ @@ -3597,6 +3698,7 @@
openWindowInfo, openWindowInfo,
skipLoad, skipLoad,
triggeringRemoteType, triggeringRemoteType,
@@ -328,7 +332,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} }
) { ) {
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and // If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
@@ -3459,6 +3561,7 @@ @@ -3666,6 +3768,7 @@
openWindowInfo, openWindowInfo,
name, name,
skipLoad, skipLoad,
@@ -336,7 +340,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}); });
} }
@@ -3646,7 +3749,7 @@ @@ -3853,7 +3956,7 @@
// Add a new tab if needed. // Add a new tab if needed.
if (!tab) { if (!tab) {
let createLazyBrowser = let createLazyBrowser =
@@ -345,7 +349,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
let url = "about:blank"; let url = "about:blank";
if (tabData.entries?.length) { if (tabData.entries?.length) {
@@ -3683,8 +3786,10 @@ @@ -3890,8 +3993,10 @@
insertTab: false, insertTab: false,
skipLoad: true, skipLoad: true,
preferredRemoteType, preferredRemoteType,
@@ -357,7 +361,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (select) { if (select) {
tabToSelect = tab; tabToSelect = tab;
} }
@@ -3696,7 +3801,8 @@ @@ -3903,7 +4008,8 @@
this.pinTab(tab); this.pinTab(tab);
// Then ensure all the tab open/pinning information is sent. // Then ensure all the tab open/pinning information is sent.
this._fireTabOpen(tab, {}); this._fireTabOpen(tab, {});
@@ -367,7 +371,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
let { groupId } = tabData; let { groupId } = tabData;
const tabGroup = tabGroupWorkingData.get(groupId); const tabGroup = tabGroupWorkingData.get(groupId);
// if a tab refers to a tab group we don't know, skip any group // if a tab refers to a tab group we don't know, skip any group
@@ -3710,7 +3816,10 @@ @@ -3917,7 +4023,10 @@
tabGroup.stateData.id, tabGroup.stateData.id,
tabGroup.stateData.color, tabGroup.stateData.color,
tabGroup.stateData.collapsed, tabGroup.stateData.collapsed,
@@ -379,7 +383,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
); );
tabsFragment.appendChild(tabGroup.node); tabsFragment.appendChild(tabGroup.node);
} }
@@ -3755,9 +3864,23 @@ @@ -3962,9 +4071,23 @@
// to remove the old selected tab. // to remove the old selected tab.
if (tabToSelect) { if (tabToSelect) {
let leftoverTab = this.selectedTab; let leftoverTab = this.selectedTab;
@@ -403,7 +407,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (tabs.length > 1 || !tabs[0].selected) { if (tabs.length > 1 || !tabs[0].selected) {
this._updateTabsAfterInsert(); this._updateTabsAfterInsert();
@@ -3948,11 +4071,14 @@ @@ -4155,11 +4278,14 @@
if (ownerTab) { if (ownerTab) {
tab.owner = ownerTab; tab.owner = ownerTab;
} }
@@ -419,7 +423,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if ( if (
!bulkOrderedOpen && !bulkOrderedOpen &&
((openerTab && ((openerTab &&
@@ -3964,7 +4090,7 @@ @@ -4171,7 +4297,7 @@
let lastRelatedTab = let lastRelatedTab =
openerTab && this._lastRelatedTabMap.get(openerTab); openerTab && this._lastRelatedTabMap.get(openerTab);
let previousTab = lastRelatedTab || openerTab || this.selectedTab; let previousTab = lastRelatedTab || openerTab || this.selectedTab;
@@ -428,7 +432,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
tabGroup = previousTab.group; tabGroup = previousTab.group;
} }
if ( if (
@@ -3975,7 +4101,7 @@ @@ -4182,7 +4308,7 @@
) { ) {
elementIndex = Infinity; elementIndex = Infinity;
} else if (previousTab.visible) { } else if (previousTab.visible) {
@@ -437,7 +441,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else if (previousTab == FirefoxViewHandler.tab) { } else if (previousTab == FirefoxViewHandler.tab) {
elementIndex = 0; elementIndex = 0;
} }
@@ -4003,14 +4129,14 @@ @@ -4210,14 +4336,14 @@
} }
// Ensure index is within bounds. // Ensure index is within bounds.
if (tab.pinned) { if (tab.pinned) {
@@ -456,7 +460,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (pinned && !itemAfter?.pinned) { if (pinned && !itemAfter?.pinned) {
itemAfter = null; itemAfter = null;
@@ -4021,7 +4147,7 @@ @@ -4228,7 +4354,7 @@
this.tabContainer._invalidateCachedTabs(); this.tabContainer._invalidateCachedTabs();
@@ -465,7 +469,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) { if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
// Place at the front of, or between tabs in, the same tab group // Place at the front of, or between tabs in, the same tab group
this.tabContainer.insertBefore(tab, itemAfter); this.tabContainer.insertBefore(tab, itemAfter);
@@ -4057,6 +4183,7 @@ @@ -4264,6 +4390,7 @@
if (pinned) { if (pinned) {
this._updateTabBarForPinnedTabs(); this._updateTabBarForPinnedTabs();
} }
@@ -473,7 +477,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
TabBarVisibility.update(); TabBarVisibility.update();
} }
@@ -4346,6 +4473,9 @@ @@ -4553,6 +4680,9 @@
return; return;
} }
@@ -483,7 +487,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource }); this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
} }
@@ -4607,6 +4737,7 @@ @@ -4814,6 +4944,7 @@
telemetrySource, telemetrySource,
} = {} } = {}
) { ) {
@@ -491,7 +495,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs // When 'closeWindowWithLastTab' pref is enabled, closing all tabs
// can be considered equivalent to closing the window. // can be considered equivalent to closing the window.
if ( if (
@@ -4696,6 +4827,7 @@ @@ -4903,6 +5034,7 @@
if (lastToClose) { if (lastToClose) {
this.removeTab(lastToClose, aParams); this.removeTab(lastToClose, aParams);
} }
@@ -499,7 +503,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }
@@ -4734,6 +4866,12 @@ @@ -4941,6 +5073,12 @@
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start(); aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
} }
@@ -512,7 +516,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Handle requests for synchronously removing an already // Handle requests for synchronously removing an already
// asynchronously closing tab. // asynchronously closing tab.
if (!animate && aTab.closing) { if (!animate && aTab.closing) {
@@ -4748,6 +4886,9 @@ @@ -4955,6 +5093,9 @@
// state). // state).
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width; let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
let isLastTab = this.#isLastTabInWindow(aTab); let isLastTab = this.#isLastTabInWindow(aTab);
@@ -522,7 +526,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if ( if (
!this._beginRemoveTab(aTab, { !this._beginRemoveTab(aTab, {
closeWindowFastpath: true, closeWindowFastpath: true,
@@ -4796,7 +4937,13 @@ @@ -5003,7 +5144,13 @@
// We're not animating, so we can cancel the animation stopwatch. // We're not animating, so we can cancel the animation stopwatch.
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId); Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
aTab._closeTimeAnimTimerId = null; aTab._closeTimeAnimTimerId = null;
@@ -537,7 +541,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
return; return;
} }
@@ -4930,7 +5077,7 @@ @@ -5137,7 +5284,7 @@
closeWindowWithLastTab != null closeWindowWithLastTab != null
? closeWindowWithLastTab ? closeWindowWithLastTab
: !window.toolbar.visible || : !window.toolbar.visible ||
@@ -546,7 +550,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (closeWindow) { if (closeWindow) {
// We've already called beforeunload on all the relevant tabs if we get here, // We've already called beforeunload on all the relevant tabs if we get here,
@@ -4954,6 +5101,7 @@ @@ -5161,6 +5308,7 @@
newTab = true; newTab = true;
} }
@@ -554,7 +558,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
aTab._endRemoveArgs = [closeWindow, newTab]; aTab._endRemoveArgs = [closeWindow, newTab];
// swapBrowsersAndCloseOther will take care of closing the window without animation. // swapBrowsersAndCloseOther will take care of closing the window without animation.
@@ -4994,13 +5142,7 @@ @@ -5201,13 +5349,7 @@
aTab._mouseleave(); aTab._mouseleave();
if (newTab) { if (newTab) {
@@ -569,7 +573,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else { } else {
TabBarVisibility.update(); TabBarVisibility.update();
} }
@@ -5133,6 +5275,7 @@ @@ -5340,6 +5482,7 @@
this.tabs[i]._tPos = i; this.tabs[i]._tPos = i;
} }
@@ -577,7 +581,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (!this._windowIsClosing) { if (!this._windowIsClosing) {
// update tab close buttons state // update tab close buttons state
this.tabContainer._updateCloseButtons(); this.tabContainer._updateCloseButtons();
@@ -5345,6 +5488,7 @@ @@ -5552,6 +5695,7 @@
} }
let excludeTabs = new Set(aExcludeTabs); let excludeTabs = new Set(aExcludeTabs);
@@ -585,7 +589,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// If this tab has a successor, it should be selectable, since // If this tab has a successor, it should be selectable, since
// hiding or closing a tab removes that tab as a successor. // hiding or closing a tab removes that tab as a successor.
@@ -5357,13 +5501,13 @@ @@ -5564,13 +5708,13 @@
!excludeTabs.has(aTab.owner) && !excludeTabs.has(aTab.owner) &&
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose") Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
) { ) {
@@ -601,7 +605,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
); );
let tab = this.tabContainer.findNextTab(aTab, { let tab = this.tabContainer.findNextTab(aTab, {
@@ -5379,7 +5523,7 @@ @@ -5586,7 +5730,7 @@
} }
if (tab) { if (tab) {
@@ -610,7 +614,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} }
// If no qualifying visible tab was found, see if there is a tab in // If no qualifying visible tab was found, see if there is a tab in
@@ -5400,7 +5544,7 @@ @@ -5607,7 +5751,7 @@
}); });
} }
@@ -619,7 +623,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} }
_blurTab(aTab) { _blurTab(aTab) {
@@ -5802,10 +5946,10 @@ @@ -6013,10 +6157,10 @@
SessionStore.deleteCustomTabValue(aTab, "hiddenBy"); SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
} }
@@ -632,7 +636,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
aTab.selected || aTab.selected ||
aTab.closing || aTab.closing ||
// Tabs that are sharing the screen, microphone or camera cannot be hidden. // Tabs that are sharing the screen, microphone or camera cannot be hidden.
@@ -5864,6 +6008,7 @@ @@ -6075,6 +6219,7 @@
* @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab * @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab
*/ */
replaceTabWithWindow(aTab, aOptions) { replaceTabWithWindow(aTab, aOptions) {
@@ -640,7 +644,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (this.tabs.length == 1) { if (this.tabs.length == 1) {
return null; return null;
} }
@@ -5997,7 +6142,7 @@ @@ -6208,7 +6353,7 @@
* `true` if element is a `<tab-group>` * `true` if element is a `<tab-group>`
*/ */
isTabGroup(element) { isTabGroup(element) {
@@ -649,7 +653,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} }
/** /**
@@ -6073,8 +6218,8 @@ @@ -6284,8 +6429,8 @@
} }
// Don't allow mixing pinned and unpinned tabs. // Don't allow mixing pinned and unpinned tabs.
@@ -660,7 +664,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else { } else {
tabIndex = Math.max(tabIndex, this.pinnedTabCount); tabIndex = Math.max(tabIndex, this.pinnedTabCount);
} }
@@ -6100,10 +6245,16 @@ @@ -6311,10 +6456,16 @@
this.#handleTabMove( this.#handleTabMove(
element, element,
() => { () => {
@@ -679,7 +683,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (neighbor && this.isTab(element) && tabIndex > element._tPos) { if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
neighbor.after(element); neighbor.after(element);
} else { } else {
@@ -6161,23 +6312,28 @@ @@ -6372,23 +6523,28 @@
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) { #moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
if (this.isTabGroupLabel(targetElement)) { if (this.isTabGroupLabel(targetElement)) {
targetElement = targetElement.group; targetElement = targetElement.group;
@@ -714,7 +718,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else if (!element.pinned && targetElement && targetElement.pinned) { } else if (!element.pinned && targetElement && targetElement.pinned) {
// If the caller asks to move an unpinned element next to a pinned // If the caller asks to move an unpinned element next to a pinned
// tab, move the unpinned element to be the first unpinned element // tab, move the unpinned element to be the first unpinned element
@@ -6190,14 +6346,34 @@ @@ -6401,14 +6557,34 @@
// move the tab group right before the first unpinned tab. // move the tab group right before the first unpinned tab.
// 4. Moving a tab group and the first unpinned tab is grouped: // 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. // move the tab group right before the first unpinned tab's tab group.
@@ -750,7 +754,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
element.pinned element.pinned
? this.tabContainer.pinnedTabsContainer ? this.tabContainer.pinnedTabsContainer
: this.tabContainer; : this.tabContainer;
@@ -6206,7 +6382,7 @@ @@ -6417,7 +6593,7 @@
element, element,
() => { () => {
if (moveBefore) { if (moveBefore) {
@@ -759,7 +763,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else if (targetElement) { } else if (targetElement) {
targetElement.after(element); targetElement.after(element);
} else { } else {
@@ -6252,10 +6428,10 @@ @@ -6489,10 +6665,10 @@
* @param {TabMetricsContext} [metricsContext] * @param {TabMetricsContext} [metricsContext]
*/ */
moveTabToGroup(aTab, aGroup, metricsContext) { moveTabToGroup(aTab, aGroup, metricsContext) {
@@ -772,7 +776,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
return; return;
} }
if (aTab.group && aTab.group.id === aGroup.id) { if (aTab.group && aTab.group.id === aGroup.id) {
@@ -6285,6 +6461,7 @@ @@ -6522,6 +6698,7 @@
let state = { let state = {
tabIndex: tab._tPos, tabIndex: tab._tPos,
@@ -780,7 +784,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}; };
if (tab.visible) { if (tab.visible) {
state.elementIndex = tab.elementIndex; state.elementIndex = tab.elementIndex;
@@ -6311,7 +6488,7 @@ @@ -6548,7 +6725,7 @@
let changedTabGroup = let changedTabGroup =
previousTabState.tabGroupId != currentTabState.tabGroupId; previousTabState.tabGroupId != currentTabState.tabGroupId;
@@ -789,7 +793,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
tab.dispatchEvent( tab.dispatchEvent(
new CustomEvent("TabMove", { new CustomEvent("TabMove", {
bubbles: true, bubbles: true,
@@ -6348,6 +6525,10 @@ @@ -6585,6 +6762,10 @@
moveActionCallback(); moveActionCallback();
@@ -800,7 +804,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Clear tabs cache after moving nodes because the order of tabs may have // Clear tabs cache after moving nodes because the order of tabs may have
// changed. // changed.
this.tabContainer._invalidateCachedTabs(); this.tabContainer._invalidateCachedTabs();
@@ -7249,7 +7430,7 @@ @@ -7486,7 +7667,7 @@
// preventDefault(). It will still raise the window if appropriate. // preventDefault(). It will still raise the window if appropriate.
break; break;
} }
@@ -809,7 +813,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
window.focus(); window.focus();
aEvent.preventDefault(); aEvent.preventDefault();
break; break;
@@ -7264,7 +7445,6 @@ @@ -7501,7 +7682,6 @@
} }
case "TabGroupCollapse": case "TabGroupCollapse":
aEvent.target.tabs.forEach(tab => { aEvent.target.tabs.forEach(tab => {
@@ -817,7 +821,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}); });
break; break;
case "TabGroupCreateByUser": case "TabGroupCreateByUser":
@@ -8199,6 +8379,7 @@ @@ -8442,6 +8622,7 @@
aWebProgress.isTopLevel aWebProgress.isTopLevel
) { ) {
this.mTab.setAttribute("busy", "true"); this.mTab.setAttribute("busy", "true");
@@ -825,7 +829,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
gBrowser._tabAttrModified(this.mTab, ["busy"]); gBrowser._tabAttrModified(this.mTab, ["busy"]);
this.mTab._notselectedsinceload = !this.mTab.selected; this.mTab._notselectedsinceload = !this.mTab.selected;
} }
@@ -9200,7 +9381,7 @@ var TabContextMenu = { @@ -9443,7 +9624,7 @@ var TabContextMenu = {
); );
contextUnpinSelectedTabs.hidden = contextUnpinSelectedTabs.hidden =
!this.contextTab.pinned || !this.multiselected; !this.contextTab.pinned || !this.multiselected;
@@ -834,7 +838,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Build Ask Chat items // Build Ask Chat items
TabContextMenu.GenAI.buildTabMenu( TabContextMenu.GenAI.buildTabMenu(
document.getElementById("context_askChat"), document.getElementById("context_askChat"),
@@ -9520,6 +9701,7 @@ var TabContextMenu = { @@ -9763,6 +9944,7 @@ var TabContextMenu = {
) )
); );
} else { } else {

View File

@@ -1,24 +1,23 @@
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e8532174e2a7cf 100644 index 1b4f6bf4ed6556492f84476d33e9103fbb1c74e9..77bd8738db6f2e65c2bfcae8347b424098ba3e7b 100644
--- a/browser/components/tabbrowser/content/tabgroup.js --- a/browser/components/tabbrowser/content/tabgroup.js
+++ b/browser/components/tabbrowser/content/tabgroup.js +++ b/browser/components/tabbrowser/content/tabgroup.js
@@ -13,10 +13,12 @@ @@ -14,11 +14,11 @@
class MozTabbrowserTabGroup extends MozXULElement { class MozTabbrowserTabGroup extends MozXULElement {
static markup = ` static markup = `
- <vbox class="tab-group-label-container" pack="center"> <vbox class="tab-group-label-container" pack="center">
+ <hbox class="tab-group-label-container" pack="center"> - <vbox class="tab-group-label-hover-highlight" pack="center">
<label class="tab-group-label" role="button"/> <label class="tab-group-label" role="button" />
- </vbox> - </vbox>
</vbox>
- <html:slot/> - <html:slot/>
+ </hbox>
+ <html:div class="tab-group-container"> + <html:div class="tab-group-container">
+ <html:div class="zen-tab-group-start"/> + <html:div class="zen-tab-group-start"/>
+ </html:div> + </html:div>
<vbox class="tab-group-overflow-count-container" pack="center"> <vbox class="tab-group-overflow-count-container" pack="center">
<label class="tab-group-overflow-count" role="button" /> <label class="tab-group-overflow-count" role="button" />
</vbox> </vbox>
@@ -57,20 +59,36 @@ @@ -69,20 +69,36 @@
} }
connectedCallback() { connectedCallback() {
@@ -59,10 +58,10 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
this._initialized = true; this._initialized = true;
this.saveOnWindowClose = true; this.saveOnWindowClose = true;
@@ -99,11 +117,14 @@ @@ -114,11 +130,14 @@
this.#labelElement.addEventListener("mouseover", this); this.#labelContainerElement.addEventListener("mouseover", this);
this.#labelElement.addEventListener("mouseout", this); this.#labelContainerElement.addEventListener("mouseout", this);
- this.#labelElement.addEventListener("contextmenu", e => { - this.#labelElement.addEventListener("contextmenu", e => {
- e.preventDefault(); - e.preventDefault();
- gBrowser.tabGroupMenu.openEditModal(this); - gBrowser.tabGroupMenu.openEditModal(this);
@@ -79,7 +78,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
this.#updateLabelAriaAttributes(); this.#updateLabelAriaAttributes();
this.#updateCollapsedAriaAttributes(); this.#updateCollapsedAriaAttributes();
@@ -129,6 +150,8 @@ @@ -144,6 +163,8 @@
// mounts after getting created by `Tabbrowser.adoptTabGroup`. // mounts after getting created by `Tabbrowser.adoptTabGroup`.
this.#wasCreatedByAdoption = false; this.#wasCreatedByAdoption = false;
} }
@@ -88,7 +87,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
resetDefaultGroupName = () => { resetDefaultGroupName = () => {
this.#defaultGroupName = ""; this.#defaultGroupName = "";
@@ -213,7 +236,10 @@ @@ -228,7 +249,10 @@
} }
}); });
} }
@@ -100,7 +99,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
} }
get color() { get color() {
@@ -307,6 +333,9 @@ @@ -322,6 +346,9 @@
} }
set collapsed(val) { set collapsed(val) {
@@ -110,7 +109,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
if (!!val == this.collapsed) { if (!!val == this.collapsed) {
return; return;
} }
@@ -364,7 +393,6 @@ @@ -399,7 +426,6 @@
tabGroupName, tabGroupName,
}) })
.then(result => { .then(result => {
@@ -118,7 +117,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
}); });
} }
@@ -383,7 +411,57 @@ @@ -418,7 +444,57 @@
* @returns {MozTabbrowserTab[]} * @returns {MozTabbrowserTab[]}
*/ */
get tabs() { get tabs() {
@@ -177,7 +176,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
} }
/** /**
@@ -442,7 +520,6 @@ @@ -498,7 +574,6 @@
addTabs(tabs, metricsContext) { addTabs(tabs, metricsContext) {
for (let tab of tabs) { for (let tab of tabs) {
if (tab.pinned) { if (tab.pinned) {
@@ -185,7 +184,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
} }
let tabToMove = let tabToMove =
this.ownerGlobal === tab.ownerGlobal this.ownerGlobal === tab.ownerGlobal
@@ -505,7 +582,7 @@ @@ -561,7 +636,7 @@
*/ */
on_click(event) { on_click(event) {
let isToggleElement = let isToggleElement =
@@ -194,7 +193,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
event.target === this.#overflowCountLabel; event.target === this.#overflowCountLabel;
if (isToggleElement && event.button === 0) { if (isToggleElement && event.button === 0) {
event.preventDefault(); event.preventDefault();
@@ -570,5 +647,6 @@ @@ -630,5 +705,6 @@
} }
} }

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221fb51207c6 100644 index 1425607ef87d6c28fb676e722617edfb51ba12a1..62431aa1c78c8327edf2c8c93472cb8b19b606e9 100644
--- a/browser/components/tabbrowser/content/tabs.js --- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js +++ b/browser/components/tabbrowser/content/tabs.js
@@ -44,6 +44,9 @@ @@ -44,6 +44,9 @@
@@ -12,7 +12,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if (isTab(element)) { if (isTab(element)) {
return element; return element;
} }
@@ -411,7 +414,7 @@ @@ -423,7 +426,7 @@
// and we're not hitting the scroll buttons. // and we're not hitting the scroll buttons.
if ( if (
event.button != 0 || event.button != 0 ||
@@ -21,7 +21,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
event.composedTarget.localName == "toolbarbutton" event.composedTarget.localName == "toolbarbutton"
) { ) {
return; return;
@@ -492,7 +495,6 @@ @@ -504,7 +507,6 @@
}); });
} }
} else if (isTabGroupLabel(event.target)) { } else if (isTabGroupLabel(event.target)) {
@@ -29,7 +29,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} else if ( } else if (
event.originalTarget.closest("scrollbox") && event.originalTarget.closest("scrollbox") &&
!Services.prefs.getBoolPref( !Services.prefs.getBoolPref(
@@ -528,6 +530,9 @@ @@ -540,6 +542,9 @@
} }
on_keydown(event) { on_keydown(event) {
@@ -39,7 +39,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let { altKey, shiftKey } = event; let { altKey, shiftKey } = event;
let [accel, nonAccel] = let [accel, nonAccel] =
AppConstants.platform == "macosx" AppConstants.platform == "macosx"
@@ -765,7 +770,7 @@ @@ -777,7 +782,7 @@
if (this.#isContainerVerticalPinnedGrid(tab)) { if (this.#isContainerVerticalPinnedGrid(tab)) {
// In expanded vertical mode, the max number of pinned tabs per row is dynamic // In expanded vertical mode, the max number of pinned tabs per row is dynamic
// Set this before adjusting dragged tab's position // Set this before adjusting dragged tab's position
@@ -48,7 +48,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let tabsPerRow = 0; let tabsPerRow = 0;
let position = RTL_UI let position = RTL_UI
? window.windowUtils.getBoundsWithoutFlushing( ? window.windowUtils.getBoundsWithoutFlushing(
@@ -930,7 +935,7 @@ @@ -942,7 +947,7 @@
let dropEffect = this.getDropEffectForTabDrag(event); let dropEffect = this.getDropEffectForTabDrag(event);
let isMovingInTabStrip = !fromTabList && dropEffect == "move"; let isMovingInTabStrip = !fromTabList && dropEffect == "move";
let collapseTabGroupDuringDrag = let collapseTabGroupDuringDrag =
@@ -57,7 +57,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
tab._dragData = { tab._dragData = {
offsetX: this.verticalMode offsetX: this.verticalMode
@@ -940,7 +945,7 @@ @@ -952,7 +957,7 @@
? event.screenY - window.screenY - tabOffset ? event.screenY - window.screenY - tabOffset
: event.screenY - window.screenY, : event.screenY - window.screenY,
scrollPos: scrollPos:
@@ -66,7 +66,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
? this.pinnedTabsContainer.scrollPosition ? this.pinnedTabsContainer.scrollPosition
: this.arrowScrollbox.scrollPosition, : this.arrowScrollbox.scrollPosition,
screenX: event.screenX, screenX: event.screenX,
@@ -969,6 +974,7 @@ @@ -981,6 +986,7 @@
if (collapseTabGroupDuringDrag) { if (collapseTabGroupDuringDrag) {
tab.group.collapsed = true; tab.group.collapsed = true;
@@ -74,7 +74,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
} }
} }
@@ -1015,6 +1021,10 @@ @@ -1027,6 +1033,10 @@
} }
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0); let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
@@ -85,7 +85,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if ( if (
(dropEffect == "move" || dropEffect == "copy") && (dropEffect == "move" || dropEffect == "copy") &&
document == draggedTab.ownerDocument && document == draggedTab.ownerDocument &&
@@ -1196,6 +1206,18 @@ @@ -1208,6 +1218,18 @@
this._tabDropIndicator.hidden = true; this._tabDropIndicator.hidden = true;
event.stopPropagation(); event.stopPropagation();
@@ -104,7 +104,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if (draggedTab && dropEffect == "copy") { if (draggedTab && dropEffect == "copy") {
let duplicatedDraggedTab; let duplicatedDraggedTab;
let duplicatedTabs = []; let duplicatedTabs = [];
@@ -1220,8 +1242,9 @@ @@ -1232,8 +1254,9 @@
let translateOffsetY = oldTranslateY % tabHeight; let translateOffsetY = oldTranslateY % tabHeight;
let newTranslateX = oldTranslateX - translateOffsetX; let newTranslateX = oldTranslateX - translateOffsetX;
let newTranslateY = oldTranslateY - translateOffsetY; let newTranslateY = oldTranslateY - translateOffsetY;
@@ -116,7 +116,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if (this.#isContainerVerticalPinnedGrid(draggedTab)) { if (this.#isContainerVerticalPinnedGrid(draggedTab)) {
// Update both translate axis for pinned vertical expanded tabs // Update both translate axis for pinned vertical expanded tabs
@@ -1237,8 +1260,8 @@ @@ -1249,8 +1272,8 @@
} }
} else { } else {
let tabs = this.ariaFocusableItems.slice( let tabs = this.ariaFocusableItems.slice(
@@ -127,7 +127,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
); );
let size = this.verticalMode ? "height" : "width"; let size = this.verticalMode ? "height" : "width";
let screenAxis = this.verticalMode ? "screenY" : "screenX"; let screenAxis = this.verticalMode ? "screenY" : "screenX";
@@ -1287,11 +1310,13 @@ @@ -1299,11 +1322,13 @@
this.dragToPinPromoCard, this.dragToPinPromoCard,
]; ];
let shouldPin = let shouldPin =
@@ -141,7 +141,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
isTab(draggedTab) && isTab(draggedTab) &&
draggedTab.pinned && draggedTab.pinned &&
this.arrowScrollbox.contains(event.target); this.arrowScrollbox.contains(event.target);
@@ -1309,6 +1334,7 @@ @@ -1321,6 +1346,7 @@
(oldTranslateY && oldTranslateY != newTranslateY); (oldTranslateY && oldTranslateY != newTranslateY);
} else if (this.verticalMode) { } else if (this.verticalMode) {
shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY; shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY;
@@ -149,7 +149,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} else { } else {
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX; shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
} }
@@ -1503,6 +1529,7 @@ @@ -1515,6 +1541,7 @@
let nextItem = this.ariaFocusableItems[newIndex]; let nextItem = this.ariaFocusableItems[newIndex];
let tabGroup = isTab(nextItem) && nextItem.group; let tabGroup = isTab(nextItem) && nextItem.group;
@@ -157,7 +157,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
gBrowser.loadTabs(urls, { gBrowser.loadTabs(urls, {
inBackground, inBackground,
replace, replace,
@@ -1541,6 +1568,17 @@ @@ -1553,6 +1580,17 @@
} }
this.#resetTabsAfterDrop(draggedTab.ownerDocument); this.#resetTabsAfterDrop(draggedTab.ownerDocument);
@@ -175,7 +175,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if ( if (
dt.mozUserCancelled || dt.mozUserCancelled ||
dt.dropEffect != "none" || dt.dropEffect != "none" ||
@@ -1707,7 +1745,6 @@ @@ -1719,7 +1757,6 @@
this.toggleAttribute("overflow", true); this.toggleAttribute("overflow", true);
this._updateCloseButtons(); this._updateCloseButtons();
@@ -183,7 +183,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
document document
.getElementById("tab-preview-panel") .getElementById("tab-preview-panel")
@@ -1765,7 +1802,7 @@ @@ -1777,7 +1814,7 @@
} }
get newTabButton() { get newTabButton() {
@@ -192,7 +192,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
get verticalMode() { get verticalMode() {
@@ -1781,6 +1818,7 @@ @@ -1793,6 +1830,7 @@
} }
get overflowing() { get overflowing() {
@@ -200,28 +200,25 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
return this.hasAttribute("overflow"); return this.hasAttribute("overflow");
} }
@@ -1789,31 +1827,51 @@ @@ -1806,29 +1844,54 @@
if (this.#allTabs) { if (pinnedChildren?.at(-1)?.id == "pinned-tabs-container-periphery") {
return this.#allTabs; pinnedChildren.pop();
} }
- // Remove temporary periphery element added at drag start.
- let pinnedChildren = Array.from(this.pinnedTabsContainer.children);
- if (pinnedChildren?.at(-1)?.id == "pinned-tabs-container-periphery") {
- pinnedChildren.pop();
- }
- let unpinnedChildren = Array.from(this.arrowScrollbox.children); - let unpinnedChildren = Array.from(this.arrowScrollbox.children);
- // remove arrowScrollbox periphery element. + let unpinnedChildren = gZenWorkspaces.tabboxChildren;
- unpinnedChildren.pop(); // remove arrowScrollbox periphery element.
- unpinnedChildren.pop();
+ let children = gZenWorkspaces.tabboxChildren;
+ children.pop(); // explode tab groups and split view wrappers
// explode tab groups
// Iterate backwards over the array to preserve indices while we modify // Iterate backwards over the array to preserve indices while we modify
// things in place // things in place
- for (let i = unpinnedChildren.length - 1; i >= 0; i--) { - for (let i = unpinnedChildren.length - 1; i >= 0; i--) {
- if (unpinnedChildren[i].tagName == "tab-group") { - if (
- unpinnedChildren[i].tagName == "tab-group" ||
- unpinnedChildren[i].tagName == "tab-split-view-wrapper"
- ) {
- unpinnedChildren.splice(i, 1, ...unpinnedChildren[i].tabs); - unpinnedChildren.splice(i, 1, ...unpinnedChildren[i].tabs);
+ const pinnedTabs = [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...this.pinnedTabsContainer.children]; + const pinnedTabs = [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...pinnedChildren];
+ const expandTabs = (tabs) => { + const expandTabs = (tabs) => {
+ for (let i = tabs.length - 1; i >= 0; i--) { + for (let i = tabs.length - 1; i >= 0; i--) {
+ const tab = tabs[i]; + const tab = tabs[i];
@@ -231,15 +228,13 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
+ // add the tabs in the group to the list + // add the tabs in the group to the list
+ tabs.splice(i, 0, ...tab.tabs); + tabs.splice(i, 0, ...tab.tabs);
+ } + }
} + }
} + };
-
- this.#allTabs = [...pinnedChildren, ...unpinnedChildren];
+ expandTabs(pinnedTabs); + expandTabs(pinnedTabs);
+ expandTabs(children); + expandTabs(unpinnedChildren);
+ const allTabs = [ + const allTabs = [
+ ...pinnedTabs, + ...pinnedTabs,
+ ...children, + ...unpinnedChildren,
+ ]; + ];
+ const lastPinnedTabIdx = pinnedTabs.length - 1; + const lastPinnedTabIdx = pinnedTabs.length - 1;
+ let i = 0; + let i = 0;
@@ -254,21 +249,23 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
+ // remove the separator from the list + // remove the separator from the list
+ allTabs.splice(i, 1); + allTabs.splice(i, 1);
+ i--; + i--;
+ } }
+ i++; + i++;
+ } }
-
- this.#allTabs = [...pinnedChildren, ...unpinnedChildren];
+ this.#allTabs = allTabs; + this.#allTabs = allTabs;
return this.#allTabs; return this.#allTabs;
} }
get allGroups() { get allGroups() {
- let children = Array.from(this.arrowScrollbox.children); let children = Array.from(this.arrowScrollbox.children);
- return children.filter(node => node.tagName == "tab-group"); - return children.filter(node => node.tagName == "tab-group");
+ return gZenWorkspaces.allTabGroups; + return gZenWorkspaces.allTabGroups;
} }
/** /**
@@ -1880,29 +1938,23 @@ @@ -1895,29 +1958,23 @@
let elementIndex = 0; let elementIndex = 0;
@@ -307,7 +304,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
} }
@@ -1914,6 +1966,7 @@ @@ -1929,6 +1986,7 @@
_invalidateCachedTabs() { _invalidateCachedTabs() {
this.#allTabs = null; this.#allTabs = null;
this._invalidateCachedVisibleTabs(); this._invalidateCachedVisibleTabs();
@@ -315,7 +312,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
_invalidateCachedVisibleTabs() { _invalidateCachedVisibleTabs() {
@@ -1929,8 +1982,8 @@ @@ -1944,8 +2002,8 @@
#isContainerVerticalPinnedGrid(tab) { #isContainerVerticalPinnedGrid(tab) {
return ( return (
this.verticalMode && this.verticalMode &&
@@ -326,7 +323,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
!this.expandOnHover !this.expandOnHover
); );
} }
@@ -1946,7 +1999,7 @@ @@ -1961,7 +2019,7 @@
if (node == null) { if (node == null) {
// We have a container for non-tab elements at the end of the scrollbox. // We have a container for non-tab elements at the end of the scrollbox.
@@ -335,7 +332,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
node.before(tab); node.before(tab);
@@ -2041,7 +2094,7 @@ @@ -2056,7 +2114,7 @@
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and // 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); // for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
// Attach the long click popup to all of them. // Attach the long click popup to all of them.
@@ -344,7 +341,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
const newTab2 = this.newTabButton; const newTab2 = this.newTabButton;
const newTabVertical = document.getElementById( const newTabVertical = document.getElementById(
"vertical-tabs-newtab-button" "vertical-tabs-newtab-button"
@@ -2139,8 +2192,10 @@ @@ -2156,8 +2214,10 @@
*/ */
_handleTabSelect(aInstant) { _handleTabSelect(aInstant) {
let selectedTab = this.selectedItem; let selectedTab = this.selectedItem;
@@ -355,7 +352,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
selectedTab._notselectedsinceload = false; selectedTab._notselectedsinceload = false;
} }
@@ -2149,7 +2204,7 @@ @@ -2166,7 +2226,7 @@
* @param {boolean} [shouldScrollInstantly=false] * @param {boolean} [shouldScrollInstantly=false]
*/ */
#ensureTabIsVisible(tab, shouldScrollInstantly = false) { #ensureTabIsVisible(tab, shouldScrollInstantly = false) {
@@ -364,7 +361,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if (arrowScrollbox?.overflowing) { if (arrowScrollbox?.overflowing) {
arrowScrollbox.ensureElementIsVisible(tab, shouldScrollInstantly); arrowScrollbox.ensureElementIsVisible(tab, shouldScrollInstantly);
} }
@@ -2288,6 +2343,16 @@ @@ -2305,6 +2365,16 @@
when the tab is first selected to be dragged. when the tab is first selected to be dragged.
*/ */
#updateTabStylesOnDrag(tab) { #updateTabStylesOnDrag(tab) {
@@ -381,7 +378,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let isPinned = tab.pinned; let isPinned = tab.pinned;
let numPinned = gBrowser.pinnedTabCount; let numPinned = gBrowser.pinnedTabCount;
let allTabs = this.ariaFocusableItems; let allTabs = this.ariaFocusableItems;
@@ -2540,7 +2605,7 @@ @@ -2578,7 +2648,7 @@
return; return;
} }
@@ -390,7 +387,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let directionX = screenX > dragData.animLastScreenX; let directionX = screenX > dragData.animLastScreenX;
let directionY = screenY > dragData.animLastScreenY; let directionY = screenY > dragData.animLastScreenY;
@@ -2549,6 +2614,8 @@ @@ -2587,6 +2657,8 @@
let { width: tabWidth, height: tabHeight } = let { width: tabWidth, height: tabHeight } =
draggedTab.getBoundingClientRect(); draggedTab.getBoundingClientRect();
@@ -399,7 +396,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let shiftSizeX = tabWidth * movingTabs.length; let shiftSizeX = tabWidth * movingTabs.length;
let shiftSizeY = tabHeight; let shiftSizeY = tabHeight;
dragData.tabWidth = tabWidth; dragData.tabWidth = tabWidth;
@@ -2585,8 +2652,8 @@ @@ -2623,8 +2695,8 @@
let lastBoundX = let lastBoundX =
lastTabInRow.screenX + lastTabInRow.screenX +
lastTabInRow.getBoundingClientRect().width - lastTabInRow.getBoundingClientRect().width -
@@ -410,7 +407,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX); translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX);
translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY); translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY);
@@ -2744,13 +2811,18 @@ @@ -2782,13 +2854,18 @@
this.#clearDragOverGroupingTimer(); this.#clearDragOverGroupingTimer();
this.#clearPinnedDropIndicatorTimer(); this.#clearPinnedDropIndicatorTimer();
@@ -433,7 +430,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
if (this.#rtlMode) { if (this.#rtlMode) {
tabs.reverse(); tabs.reverse();
@@ -2761,7 +2833,7 @@ @@ -2799,7 +2876,7 @@
let screenAxis = this.verticalMode ? "screenY" : "screenX"; let screenAxis = this.verticalMode ? "screenY" : "screenX";
let size = this.verticalMode ? "height" : "width"; let size = this.verticalMode ? "height" : "width";
let translateAxis = this.verticalMode ? "translateY" : "translateX"; let translateAxis = this.verticalMode ? "translateY" : "translateX";
@@ -442,7 +439,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let tabSize = this.verticalMode ? tabHeight : tabWidth; let tabSize = this.verticalMode ? tabHeight : tabWidth;
let translateX = event.screenX - dragData.screenX; let translateX = event.screenX - dragData.screenX;
let translateY = event.screenY - dragData.screenY; let translateY = event.screenY - dragData.screenY;
@@ -2777,6 +2849,12 @@ @@ -2815,6 +2892,12 @@
); );
let lastMovingTab = movingTabs.at(-1); let lastMovingTab = movingTabs.at(-1);
let firstMovingTab = movingTabs[0]; let firstMovingTab = movingTabs[0];
@@ -455,7 +452,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let endEdge = ele => ele[screenAxis] + bounds(ele)[size]; let endEdge = ele => ele[screenAxis] + bounds(ele)[size];
let lastMovingTabScreen = endEdge(lastMovingTab); let lastMovingTabScreen = endEdge(lastMovingTab);
let firstMovingTabScreen = firstMovingTab[screenAxis]; let firstMovingTabScreen = firstMovingTab[screenAxis];
@@ -2791,6 +2869,11 @@ @@ -2829,6 +2912,11 @@
let endBound = this.#rtlMode let endBound = this.#rtlMode
? endEdge(this) - lastMovingTabScreen ? endEdge(this) - lastMovingTabScreen
: periphery[screenAxis] - 1 - lastMovingTabScreen; : periphery[screenAxis] - 1 - lastMovingTabScreen;
@@ -467,7 +464,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
translate = Math.min(Math.max(translate, startBound), endBound); translate = Math.min(Math.max(translate, startBound), endBound);
// Center the tab under the cursor if the tab is not under the cursor while dragging // Center the tab under the cursor if the tab is not under the cursor while dragging
@@ -2980,6 +3063,8 @@ @@ -3018,6 +3106,8 @@
}; };
let dropElement = getOverlappedElement(); let dropElement = getOverlappedElement();
@@ -476,7 +473,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let newDropElementIndex; let newDropElementIndex;
if (dropElement) { if (dropElement) {
@@ -3061,7 +3146,7 @@ @@ -3099,7 +3189,7 @@
? Services.prefs.getIntPref( ? Services.prefs.getIntPref(
"browser.tabs.dragDrop.moveOverThresholdPercent" "browser.tabs.dragDrop.moveOverThresholdPercent"
) / 100 ) / 100
@@ -485,7 +482,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold)); moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold));
let shouldMoveOver = overlapPercent > moveOverThreshold; let shouldMoveOver = overlapPercent > moveOverThreshold;
if (logicalForward && shouldMoveOver) { if (logicalForward && shouldMoveOver) {
@@ -3094,6 +3179,7 @@ @@ -3132,6 +3222,7 @@
// If dragging a group over another group, don't make it look like it is // 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. // possible to drop the dragged group inside the other group.
if ( if (
@@ -493,7 +490,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
isTabGroupLabel(draggedTab) && isTabGroupLabel(draggedTab) &&
dropElement?.group && dropElement?.group &&
(!dropElement.group.collapsed || (!dropElement.group.collapsed ||
@@ -3120,20 +3206,13 @@ @@ -3158,20 +3249,13 @@
let isOutOfBounds = isPinned let isOutOfBounds = isPinned
? dropElement.elementIndex >= numPinned ? dropElement.elementIndex >= numPinned
: dropElement.elementIndex < numPinned; : dropElement.elementIndex < numPinned;
@@ -518,7 +515,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
let groupingDelay = Services.prefs.getIntPref( let groupingDelay = Services.prefs.getIntPref(
"browser.tabs.dragDrop.createGroup.delayMS" "browser.tabs.dragDrop.createGroup.delayMS"
); );
@@ -3141,6 +3220,7 @@ @@ -3179,6 +3263,7 @@
// When dragging tab(s) over an ungrouped tab, signal to the user // When dragging tab(s) over an ungrouped tab, signal to the user
// that dropping the tab(s) will create a new tab group. // that dropping the tab(s) will create a new tab group.
let shouldCreateGroupOnDrop = let shouldCreateGroupOnDrop =
@@ -526,7 +523,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
!movingTabsSet.has(dropElement) && !movingTabsSet.has(dropElement) &&
isTab(dropElement) && isTab(dropElement) &&
!dropElement?.group && !dropElement?.group &&
@@ -3149,6 +3229,7 @@ @@ -3187,6 +3272,7 @@
// When dragging tab(s) over a collapsed tab group label, signal to the // When dragging tab(s) over a collapsed tab group label, signal to the
// user that dropping the tab(s) will add them to the group. // user that dropping the tab(s) will add them to the group.
let shouldDropIntoCollapsedTabGroup = let shouldDropIntoCollapsedTabGroup =
@@ -534,7 +531,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
isTabGroupLabel(dropElement) && isTabGroupLabel(dropElement) &&
dropElement.group.collapsed && dropElement.group.collapsed &&
overlapPercent > dragOverGroupingThreshold; overlapPercent > dragOverGroupingThreshold;
@@ -3193,19 +3274,14 @@ @@ -3231,19 +3317,14 @@
dropElement = dropElementGroup; dropElement = dropElementGroup;
colorCode = undefined; colorCode = undefined;
} else if (isTabGroupLabel(dropElement)) { } else if (isTabGroupLabel(dropElement)) {
@@ -562,7 +559,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
this.#setDragOverGroupColor(colorCode); this.#setDragOverGroupColor(colorCode);
this.toggleAttribute("movingtab-addToGroup", colorCode); this.toggleAttribute("movingtab-addToGroup", colorCode);
@@ -3224,11 +3300,11 @@ @@ -3262,11 +3343,11 @@
dragData.dropElement = dropElement; dragData.dropElement = dropElement;
dragData.dropBefore = dropBefore; dragData.dropBefore = dropBefore;
dragData.animDropElementIndex = newDropElementIndex; dragData.animDropElementIndex = newDropElementIndex;
@@ -576,7 +573,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
continue; continue;
} }
@@ -3350,12 +3426,14 @@ @@ -3388,12 +3469,14 @@
element?.removeAttribute("dragover-groupTarget"); element?.removeAttribute("dragover-groupTarget");
} }
@@ -593,7 +590,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
for (let item of this.ariaFocusableItems) { for (let item of this.ariaFocusableItems) {
this.#resetGroupTarget(item); this.#resetGroupTarget(item);
@@ -3402,16 +3480,15 @@ @@ -3440,7 +3523,7 @@
tab.style.left = ""; tab.style.left = "";
tab.style.top = ""; tab.style.top = "";
tab.style.maxWidth = ""; tab.style.maxWidth = "";
@@ -602,17 +599,16 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
} }
for (let label of draggedTabDocument.getElementsByClassName( for (let label of draggedTabDocument.getElementsByClassName(
"tab-group-label-container" "tab-group-label-container"
)) { @@ -3450,7 +3533,7 @@
label.style.width = "";
- label.style.height = "";
label.style.left = ""; label.style.left = "";
label.style.top = ""; label.style.top = "";
label.style.maxWidth = "";
- label.removeAttribute("dragtarget"); - label.removeAttribute("dragtarget");
+ label.removeAttribute("zen-dragtarget"); + label.removeAttribute("zen-dragtarget");
} }
let periphery = draggedTabDocument.getElementById( let periphery = draggedTabDocument.getElementById(
"tabbrowser-arrowscrollbox-periphery" "tabbrowser-arrowscrollbox-periphery"
@@ -3483,7 +3560,7 @@ @@ -3522,7 +3605,7 @@
let postTransitionCleanup = () => { let postTransitionCleanup = () => {
movingTab._moveTogetherSelectedTabsData.animate = false; movingTab._moveTogetherSelectedTabsData.animate = false;
}; };
@@ -621,7 +617,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
postTransitionCleanup(); postTransitionCleanup();
} else { } else {
let onTransitionEnd = transitionendEvent => { let onTransitionEnd = transitionendEvent => {
@@ -3647,7 +3724,7 @@ @@ -3686,7 +3769,7 @@
} }
_notifyBackgroundTab(aTab) { _notifyBackgroundTab(aTab) {
@@ -630,7 +626,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
return; return;
} }
@@ -3756,7 +3833,10 @@ @@ -3795,7 +3878,10 @@
#getDragTarget(event, { ignoreSides = false } = {}) { #getDragTarget(event, { ignoreSides = false } = {}) {
let { target } = event; let { target } = event;
while (target) { while (target) {
@@ -642,7 +638,7 @@ index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221f
break; break;
} }
target = target.parentNode; target = target.parentNode;
@@ -3773,6 +3853,9 @@ @@ -3812,6 +3898,9 @@
return null; return null;
} }
} }

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
index 36e3ab4a5a153230bb488b66dda7e3e7c763ca23..cc4ea61914a316451fa54b01a5c8c6a305e4038a 100644 index a1faf7e4278c66865f267283515f22052769928d..d76d19da5a3d4b9739faf3a673bb3ad693765ada 100644
--- a/browser/components/urlbar/UrlbarController.sys.mjs --- a/browser/components/urlbar/UrlbarController.sys.mjs
+++ b/browser/components/urlbar/UrlbarController.sys.mjs +++ b/browser/components/urlbar/UrlbarController.sys.mjs
@@ -434,6 +434,8 @@ export class UrlbarController { @@ -441,6 +441,8 @@ export class UrlbarController {
}); });
} }
event.preventDefault(); event.preventDefault();

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079774eed27 100644 index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0ce222c46 100644
--- a/browser/components/urlbar/UrlbarInput.sys.mjs --- a/browser/components/urlbar/UrlbarInput.sys.mjs
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs +++ b/browser/components/urlbar/UrlbarInput.sys.mjs
@@ -74,6 +74,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () => @@ -76,6 +76,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
lazy.UrlbarUtils.getLogger({ prefix: "Input" }) lazy.UrlbarUtils.getLogger({ prefix: "Input" })
); );
@@ -16,7 +16,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
const DEFAULT_FORM_HISTORY_NAME = "searchbar-history"; const DEFAULT_FORM_HISTORY_NAME = "searchbar-history";
const UNLIMITED_MAX_RESULTS = 99; const UNLIMITED_MAX_RESULTS = 99;
@@ -355,7 +362,16 @@ export class UrlbarInput { @@ -437,7 +444,16 @@ export class UrlbarInput {
// See _on_select(). HTMLInputElement.select() dispatches a "select" // See _on_select(). HTMLInputElement.select() dispatches a "select"
// event but does not set the primary selection. // event but does not set the primary selection.
this._suppressPrimaryAdjustment = true; this._suppressPrimaryAdjustment = true;
@@ -33,7 +33,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this._suppressPrimaryAdjustment = false; this._suppressPrimaryAdjustment = false;
} }
@@ -431,6 +447,10 @@ export class UrlbarInput { @@ -513,6 +529,10 @@ export class UrlbarInput {
hideSearchTerms = false, hideSearchTerms = false,
isSameDocument = false isSameDocument = false
) { ) {
@@ -41,10 +41,10 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
+ return; + return;
+ } + }
+ +
// We only need to update the searchModeUI on tab switch conditionally if (!this.isAddressbar) {
// as we only persist searchMode with ScotchBonnet enabled. throw new Error(
if ( "Cannot set URI for UrlbarInput that is not an address bar"
@@ -703,8 +723,16 @@ export class UrlbarInput { @@ -790,8 +810,16 @@ export class UrlbarInput {
return; return;
} }
} }
@@ -62,7 +62,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
} }
/** /**
@@ -1116,7 +1144,11 @@ export class UrlbarInput { @@ -1207,7 +1235,11 @@ export class UrlbarInput {
} }
if (!this.#providesSearchMode(result)) { if (!this.#providesSearchMode(result)) {
@@ -75,11 +75,25 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
} }
if (isCanonized) { if (isCanonized) {
@@ -2205,6 +2237,12 @@ export class UrlbarInput { @@ -2298,6 +2330,13 @@ export class UrlbarInput {
await this.#updateLayoutBreakoutDimensions();
}
+ get zenUrlbarBehavior() {
+ if (this.document.documentElement.hasAttribute("inDOMFullscreen")) {
+ return "float";
+ }
+ return lazy.ZEN_URLBAR_BEHAVIOR;
+ }
+
startLayoutExtend() {
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
// Do not expand if the Urlbar does not support being expanded or it is
@@ -2312,6 +2351,12 @@ export class UrlbarInput {
this.setAttribute("breakout-extend", "true"); this.setAttribute("breakout-extend", "true");
+ if (lazy.ZEN_URLBAR_BEHAVIOR == 'float' || (lazy.ZEN_URLBAR_BEHAVIOR == 'floating-on-type' && !this.focusedViaMousedown)) { + if (this.zenUrlbarBehavior == 'float' || (this.zenUrlbarBehavior == 'floating-on-type' && !this.focusedViaMousedown)) {
+ this.setAttribute("zen-floating-urlbar", "true"); + this.setAttribute("zen-floating-urlbar", "true");
+ this.window.gZenUIManager.onFloatingURLBarOpen(); + this.window.gZenUIManager.onFloatingURLBarOpen();
+ } else { + } else {
@@ -88,7 +102,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
// Enable the animation only after the first extend call to ensure it // Enable the animation only after the first extend call to ensure it
// doesn't run when opening a new window. // doesn't run when opening a new window.
if (!this.hasAttribute("breakout-extend-animate")) { if (!this.hasAttribute("breakout-extend-animate")) {
@@ -2224,6 +2262,24 @@ export class UrlbarInput { @@ -2331,6 +2376,24 @@ export class UrlbarInput {
return; return;
} }
@@ -113,7 +127,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this.removeAttribute("breakout-extend"); this.removeAttribute("breakout-extend");
this.#updateTextboxPosition(); this.#updateTextboxPosition();
} }
@@ -2553,7 +2609,7 @@ export class UrlbarInput { @@ -2660,7 +2723,7 @@ export class UrlbarInput {
this.textbox.parentNode.style.setProperty( this.textbox.parentNode.style.setProperty(
"--urlbar-container-height", "--urlbar-container-height",
@@ -122,7 +136,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
); );
this.textbox.style.setProperty( this.textbox.style.setProperty(
"--urlbar-height", "--urlbar-height",
@@ -2986,6 +3042,7 @@ export class UrlbarInput { @@ -3093,6 +3156,7 @@ export class UrlbarInput {
} }
_toggleActionOverride(event) { _toggleActionOverride(event) {
@@ -130,24 +144,24 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
if ( if (
event.keyCode == KeyEvent.DOM_VK_SHIFT || event.keyCode == KeyEvent.DOM_VK_SHIFT ||
event.keyCode == KeyEvent.DOM_VK_ALT || event.keyCode == KeyEvent.DOM_VK_ALT ||
@@ -3087,7 +3144,7 @@ export class UrlbarInput { @@ -3197,7 +3261,7 @@ export class UrlbarInput {
*/ return val;
_trimValue(val) { }
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs") let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
- ? lazy.BrowserUIUtils.trimURL(val) - ? lazy.BrowserUIUtils.trimURL(val)
+ ? this._zenTrimURL(val) + ? this._zenTrimURL(val)
: val; : val;
// Only trim value if the directionality doesn't change to RTL and we're not // Only trim value if the directionality doesn't change to RTL and we're not
// showing a strikeout https protocol. // showing a strikeout https protocol.
@@ -3303,6 +3360,7 @@ export class UrlbarInput { @@ -3407,6 +3471,7 @@ export class UrlbarInput {
resultDetails = null, );
browser = this.window.gBrowser.selectedBrowser }
) {
+ openUILinkWhere = this.window.gZenUIManager.getOpenUILinkWhere(url, browser, openUILinkWhere); + openUILinkWhere = this.window.gZenUIManager.getOpenUILinkWhere(url, browser, openUILinkWhere);
// No point in setting these because we'll handleRevert() a few rows below. // No point in setting these because we'll handleRevert() a few rows below.
if (openUILinkWhere == "current") { if (openUILinkWhere == "current") {
// Make sure URL is formatted properly (don't show punycode). // Make sure URL is formatted properly (don't show punycode).
@@ -3455,6 +3513,10 @@ export class UrlbarInput { @@ -3608,6 +3673,10 @@ export class UrlbarInput {
} }
reuseEmpty = true; reuseEmpty = true;
} }
@@ -158,7 +172,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
if ( if (
where == "tab" && where == "tab" &&
reuseEmpty && reuseEmpty &&
@@ -3462,6 +3524,9 @@ export class UrlbarInput { @@ -3615,6 +3684,9 @@ export class UrlbarInput {
) { ) {
where = "current"; where = "current";
} }
@@ -168,7 +182,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
return where; return where;
} }
@@ -3719,6 +3784,7 @@ export class UrlbarInput { @@ -3872,6 +3944,7 @@ export class UrlbarInput {
this.setResultForCurrentValue(null); this.setResultForCurrentValue(null);
this.handleCommand(); this.handleCommand();
this.controller.clearLastQueryContextCache(); this.controller.clearLastQueryContextCache();
@@ -176,7 +190,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this._suppressStartQuery = false; this._suppressStartQuery = false;
}); });
@@ -3726,7 +3792,6 @@ export class UrlbarInput { @@ -3879,7 +3952,6 @@ export class UrlbarInput {
contextMenu.addEventListener("popupshowing", () => { contextMenu.addEventListener("popupshowing", () => {
// Close the results pane when the input field contextual menu is open, // Close the results pane when the input field contextual menu is open,
// because paste and go doesn't want a result selection. // because paste and go doesn't want a result selection.
@@ -184,7 +198,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
let controller = let controller =
this.document.commandDispatcher.getControllerForCommand("cmd_paste"); this.document.commandDispatcher.getControllerForCommand("cmd_paste");
@@ -3836,7 +3901,11 @@ export class UrlbarInput { @@ -3991,7 +4063,11 @@ export class UrlbarInput {
if (!engineName && !source && !this.hasAttribute("searchmode")) { if (!engineName && !source && !this.hasAttribute("searchmode")) {
return; return;
} }
@@ -194,10 +208,10 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
+ detail: { searchMode }, + detail: { searchMode },
+ }) + })
+ ); + );
this._searchModeIndicatorTitle.textContent = ""; if (this._searchModeIndicatorTitle) {
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id"); this._searchModeIndicatorTitle.textContent = "";
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
@@ -4130,6 +4199,7 @@ export class UrlbarInput { @@ -4302,6 +4378,7 @@ export class UrlbarInput {
this.document.l10n.setAttributes( this.document.l10n.setAttributes(
this.inputField, this.inputField,
@@ -205,7 +219,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
l10nId, l10nId,
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
); );
@@ -4241,6 +4311,11 @@ export class UrlbarInput { @@ -4413,6 +4490,11 @@ export class UrlbarInput {
} }
_on_click(event) { _on_click(event) {
@@ -217,7 +231,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
if ( if (
event.target == this.inputField || event.target == this.inputField ||
event.target == this._inputContainer event.target == this._inputContainer
@@ -4311,7 +4386,7 @@ export class UrlbarInput { @@ -4485,7 +4567,7 @@ export class UrlbarInput {
} }
} }
@@ -226,7 +240,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this.view.autoOpen({ event }); this.view.autoOpen({ event });
} else { } else {
if (this._untrimOnFocusAfterKeydown) { if (this._untrimOnFocusAfterKeydown) {
@@ -4351,9 +4426,16 @@ export class UrlbarInput { @@ -4525,9 +4607,16 @@ export class UrlbarInput {
} }
_on_mousedown(event) { _on_mousedown(event) {
@@ -235,16 +249,16 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
case this.textbox: { case this.textbox: {
this._mousedownOnUrlbarDescendant = true; this._mousedownOnUrlbarDescendant = true;
+ const isProbablyFloating = + const isProbablyFloating =
+ (lazy.ZEN_URLBAR_BEHAVIOR == "floating-on-type" && + (this.zenUrlbarBehavior == "floating-on-type" &&
+ this.hasAttribute("breakout-extend") && !this.focusedViaMousedown) || + this.hasAttribute("breakout-extend") && !this.focusedViaMousedown) ||
+ (lazy.ZEN_URLBAR_BEHAVIOR == "float") || this.window.gZenVerticalTabsManager._hasSetSingleToolbar; + (this.zenUrlbarBehavior == "float") || this.window.gZenVerticalTabsManager._hasSetSingleToolbar;
+ if (event.type != "click" && isProbablyFloating || event.type == "click" && !isProbablyFloating) { + if (event.type != "click" && isProbablyFloating || event.type == "click" && !isProbablyFloating) {
+ return true; + return true;
+ } + }
if ( if (
event.target != this.inputField && event.target != this.inputField &&
@@ -4364,6 +4446,10 @@ export class UrlbarInput { @@ -4538,6 +4627,10 @@ export class UrlbarInput {
this.focusedViaMousedown = !this.focused; this.focusedViaMousedown = !this.focused;
this._preventClickSelectsAll = this.focused; this._preventClickSelectsAll = this.focused;
@@ -255,7 +269,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
// Keep the focus status, since the attribute may be changed // Keep the focus status, since the attribute may be changed
// upon calling this.focus(). // upon calling this.focus().
@@ -4399,7 +4485,7 @@ export class UrlbarInput { @@ -4573,7 +4666,7 @@ export class UrlbarInput {
} }
// Don't close the view when clicking on a tab; we may want to keep the // Don't close the view when clicking on a tab; we may want to keep the
// view open on tab switch, and the TabSelect event arrived earlier. // view open on tab switch, and the TabSelect event arrived earlier.
@@ -264,7 +278,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
break; break;
} }
@@ -4716,7 +4802,7 @@ export class UrlbarInput { @@ -4890,7 +4983,7 @@ export class UrlbarInput {
// When we are in actions search mode we can show more results so // When we are in actions search mode we can show more results so
// increase the limit. // increase the limit.
let maxResults = let maxResults =

View File

@@ -1,16 +1,16 @@
diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
index cdc476a3eb2ee2cb6193d215513b65ed375f6153..bc66d9651e521bda75a3bb9e7f1e4b3bb325be90 100644 index 20be2dbbb8471aeb43a9bf77888c9858a0b61186..a9f974a78c5676d1340a3543852e4126c1d32b04 100644
--- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs --- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
+++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs +++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
@@ -855,6 +855,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer { @@ -852,6 +852,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
} }
if (result.providerName == lazy.UrlbarProviderTabToSearch.name) { if (result.providerName == "UrlbarProviderTabToSearch") {
+ return false; + return false;
// Discard the result if a tab-to-search result was added already. // Discard the result if a tab-to-search result was added already.
if (!state.canAddTabToSearch) { if (!state.canAddTabToSearch) {
return false; return false;
@@ -1501,7 +1502,9 @@ class MuxerUnifiedComplete extends UrlbarMuxer { @@ -1498,7 +1499,9 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
usedLimits.maxResultCount++; usedLimits.maxResultCount++;
} }

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs
index 3c179db3b310c43f8c6c06b1ecbcf5ed59feefe6..d9d2ce116ebcee8d403e165066c3a569bb952cd2 100644 index 46ad55519aecd6c14034a9faa91c7ad8e5c1c422..e8d9c06499a2b273483edd21faf902c936462b59 100644
--- a/browser/components/urlbar/UrlbarPrefs.sys.mjs --- a/browser/components/urlbar/UrlbarPrefs.sys.mjs
+++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs +++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs
@@ -719,6 +719,7 @@ function makeResultGroups({ showSearchSuggestionsFirst }) { @@ -731,6 +731,7 @@ function makeResultGroups({ showSearchSuggestionsFirst }) {
*/ */
let rootGroup = { let rootGroup = {
children: [ children: [

View File

@@ -1,13 +1,13 @@
diff --git a/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs b/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs diff --git a/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs b/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs
index ad971f090bdaba2865cf1fac2840b1f553d2630c..a9e676e43d35b617eebd5a67c8653397b7c0c6bf 100644 index b2c3bfa6fbe83fceb019196c210baaa7b4881372..02f2c8be89f163e16c5fd29f9b7e145e16ea53ed 100644
--- a/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs --- a/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs
+++ b/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs +++ b/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs
@@ -40,11 +40,13 @@ function defaultQuery(conditions = "") { @@ -44,11 +44,13 @@ function defaultQuery(conditions = "") {
let query = ` let query = `
SELECT h.url, h.title, ${SQL_BOOKMARK_TAGS_FRAGMENT}, h.id, t.open_count, SELECT h.url, h.title, ${SQL_BOOKMARK_TAGS_FRAGMENT}, h.id, t.open_count,
${lazy.PAGES_FRECENCY_FIELD} AS frecency, t.userContextId, ${lazy.PAGES_FRECENCY_FIELD} AS frecency, t.userContextId,
- h.last_visit_date, t.groupId - h.last_visit_date, NULLIF(t.groupId, '') groupId
+ h.last_visit_date, t.groupId, zp.url AS pinned_url, zp.title AS pinned_title + h.last_visit_date, NULLIF(t.groupId, '') groupId, zp.url AS pinned_url, zp.title AS pinned_title
FROM moz_places h FROM moz_places h
LEFT JOIN moz_openpages_temp t LEFT JOIN moz_openpages_temp t
ON t.url = h.url ON t.url = h.url
@@ -17,7 +17,7 @@ index ad971f090bdaba2865cf1fac2840b1f553d2630c..a9e676e43d35b617eebd5a67c8653397
WHERE ( WHERE (
(:switchTabsEnabled AND t.open_count > 0) OR (:switchTabsEnabled AND t.open_count > 0) OR
${lazy.PAGES_FRECENCY_FIELD} <> 0 ${lazy.PAGES_FRECENCY_FIELD} <> 0
@@ -58,7 +60,7 @@ function defaultQuery(conditions = "") { @@ -62,7 +64,7 @@ function defaultQuery(conditions = "") {
:matchBehavior, :searchBehavior, NULL) :matchBehavior, :searchBehavior, NULL)
ELSE ELSE
AUTOCOMPLETE_MATCH(:searchString, h.url, AUTOCOMPLETE_MATCH(:searchString, h.url,
@@ -26,7 +26,7 @@ index ad971f090bdaba2865cf1fac2840b1f553d2630c..a9e676e43d35b617eebd5a67c8653397
h.visit_count, h.typed, h.visit_count, h.typed,
0, t.open_count, 0, t.open_count,
:matchBehavior, :searchBehavior, NULL) :matchBehavior, :searchBehavior, NULL)
@@ -1116,11 +1118,13 @@ Search.prototype = { @@ -1120,11 +1122,13 @@ Search.prototype = {
? lazy.PlacesUtils.toDate(lastVisitPRTime).getTime() ? lazy.PlacesUtils.toDate(lastVisitPRTime).getTime()
: undefined; : undefined;
let tabGroup = row.getResultByName("groupId"); let tabGroup = row.getResultByName("groupId");

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
index 555273f6ea1efd77aa3062b9910bbfe28568775d..5c4a46c926913ab592f5e12908b8817410abe6b6 100644 index ece407214669009e263b507b5236ab28da33efe9..8f22426295e2b001438918f44d2c22ed7a697c2f 100644
--- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs --- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
+++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs +++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
@@ -716,6 +716,7 @@ export class Query { @@ -845,6 +845,7 @@ export class Query {
if ( if (
result.heuristic && result.heuristic &&
this.context.searchMode && this.context.searchMode &&

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarUtils.sys.mjs b/browser/components/urlbar/UrlbarUtils.sys.mjs diff --git a/browser/components/urlbar/UrlbarUtils.sys.mjs b/browser/components/urlbar/UrlbarUtils.sys.mjs
index 0bc15c02f56dd8f46a21fed02b4e21a741f27f41..40da868f68f21d8411107fb8a95e2d0b74337b51 100644 index f38e860e46fa979b3e0c66ecd3eb88a64df60fc1..d130bbc7488ff3de926823974a1df13dc8e61fbc 100644
--- a/browser/components/urlbar/UrlbarUtils.sys.mjs --- a/browser/components/urlbar/UrlbarUtils.sys.mjs
+++ b/browser/components/urlbar/UrlbarUtils.sys.mjs +++ b/browser/components/urlbar/UrlbarUtils.sys.mjs
@@ -75,6 +75,7 @@ export var UrlbarUtils = { @@ -74,6 +74,7 @@ export var UrlbarUtils = {
RESTRICT_SEARCH_KEYWORD: "restrictSearchKeyword", RESTRICT_SEARCH_KEYWORD: "restrictSearchKeyword",
SUGGESTED_INDEX: "suggestedIndex", SUGGESTED_INDEX: "suggestedIndex",
TAIL_SUGGESTION: "tailSuggestion", TAIL_SUGGESTION: "tailSuggestion",
@@ -10,7 +10,7 @@ index 0bc15c02f56dd8f46a21fed02b4e21a741f27f41..40da868f68f21d8411107fb8a95e2d0b
}), }),
// Defines provider types. // Defines provider types.
@@ -134,6 +135,7 @@ export var UrlbarUtils = { @@ -133,6 +134,7 @@ export var UrlbarUtils = {
OTHER_NETWORK: 6, OTHER_NETWORK: 6,
ADDON: 7, ADDON: 7,
ACTIONS: 8, ACTIONS: 8,
@@ -18,12 +18,12 @@ index 0bc15c02f56dd8f46a21fed02b4e21a741f27f41..40da868f68f21d8411107fb8a95e2d0b
}), }),
// Per-result exposure telemetry. // Per-result exposure telemetry.
@@ -553,6 +555,8 @@ export var UrlbarUtils = { @@ -544,6 +546,8 @@ export var UrlbarUtils = {
return this.RESULT_GROUP.HEURISTIC_SEARCH_TIP; return this.RESULT_GROUP.HEURISTIC_FALLBACK;
case "HistoryUrlHeuristic": case "UrlbarProviderHistoryUrlHeuristic":
return this.RESULT_GROUP.HEURISTIC_HISTORY_URL; return this.RESULT_GROUP.HEURISTIC_HISTORY_URL;
+ case "ZenUrlbarProviderGlobalActions": + case "ZenUrlbarProviderGlobalActions":
+ return this.RESULT_GROUP.ZEN_ACTION; + return this.RESULT_GROUP.ZEN_ACTION;
default: case "UrlbarProviderOmnibox":
if (result.providerName.startsWith("TestProvider")) { return this.RESULT_GROUP.HEURISTIC_OMNIBOX;
return this.RESULT_GROUP.HEURISTIC_TEST; case "UrlbarProviderRestrictKeywordsAutofill":

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