aboutsummaryrefslogtreecommitdiff
path: root/src/app/input
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/input')
-rw-r--r--src/app/input/mod.rs22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/app/input/mod.rs b/src/app/input/mod.rs
index 59fa1ccd..1fc7b0f9 100644
--- a/src/app/input/mod.rs
+++ b/src/app/input/mod.rs
@@ -23,6 +23,26 @@ enum WheelRouting {
const WORKSPACE_DRAG_THRESHOLD: u16 = 1;
const TAB_DRAG_THRESHOLD: u16 = 1;
+#[cfg(target_os = "macos")]
+fn modified_url_click_modifier() -> KeyModifiers {
+ KeyModifiers::SUPER
+}
+
+#[cfg(not(target_os = "macos"))]
+fn modified_url_click_modifier() -> KeyModifiers {
+ KeyModifiers::CONTROL
+}
+
+#[cfg(test)]
+#[test]
+fn modified_url_click_modifier_matches_platform_primary_modifier() {
+ #[cfg(target_os = "macos")]
+ assert_eq!(modified_url_click_modifier(), KeyModifiers::SUPER);
+
+ #[cfg(not(target_os = "macos"))]
+ assert_eq!(modified_url_click_modifier(), KeyModifiers::CONTROL);
+}
+
mod copy_mode;
mod modal;
mod mouse;
@@ -262,7 +282,7 @@ impl App {
fn handle_modified_url_click(&mut self, mouse: MouseEvent) -> bool {
if self.state.mode != Mode::Terminal
|| !matches!(mouse.kind, MouseEventKind::Down(MouseButton::Left))
- || !mouse.modifiers.contains(KeyModifiers::CONTROL)
+ || !mouse.modifiers.contains(modified_url_click_modifier())
{
return false;
}