|
@@ -6,20 +6,24 @@ pub fn resolve_setup(app: &App) {
|
|
|
// init app config
|
|
|
init::init_app(app.package_info());
|
|
|
|
|
|
- {
|
|
|
+ let silent_start = {
|
|
|
let global = Data::global();
|
|
|
let verge = global.verge.lock();
|
|
|
let singleton = verge.app_singleton_port.clone();
|
|
|
|
|
|
// setup a simple http server for singleton
|
|
|
server::embed_server(&app.handle(), singleton);
|
|
|
- }
|
|
|
+
|
|
|
+ verge.enable_silent_start.clone().unwrap_or(false)
|
|
|
+ };
|
|
|
|
|
|
// core should be initialized after init_app fix #122
|
|
|
let core = Core::global();
|
|
|
core.init(app.app_handle());
|
|
|
|
|
|
- resolve_window(app);
|
|
|
+ if !silent_start || cfg!(target_os = "macos") {
|
|
|
+ create_window(&app.app_handle());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// reset system proxy
|
|
@@ -33,39 +37,6 @@ pub fn resolve_reset() {
|
|
|
crate::log_if_err!(service.stop());
|
|
|
}
|
|
|
|
|
|
-/// customize the window theme
|
|
|
-fn resolve_window(app: &App) {
|
|
|
- let window = app.get_window("main").unwrap();
|
|
|
-
|
|
|
- #[cfg(target_os = "windows")]
|
|
|
- {
|
|
|
- use crate::utils::winhelp;
|
|
|
- use window_shadows::set_shadow;
|
|
|
- use window_vibrancy::apply_blur;
|
|
|
-
|
|
|
- let _ = window.set_decorations(false);
|
|
|
- let _ = set_shadow(&window, true);
|
|
|
-
|
|
|
- // todo
|
|
|
- // win11 disable this feature temporarily due to lag
|
|
|
- if !winhelp::is_win11() {
|
|
|
- let _ = apply_blur(&window, None);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- #[cfg(target_os = "macos")]
|
|
|
- {
|
|
|
- use tauri::LogicalSize;
|
|
|
- use tauri::Size::Logical;
|
|
|
-
|
|
|
- let _ = window.set_decorations(true);
|
|
|
- let _ = window.set_size(Logical(LogicalSize {
|
|
|
- width: 800.0,
|
|
|
- height: 620.0,
|
|
|
- }));
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
/// create main window
|
|
|
pub fn create_window(app_handle: &AppHandle) {
|
|
|
if let Some(window) = app_handle.get_window("main") {
|
|
@@ -120,7 +91,7 @@ pub fn create_window(app_handle: &AppHandle) {
|
|
|
}
|
|
|
|
|
|
#[cfg(target_os = "macos")]
|
|
|
- crate::log_if_err!(builder.decorations(true).inner_size(800.0, 620.0).build());
|
|
|
+ crate::log_if_err!(builder.decorations(true).inner_size(800.0, 642.0).build());
|
|
|
|
|
|
#[cfg(target_os = "linux")]
|
|
|
crate::log_if_err!(builder
|