aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/url.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/url.rs')
-rw-r--r--alacritty/src/url.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/alacritty/src/url.rs b/alacritty/src/url.rs
index b32a6812..4c5aed2a 100644
--- a/alacritty/src/url.rs
+++ b/alacritty/src/url.rs
@@ -11,7 +11,7 @@ use alacritty_terminal::term::cell::Flags;
use alacritty_terminal::term::color::Rgb;
use alacritty_terminal::term::{RenderableCell, RenderableCellContent, SizeInfo};
-use crate::config::{Config, RelaxedEq};
+use crate::config::Config;
use crate::event::Mouse;
use crate::renderer::rects::{RenderLine, RenderRect};
@@ -155,12 +155,17 @@ impl Urls {
mouse_mode: bool,
selection: bool,
) -> Option<Url> {
+ // Require additional shift in mouse mode
+ let mut required_mods = config.ui_config.mouse.url.mods();
+ if mouse_mode {
+ required_mods |= ModifiersState::SHIFT;
+ }
+
// Make sure all prerequisites for highlighting are met
if selection
- || (mouse_mode && !mods.shift())
|| !mouse.inside_grid
|| config.ui_config.mouse.url.launcher.is_none()
- || !config.ui_config.mouse.url.mods().relaxed_eq(mods)
+ || required_mods != mods
|| mouse.left_button_state == ElementState::Pressed
{
return None;