add zoom,min-height,min-width params

This commit is contained in:
Tw93
2025-11-21 10:53:59 +08:00
parent 9c7330143a
commit f7a24bb26f
10 changed files with 200 additions and 1 deletions

41
bin/cli.ts vendored
View File

@@ -187,6 +187,47 @@ program
.default(DEFAULT.installerLanguage)
.hideHelp(),
)
.addOption(
new Option(
'--zoom <number>',
'Initial page zoom level (50-200)',
)
.default(DEFAULT.zoom)
.argParser((value) => {
const zoom = parseInt(value);
if (isNaN(zoom) || zoom < 50 || zoom > 200) {
throw new Error('--zoom must be a number between 50 and 200');
}
return zoom;
})
.hideHelp(),
)
.addOption(
new Option(
'--min-width <number>',
'Minimum window width',
)
.default(DEFAULT.minWidth)
.argParser(validateNumberInput)
.hideHelp(),
)
.addOption(
new Option(
'--min-height <number>',
'Minimum window height',
)
.default(DEFAULT.minHeight)
.argParser(validateNumberInput)
.hideHelp(),
)
.addOption(
new Option(
'--ignore-certificate-errors',
'Ignore certificate errors (for self-signed certificates)',
)
.default(DEFAULT.ignoreCertificateErrors)
.hideHelp(),
)
.version(packageJson.version, '-v, --version')
.configureHelp({
sortSubcommands: true,

4
bin/defaults.ts vendored
View File

@@ -31,6 +31,10 @@ export const DEFAULT_PAKE_OPTIONS: PakeCliOptions = {
multiInstance: false,
startToTray: false,
forceInternalNavigation: false,
zoom: 100,
minWidth: 0,
minHeight: 0,
ignoreCertificateErrors: false,
};
// Just for cli development

View File

@@ -74,6 +74,10 @@ export async function mergeConfig(
multiInstance,
startToTray,
forceInternalNavigation,
zoom,
minWidth,
minHeight,
ignoreCertificateErrors,
} = options;
const { platform } = process;
@@ -98,6 +102,10 @@ export async function mergeConfig(
enable_drag_drop: enableDragDrop,
start_to_tray: startToTray && showSystemTray,
force_internal_navigation: forceInternalNavigation,
zoom,
min_width: minWidth,
min_height: minHeight,
ignore_certificate_errors: ignoreCertificateErrors,
};
Object.assign(tauriConf.pake.windows[0], { url, ...tauriConfWindowOptions });

12
bin/types.ts vendored
View File

@@ -99,6 +99,18 @@ export interface PakeCliOptions {
// Force navigation to stay inside the Pake window even for external links
forceInternalNavigation: boolean;
// Initial page zoom level (50-200), default 100
zoom: number;
// Minimum window width, default 0 (no limit)
minWidth: number;
// Minimum window height, default 0 (no limit)
minHeight: number;
// Ignore certificate errors (for self-signed certs), default false
ignoreCertificateErrors: boolean;
}
export interface PakeAppOptions extends PakeCliOptions {