Skip to content

Commit a13c0cb

Browse files
committed
feat: add linux platform support
1 parent 3c22cfa commit a13c0cb

File tree

4 files changed

+13
-0
lines changed

4 files changed

+13
-0
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ objc2 = "0.6.3"
3535
[target.'cfg(target_os = "windows")'.dependencies]
3636
windows-sys = { version = "0.61.2", features = ["Win32_UI_WindowsAndMessaging", "Win32_UI_Input_KeyboardAndMouse"] }
3737

38+
[target.'cfg(target_os = "linux")'.dependencies]
39+
gtk = "0.18.2"
40+
3841
[dev-dependencies]
3942
tempfile = "3.20"
4043

src/config/settings.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ impl Default for Settings {
6565
activation_key: "control+shift+d".to_string(),
6666
#[cfg(target_os = "windows")]
6767
activation_key: "ctrl+shift+d".to_string(),
68+
#[cfg(target_os = "linux")]
69+
activation_key: "ctrl+shift+d".to_string(),
6870
},
6971
storage: StorageSettings {
7072
max_history_records: 100,

src/gui/app.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,11 @@ pub fn launch_app() {
194194
let is_silent = args.iter().any(|arg| arg == "--silent");
195195

196196
Application::new().with_assets(Assets).run(move |cx| {
197+
// Fix panic on message:
198+
// GTK has not been initialized. Call `gtk::init` first.
199+
#[cfg(target_os = "linux")]
200+
gtk::init().expect("Failed to init gtk modules");
201+
197202
// Set activation policy on macOS
198203
#[cfg(target_os = "macos")]
199204
set_activation_policy_accessory();
@@ -258,6 +263,8 @@ fn bind_application_keys(cx: &mut App) {
258263
KeyBinding::new("cmd-q", crate::gui::board::Quit, None),
259264
#[cfg(target_os = "windows")]
260265
KeyBinding::new("alt-f4", crate::gui::board::Quit, None),
266+
#[cfg(target_os = "linux")]
267+
KeyBinding::new("alt-f4", crate::gui::board::Quit, None),
261268
KeyBinding::new("up", crate::gui::board::SelectPrev, None),
262269
KeyBinding::new("down", crate::gui::board::SelectNext, None),
263270
KeyBinding::new("enter", crate::gui::board::ConfirmSelection, None),

0 commit comments

Comments
 (0)