v1.5.5: terminal zoom, font fallback, copy feedback
- Ctrl+wheel/Ctrl±/Ctrl+0 font zoom (6-28), persisted in settings.json - Font fallback: Cascadia Mono → Consolas → Courier New (per platform) - Visual "Copied!" flash in status bar on copy - Closes audit items #27 (copy feedback) and #29 (font fallback) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -49,6 +49,7 @@ class ServerStore:
|
||||
self._statuses_lock = threading.Lock()
|
||||
self._file_lock = threading.Lock()
|
||||
self._last_backup_time: float = 0
|
||||
self._terminal_font_size: int = 11
|
||||
self._servers_file: str = DEFAULT_SERVERS_FILE
|
||||
self._load_settings()
|
||||
self._load()
|
||||
@@ -68,6 +69,7 @@ class ServerStore:
|
||||
lang = settings.get("language", "en")
|
||||
i18n.set_language(lang)
|
||||
self._check_interval = settings.get("check_interval", 60)
|
||||
self._terminal_font_size = settings.get("terminal_font_size", 11)
|
||||
except json.JSONDecodeError:
|
||||
log.warning("Corrupted settings.json, using defaults")
|
||||
except Exception as e:
|
||||
@@ -80,6 +82,7 @@ class ServerStore:
|
||||
"servers_path": self._servers_file,
|
||||
"language": i18n.get_language(),
|
||||
"check_interval": self._check_interval,
|
||||
"terminal_font_size": self._terminal_font_size,
|
||||
}
|
||||
try:
|
||||
tmp = SETTINGS_FILE + ".tmp"
|
||||
@@ -301,3 +304,12 @@ class ServerStore:
|
||||
def get_status(self, alias: str) -> str:
|
||||
with self._statuses_lock:
|
||||
return self._statuses.get(alias, "unknown")
|
||||
|
||||
# ── Terminal font size ────────────────────────────────
|
||||
|
||||
def get_terminal_font_size(self) -> int:
|
||||
return self._terminal_font_size
|
||||
|
||||
def set_terminal_font_size(self, size: int):
|
||||
self._terminal_font_size = max(6, min(28, size))
|
||||
self._save_settings()
|
||||
|
||||
Reference in New Issue
Block a user