electron_sys/module/
shell.rs

1use crate::interface::{OpenExternalOptions, ShortcutDetails};
2use js_sys::Promise;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen(module = "electron")]
6extern {
7    #[wasm_bindgen]
8    pub type Shell;
9
10    pub static shell: Shell;
11
12    #[wasm_bindgen(method)]
13    pub fn beep(this: &Shell);
14
15    #[wasm_bindgen(method, js_name = "moveItemToTrash")]
16    pub fn move_item_to_trash(this: &Shell, full_path: &str, delete_on_fail: Option<bool>) -> bool;
17
18    #[must_use]
19    #[wasm_bindgen(method, js_name = "openExternal")]
20    pub fn open_external(this: &Shell, url: &str, options: OpenExternalOptions) -> Promise;
21
22    #[wasm_bindgen(method, js_name = "openItem")]
23    pub fn open_item(this: &Shell, full_path: &str) -> bool;
24
25    #[wasm_bindgen(method, js_name = "readShortcutLink")]
26    pub fn read_shortcut_link(this: &Shell, shortcut_path: &str) -> ShortcutDetails;
27
28    #[wasm_bindgen(method, js_name = "showItemInFolder")]
29    pub fn show_item_in_folder(this: &Shell, full_path: &str);
30
31    #[wasm_bindgen(method, js_name = "writeShortcutLink")]
32    pub fn write_shortcut_link(this: &Shell, operation: Option<&str>, options: ShortcutDetails) -> bool;
33}