mirror of
https://github.com/4yn/slidershim.git
synced 2025-02-26 06:18:16 +01:00
system tray
This commit is contained in:
parent
c1f03c045e
commit
08186c0fc1
24
src-tauri/Cargo.lock
generated
24
src-tauri/Cargo.lock
generated
@ -2866,6 +2866,7 @@ dependencies = [
|
|||||||
"raw-window-handle 0.3.4",
|
"raw-window-handle 0.3.4",
|
||||||
"scopeguard",
|
"scopeguard",
|
||||||
"serde",
|
"serde",
|
||||||
|
"tauri-libappindicator",
|
||||||
"unicode-segmentation",
|
"unicode-segmentation",
|
||||||
"winapi",
|
"winapi",
|
||||||
"x11-dl",
|
"x11-dl",
|
||||||
@ -2964,6 +2965,29 @@ dependencies = [
|
|||||||
"zstd",
|
"zstd",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tauri-libappindicator"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "af6057bf1b03141122da159ad4136d8a474240db59d81af1840d7fce3b819ef2"
|
||||||
|
dependencies = [
|
||||||
|
"glib",
|
||||||
|
"gtk",
|
||||||
|
"gtk-sys",
|
||||||
|
"log",
|
||||||
|
"tauri-libappindicator-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tauri-libappindicator-sys"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c40a817171cf25d69dd31e3fa9360fd4367e54948e30f3356962f0b1d9f23dad"
|
||||||
|
dependencies = [
|
||||||
|
"gtk-sys",
|
||||||
|
"pkg-config",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-macros"
|
name = "tauri-macros"
|
||||||
version = "1.0.0-beta.5"
|
version = "1.0.0-beta.5"
|
||||||
|
@ -17,7 +17,7 @@ tauri-build = { version = "1.0.0-beta.4" }
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
tauri = { version = "1.0.0-beta.8", features = ["api-all"] }
|
tauri = { version = "1.0.0-beta.8", features = ["api-all", "system-tray"] }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = [ "custom-protocol" ]
|
default = [ "custom-protocol" ]
|
||||||
|
@ -3,8 +3,57 @@
|
|||||||
windows_subsystem = "windows"
|
windows_subsystem = "windows"
|
||||||
)]
|
)]
|
||||||
|
|
||||||
|
use tauri::{
|
||||||
|
CustomMenuItem, Event, Manager, SystemTray, SystemTrayEvent, SystemTrayMenu,
|
||||||
|
};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
tauri::Builder::default()
|
tauri::Builder::default()
|
||||||
.run(tauri::generate_context!())
|
.system_tray(
|
||||||
.expect("error while running tauri application");
|
SystemTray::new().with_menu(
|
||||||
|
SystemTrayMenu::new()
|
||||||
|
.add_item(CustomMenuItem::new("slidershim".to_string(), "slidershim").disabled())
|
||||||
|
.add_item(CustomMenuItem::new("show".to_string(), "Show"))
|
||||||
|
.add_item(CustomMenuItem::new("quit".to_string(), "Quit")),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.on_system_tray_event(|app, event| match event {
|
||||||
|
SystemTrayEvent::LeftClick {
|
||||||
|
position: _,
|
||||||
|
size: _,
|
||||||
|
..
|
||||||
|
} => {
|
||||||
|
app
|
||||||
|
.get_window("main")
|
||||||
|
.unwrap()
|
||||||
|
.show().ok();
|
||||||
|
}
|
||||||
|
SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() {
|
||||||
|
"show" => {
|
||||||
|
app
|
||||||
|
.get_window("main")
|
||||||
|
.unwrap()
|
||||||
|
.show().ok();
|
||||||
|
}
|
||||||
|
"quit" => {
|
||||||
|
std::process::exit(0);
|
||||||
|
}
|
||||||
|
_ => {
|
||||||
|
panic!("Unexpected menu item click {}", id.as_str());
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_ => {}
|
||||||
|
})
|
||||||
|
.build(tauri::generate_context!())
|
||||||
|
.expect("error while running tauri application")
|
||||||
|
.run(|app_handle, event| match event {
|
||||||
|
Event::CloseRequested { label, api, .. } if label.as_str() == "main" => {
|
||||||
|
api.prevent_close();
|
||||||
|
app_handle
|
||||||
|
.get_window("main")
|
||||||
|
.unwrap()
|
||||||
|
.hide().ok();
|
||||||
|
}
|
||||||
|
_ => {}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
@ -56,12 +56,16 @@
|
|||||||
"title": "slidershim",
|
"title": "slidershim",
|
||||||
"width": 800,
|
"width": 800,
|
||||||
"height": 600,
|
"height": 600,
|
||||||
"resizable": true,
|
"resizable": false,
|
||||||
"fullscreen": false
|
"fullscreen": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"security": {
|
"security": {
|
||||||
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'"
|
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'"
|
||||||
|
},
|
||||||
|
"systemTray": {
|
||||||
|
"iconPath": "icons/icon.png",
|
||||||
|
"iconAsTemplate": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user