electron_sys/module/
shell.rs1use 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}