feat: supports silent start
This commit is contained in:
parent
a12f58c1c7
commit
9d44668d5f
@ -31,6 +31,9 @@ pub struct VergeConfig {
|
|||||||
/// can the app auto startup
|
/// can the app auto startup
|
||||||
pub enable_auto_launch: Option<bool>,
|
pub enable_auto_launch: Option<bool>,
|
||||||
|
|
||||||
|
/// not show the window on launch
|
||||||
|
pub enable_silent_start: Option<bool>,
|
||||||
|
|
||||||
/// set system proxy
|
/// set system proxy
|
||||||
pub enable_system_proxy: Option<bool>,
|
pub enable_system_proxy: Option<bool>,
|
||||||
|
|
||||||
@ -197,6 +200,9 @@ impl Verge {
|
|||||||
if patch.traffic_graph.is_some() {
|
if patch.traffic_graph.is_some() {
|
||||||
self.config.traffic_graph = patch.traffic_graph;
|
self.config.traffic_graph = patch.traffic_graph;
|
||||||
}
|
}
|
||||||
|
if patch.enable_silent_start.is_some() {
|
||||||
|
self.config.enable_silent_start = patch.enable_silent_start;
|
||||||
|
}
|
||||||
|
|
||||||
// should update system startup
|
// should update system startup
|
||||||
if patch.enable_auto_launch.is_some() {
|
if patch.enable_auto_launch.is_some() {
|
||||||
|
@ -4,8 +4,6 @@ use tauri::{App, AppHandle, Manager};
|
|||||||
|
|
||||||
/// handle something when start app
|
/// handle something when start app
|
||||||
pub fn resolve_setup(app: &App) {
|
pub fn resolve_setup(app: &App) {
|
||||||
resolve_window(app);
|
|
||||||
|
|
||||||
// setup a simple http server for singleton
|
// setup a simple http server for singleton
|
||||||
server::embed_server(&app.handle());
|
server::embed_server(&app.handle());
|
||||||
|
|
||||||
@ -46,6 +44,8 @@ pub fn resolve_setup(app: &App) {
|
|||||||
.get_item("system_proxy")
|
.get_item("system_proxy")
|
||||||
.set_selected(enable));
|
.set_selected(enable));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
resolve_window(app, verge.config.enable_silent_start.clone());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// reset system proxy
|
/// reset system proxy
|
||||||
@ -57,9 +57,16 @@ pub fn resolve_reset(app_handle: &AppHandle) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// customize the window theme
|
/// customize the window theme
|
||||||
fn resolve_window(app: &App) {
|
fn resolve_window(app: &App, hide: Option<bool>) {
|
||||||
let window = app.get_window("main").unwrap();
|
let window = app.get_window("main").unwrap();
|
||||||
|
|
||||||
|
// silent start
|
||||||
|
hide.map(|hide| {
|
||||||
|
if hide {
|
||||||
|
window.hide().unwrap();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
{
|
{
|
||||||
use window_shadows::set_shadow;
|
use window_shadows::set_shadow;
|
||||||
|
@ -19,6 +19,7 @@ const SettingSystem = ({ onError }: Props) => {
|
|||||||
const {
|
const {
|
||||||
enable_tun_mode,
|
enable_tun_mode,
|
||||||
enable_auto_launch,
|
enable_auto_launch,
|
||||||
|
enable_silent_start,
|
||||||
enable_system_proxy,
|
enable_system_proxy,
|
||||||
system_proxy_bypass,
|
system_proxy_bypass,
|
||||||
enable_proxy_guard,
|
enable_proxy_guard,
|
||||||
@ -59,6 +60,20 @@ const SettingSystem = ({ onError }: Props) => {
|
|||||||
</GuardState>
|
</GuardState>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
|
|
||||||
|
<SettingItem>
|
||||||
|
<ListItemText primary={t("Silent Start")} />
|
||||||
|
<GuardState
|
||||||
|
value={enable_silent_start ?? false}
|
||||||
|
valueProps="checked"
|
||||||
|
onCatch={onError}
|
||||||
|
onFormat={onSwitchFormat}
|
||||||
|
onChange={(e) => onChangeData({ enable_silent_start: e })}
|
||||||
|
onGuard={(e) => patchVergeConfig({ enable_silent_start: e })}
|
||||||
|
>
|
||||||
|
<Switch edge="end" />
|
||||||
|
</GuardState>
|
||||||
|
</SettingItem>
|
||||||
|
|
||||||
<SettingItem>
|
<SettingItem>
|
||||||
<ListItemText
|
<ListItemText
|
||||||
primary={
|
primary={
|
||||||
|
@ -126,6 +126,7 @@ export namespace CmdType {
|
|||||||
traffic_graph?: boolean;
|
traffic_graph?: boolean;
|
||||||
enable_tun_mode?: boolean;
|
enable_tun_mode?: boolean;
|
||||||
enable_auto_launch?: boolean;
|
enable_auto_launch?: boolean;
|
||||||
|
enable_silent_start?: boolean;
|
||||||
enable_system_proxy?: boolean;
|
enable_system_proxy?: boolean;
|
||||||
enable_proxy_guard?: boolean;
|
enable_proxy_guard?: boolean;
|
||||||
system_proxy_bypass?: string;
|
system_proxy_bypass?: string;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user