feat(thunderbird): add support for Octo theme in Thunderbird
This commit is contained in:
Symlink
+1
@@ -0,0 +1 @@
|
||||
../icons
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Octo Theme",
|
||||
"version": "1.0.1",
|
||||
"description": "Thème Thunderbird épuré avec basculement automatique clair/foncé.",
|
||||
"author": "Hyko",
|
||||
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "octo-theme@hyko",
|
||||
"strict_min_version": "128.0",
|
||||
"strict_max_version": "160.*"
|
||||
}
|
||||
},
|
||||
|
||||
"icons": {
|
||||
"48": "icons/icon.svg"
|
||||
},
|
||||
|
||||
"theme_experiment": {
|
||||
"stylesheet": "octo.css"
|
||||
},
|
||||
|
||||
"theme": {
|
||||
"colors": {
|
||||
"frame": "#e0e0e0",
|
||||
"tab_selected": "#ffffff",
|
||||
"tab_background_text": "#666666",
|
||||
"tab_background_separator": "#cccccc",
|
||||
"tab_text": "#1a1a1a",
|
||||
"tab_line": "#ffffff",
|
||||
"toolbar": "#f5f5f5",
|
||||
"toolbar_text": "#1a1a1a",
|
||||
"toolbar_top_separator": "#cccccc",
|
||||
"toolbar_bottom_separator": "#cccccc",
|
||||
"toolbar_vertical_separator": "#cccccc",
|
||||
"toolbar_field": "#ffffff",
|
||||
"toolbar_field_text": "#1a1a1a",
|
||||
"toolbar_field_border": "#cccccc",
|
||||
"toolbar_field_focus": "#ffffff",
|
||||
"toolbar_field_text_focus": "#1a1a1a",
|
||||
"toolbar_field_border_focus": "#2188ff",
|
||||
"icons": "#555555",
|
||||
"icons_attention": "#333333",
|
||||
"button_background_hover": "#e8e8e8",
|
||||
"button_background_active": "#d0d0d0",
|
||||
"popup": "#ffffff",
|
||||
"popup_text": "#1a1a1a",
|
||||
"popup_border": "#cccccc",
|
||||
"popup_highlight": "#e8e8e8",
|
||||
"popup_highlight_text": "#1a1a1a",
|
||||
"sidebar": "#f5f5f5",
|
||||
"sidebar_text": "#1a1a1a",
|
||||
"sidebar_border": "#cccccc",
|
||||
"sidebar_highlight": "#2188ff",
|
||||
"sidebar_highlight_text": "#ffffff",
|
||||
"sidebar_highlight_border": "#2188ff"
|
||||
}
|
||||
},
|
||||
|
||||
"dark_theme": {
|
||||
"colors": {
|
||||
"frame": "#000000",
|
||||
"tab_selected": "#1a1a1a",
|
||||
"tab_background_text": "#888888",
|
||||
"tab_background_separator": "#252525",
|
||||
"tab_text": "#e6e6e6",
|
||||
"tab_line": "#000000",
|
||||
"toolbar": "#111111",
|
||||
"toolbar_text": "#cccccc",
|
||||
"toolbar_top_separator": "#252525",
|
||||
"toolbar_bottom_separator": "#252525",
|
||||
"toolbar_vertical_separator": "#252525",
|
||||
"toolbar_field": "#000000",
|
||||
"toolbar_field_text": "#e6e6e6",
|
||||
"toolbar_field_border": "#252525",
|
||||
"toolbar_field_focus": "#000000",
|
||||
"toolbar_field_text_focus": "#e6e6e6",
|
||||
"toolbar_field_border_focus": "#1f6feb",
|
||||
"icons": "#999999",
|
||||
"icons_attention": "#cccccc",
|
||||
"button_background_hover": "#252525",
|
||||
"button_background_active": "#333333",
|
||||
"popup": "#1a1a1a",
|
||||
"popup_text": "#e6e6e6",
|
||||
"popup_border": "#333333",
|
||||
"popup_highlight": "#2a2a2a",
|
||||
"popup_highlight_text": "#e6e6e6",
|
||||
"sidebar": "#111111",
|
||||
"sidebar_text": "#cccccc",
|
||||
"sidebar_border": "#252525",
|
||||
"sidebar_highlight": "#1f6feb",
|
||||
"sidebar_highlight_text": "#ffffff",
|
||||
"sidebar_highlight_border": "#1f6feb"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
/* Octo Theme pour Thunderbird.
|
||||
* Injectée par theme_experiment dans chaque fenêtre qui accepte les thèmes.
|
||||
* light-dark() suit le basculement entre "theme" et "dark_theme". */
|
||||
|
||||
:root:root {
|
||||
/* Échelle de gris neutre, sans la teinte bleutée d'origine */
|
||||
--color-gray-05: #f5f5f5;
|
||||
--color-gray-10: #f0f0f0;
|
||||
--color-gray-20: #e0e0e0;
|
||||
--color-gray-30: #cccccc;
|
||||
--color-gray-40: #999999;
|
||||
--color-gray-50: #666666;
|
||||
--color-gray-60: #333333;
|
||||
--color-gray-70: #252525;
|
||||
--color-gray-80: #1a1a1a;
|
||||
--color-gray-90: #111111;
|
||||
|
||||
/* Les tons "ink" sont violets : on les ramène à des gris neutres */
|
||||
--color-ink-10: #f5f5f5;
|
||||
--color-ink-20: #e8e8e8;
|
||||
--color-ink-30: #cccccc;
|
||||
--color-ink-40: #999999;
|
||||
--color-ink-50: #666666;
|
||||
--color-ink-60: #333333;
|
||||
--color-ink-70: #252525;
|
||||
--color-ink-80: #1a1a1a;
|
||||
--color-ink-90: #111111;
|
||||
|
||||
/* Mise en page : les volets centraux et le contenu partagent le même fond */
|
||||
--layout-background-0: light-dark(#ffffff, #000000);
|
||||
--layout-background-1: light-dark(#ffffff, #000000);
|
||||
--layout-background-2: light-dark(#f5f5f5, #111111);
|
||||
--layout-background-3: light-dark(#e8e8e8, #1a1a1a);
|
||||
--layout-background-4: light-dark(#d0d0d0, #252525);
|
||||
|
||||
--layout-color-0: light-dark(#000000, #ffffff);
|
||||
--layout-color-1: light-dark(#1a1a1a, #e6e6e6);
|
||||
--layout-color-2: light-dark(#555555, #999999);
|
||||
--layout-color-3: light-dark(#888888, #666666);
|
||||
|
||||
--layout-border-0: light-dark(#e0e0e0, #1a1a1a);
|
||||
--layout-border-1: light-dark(#cccccc, #252525);
|
||||
--layout-border-2: light-dark(#999999, #333333);
|
||||
|
||||
/* Accent bleu (Octo VS Code) */
|
||||
--link-color: light-dark(#0366d6, #58a6ff);
|
||||
--link-color-hover: var(--link-color);
|
||||
--link-color-active: var(--link-color);
|
||||
--link-color-visited: var(--link-color);
|
||||
--button-link-text-color: var(--link-color);
|
||||
--button-link-active-text-color: var(--link-color);
|
||||
--new-folder-color: var(--link-color);
|
||||
|
||||
/* Boutons et arrondis */
|
||||
--button-border-radius: 4px;
|
||||
--listbox-border-radius: 4px;
|
||||
--button-border-color: light-dark(#d0d0d0, #252525);
|
||||
--button-hover-background-color: light-dark(#d0d0d0, #252525);
|
||||
--button-active-background-color: light-dark(#c0c0c0, #333333);
|
||||
|
||||
/* Liste des dossiers : sélection par le fond, sans cadre */
|
||||
--list-container-border-selected: transparent;
|
||||
--list-container-border-selected-current: transparent;
|
||||
--list-container-border-hover: transparent;
|
||||
--list-container-border-selected-focused: transparent;
|
||||
--list-container-border-selected-current-focused: transparent;
|
||||
--list-container-background-selected: light-dark(#e8e8e8, #1a1a1a);
|
||||
--list-container-background-selected-current: light-dark(#e8e8e8, #1a1a1a);
|
||||
--list-container-background-hover: light-dark(rgba(0, 0, 0, 0.04), rgba(255, 255, 255, 0.04));
|
||||
--list-container-background-selected-focused: color-mix(in srgb, var(--selected-item-color) 15%, transparent);
|
||||
--list-container-background-selected-current-focused: color-mix(in srgb, var(--selected-item-color) 25%, transparent);
|
||||
|
||||
/* Liste des messages : cartes sans cadre */
|
||||
--tree-view-bg: var(--layout-background-0);
|
||||
--tree-card-border: transparent;
|
||||
--tree-card-border-hover: transparent;
|
||||
--tree-card-border-focus: transparent;
|
||||
--tree-card-border-selected: transparent;
|
||||
--tree-card-border-selected-unfocused: transparent;
|
||||
|
||||
/* Calendrier */
|
||||
--viewBackground: var(--layout-background-0);
|
||||
--viewCalendarHeaderBackground: transparent;
|
||||
--viewTodayBackground: var(--viewBackground);
|
||||
--viewTodayOffBackground: var(--viewOffTimeBackground);
|
||||
--viewWeekendBackground: light-dark(#fafafa, #0a0a0a);
|
||||
--viewTodayWeekendBackground: var(--viewWeekendBackground);
|
||||
--viewMonthOtherBackground: light-dark(#fafafa, #0a0a0a);
|
||||
--viewMonthDayOtherBackground: light-dark(#fafafa, #0a0a0a);
|
||||
--viewOffTimeBackground: light-dark(#fafafa, #0a0a0a);
|
||||
--viewMonthDayOffLabelBackground: var(--viewWeekendBackground);
|
||||
--viewMonthWeekLabelBackground: light-dark(#e8e8e8, #1a1a1a);
|
||||
--viewDayBoxSelectedBackground: color-mix(in srgb, var(--selected-item-color) 10%, var(--viewBackground));
|
||||
--viewDayBoxOffSelectedBackground: var(--viewDayBoxSelectedBackground);
|
||||
--viewDayBoxOtherSelectedBackground: var(--viewDayBoxSelectedBackground);
|
||||
--viewHeaderSelectedBackground: color-mix(in srgb, var(--selected-item-color) 10%, var(--viewBackground));
|
||||
--viewDayLabelSelectedBackground: var(--selected-item-color);
|
||||
--viewDragboxBackground: var(--selected-item-color);
|
||||
--viewDropshadowBackground: var(--selected-item-color);
|
||||
|
||||
--calendar-view-toggle-background: var(--layout-background-3);
|
||||
--calendar-view-toggle-hover-background: var(--layout-background-4);
|
||||
--calendar-view-toggle-active-background: var(--layout-background-4);
|
||||
--calendar-view-toggle-selected-background: var(--layout-background-0);
|
||||
--calendar-view-toggle-selected-hover-background: var(--layout-background-2);
|
||||
}
|
||||
|
||||
/* Séparateur fin entre les messages en vue cartes */
|
||||
:root:root [is="tree-view-table-body"] > .card-layout > td {
|
||||
box-shadow: inset 0 -1px 0 var(--layout-border-0);
|
||||
}
|
||||
|
||||
/* Liste des calendriers : sélection discrète, pleine couleur seulement au focus */
|
||||
:root:root #calendar-list > li.selected {
|
||||
border-color: transparent;
|
||||
background: light-dark(#e8e8e8, #1a1a1a);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
:root:root #calendar-list:focus-within > li.selected {
|
||||
border-color: transparent;
|
||||
background: color-mix(in srgb, var(--selected-item-color) 25%, transparent);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* Mini-calendrier : sélecteur renforcé pour passer devant la variante lwt-tree */
|
||||
:root:root:root calendar-minimonth {
|
||||
--mmMainBackground: transparent;
|
||||
--mmMainBorderColor: transparent;
|
||||
--mmMainBorderRadius: 4px;
|
||||
--mmBoxBackground: light-dark(#e8e8e8, #1a1a1a);
|
||||
--mmBoxBorderColor: transparent;
|
||||
--mmBoxItemColor: light-dark(#d0d0d0, #252525);
|
||||
--mmDayColor: var(--layout-color-1);
|
||||
--mmDayOtherColor: var(--layout-color-3);
|
||||
--mmDayWeekColor: var(--layout-color-3);
|
||||
--mmDayTodayColor: var(--layout-color-0);
|
||||
--mmDayTodayBackground: light-dark(#e8e8e8, #1a1a1a);
|
||||
--mmDaySelectedBackground: color-mix(in srgb, var(--selected-item-color) 20%, transparent);
|
||||
--mmDaySelectedBorderColor: color-mix(in srgb, var(--selected-item-color) 60%, transparent);
|
||||
--mmDaySelectedTodayBackground: color-mix(in srgb, var(--selected-item-color) 20%, transparent);
|
||||
--mmDayBorderRadius: 4px;
|
||||
}
|
||||
|
||||
/* Barre d'onglets façon Firefox : fond = frame, onglets arrondis flottants */
|
||||
:root:root {
|
||||
--tabs-toolbar-background-color: transparent;
|
||||
--tabs-toolbar-box-shadow: none;
|
||||
}
|
||||
|
||||
:root:root #tabs-toolbar {
|
||||
background-image: none;
|
||||
padding-block: 0;
|
||||
padding-inline: 4px;
|
||||
}
|
||||
|
||||
:root:root .tabmail-tab {
|
||||
margin-block: 4px;
|
||||
margin-inline-end: 4px;
|
||||
border-radius: 4px;
|
||||
|
||||
&[selected] {
|
||||
box-shadow: 0 0 4px light-dark(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.6));
|
||||
}
|
||||
|
||||
& .tab-background {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
& .tab-line {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover .tab-background:not([selected]) {
|
||||
background-color: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.06));
|
||||
}
|
||||
}
|
||||
|
||||
/* Menus et panneaux : variables définies sur les popups, pas sur :root */
|
||||
:root:root :is(menupopup, panel):not(.autoscroller) {
|
||||
--panel-background-color: light-dark(#ffffff, #1a1a1a);
|
||||
--panel-text-color: light-dark(#1a1a1a, #e6e6e6);
|
||||
--panel-border-color: light-dark(#cccccc, #333333);
|
||||
--panel-border-radius: 6px;
|
||||
}
|
||||
Reference in New Issue
Block a user