Support setting incognita mode

This commit is contained in:
Tw93
2025-08-14 17:00:26 +08:00
parent 8313d9142b
commit 7a4f4c6d3d
9 changed files with 31 additions and 1 deletions

8
bin/README.md vendored
View File

@@ -224,6 +224,14 @@ Hide the window instead of exiting when clicking the close button. Default is `t
--hide-on-close --hide-on-close
``` ```
#### [incognito]
Launch the application in incognito/private browsing mode. Default is `false`. When enabled, the webview will run in private mode, which means it won't store cookies, local storage, or browsing history. This is useful for privacy-sensitive applications.
```shell
--incognito
```
#### [installer-language] #### [installer-language]
Set the Windows Installer language. Options include `zh-CN`, `ja-JP`, More at [Tauri Document](https://tauri.app/distribute/windows-installer/#internationalization). Default is `en-US`. Set the Windows Installer language. Options include `zh-CN`, `ja-JP`, More at [Tauri Document](https://tauri.app/distribute/windows-installer/#internationalization). Default is `en-US`.

8
bin/README_CN.md vendored
View File

@@ -224,6 +224,14 @@ pake [url] [options]
--hide-on-close --hide-on-close
``` ```
#### [incognito]
以隐私/隐身浏览模式启动应用程序。默认为 `false`。启用后webview 将在隐私模式下运行,这意味着它不会存储 cookie、本地存储或浏览历史记录。这对于注重隐私的应用程序很有用。
```shell
--incognito
```
#### [installer-language] #### [installer-language]
设置 Windows 安装包语言。支持 `zh-CN`、`ja-JP`,更多在 [Tauri 文档](https://tauri.app/distribute/windows-installer/#internationalization)。默认为 `en-US`。 设置 Windows 安装包语言。支持 `zh-CN`、`ja-JP`,更多在 [Tauri 文档](https://tauri.app/distribute/windows-installer/#internationalization)。默认为 `en-US`。

5
bin/cli.ts vendored
View File

@@ -128,6 +128,11 @@ program
.default(DEFAULT.hideOnClose) .default(DEFAULT.hideOnClose)
.hideHelp(), .hideHelp(),
) )
.addOption(
new Option('--incognito', 'Launch app in incognito/private mode').default(
DEFAULT.incognito,
),
)
.addOption( .addOption(
new Option('--installer-language <string>', 'Installer language') new Option('--installer-language <string>', 'Installer language')
.default(DEFAULT.installerLanguage) .default(DEFAULT.installerLanguage)

1
bin/defaults.ts vendored
View File

@@ -23,6 +23,7 @@ export const DEFAULT_PAKE_OPTIONS: PakeCliOptions = {
inject: [], inject: [],
installerLanguage: 'en-US', installerLanguage: 'en-US',
hideOnClose: true, hideOnClose: true,
incognito: false,
}; };
// Just for cli development // Just for cli development

View File

@@ -33,6 +33,7 @@ export async function mergeConfig(
proxyUrl, proxyUrl,
installerLanguage, installerLanguage,
hideOnClose, hideOnClose,
incognito,
} = options; } = options;
const { platform } = process; const { platform } = process;
@@ -49,6 +50,7 @@ export async function mergeConfig(
dark_mode: darkMode, dark_mode: darkMode,
disabled_web_shortcuts: disabledWebShortcuts, disabled_web_shortcuts: disabledWebShortcuts,
hide_on_close: hideOnClose, hide_on_close: hideOnClose,
incognito: incognito,
}; };
Object.assign(tauriConf.pake.windows[0], { url, ...tauriConfWindowOptions }); Object.assign(tauriConf.pake.windows[0], { url, ...tauriConfWindowOptions });

3
bin/types.ts vendored
View File

@@ -71,6 +71,9 @@ export interface PakeCliOptions {
// Hide window on close instead of exiting, default false // Hide window on close instead of exiting, default false
hideOnClose: boolean; hideOnClose: boolean;
// Launch app in incognito/private mode, default false
incognito: boolean;
} }
export interface PakeAppOptions extends PakeCliOptions { export interface PakeAppOptions extends PakeCliOptions {

View File

@@ -12,7 +12,8 @@
"dark_mode": false, "dark_mode": false,
"activation_shortcut": "", "activation_shortcut": "",
"disabled_web_shortcuts": false, "disabled_web_shortcuts": false,
"hide_on_close": true "hide_on_close": true,
"incognito": false
} }
], ],
"user_agent": { "user_agent": {

View File

@@ -14,6 +14,7 @@ pub struct WindowConfig {
pub disabled_web_shortcuts: bool, pub disabled_web_shortcuts: bool,
pub activation_shortcut: String, pub activation_shortcut: String,
pub hide_on_close: bool, pub hide_on_close: bool,
pub incognito: bool,
} }
#[derive(Debug, Serialize, Deserialize)] #[derive(Debug, Serialize, Deserialize)]

View File

@@ -37,6 +37,7 @@ pub fn set_window(app: &mut App, config: &PakeConfig, tauri_config: &Config) ->
.inner_size(window_config.width, window_config.height) .inner_size(window_config.width, window_config.height)
.always_on_top(window_config.always_on_top) .always_on_top(window_config.always_on_top)
.disable_drag_drop_handler() .disable_drag_drop_handler()
.incognito(window_config.incognito)
.initialization_script(&config_script) .initialization_script(&config_script)
.initialization_script(include_str!("../inject/component.js")) .initialization_script(include_str!("../inject/component.js"))
.initialization_script(include_str!("../inject/event.js")) .initialization_script(include_str!("../inject/event.js"))