Merge pull request #2225 into stage-353

Add extra-large Appearance font size option (franksong2702)
This commit is contained in:
Hermes Agent
2026-05-14 03:43:52 +00:00
8 changed files with 108 additions and 10 deletions
+11
View File
@@ -516,6 +516,7 @@ const LOCALES = {
font_size_small: 'Small',
font_size_default: 'Default',
font_size_large: 'Large',
font_size_xlarge: 'Extra Large',
settings_autosave_saving: 'Saving…',
settings_autosave_saved: 'Saved',
settings_autosave_failed: 'Save failed',
@@ -1657,6 +1658,7 @@ const LOCALES = {
font_size_small: 'Piccolo',
font_size_default: 'Predefinito',
font_size_large: 'Grande',
font_size_xlarge: 'Molto grande',
settings_autosave_saving: 'Salvataggio…',
settings_autosave_saved: 'Salvato',
settings_autosave_failed: 'Salvataggio fallito',
@@ -2790,6 +2792,7 @@ const LOCALES = {
font_size_small: '小',
font_size_default: 'デフォルト',
font_size_large: '大',
font_size_xlarge: '特大',
settings_autosave_saving: '保存中…',
settings_autosave_saved: '保存しました',
settings_autosave_failed: '保存失敗',
@@ -3663,6 +3666,7 @@ const LOCALES = {
font_size_small: 'Маленький',
font_size_default: 'Стандарт',
font_size_large: 'Большой',
font_size_xlarge: 'Очень большой',
settings_autosave_saving: 'Сохранение…',
settings_autosave_saved: 'Сохранено',
settings_autosave_failed: 'Не удалось сохранить',
@@ -4810,6 +4814,7 @@ const LOCALES = {
font_size_small: 'Pequeño',
font_size_default: 'Por defecto',
font_size_large: 'Grande',
font_size_xlarge: 'Extra grande',
settings_autosave_saving: 'Guardando…',
settings_autosave_saved: 'Guardado',
settings_autosave_failed: 'Error al guardar',
@@ -5865,6 +5870,7 @@ const LOCALES = {
font_size_small: 'Small',
font_size_default: 'Default',
font_size_large: 'Large',
font_size_xlarge: 'Extra Large',
settings_autosave_saving: 'Wird gespeichert…',
settings_autosave_saved: 'Gespeichert',
settings_autosave_failed: 'Speichern fehlgeschlagen',
@@ -6961,6 +6967,7 @@ const LOCALES = {
font_size_small: '小',
font_size_default: '默认',
font_size_large: '大',
font_size_xlarge: '超大',
settings_autosave_saving: '保存中…',
settings_autosave_saved: '已保存',
settings_autosave_failed: '保存失败',
@@ -8042,6 +8049,7 @@ const LOCALES = {
font_size_small: '\u5c0f',
font_size_default: '\u9810\u8a2d',
font_size_large: '\u5927',
font_size_xlarge: '\u8d85\u5927',
settings_autosave_saving: '\u5132\u5b58\u4e2d…',
settings_autosave_saved: '\u5df2\u5132\u5b58',
settings_autosave_failed: '\u5132\u5b58\u5931\u6557',
@@ -9260,6 +9268,7 @@ const LOCALES = {
font_size_small: 'Pequeno',
font_size_default: 'Padrão',
font_size_large: 'Grande',
font_size_xlarge: 'Extra grande',
settings_autosave_saving: 'Salvando…',
settings_autosave_saved: 'Salvo',
settings_autosave_failed: 'Falha ao salvar',
@@ -10297,6 +10306,7 @@ const LOCALES = {
font_size_small: '작게',
font_size_default: '기본',
font_size_large: '크게',
font_size_xlarge: '매우 크게',
settings_autosave_saving: '저장 중…',
settings_autosave_saved: '저장됨',
settings_autosave_failed: '저장 실패',
@@ -11350,6 +11360,7 @@ const LOCALES = {
font_size_small: 'Petit',
font_size_default: 'Défaut',
font_size_large: 'Grand',
font_size_xlarge: 'Très grand',
settings_autosave_saving: 'Économie…',
settings_autosave_saved: 'Enregistré',
settings_autosave_failed: 'Échec de l\'enregistrement',
+7 -1
View File
@@ -858,7 +858,7 @@
</div>
<div class="settings-field">
<label data-i18n="settings_label_font_size">Font size</label>
<div id="fontSizePickerGrid" style="display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px">
<div id="fontSizePickerGrid" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:4px">
<button type="button" data-font-size-val="small" onclick="_pickFontSize('small')" class="font-size-pick-btn" style="border:1px solid var(--border2);border-radius:10px;padding:10px 8px;text-align:center;cursor:pointer;background:none;transition:all .15s">
<div style="width:100%;height:40px;border-radius:6px;background:var(--surface);border:1px solid var(--border);margin-bottom:6px;display:flex;align-items:center;justify-content:center">
<span style="font-size:10px;font-weight:600;color:var(--muted)">Aa</span>
@@ -877,6 +877,12 @@
</div>
<span style="font-size:12px;font-weight:500;color:var(--text)" data-i18n="font_size_large">Large</span>
</button>
<button type="button" data-font-size-val="xlarge" onclick="_pickFontSize('xlarge')" class="font-size-pick-btn" style="border:1px solid var(--border2);border-radius:10px;padding:10px 8px;text-align:center;cursor:pointer;background:none;transition:all .15s">
<div style="width:100%;height:40px;border-radius:6px;background:var(--surface);border:1px solid var(--border);margin-bottom:6px;display:flex;align-items:center;justify-content:center">
<span style="font-size:20px;font-weight:600;color:var(--muted)">Aa</span>
</div>
<span style="font-size:12px;font-weight:500;color:var(--text)" data-i18n="font_size_xlarge">Extra Large</span>
</button>
</div>
<input type="hidden" id="settingsFontSize" value="default">
</div>
+17 -1
View File
@@ -19,7 +19,7 @@
}
/* ── Font size modifiers ── */
/* ── Font size preference: scale key UI text elements ── */
/* Default is 14px (no attribute needed). Small=12px, Large=16px. */
/* Default is 14px (no attribute needed). Small=12px, Large=16px, Extra Large=18px. */
/* We override the px values directly on key containers since most of the */
/* stylesheet uses hardcoded px — changing :root font-size alone only affects */
/* the small number of em/rem values. */
@@ -27,44 +27,60 @@
/* Sidebar session list */
:root[data-font-size="small"] .session-item { font-size: 11px; }
:root[data-font-size="large"] .session-item { font-size: 15px; }
:root[data-font-size="xlarge"] .session-item { font-size: 17px; }
:root[data-font-size="small"] .session-meta { font-size: 10px; }
:root[data-font-size="large"] .session-meta { font-size: 13px; }
:root[data-font-size="xlarge"] .session-meta { font-size: 15px; }
:root[data-font-size="small"] .session-title-input { font-size: 11px; }
:root[data-font-size="large"] .session-title-input { font-size: 15px; }
:root[data-font-size="xlarge"] .session-title-input { font-size: 17px; }
/* Chat message body */
:root[data-font-size="small"] .msg-body { font-size: 12px; }
:root[data-font-size="large"] .msg-body { font-size: 16px; }
:root[data-font-size="xlarge"] .msg-body { font-size: 18px; }
:root[data-font-size="small"] .msg-body h1 { font-size: 21px; }
:root[data-font-size="large"] .msg-body h1 { font-size: 27px; }
:root[data-font-size="xlarge"] .msg-body h1 { font-size: 30px; }
:root[data-font-size="small"] .msg-body h2 { font-size: 17px; }
:root[data-font-size="large"] .msg-body h2 { font-size: 23px; }
:root[data-font-size="xlarge"] .msg-body h2 { font-size: 26px; }
:root[data-font-size="small"] .msg-body h3 { font-size: 15px; }
:root[data-font-size="large"] .msg-body h3 { font-size: 20px; }
:root[data-font-size="xlarge"] .msg-body h3 { font-size: 22px; }
:root[data-font-size="small"] .msg-body h4 { font-size: 13px; }
:root[data-font-size="large"] .msg-body h4 { font-size: 17px; }
:root[data-font-size="xlarge"] .msg-body h4 { font-size: 19px; }
:root[data-font-size="small"] .msg-body h5 { font-size: 12px; }
:root[data-font-size="large"] .msg-body h5 { font-size: 16px; }
:root[data-font-size="xlarge"] .msg-body h5 { font-size: 18px; }
:root[data-font-size="small"] .msg-body h6 { font-size: 11px; }
:root[data-font-size="large"] .msg-body h6 { font-size: 15px; }
:root[data-font-size="xlarge"] .msg-body h6 { font-size: 17px; }
:root[data-font-size="small"] .msg-body code { font-size: 10.5px; }
:root[data-font-size="large"] .msg-body code { font-size: 14.5px; }
:root[data-font-size="xlarge"] .msg-body code { font-size: 16px; }
:root[data-font-size="small"] .msg-body pre code { font-size: 11px; }
:root[data-font-size="large"] .msg-body pre code { font-size: 15px; }
:root[data-font-size="xlarge"] .msg-body pre code { font-size: 16.5px; }
:root[data-font-size="small"] .msg-body table { font-size: 11px; }
:root[data-font-size="large"] .msg-body table { font-size: 14px; }
:root[data-font-size="xlarge"] .msg-body table { font-size: 16px; }
/* Composer textarea (default is 16px in stylesheet) */
:root[data-font-size="small"] #msg { font-size: 14px; }
:root[data-font-size="large"] #msg { font-size: 18px; }
:root[data-font-size="xlarge"] #msg { font-size: 20px; }
/* Workspace file tree */
:root[data-font-size="small"] .file-item { font-size: 11px; }
:root[data-font-size="large"] .file-item { font-size: 14px; }
:root[data-font-size="xlarge"] .file-item { font-size: 16px; }
/* App-level base — keeps em/rem values scaling correctly */
:root[data-font-size="small"] { font-size: 12px; }
:root[data-font-size="large"] { font-size: 16px; }
:root[data-font-size="xlarge"] { font-size: 18px; }
/* ── Dark mode — navy-black + gold accent matching Hermes terminal ── */
:root.dark {
--bg:#0D0D1A;--sidebar:#141425;--border:#2A2A45;--border2:rgba(255,255,255,0.14);