feat: Add desktop scaling and fix linux postinst (#1800)

* fix: resolve Linux window close handler to prevent app hang

- Add delete-event callback that properly quits the application when window is closed

* feat: Add desktop scaling and fix linux postinst

- Implement desktop interface scaling in main.dart using FittedBox.
- Add desktop scaling setting UI.
- Add desktopScale to storage preference.
- Fix typos and logic in Linux postinst script.
- Update piliplus.desktop with StartupWMClass.

* update

Signed-off-by: dom <githubaccount56556@proton.me>

---------

Signed-off-by: Shao Guohao <shao.gh.98@gmail.com>
Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
s
2026-01-10 10:03:51 +08:00
committed by GitHub
parent 069cf555ea
commit 28b69a06fa
9 changed files with 195 additions and 15 deletions

View File

@@ -152,7 +152,8 @@ abstract final class SettingBoxKey {
isWindowMaximized = 'isWindowMaximized',
showWindowTitleBar = 'showWindowTitleBar',
desktopVolume = 'desktopVolume',
showTrayIcon = 'showTrayIcon';
showTrayIcon = 'showTrayIcon',
uiScale = 'uiScale';
static const String subtitlePreferenceV2 = 'subtitlePreferenceV2',
enableDragSubtitle = 'enableDragSubtitle',

View File

@@ -628,6 +628,9 @@ abstract final class Pref {
static double get defaultTextScale =>
_setting.get(SettingBoxKey.defaultTextScale, defaultValue: 1.0);
static double get uiScale =>
_setting.get(SettingBoxKey.uiScale, defaultValue: 1.0);
static bool get dynamicsWaterfallFlow =>
_setting.get(SettingBoxKey.dynamicsWaterfallFlow, defaultValue: true);