From 9024856a77d71bf34686c1d67baf699e2a0aab19 Mon Sep 17 00:00:00 2001
From: "mr. m" <91018726+mr-cheffy@users.noreply.github.com>
Date: Fri, 10 Oct 2025 17:14:49 +0200
Subject: [PATCH 1/5] New Crowdin updates, p=#10758
---
.../ga-IE/browser/browser/preferences/zen-preferences.ftl | 2 +-
locales/ga-IE/browser/browser/zen-general.ftl | 6 +++---
locales/hu/browser/browser/zen-general.ftl | 6 +++---
.../pt-PT/browser/browser/preferences/zen-preferences.ftl | 2 +-
locales/pt-PT/browser/browser/zen-general.ftl | 6 +++---
locales/ru/browser/browser/zen-general.ftl | 6 +++---
.../uk/browser/browser/preferences/zen-preferences.ftl | 2 +-
locales/uk/browser/browser/zen-general.ftl | 8 ++++----
locales/uk/browser/browser/zen-workspaces.ftl | 2 +-
9 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/locales/ga-IE/browser/browser/preferences/zen-preferences.ftl b/locales/ga-IE/browser/browser/preferences/zen-preferences.ftl
index 21c409222..de1d4cb77 100644
--- a/locales/ga-IE/browser/browser/preferences/zen-preferences.ftl
+++ b/locales/ga-IE/browser/browser/preferences/zen-preferences.ftl
@@ -72,7 +72,7 @@ zen-settings-workspaces-enabled =
zen-settings-workspaces-hide-default-container-indicator =
.label = Folaigh an táscaire coimeádáin réamhshocraithe sa bharra cluaisíní
zen-key-unsaved = Aicearra gan sábháil! Sábháil é trí chliceáil ar an eochair "Escape" tar éis é a athchlóscríobh.
-zen-key-conflict = Conflicts with { $group } -> { $shortcut }
+zen-key-conflict = Coimhlintí le { $group } -> { $shortcut }
pane-zen-theme-title = Socruithe Téama
zen-vertical-tabs-title = Leagan amach barra taobh agus cluaisíní
zen-vertical-tabs-header = Cluaisíní Ingearacha
diff --git a/locales/ga-IE/browser/browser/zen-general.ftl b/locales/ga-IE/browser/browser/zen-general.ftl
index 20de04008..128810442 100644
--- a/locales/ga-IE/browser/browser/zen-general.ftl
+++ b/locales/ga-IE/browser/browser/zen-general.ftl
@@ -70,6 +70,6 @@ zen-site-data-get-addons =
.label = Cuir Síneadh leis
zen-site-data-site-settings =
.label = Gach Socrú Suímh
-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.
+zen-site-data-setting-site-protection = Cosaint Láithreáin
+zen-site-data-panel-feature-callout-title = Baile nua do bhreiseáin, ceadanna agus tuilleadh
+zen-site-data-panel-feature-callout-subtitle = Cliceáil an deilbhín chun socruithe suímh a bhainistiú, faisnéis slándála a fheiceáil, rochtain a fháil ar shínteáin, agus gníomhartha coitianta a dhéanamh.
diff --git a/locales/hu/browser/browser/zen-general.ftl b/locales/hu/browser/browser/zen-general.ftl
index ffac660ac..4eb00d02a 100644
--- a/locales/hu/browser/browser/zen-general.ftl
+++ b/locales/hu/browser/browser/zen-general.ftl
@@ -70,6 +70,6 @@ zen-site-data-get-addons =
.label = Kiegészítő hozzáadása
zen-site-data-site-settings =
.label = Minden webhelybeállítás
-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.
+zen-site-data-setting-site-protection = Oldalvédelem
+zen-site-data-panel-feature-callout-title = Új hely az add-onok, engedélyek és egyéb elemek számára
+zen-site-data-panel-feature-callout-subtitle = Kattints az ikonra a webhely beállításainak kezeléséhez, a biztonsági információk megtekintéséhez, a kiegészítők eléréséhez és a gyakori műveletek végrehajtásához.
diff --git a/locales/pt-PT/browser/browser/preferences/zen-preferences.ftl b/locales/pt-PT/browser/browser/preferences/zen-preferences.ftl
index 68ea4bf20..9edb55b1e 100644
--- a/locales/pt-PT/browser/browser/preferences/zen-preferences.ftl
+++ b/locales/pt-PT/browser/browser/preferences/zen-preferences.ftl
@@ -72,7 +72,7 @@ zen-settings-workspaces-enabled =
zen-settings-workspaces-hide-default-container-indicator =
.label = Ocultar o indicador padrão do contentor na barra de separadores
zen-key-unsaved = Atalho não guardado! Por favor, proteja-o clicando na tecla "Escape" depois de o voltar a inserir.
-zen-key-conflict = Conflicts with { $group } -> { $shortcut }
+zen-key-conflict = Conflitua com { $group } -> { $shortcut }
pane-zen-theme-title = Configurações do Tema
zen-vertical-tabs-title = Disposição da Barra Lateral e dos Separadores
zen-vertical-tabs-header = Separadores Verticais
diff --git a/locales/pt-PT/browser/browser/zen-general.ftl b/locales/pt-PT/browser/browser/zen-general.ftl
index 6d123455b..69db8a622 100644
--- a/locales/pt-PT/browser/browser/zen-general.ftl
+++ b/locales/pt-PT/browser/browser/zen-general.ftl
@@ -70,6 +70,6 @@ zen-site-data-get-addons =
.label = Adicionar Extensões
zen-site-data-site-settings =
.label = Todas as Definições do Site
-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.
+zen-site-data-setting-site-protection = Proteção do Site
+zen-site-data-panel-feature-callout-title = Uma nova casa para extensões, permissões e mais
+zen-site-data-panel-feature-callout-subtitle = Clique no ícone para gerir definições do site, ver informações de segurança, extensões de acesso e executar ações comuns.
diff --git a/locales/ru/browser/browser/zen-general.ftl b/locales/ru/browser/browser/zen-general.ftl
index 3b3783327..888caae27 100644
--- a/locales/ru/browser/browser/zen-general.ftl
+++ b/locales/ru/browser/browser/zen-general.ftl
@@ -70,6 +70,6 @@ zen-site-data-get-addons =
.label = Добавить расширения
zen-site-data-site-settings =
.label = Все настройки сайта
-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.
+zen-site-data-setting-site-protection = Защищённое соединение
+zen-site-data-panel-feature-callout-title = Новый дом для расширений, разрешений и всего остального
+zen-site-data-panel-feature-callout-subtitle = Нажмите на значок для доступа к настройкам сайта, параметрам безопасности, расширениям и прочим действиям.
diff --git a/locales/uk/browser/browser/preferences/zen-preferences.ftl b/locales/uk/browser/browser/preferences/zen-preferences.ftl
index 489539c87..206429694 100644
--- a/locales/uk/browser/browser/preferences/zen-preferences.ftl
+++ b/locales/uk/browser/browser/preferences/zen-preferences.ftl
@@ -72,7 +72,7 @@ zen-settings-workspaces-enabled =
zen-settings-workspaces-hide-default-container-indicator =
.label = Приховувати індикатор контейнерів за замовчуванням у панелі вкладок
zen-key-unsaved = Незбережений ярлик! Захистіть його, натиснувши на кнопку „Escape“ після його введення.
-zen-key-conflict = Conflicts with { $group } -> { $shortcut }
+zen-key-conflict = Конфліктує з { $group } -> { $shortcut }
pane-zen-theme-title = Налаштування теми
zen-vertical-tabs-title = Розташування бічної панелі та вкладок
zen-vertical-tabs-header = Вертикальні таблиці
diff --git a/locales/uk/browser/browser/zen-general.ftl b/locales/uk/browser/browser/zen-general.ftl
index 5fe752bff..ede9b850c 100644
--- a/locales/uk/browser/browser/zen-general.ftl
+++ b/locales/uk/browser/browser/zen-general.ftl
@@ -38,7 +38,7 @@ zen-library-sidebar-workspaces =
zen-library-sidebar-mods =
.label = Модифікації
zen-toggle-compact-mode-button =
- .label = Compact Mode
+ .label = Компактний режим
.tooltiptext = Увімк. / Вимк. компактний режим
# note: Do not translate the "
" tags in the following string
@@ -70,6 +70,6 @@ zen-site-data-get-addons =
.label = Додати розширення
zen-site-data-site-settings =
.label = Усі налаштування сайту
-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.
+zen-site-data-setting-site-protection = Захист сайту
+zen-site-data-panel-feature-callout-title = Новий дім для доповнень, дозволів тощо
+zen-site-data-panel-feature-callout-subtitle = Натисніть значок, щоби керувати налаштуваннями сайту, переглядати інформацію про безпеку, отримувати доступ до розширень і виконувати поширені дії.
diff --git a/locales/uk/browser/browser/zen-workspaces.ftl b/locales/uk/browser/browser/zen-workspaces.ftl
index 121271d9b..3dc3115b6 100644
--- a/locales/uk/browser/browser/zen-workspaces.ftl
+++ b/locales/uk/browser/browser/zen-workspaces.ftl
@@ -15,7 +15,7 @@ zen-workspaces-panel-change-icon =
zen-workspaces-panel-context-default-profile =
.label = Встановити профіль
zen-workspaces-panel-unload =
- .label = Unload Space
+ .label = Вивантажити простір
zen-workspaces-how-to-reorder-title = Як впорядкувати простори
zen-workspaces-how-to-reorder-desc = Перетягніть значок простору в нижній частині панелі для зміни їхнього порядку
zen-workspaces-change-theme =
From 6c3ed1fb80b6eef900cb82c50429fd48bb07a1bf Mon Sep 17 00:00:00 2001
From: reizumi
Date: Sat, 11 Oct 2025 04:14:48 +0800
Subject: [PATCH 2/5] feat: improve the site popup ui, p=#10765
* style: improve site popup top buttons
* feat: add filled icons for permissions
* style: align and resize items in the site popup
* feat: site popup ui improvements and more permission icons
---
src/browser/themes/shared/zen-icons/icons.css | 65 +++++++++++++++++--
.../themes/shared/zen-icons/jar.inc.mn | 33 ++++++++++
.../zen-icons/lin/autoplay-media-fill.svg | 5 ++
.../themes/shared/zen-icons/lin/bookmark.svg | 2 +-
.../shared/zen-icons/lin/camera-fill.svg | 5 ++
.../themes/shared/zen-icons/lin/camera.svg | 2 +-
.../lin/desktop-notification-fill.svg | 5 ++
.../zen-icons/lin/desktop-notification.svg | 2 +-
.../shared/zen-icons/lin/extension-fill.svg | 5 ++
.../themes/shared/zen-icons/lin/geo-fill.svg | 5 ++
.../shared/zen-icons/lin/permissions-fill.svg | 5 ++
.../zen-icons/lin/persistent-storage-fill.svg | 5 ++
.../shared/zen-icons/lin/popup-fill.svg | 5 ++
.../themes/shared/zen-icons/lin/popup.svg | 2 +-
.../shared/zen-icons/lin/reader-mode.svg | 2 +-
.../shared/zen-icons/lin/screenshot.svg | 2 +-
.../shared/zen-icons/lin/settings-fill.svg | 5 ++
.../themes/shared/zen-icons/lin/share.svg | 2 +-
.../lin/tracking-protection-fill.svg | 5 ++
.../themes/shared/zen-icons/lin/xr-fill.svg | 5 ++
.../common/styles/zen-single-components.css | 54 +++++++--------
21 files changed, 179 insertions(+), 42 deletions(-)
create mode 100644 src/browser/themes/shared/zen-icons/lin/autoplay-media-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/camera-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/desktop-notification-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/extension-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/geo-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/permissions-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/persistent-storage-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/popup-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/settings-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/tracking-protection-fill.svg
create mode 100644 src/browser/themes/shared/zen-icons/lin/xr-fill.svg
diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css
index 0acac3084..7b2c84651 100644
--- a/src/browser/themes/shared/zen-icons/icons.css
+++ b/src/browser/themes/shared/zen-icons/icons.css
@@ -220,7 +220,7 @@
#appMenu-settings-button,
#PanelUI-zen-profiles-managePrfs,
.unified-extensions-item-open-menu.subviewbutton,
-.zen-site-data-permission-icon {
+.permission-popup-permission-item {
list-style-image: url('settings.svg') !important;
}
@@ -270,7 +270,6 @@
}
#bookmarks-menu-button,
-#zen-site-data-header-bookmark,
#appMenu-bookmarks-button,
#sidebar-switcher-bookmarks,
#appMenu-library-bookmarks-button,
@@ -425,12 +424,14 @@
list-style-image: url('folder.svg') !important;
}
+#zen-site-data-header-bookmark,
#pageAction-panel-bookmark,
#star-button,
#zen-bookmark-button {
list-style-image: url('bookmark-hollow.svg') !important;
}
+#zen-site-data-header-bookmark.active,
#pageAction-panel-bookmark[starred],
#star-button[starred] {
list-style-image: url('bookmark.svg') !important;
@@ -495,8 +496,12 @@
-moz-context-properties: fill, fill-opacity;
pointer-events: none;
}
+ &[open] image {
+ list-style-image: url('permissions-fill.svg');
+ }
}
+.permission-popup-permission-item-geo,
.geo-icon {
list-style-image: url('geo.svg') !important;
}
@@ -505,6 +510,7 @@
list-style-image: url('geo-blocked.svg') !important;
}
+.permission-popup-permission-item-xr,
.xr-icon {
list-style-image: url('xr.svg') !important;
}
@@ -513,6 +519,7 @@
list-style-image: url('xr-blocked.svg') !important;
}
+.permission-popup-permission-item-desktop-notification,
.popup-notification-icon[popupid='web-notifications'],
.desktop-notification-icon {
list-style-image: url('desktop-notification.svg') !important;
@@ -522,6 +529,7 @@
list-style-image: url('desktop-notification-blocked.svg') !important;
}
+.permission-popup-permission-item-camera,
.camera-icon,
#zen-site-data-header-screenshot {
list-style-image: url('camera.svg') !important;
@@ -531,6 +539,7 @@
list-style-image: url('camera-blocked.svg') !important;
}
+.permission-popup-permission-item-microphone,
.microphone-icon {
list-style-image: url('microphone.svg') !important;
}
@@ -539,6 +548,7 @@
list-style-image: url('microphone-blocked.svg') !important;
}
+.permission-popup-permission-item-screen,
.screen-icon {
list-style-image: url('screen.svg') !important;
}
@@ -547,6 +557,7 @@
list-style-image: url('screen-blocked.svg') !important;
}
+.permission-popup-permission-item-persistent-storage,
.popup-notification-icon[popupid='persistent-storage'],
.persistent-storage-icon,
.indexedDB-icon {
@@ -557,10 +568,12 @@
list-style-image: url('persistent-storage-blocked.svg') !important;
}
+.permission-popup-permission-item-popup,
.popup-icon {
list-style-image: url('popup.svg') !important;
}
+.permission-popup-permission-item-autoplay-media,
.autoplay-media-icon {
list-style-image: url('autoplay-media.svg') !important;
}
@@ -598,6 +611,45 @@
list-style-image: url('extension-blocked.svg') !important;
}
+.permission-popup-permission-item[state='allow'] {
+ &.permission-popup-permission-item {
+ list-style-image: url('settings-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-geo {
+ list-style-image: url('geo-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-xr {
+ list-style-image: url('xr-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-desktop-notification {
+ list-style-image: url('desktop-notification-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-camera {
+ list-style-image: url('camera-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-microphone {
+ list-style-image: url('microphone-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-screen {
+ list-style-image: url('screen.svg') !important;
+ }
+ &.permission-popup-permission-item-persistent-storage {
+ list-style-image: url('persistent-storage-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-popup {
+ list-style-image: url('popup-fill.svg') !important;
+ }
+ &.permission-popup-permission-item-autoplay-media {
+ list-style-image: url('autoplay-media-fill.svg') !important;
+ }
+ .zen-permission-shield-icon {
+ list-style-image: url('tracking-protection-fill.svg') !important;
+ }
+ .zen-permission-extension-icon {
+ list-style-image: url('extension-fill.svg') !important;
+ }
+}
+
/* tab sound icons */
.tab-icon-overlay[soundplaying] {
list-style-image: url('tab-audio-playing-small.svg') !important;
@@ -846,8 +898,8 @@
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
appearance: none;
- border-radius: 4px;
- padding: 5px;
+ border-radius: 6px;
+ padding: 6px 10px 6px 8px;
&[identity='secure'] {
list-style-image: url('security.svg');
@@ -866,6 +918,7 @@
}
& .toolbarbutton-text {
+ font-weight: 600;
padding-inline-start: 4px !important;
}
@@ -882,8 +935,8 @@
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
appearance: none;
- width: 26px;
- height: 26px;
+ width: 30px;
+ height: 30px;
border-radius: 99px;
margin-left: auto !important;
list-style-image: url('menu.svg');
diff --git a/src/browser/themes/shared/zen-icons/jar.inc.mn b/src/browser/themes/shared/zen-icons/jar.inc.mn
index c71a81e50..76fd42874 100644
--- a/src/browser/themes/shared/zen-icons/jar.inc.mn
+++ b/src/browser/themes/shared/zen-icons/jar.inc.mn
@@ -11,12 +11,14 @@
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
+* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/lin/back.svg)
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/lin/bookmark-hollow.svg)
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/lin/bookmark-star-on-tray.svg)
* skin/classic/browser/zen-icons/bookmark.svg (../shared/zen-icons/lin/bookmark.svg)
* skin/classic/browser/zen-icons/camera-blocked.svg (../shared/zen-icons/lin/camera-blocked.svg)
+* skin/classic/browser/zen-icons/camera-fill.svg (../shared/zen-icons/lin/camera-fill.svg)
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
@@ -27,6 +29,7 @@
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
* skin/classic/browser/zen-icons/customize.svg (../shared/zen-icons/lin/customize.svg)
* skin/classic/browser/zen-icons/desktop-notification-blocked.svg (../shared/zen-icons/lin/desktop-notification-blocked.svg)
+* skin/classic/browser/zen-icons/desktop-notification-fill.svg (../shared/zen-icons/lin/desktop-notification-fill.svg)
* skin/classic/browser/zen-icons/desktop-notification.svg (../shared/zen-icons/lin/desktop-notification.svg)
* skin/classic/browser/zen-icons/developer.svg (../shared/zen-icons/lin/developer.svg)
* skin/classic/browser/zen-icons/downloads.svg (../shared/zen-icons/lin/downloads.svg)
@@ -45,6 +48,7 @@
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
+* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
@@ -55,6 +59,7 @@
* skin/classic/browser/zen-icons/fullscreen-exit.svg (../shared/zen-icons/lin/fullscreen-exit.svg)
* skin/classic/browser/zen-icons/fullscreen.svg (../shared/zen-icons/lin/fullscreen.svg)
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
+* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
@@ -92,11 +97,14 @@
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
+* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
+* skin/classic/browser/zen-icons/persistent-storage-fill.svg (../shared/zen-icons/lin/persistent-storage-fill.svg)
* skin/classic/browser/zen-icons/persistent-storage.svg (../shared/zen-icons/lin/persistent-storage.svg)
* skin/classic/browser/zen-icons/pin.svg (../shared/zen-icons/lin/pin.svg)
* skin/classic/browser/zen-icons/plus.svg (../shared/zen-icons/lin/plus.svg)
+* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/lin/popup-fill.svg)
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
@@ -115,6 +123,7 @@
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
+* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/lin/settings-fill.svg)
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
@@ -130,6 +139,7 @@
* skin/classic/browser/zen-icons/tab-audio-playing-small.svg (../shared/zen-icons/lin/tab-audio-playing-small.svg)
* skin/classic/browser/zen-icons/tab.svg (../shared/zen-icons/lin/tab.svg)
* skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
+* skin/classic/browser/zen-icons/tracking-protection-fill.svg (../shared/zen-icons/lin/tracking-protection-fill.svg)
* skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
* skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
* skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
@@ -140,6 +150,7 @@
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
+* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
@@ -153,12 +164,14 @@
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
+* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/lin/back.svg)
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/lin/bookmark-hollow.svg)
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/lin/bookmark-star-on-tray.svg)
* skin/classic/browser/zen-icons/bookmark.svg (../shared/zen-icons/lin/bookmark.svg)
* skin/classic/browser/zen-icons/camera-blocked.svg (../shared/zen-icons/lin/camera-blocked.svg)
+* skin/classic/browser/zen-icons/camera-fill.svg (../shared/zen-icons/lin/camera-fill.svg)
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
@@ -169,6 +182,7 @@
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
* skin/classic/browser/zen-icons/customize.svg (../shared/zen-icons/lin/customize.svg)
* skin/classic/browser/zen-icons/desktop-notification-blocked.svg (../shared/zen-icons/lin/desktop-notification-blocked.svg)
+* skin/classic/browser/zen-icons/desktop-notification-fill.svg (../shared/zen-icons/lin/desktop-notification-fill.svg)
* skin/classic/browser/zen-icons/desktop-notification.svg (../shared/zen-icons/lin/desktop-notification.svg)
* skin/classic/browser/zen-icons/developer.svg (../shared/zen-icons/lin/developer.svg)
* skin/classic/browser/zen-icons/downloads.svg (../shared/zen-icons/lin/downloads.svg)
@@ -187,6 +201,7 @@
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
+* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
@@ -197,6 +212,7 @@
* skin/classic/browser/zen-icons/fullscreen-exit.svg (../shared/zen-icons/lin/fullscreen-exit.svg)
* skin/classic/browser/zen-icons/fullscreen.svg (../shared/zen-icons/lin/fullscreen.svg)
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
+* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
@@ -234,11 +250,14 @@
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
+* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
+* skin/classic/browser/zen-icons/persistent-storage-fill.svg (../shared/zen-icons/lin/persistent-storage-fill.svg)
* skin/classic/browser/zen-icons/persistent-storage.svg (../shared/zen-icons/lin/persistent-storage.svg)
* skin/classic/browser/zen-icons/pin.svg (../shared/zen-icons/lin/pin.svg)
* skin/classic/browser/zen-icons/plus.svg (../shared/zen-icons/lin/plus.svg)
+* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/lin/popup-fill.svg)
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
@@ -257,6 +276,7 @@
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
+* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/lin/settings-fill.svg)
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
@@ -272,6 +292,7 @@
* skin/classic/browser/zen-icons/tab-audio-playing-small.svg (../shared/zen-icons/lin/tab-audio-playing-small.svg)
* skin/classic/browser/zen-icons/tab.svg (../shared/zen-icons/lin/tab.svg)
* skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
+* skin/classic/browser/zen-icons/tracking-protection-fill.svg (../shared/zen-icons/lin/tracking-protection-fill.svg)
* skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
* skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
* skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
@@ -282,6 +303,7 @@
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
+* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
@@ -295,12 +317,14 @@
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
+* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/lin/back.svg)
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/lin/bookmark-hollow.svg)
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/lin/bookmark-star-on-tray.svg)
* skin/classic/browser/zen-icons/bookmark.svg (../shared/zen-icons/lin/bookmark.svg)
* skin/classic/browser/zen-icons/camera-blocked.svg (../shared/zen-icons/lin/camera-blocked.svg)
+* skin/classic/browser/zen-icons/camera-fill.svg (../shared/zen-icons/lin/camera-fill.svg)
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
@@ -311,6 +335,7 @@
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
* skin/classic/browser/zen-icons/customize.svg (../shared/zen-icons/lin/customize.svg)
* skin/classic/browser/zen-icons/desktop-notification-blocked.svg (../shared/zen-icons/lin/desktop-notification-blocked.svg)
+* skin/classic/browser/zen-icons/desktop-notification-fill.svg (../shared/zen-icons/lin/desktop-notification-fill.svg)
* skin/classic/browser/zen-icons/desktop-notification.svg (../shared/zen-icons/lin/desktop-notification.svg)
* skin/classic/browser/zen-icons/developer.svg (../shared/zen-icons/lin/developer.svg)
* skin/classic/browser/zen-icons/downloads.svg (../shared/zen-icons/lin/downloads.svg)
@@ -329,6 +354,7 @@
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
+* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
@@ -339,6 +365,7 @@
* skin/classic/browser/zen-icons/fullscreen-exit.svg (../shared/zen-icons/lin/fullscreen-exit.svg)
* skin/classic/browser/zen-icons/fullscreen.svg (../shared/zen-icons/lin/fullscreen.svg)
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
+* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
@@ -376,11 +403,14 @@
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
+* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
+* skin/classic/browser/zen-icons/persistent-storage-fill.svg (../shared/zen-icons/lin/persistent-storage-fill.svg)
* skin/classic/browser/zen-icons/persistent-storage.svg (../shared/zen-icons/lin/persistent-storage.svg)
* skin/classic/browser/zen-icons/pin.svg (../shared/zen-icons/lin/pin.svg)
* skin/classic/browser/zen-icons/plus.svg (../shared/zen-icons/lin/plus.svg)
+* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/lin/popup-fill.svg)
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
@@ -399,6 +429,7 @@
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
+* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/lin/settings-fill.svg)
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
@@ -414,6 +445,7 @@
* skin/classic/browser/zen-icons/tab-audio-playing-small.svg (../shared/zen-icons/lin/tab-audio-playing-small.svg)
* skin/classic/browser/zen-icons/tab.svg (../shared/zen-icons/lin/tab.svg)
* skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
+* skin/classic/browser/zen-icons/tracking-protection-fill.svg (../shared/zen-icons/lin/tracking-protection-fill.svg)
* skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
* skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
* skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
@@ -424,6 +456,7 @@
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
+* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
diff --git a/src/browser/themes/shared/zen-icons/lin/autoplay-media-fill.svg b/src/browser/themes/shared/zen-icons/lin/autoplay-media-fill.svg
new file mode 100644
index 000000000..d16ce98cf
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/autoplay-media-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/bookmark.svg b/src/browser/themes/shared/zen-icons/lin/bookmark.svg
index 506c02cc1..278b3fa90 100644
--- a/src/browser/themes/shared/zen-icons/lin/bookmark.svg
+++ b/src/browser/themes/shared/zen-icons/lin/bookmark.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/camera-fill.svg b/src/browser/themes/shared/zen-icons/lin/camera-fill.svg
new file mode 100644
index 000000000..60b32e501
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/camera-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/camera.svg b/src/browser/themes/shared/zen-icons/lin/camera.svg
index 310a865d6..232a55ab9 100644
--- a/src/browser/themes/shared/zen-icons/lin/camera.svg
+++ b/src/browser/themes/shared/zen-icons/lin/camera.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/desktop-notification-fill.svg b/src/browser/themes/shared/zen-icons/lin/desktop-notification-fill.svg
new file mode 100644
index 000000000..c94bb578c
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/desktop-notification-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/desktop-notification.svg b/src/browser/themes/shared/zen-icons/lin/desktop-notification.svg
index 0620eabbf..fe56121b8 100644
--- a/src/browser/themes/shared/zen-icons/lin/desktop-notification.svg
+++ b/src/browser/themes/shared/zen-icons/lin/desktop-notification.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/extension-fill.svg b/src/browser/themes/shared/zen-icons/lin/extension-fill.svg
new file mode 100644
index 000000000..bd54d8d8c
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/extension-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/geo-fill.svg b/src/browser/themes/shared/zen-icons/lin/geo-fill.svg
new file mode 100644
index 000000000..c97eaf78d
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/geo-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/permissions-fill.svg b/src/browser/themes/shared/zen-icons/lin/permissions-fill.svg
new file mode 100644
index 000000000..3d38645aa
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/permissions-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/persistent-storage-fill.svg b/src/browser/themes/shared/zen-icons/lin/persistent-storage-fill.svg
new file mode 100644
index 000000000..1c5e3099d
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/persistent-storage-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/popup-fill.svg b/src/browser/themes/shared/zen-icons/lin/popup-fill.svg
new file mode 100644
index 000000000..958aed3f2
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/popup-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/popup.svg b/src/browser/themes/shared/zen-icons/lin/popup.svg
index 4b1f1eb4b..66f513bfd 100644
--- a/src/browser/themes/shared/zen-icons/lin/popup.svg
+++ b/src/browser/themes/shared/zen-icons/lin/popup.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/reader-mode.svg b/src/browser/themes/shared/zen-icons/lin/reader-mode.svg
index 22b11f430..be854bc27 100644
--- a/src/browser/themes/shared/zen-icons/lin/reader-mode.svg
+++ b/src/browser/themes/shared/zen-icons/lin/reader-mode.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/screenshot.svg b/src/browser/themes/shared/zen-icons/lin/screenshot.svg
index 1ade98c05..2d1224924 100644
--- a/src/browser/themes/shared/zen-icons/lin/screenshot.svg
+++ b/src/browser/themes/shared/zen-icons/lin/screenshot.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/settings-fill.svg b/src/browser/themes/shared/zen-icons/lin/settings-fill.svg
new file mode 100644
index 000000000..749d47eba
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/settings-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/share.svg b/src/browser/themes/shared/zen-icons/lin/share.svg
index 8fbd2bd81..a4eb9e169 100644
--- a/src/browser/themes/shared/zen-icons/lin/share.svg
+++ b/src/browser/themes/shared/zen-icons/lin/share.svg
@@ -2,4 +2,4 @@
# 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/.
-
+
diff --git a/src/browser/themes/shared/zen-icons/lin/tracking-protection-fill.svg b/src/browser/themes/shared/zen-icons/lin/tracking-protection-fill.svg
new file mode 100644
index 000000000..8a9ef1f1f
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/tracking-protection-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/browser/themes/shared/zen-icons/lin/xr-fill.svg b/src/browser/themes/shared/zen-icons/lin/xr-fill.svg
new file mode 100644
index 000000000..bd387cd56
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/lin/xr-fill.svg
@@ -0,0 +1,5 @@
+#filter dumbComments emptyLines substitution
+# 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/.
+
diff --git a/src/zen/common/styles/zen-single-components.css b/src/zen/common/styles/zen-single-components.css
index 3eefbd64d..4682ded44 100644
--- a/src/zen/common/styles/zen-single-components.css
+++ b/src/zen/common/styles/zen-single-components.css
@@ -282,7 +282,7 @@ body > #confetti {
#zen-unified-site-data-panel {
--panel-padding: 0px;
- --panel-width: 228px;
+ --panel-width: 234px;
--menu-panel-width-wide: calc(var(--panel-width) - var(--panel-padding) * 2);
--uei-icon-size: 14px;
--arrowpanel-menuitem-border-radius: 10px;
@@ -318,8 +318,8 @@ body > #confetti {
& > * {
background-color: color-mix(in srgb, currentcolor 6%, transparent);
- width: 46px;
- height: 34px;
+ width: 48px;
+ height: 32px;
margin: 0;
justify-content: center;
align-items: center;
@@ -354,22 +354,25 @@ body > #confetti {
}
.zen-site-data-section-header {
- font-weight: 500;
- font-size: small;
+ font-weight: 600;
& label {
margin: 0;
}
& > label:nth-child(2) {
- font-weight: 400;
+ font-weight: 500;
font-size: smaller;
transition: opacity 0.15s ease-in-out;
opacity: 0;
- padding: 0px 4px;
+ border-radius: 6px;
+ padding: 2px 6px;
+ &:hover {
+ background-color: color-mix(in srgb, currentColor 10%, transparent);
+ }
.zen-site-data-section:hover & {
- opacity: 0.8;
+ opacity: 0.5;
}
}
}
@@ -438,7 +441,7 @@ body > #confetti {
}
.zen-permission-popup-permission-state-label {
- opacity: 0.8;
+ opacity: 0.6;
font-size: smaller;
font-weight: 400;
margin: 0;
@@ -463,7 +466,7 @@ body > #confetti {
}
#zen-site-data-header {
- gap: 6px;
+ gap: 8px;
align-items: center;
padding: 8px;
padding-bottom: 0;
@@ -474,7 +477,8 @@ body > #confetti {
-moz-context-properties: fill;
fill: currentColor;
color: light-dark(rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0.8));
- padding: 8px 0px;
+ max-width: 48px;
+ height: 32px;
position: relative;
&[disabled] {
@@ -495,29 +499,21 @@ body > #confetti {
&::before {
content: '';
position: absolute;
- inset: 1px;
+ width: 100%;
+ height: 100%;
background: linear-gradient(
to bottom,
- color-mix(
- in srgb,
- light-dark(rgba(255, 255, 255, 1), rgba(0, 0, 0, 0.5)) 15%,
- transparent 100%
- ),
- color-mix(
- in srgb,
- light-dark(rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.9)) 100%,
- transparent 100%
- )
+ light-dark(rgb(255, 255, 255), rgb(34, 34, 34)),
+ light-dark(rgb(246, 246, 246), rgb(21, 21, 21))
);
transition: transform 0.12s ease-in-out;
- box-shadow: 0px 2px 3px 1px rgba(0, 0, 0, 0.1);
+ box-shadow:
+ 0px 2px 4px rgba(0, 0, 0, 0.075),
+ inset 0px 1px 0px light-dark(transparent, rgba(255, 255, 255, 0.15));
border-radius: 6px;
- --base-border-color: light-dark(rgba(0, 0, 0, 0.3), rgba(255, 255, 255, 0.1));
- border: 1px solid;
- border-top-color: light-dark(var(--base-border-color), rgba(255, 255, 255, 0.1));
- border-left-color: light-dark(var(--base-border-color), transparent);
- border-right-color: light-dark(var(--base-border-color), transparent);
- border-bottom-color: light-dark(var(--base-border-color), rgba(0, 0, 0, 0.12));
+ --base-border-color: light-dark(rgba(0, 0, 0, 0.175), rgba(255, 255, 255, 0.1));
+ border: 1px solid light-dark(var(--base-border-color), rgb(21, 21, 21));
+ box-sizing: border-box;
will-change: transform;
}
From e495f2ae5d27d834119b659ff3c3c92a1f9deedb Mon Sep 17 00:00:00 2001
From: reizumi
Date: Sat, 11 Oct 2025 04:42:54 +0800
Subject: [PATCH 3/5] feat: improve the site popup ui (part 2), p=#10768
---
src/browser/themes/shared/zen-icons/icons.css | 90 ++++++++-----------
.../common/styles/zen-single-components.css | 2 +-
2 files changed, 39 insertions(+), 53 deletions(-)
diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css
index 7b2c84651..5068b5558 100644
--- a/src/browser/themes/shared/zen-icons/icons.css
+++ b/src/browser/themes/shared/zen-icons/icons.css
@@ -219,8 +219,7 @@
.search-setting-button > .button-box > .button-icon,
#appMenu-settings-button,
#PanelUI-zen-profiles-managePrfs,
-.unified-extensions-item-open-menu.subviewbutton,
-.permission-popup-permission-item {
+.unified-extensions-item-open-menu.subviewbutton {
list-style-image: url('settings.svg') !important;
}
@@ -326,8 +325,7 @@
#urlbar-input-container[pageproxystate='valid']
> #tracking-protection-icon-container
> #tracking-protection-icon-box
- > #tracking-protection-icon,
-.zen-permission-shield-icon {
+ > #tracking-protection-icon {
list-style-image: url('tracking-protection.svg') !important;
}
@@ -501,7 +499,6 @@
}
}
-.permission-popup-permission-item-geo,
.geo-icon {
list-style-image: url('geo.svg') !important;
}
@@ -510,7 +507,6 @@
list-style-image: url('geo-blocked.svg') !important;
}
-.permission-popup-permission-item-xr,
.xr-icon {
list-style-image: url('xr.svg') !important;
}
@@ -519,7 +515,6 @@
list-style-image: url('xr-blocked.svg') !important;
}
-.permission-popup-permission-item-desktop-notification,
.popup-notification-icon[popupid='web-notifications'],
.desktop-notification-icon {
list-style-image: url('desktop-notification.svg') !important;
@@ -529,7 +524,6 @@
list-style-image: url('desktop-notification-blocked.svg') !important;
}
-.permission-popup-permission-item-camera,
.camera-icon,
#zen-site-data-header-screenshot {
list-style-image: url('camera.svg') !important;
@@ -539,7 +533,6 @@
list-style-image: url('camera-blocked.svg') !important;
}
-.permission-popup-permission-item-microphone,
.microphone-icon {
list-style-image: url('microphone.svg') !important;
}
@@ -548,7 +541,6 @@
list-style-image: url('microphone-blocked.svg') !important;
}
-.permission-popup-permission-item-screen,
.screen-icon {
list-style-image: url('screen.svg') !important;
}
@@ -557,7 +549,6 @@
list-style-image: url('screen-blocked.svg') !important;
}
-.permission-popup-permission-item-persistent-storage,
.popup-notification-icon[popupid='persistent-storage'],
.persistent-storage-icon,
.indexedDB-icon {
@@ -568,12 +559,10 @@
list-style-image: url('persistent-storage-blocked.svg') !important;
}
-.permission-popup-permission-item-popup,
.popup-icon {
list-style-image: url('popup.svg') !important;
}
-.permission-popup-permission-item-autoplay-media,
.autoplay-media-icon {
list-style-image: url('autoplay-media.svg') !important;
}
@@ -599,8 +588,7 @@
list-style-image: url('midi.svg') !important;
}
-.install-icon,
-.zen-permission-extension-icon {
+.install-icon {
list-style-image: url('extension.svg') !important;
}
@@ -611,43 +599,41 @@
list-style-image: url('extension-blocked.svg') !important;
}
-.permission-popup-permission-item[state='allow'] {
- &.permission-popup-permission-item {
- list-style-image: url('settings-fill.svg') !important;
- }
- &.permission-popup-permission-item-geo {
- list-style-image: url('geo-fill.svg') !important;
- }
- &.permission-popup-permission-item-xr {
- list-style-image: url('xr-fill.svg') !important;
- }
- &.permission-popup-permission-item-desktop-notification {
- list-style-image: url('desktop-notification-fill.svg') !important;
- }
- &.permission-popup-permission-item-camera {
- list-style-image: url('camera-fill.svg') !important;
- }
- &.permission-popup-permission-item-microphone {
- list-style-image: url('microphone-fill.svg') !important;
- }
- &.permission-popup-permission-item-screen {
- list-style-image: url('screen.svg') !important;
- }
- &.permission-popup-permission-item-persistent-storage {
- list-style-image: url('persistent-storage-fill.svg') !important;
- }
- &.permission-popup-permission-item-popup {
- list-style-image: url('popup-fill.svg') !important;
- }
- &.permission-popup-permission-item-autoplay-media {
- list-style-image: url('autoplay-media-fill.svg') !important;
- }
- .zen-permission-shield-icon {
- list-style-image: url('tracking-protection-fill.svg') !important;
- }
- .zen-permission-extension-icon {
- list-style-image: url('extension-fill.svg') !important;
- }
+.permission-popup-permission-item {
+ list-style-image: url('settings-fill.svg') !important;
+}
+.permission-popup-permission-item-geo {
+ list-style-image: url('geo-fill.svg') !important;
+}
+.permission-popup-permission-item-xr {
+ list-style-image: url('xr-fill.svg') !important;
+}
+.permission-popup-permission-item-desktop-notification {
+ list-style-image: url('desktop-notification-fill.svg') !important;
+}
+.permission-popup-permission-item-camera {
+ list-style-image: url('camera-fill.svg') !important;
+}
+.permission-popup-permission-item-microphone {
+ list-style-image: url('microphone-fill.svg') !important;
+}
+.permission-popup-permission-item-screen {
+ list-style-image: url('screen.svg') !important;
+}
+.permission-popup-permission-item-persistent-storage {
+ list-style-image: url('persistent-storage-fill.svg') !important;
+}
+.permission-popup-permission-item-popup {
+ list-style-image: url('popup-fill.svg') !important;
+}
+.permission-popup-permission-item-autoplay-media {
+ list-style-image: url('autoplay-media-fill.svg') !important;
+}
+.zen-permission-shield-icon {
+ list-style-image: url('tracking-protection-fill.svg') !important;
+}
+.zen-permission-extension-icon {
+ list-style-image: url('extension-fill.svg') !important;
}
/* tab sound icons */
diff --git a/src/zen/common/styles/zen-single-components.css b/src/zen/common/styles/zen-single-components.css
index 4682ded44..c42c9c57b 100644
--- a/src/zen/common/styles/zen-single-components.css
+++ b/src/zen/common/styles/zen-single-components.css
@@ -284,7 +284,7 @@ body > #confetti {
--panel-padding: 0px;
--panel-width: 234px;
--menu-panel-width-wide: calc(var(--panel-width) - var(--panel-padding) * 2);
- --uei-icon-size: 14px;
+ --uei-icon-size: 16px;
--arrowpanel-menuitem-border-radius: 10px;
}
From c0b2a779e03c6f2c1703dd70b81bbe484952166b Mon Sep 17 00:00:00 2001
From: "Mr. M"
Date: Fri, 10 Oct 2025 23:07:42 +0200
Subject: [PATCH 4/5] chore: Better organize preferences files, b=no-bug,
c=compact-mode, folders, glance, kbs, media, mods, split-view, welcome,
workspaces
---
prefs/README.md | 8 ++++++
prefs/{ => fastfox}/smoothscroll.yaml | 0
prefs/{ => firefox}/ai.yaml | 3 ++
prefs/{ => firefox}/browser.yaml | 0
prefs/{ => firefox}/extensions.yaml | 0
prefs/{ => firefox}/fullscreen.yaml | 0
prefs/{ => firefox}/multilingual.yaml | 0
prefs/{ => firefox}/newtab.yaml | 0
prefs/{ => firefox}/pdf.yaml | 0
prefs/{ => firefox}/performance.yaml | 0
prefs/{ => firefox}/pip.yaml | 0
prefs/{ => firefox}/urlbar.yaml | 0
prefs/{ => privatefox}/disablemozilla.yaml | 0
prefs/{ => privatefox}/privacy.yaml | 0
prefs/{ => zen}/compact-mode.yaml | 0
prefs/{ => zen}/downloads.yaml | 0
prefs/{ => zen}/folders.yaml | 0
prefs/{ => zen}/glance.yaml | 0
prefs/{ => zen}/gtk.yaml | 0
prefs/{ => zen}/kbs.yaml | 0
prefs/{ => zen}/macos.yaml | 0
prefs/{ => zen}/media.yaml | 0
prefs/{ => zen}/mods.yaml | 0
prefs/{ => zen}/split-view.yaml | 0
prefs/{ => zen}/static.yaml | 0
prefs/{ => zen}/theme.yaml | 0
prefs/{ => zen}/view.yaml | 0
prefs/{ => zen}/watermark.yaml | 0
prefs/{ => zen}/welcome.yaml | 0
prefs/{ => zen}/windows.yaml | 0
prefs/{ => zen}/workspaces.yaml | 0
prefs/{ => zen}/zen-urlbar.yaml | 0
prefs/{ => zen}/zen.yaml | 0
tools/ffprefs/src/main.rs | 33 ++++++++++++++--------
34 files changed, 32 insertions(+), 12 deletions(-)
create mode 100644 prefs/README.md
rename prefs/{ => fastfox}/smoothscroll.yaml (100%)
rename prefs/{ => firefox}/ai.yaml (91%)
rename prefs/{ => firefox}/browser.yaml (100%)
rename prefs/{ => firefox}/extensions.yaml (100%)
rename prefs/{ => firefox}/fullscreen.yaml (100%)
rename prefs/{ => firefox}/multilingual.yaml (100%)
rename prefs/{ => firefox}/newtab.yaml (100%)
rename prefs/{ => firefox}/pdf.yaml (100%)
rename prefs/{ => firefox}/performance.yaml (100%)
rename prefs/{ => firefox}/pip.yaml (100%)
rename prefs/{ => firefox}/urlbar.yaml (100%)
rename prefs/{ => privatefox}/disablemozilla.yaml (100%)
rename prefs/{ => privatefox}/privacy.yaml (100%)
rename prefs/{ => zen}/compact-mode.yaml (100%)
rename prefs/{ => zen}/downloads.yaml (100%)
rename prefs/{ => zen}/folders.yaml (100%)
rename prefs/{ => zen}/glance.yaml (100%)
rename prefs/{ => zen}/gtk.yaml (100%)
rename prefs/{ => zen}/kbs.yaml (100%)
rename prefs/{ => zen}/macos.yaml (100%)
rename prefs/{ => zen}/media.yaml (100%)
rename prefs/{ => zen}/mods.yaml (100%)
rename prefs/{ => zen}/split-view.yaml (100%)
rename prefs/{ => zen}/static.yaml (100%)
rename prefs/{ => zen}/theme.yaml (100%)
rename prefs/{ => zen}/view.yaml (100%)
rename prefs/{ => zen}/watermark.yaml (100%)
rename prefs/{ => zen}/welcome.yaml (100%)
rename prefs/{ => zen}/windows.yaml (100%)
rename prefs/{ => zen}/workspaces.yaml (100%)
rename prefs/{ => zen}/zen-urlbar.yaml (100%)
rename prefs/{ => zen}/zen.yaml (100%)
diff --git a/prefs/README.md b/prefs/README.md
new file mode 100644
index 000000000..3b2196f81
--- /dev/null
+++ b/prefs/README.md
@@ -0,0 +1,8 @@
+
+# Browser Preferences
+
+This directory contains configuration files for Zen. They are divided by folder according to the source / component they belong to and further divided by file according to their purpose.
+
+- `firefox/`: Preferences to override Firefox defaults.
+- `zen/`: Preferences to configure Zen-specific features.
+- `privatefox/` & `fastfox/`: *Some* of the preferences got extracted from [Betterfox](https://github.com/yokoffing/Betterfox).
diff --git a/prefs/smoothscroll.yaml b/prefs/fastfox/smoothscroll.yaml
similarity index 100%
rename from prefs/smoothscroll.yaml
rename to prefs/fastfox/smoothscroll.yaml
diff --git a/prefs/ai.yaml b/prefs/firefox/ai.yaml
similarity index 91%
rename from prefs/ai.yaml
rename to prefs/firefox/ai.yaml
index cdeb20691..e54bb0d38 100644
--- a/prefs/ai.yaml
+++ b/prefs/firefox/ai.yaml
@@ -17,3 +17,6 @@
- name: browser.ml.enable
value: false
+
+- name: browser.ml.chat.menu
+ value: false
diff --git a/prefs/browser.yaml b/prefs/firefox/browser.yaml
similarity index 100%
rename from prefs/browser.yaml
rename to prefs/firefox/browser.yaml
diff --git a/prefs/extensions.yaml b/prefs/firefox/extensions.yaml
similarity index 100%
rename from prefs/extensions.yaml
rename to prefs/firefox/extensions.yaml
diff --git a/prefs/fullscreen.yaml b/prefs/firefox/fullscreen.yaml
similarity index 100%
rename from prefs/fullscreen.yaml
rename to prefs/firefox/fullscreen.yaml
diff --git a/prefs/multilingual.yaml b/prefs/firefox/multilingual.yaml
similarity index 100%
rename from prefs/multilingual.yaml
rename to prefs/firefox/multilingual.yaml
diff --git a/prefs/newtab.yaml b/prefs/firefox/newtab.yaml
similarity index 100%
rename from prefs/newtab.yaml
rename to prefs/firefox/newtab.yaml
diff --git a/prefs/pdf.yaml b/prefs/firefox/pdf.yaml
similarity index 100%
rename from prefs/pdf.yaml
rename to prefs/firefox/pdf.yaml
diff --git a/prefs/performance.yaml b/prefs/firefox/performance.yaml
similarity index 100%
rename from prefs/performance.yaml
rename to prefs/firefox/performance.yaml
diff --git a/prefs/pip.yaml b/prefs/firefox/pip.yaml
similarity index 100%
rename from prefs/pip.yaml
rename to prefs/firefox/pip.yaml
diff --git a/prefs/urlbar.yaml b/prefs/firefox/urlbar.yaml
similarity index 100%
rename from prefs/urlbar.yaml
rename to prefs/firefox/urlbar.yaml
diff --git a/prefs/disablemozilla.yaml b/prefs/privatefox/disablemozilla.yaml
similarity index 100%
rename from prefs/disablemozilla.yaml
rename to prefs/privatefox/disablemozilla.yaml
diff --git a/prefs/privacy.yaml b/prefs/privatefox/privacy.yaml
similarity index 100%
rename from prefs/privacy.yaml
rename to prefs/privatefox/privacy.yaml
diff --git a/prefs/compact-mode.yaml b/prefs/zen/compact-mode.yaml
similarity index 100%
rename from prefs/compact-mode.yaml
rename to prefs/zen/compact-mode.yaml
diff --git a/prefs/downloads.yaml b/prefs/zen/downloads.yaml
similarity index 100%
rename from prefs/downloads.yaml
rename to prefs/zen/downloads.yaml
diff --git a/prefs/folders.yaml b/prefs/zen/folders.yaml
similarity index 100%
rename from prefs/folders.yaml
rename to prefs/zen/folders.yaml
diff --git a/prefs/glance.yaml b/prefs/zen/glance.yaml
similarity index 100%
rename from prefs/glance.yaml
rename to prefs/zen/glance.yaml
diff --git a/prefs/gtk.yaml b/prefs/zen/gtk.yaml
similarity index 100%
rename from prefs/gtk.yaml
rename to prefs/zen/gtk.yaml
diff --git a/prefs/kbs.yaml b/prefs/zen/kbs.yaml
similarity index 100%
rename from prefs/kbs.yaml
rename to prefs/zen/kbs.yaml
diff --git a/prefs/macos.yaml b/prefs/zen/macos.yaml
similarity index 100%
rename from prefs/macos.yaml
rename to prefs/zen/macos.yaml
diff --git a/prefs/media.yaml b/prefs/zen/media.yaml
similarity index 100%
rename from prefs/media.yaml
rename to prefs/zen/media.yaml
diff --git a/prefs/mods.yaml b/prefs/zen/mods.yaml
similarity index 100%
rename from prefs/mods.yaml
rename to prefs/zen/mods.yaml
diff --git a/prefs/split-view.yaml b/prefs/zen/split-view.yaml
similarity index 100%
rename from prefs/split-view.yaml
rename to prefs/zen/split-view.yaml
diff --git a/prefs/static.yaml b/prefs/zen/static.yaml
similarity index 100%
rename from prefs/static.yaml
rename to prefs/zen/static.yaml
diff --git a/prefs/theme.yaml b/prefs/zen/theme.yaml
similarity index 100%
rename from prefs/theme.yaml
rename to prefs/zen/theme.yaml
diff --git a/prefs/view.yaml b/prefs/zen/view.yaml
similarity index 100%
rename from prefs/view.yaml
rename to prefs/zen/view.yaml
diff --git a/prefs/watermark.yaml b/prefs/zen/watermark.yaml
similarity index 100%
rename from prefs/watermark.yaml
rename to prefs/zen/watermark.yaml
diff --git a/prefs/welcome.yaml b/prefs/zen/welcome.yaml
similarity index 100%
rename from prefs/welcome.yaml
rename to prefs/zen/welcome.yaml
diff --git a/prefs/windows.yaml b/prefs/zen/windows.yaml
similarity index 100%
rename from prefs/windows.yaml
rename to prefs/zen/windows.yaml
diff --git a/prefs/workspaces.yaml b/prefs/zen/workspaces.yaml
similarity index 100%
rename from prefs/workspaces.yaml
rename to prefs/zen/workspaces.yaml
diff --git a/prefs/zen-urlbar.yaml b/prefs/zen/zen-urlbar.yaml
similarity index 100%
rename from prefs/zen-urlbar.yaml
rename to prefs/zen/zen-urlbar.yaml
diff --git a/prefs/zen.yaml b/prefs/zen/zen.yaml
similarity index 100%
rename from prefs/zen.yaml
rename to prefs/zen/zen.yaml
diff --git a/tools/ffprefs/src/main.rs b/tools/ffprefs/src/main.rs
index e044fd0f5..e2c7259e6 100644
--- a/tools/ffprefs/src/main.rs
+++ b/tools/ffprefs/src/main.rs
@@ -102,10 +102,10 @@
//
use serde::{Deserialize, Serialize};
+use std::collections::HashMap;
use std::env;
use std::fs;
use std::path::PathBuf;
-use std::collections::HashMap;
const STATIC_PREFS: &str = "../engine/modules/libpref/init/zen-static-prefs.inc";
const FIREFOX_PREFS: &str = "../engine/browser/app/profile/firefox.js";
@@ -136,25 +136,34 @@ fn ordered_prefs(mut prefs: Vec) -> Vec {
prefs
}
-fn load_preferences() -> Vec {
- let mut prefs = Vec::new();
- let config_path = get_config_path();
- // Iterate each file in the prefs directory
- if let Ok(entries) = fs::read_dir(&config_path) {
+fn get_prefs_files_recursively(dir: &PathBuf, files: &mut Vec) {
+ if let Ok(entries) = fs::read_dir(dir) {
for entry in entries {
if let Ok(entry) = entry {
- if let Some(ext) = entry.path().extension() {
+ let path = entry.path();
+ if path.is_dir() {
+ get_prefs_files_recursively(&path, files);
+ } else if let Some(ext) = path.extension() {
if ext == "yaml" || ext == "yml" {
- let file_path = entry.path();
- let content = fs::read_to_string(&file_path).expect("Failed to read file");
- let mut parsed_prefs: Vec =
- serde_yaml::from_str(&content).expect("Failed to parse YAML");
- prefs.append(&mut parsed_prefs);
+ files.push(path);
}
}
}
}
}
+}
+
+fn load_preferences() -> Vec {
+ let mut prefs = Vec::new();
+ let config_path = get_config_path();
+ let mut pref_files = Vec::new();
+ get_prefs_files_recursively(&config_path, &mut pref_files);
+ for file_path in pref_files {
+ let content = fs::read_to_string(&file_path).expect("Failed to read file");
+ let mut parsed_prefs: Vec =
+ serde_yaml::from_str(&content).expect("Failed to parse YAML");
+ prefs.append(&mut parsed_prefs);
+ }
ordered_prefs(prefs)
}
From 21d5273bb9b8360afb9406fca9ccb71dbaee7d43 Mon Sep 17 00:00:00 2001
From: "Mr. M"
Date: Sat, 11 Oct 2025 00:21:01 +0200
Subject: [PATCH 5/5] feat: Add a bounce to the glance element float and
format, b=no-bug, c=common, glance
---
prefs/README.md | 3 +-
.../urlbar/UrlbarInput-sys-mjs.patch | 44 ++++++++++---------
src/zen/common/ZenUIManager.mjs | 1 +
src/zen/glance/ZenGlanceManager.mjs | 39 +++++++++++++++-
src/zen/glance/zen-glance.css | 13 +++---
5 files changed, 69 insertions(+), 31 deletions(-)
diff --git a/prefs/README.md b/prefs/README.md
index 3b2196f81..6d1ef9d47 100644
--- a/prefs/README.md
+++ b/prefs/README.md
@@ -1,8 +1,7 @@
-
# Browser Preferences
This directory contains configuration files for Zen. They are divided by folder according to the source / component they belong to and further divided by file according to their purpose.
- `firefox/`: Preferences to override Firefox defaults.
- `zen/`: Preferences to configure Zen-specific features.
-- `privatefox/` & `fastfox/`: *Some* of the preferences got extracted from [Betterfox](https://github.com/yokoffing/Betterfox).
+- `privatefox/` & `fastfox/`: _Some_ of the preferences got extracted from [Betterfox](https://github.com/yokoffing/Betterfox).
diff --git a/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch b/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch
index 8793bce8c..5388f07bc 100644
--- a/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch
+++ b/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch
@@ -1,5 +1,5 @@
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
-index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0ce222c46 100644
+index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..77955d888e70409c83b217e676e1575417018831 100644
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
@@ -76,6 +76,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
@@ -75,10 +75,14 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
}
if (isCanonized) {
-@@ -2298,6 +2330,13 @@ export class UrlbarInput {
+@@ -2298,6 +2330,17 @@ export class UrlbarInput {
await this.#updateLayoutBreakoutDimensions();
}
++ zenFormatURLValue() {
++ return this.#lazy.valueFormatter._formatURL();
++ }
++
+ get zenUrlbarBehavior() {
+ if (this.document.documentElement.hasAttribute("inDOMFullscreen")) {
+ return "float";
@@ -89,7 +93,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
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 {
+@@ -2312,6 +2355,12 @@ export class UrlbarInput {
this.setAttribute("breakout-extend", "true");
@@ -102,7 +106,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
// Enable the animation only after the first extend call to ensure it
// doesn't run when opening a new window.
if (!this.hasAttribute("breakout-extend-animate")) {
-@@ -2331,6 +2376,24 @@ export class UrlbarInput {
+@@ -2331,6 +2380,24 @@ export class UrlbarInput {
return;
}
@@ -127,7 +131,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
this.removeAttribute("breakout-extend");
this.#updateTextboxPosition();
}
-@@ -2660,7 +2723,7 @@ export class UrlbarInput {
+@@ -2660,7 +2727,7 @@ export class UrlbarInput {
this.textbox.parentNode.style.setProperty(
"--urlbar-container-height",
@@ -136,7 +140,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
);
this.textbox.style.setProperty(
"--urlbar-height",
-@@ -3093,6 +3156,7 @@ export class UrlbarInput {
+@@ -3093,6 +3160,7 @@ export class UrlbarInput {
}
_toggleActionOverride(event) {
@@ -144,7 +148,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
if (
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
event.keyCode == KeyEvent.DOM_VK_ALT ||
-@@ -3197,7 +3261,7 @@ export class UrlbarInput {
+@@ -3197,7 +3265,7 @@ export class UrlbarInput {
return val;
}
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
@@ -153,7 +157,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
: val;
// Only trim value if the directionality doesn't change to RTL and we're not
// showing a strikeout https protocol.
-@@ -3407,6 +3471,7 @@ export class UrlbarInput {
+@@ -3407,6 +3475,7 @@ export class UrlbarInput {
);
}
@@ -161,7 +165,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
// No point in setting these because we'll handleRevert() a few rows below.
if (openUILinkWhere == "current") {
// Make sure URL is formatted properly (don't show punycode).
-@@ -3608,6 +3673,10 @@ export class UrlbarInput {
+@@ -3608,6 +3677,10 @@ export class UrlbarInput {
}
reuseEmpty = true;
}
@@ -172,7 +176,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
if (
where == "tab" &&
reuseEmpty &&
-@@ -3615,6 +3684,9 @@ export class UrlbarInput {
+@@ -3615,6 +3688,9 @@ export class UrlbarInput {
) {
where = "current";
}
@@ -182,7 +186,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
return where;
}
-@@ -3872,6 +3944,7 @@ export class UrlbarInput {
+@@ -3872,6 +3948,7 @@ export class UrlbarInput {
this.setResultForCurrentValue(null);
this.handleCommand();
this.controller.clearLastQueryContextCache();
@@ -190,7 +194,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
this._suppressStartQuery = false;
});
-@@ -3879,7 +3952,6 @@ export class UrlbarInput {
+@@ -3879,7 +3956,6 @@ export class UrlbarInput {
contextMenu.addEventListener("popupshowing", () => {
// Close the results pane when the input field contextual menu is open,
// because paste and go doesn't want a result selection.
@@ -198,7 +202,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
let controller =
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
-@@ -3991,7 +4063,11 @@ export class UrlbarInput {
+@@ -3991,7 +4067,11 @@ export class UrlbarInput {
if (!engineName && !source && !this.hasAttribute("searchmode")) {
return;
}
@@ -211,7 +215,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
if (this._searchModeIndicatorTitle) {
this._searchModeIndicatorTitle.textContent = "";
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
-@@ -4302,6 +4378,7 @@ export class UrlbarInput {
+@@ -4302,6 +4382,7 @@ export class UrlbarInput {
this.document.l10n.setAttributes(
this.inputField,
@@ -219,7 +223,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
l10nId,
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
);
-@@ -4413,6 +4490,11 @@ export class UrlbarInput {
+@@ -4413,6 +4494,11 @@ export class UrlbarInput {
}
_on_click(event) {
@@ -231,7 +235,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
if (
event.target == this.inputField ||
event.target == this._inputContainer
-@@ -4485,7 +4567,7 @@ export class UrlbarInput {
+@@ -4485,7 +4571,7 @@ export class UrlbarInput {
}
}
@@ -240,7 +244,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
this.view.autoOpen({ event });
} else {
if (this._untrimOnFocusAfterKeydown) {
-@@ -4525,9 +4607,16 @@ export class UrlbarInput {
+@@ -4525,9 +4611,16 @@ export class UrlbarInput {
}
_on_mousedown(event) {
@@ -258,7 +262,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
if (
event.target != this.inputField &&
-@@ -4538,6 +4627,10 @@ export class UrlbarInput {
+@@ -4538,6 +4631,10 @@ export class UrlbarInput {
this.focusedViaMousedown = !this.focused;
this._preventClickSelectsAll = this.focused;
@@ -269,7 +273,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
// Keep the focus status, since the attribute may be changed
// upon calling this.focus().
-@@ -4573,7 +4666,7 @@ export class UrlbarInput {
+@@ -4573,7 +4670,7 @@ export class UrlbarInput {
}
// 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.
@@ -278,7 +282,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..3aafb612152af88d570c7d7046ca3bd0
break;
}
-@@ -4890,7 +4983,7 @@ export class UrlbarInput {
+@@ -4890,7 +4987,7 @@ export class UrlbarInput {
// When we are in actions search mode we can show more results so
// increase the limit.
let maxResults =
diff --git a/src/zen/common/ZenUIManager.mjs b/src/zen/common/ZenUIManager.mjs
index d344e543e..bc8922b53 100644
--- a/src/zen/common/ZenUIManager.mjs
+++ b/src/zen/common/ZenUIManager.mjs
@@ -889,6 +889,7 @@ var gZenVerticalTabsManager = {
if (typeof height !== 'undefined') {
document.getElementById('urlbar').style.setProperty('--urlbar-height', `${height}px`);
}
+ gURLBar.zenFormatURLValue();
});
},
diff --git a/src/zen/glance/ZenGlanceManager.mjs b/src/zen/glance/ZenGlanceManager.mjs
index 31196d520..0b5eb8029 100644
--- a/src/zen/glance/ZenGlanceManager.mjs
+++ b/src/zen/glance/ZenGlanceManager.mjs
@@ -388,6 +388,18 @@
this.browserWrapper.prepend(imageDataElement);
this.#glances.get(this.#currentGlanceID).elementImageData = data.elementData;
+
+ gZenUIManager.motion.animate(
+ imageDataElement,
+ {
+ scale: [1, 3],
+ },
+ {
+ duration: 0.3,
+ easing: 'easeInOut',
+ }
+ );
+
return imageDataElement;
}
@@ -437,6 +449,19 @@
const transformOrigin = this.#getTransformOrigin(data);
this.browserWrapper.style.transformOrigin = transformOrigin;
+ gZenUIManager.motion
+ .animate(
+ this.contentWrapper,
+ { opacity: [0, 1] },
+ {
+ duration: 0.1,
+ easing: 'easeInOut',
+ }
+ )
+ .then(() => {
+ this.contentWrapper.style.opacity = '';
+ });
+
gZenUIManager.motion
.animate(this.browserWrapper, arcSequence, {
duration: gZenUIManager.testingEnabled ? 0 : 0.4,
@@ -876,7 +901,7 @@
}
/**
- * Add element preview if available
+ * Add element preview if available, used for the closing animation
* @param {string} elementImageData - The element image data
* @param {Object} rect - The rectangle data
*/
@@ -888,6 +913,18 @@
imageDataElement.style.width = rect.width;
imageDataElement.style.height = rect.height;
this.browserWrapper.prepend(imageDataElement);
+
+ gZenUIManager.motion.animate(
+ imageDataElement,
+ {
+ scale: [3, 1],
+ },
+ {
+ duration: 0.3,
+ easing: 'easeInOut',
+ bounce: 0.1,
+ }
+ );
}
}
diff --git a/src/zen/glance/zen-glance.css b/src/zen/glance/zen-glance.css
index 81dbd5445..819d4c6bf 100644
--- a/src/zen/glance/zen-glance.css
+++ b/src/zen/glance/zen-glance.css
@@ -146,12 +146,6 @@
border-radius: var(--zen-native-inner-radius);
overflow: hidden;
box-shadow: var(--zen-big-shadow);
- opacity: 1;
- transition: opacity 0.08s;
-
- @starting-style {
- opacity: 0;
- }
}
& browser {
@@ -167,7 +161,7 @@
&[fade-out='true'] {
& .browserStack {
- transition: opacity 0.2s ease-in-out;
+ transition: opacity 0.15s ease-in-out;
opacity: 0;
}
}
@@ -178,6 +172,9 @@
pointer-events: none;
width: 100%;
height: 100%;
- z-index: -1;
+ z-index: 0;
border-radius: var(--zen-native-inner-radius);
+ inset: 50%;
+ translate: -50% -50%;
+ will-change: transform;
}