aboutsummaryrefslogtreecommitdiff
path: root/src/app/input
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-08 02:22:32 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-08 02:22:32 +0300
commite7ba8da29ab27a6f0875c4b99245ef4dc5a3dbbb (patch)
tree605388a6240c198dd052ab968e101427f76b66fc /src/app/input
parentfb56e64537de5f93786ed121f703da2a4105badc (diff)
fix: use cmd-click for macos pane links
refs #307
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;
}