Skip to content

Allow configuration of the "Alt" modifier to force open link in new tab #100

@Delgan

Description

@Delgan

Problem

Hi!

I'm considering LinkHints as an alternative to Vimium, and I like the approach of "focus on link hinting and do it really well". Thanks for maintaining such extension.

After displaying the links hints (Alt+J by default), you can open them in a separate window by typing the last letter with the Alt modifier:

LinkHints tip

This is an must-have feature for me. However, I have a problem with the Alt modifier is that it conflicts with my browser shortcuts. For example, if I set Alt+H in my browser to switch to the right tab, it'll take precedence and will prevent me from opening a link ending with "H" in a new tab.

I could reduce the set of hint letters to avoid conflicts, but that's sub-optimal.

Suggestion

Would that be possible to configure the modifier?

I would personally like to use "Shift", because I know it won't conflict with any other browser shortcut.
That's also the modifier used by Vimium for the same feature.

I can open a PR if the suggestion seems appropriate.

Debug info

Debug info
{
  "version": "1.3.2",
  "browser": "chrome",
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
  "platformInfo": {
    "arch": "x86-64",
    "nacl_arch": "x86-64",
    "os": "linux"
  },
  "storage.sync": {
    "hints.alt-F": "ExitHintsMode",
    "hints.alt-f": "ExitHintsMode",
    "normal.alt-F": "EnterHintsMode_ManyClick",
    "normal.alt-J": null,
    "normal.alt-f": "EnterHintsMode_Click",
    "normal.alt-g": "EnterHintsMode_BackgroundTab",
    "normal.alt-j": null,
    "normal.alt-k": null,
    "normal.alt-l": null
  },
  "storage.local": {
    "tutorialShown": true
  },
  "language": "en-US",
  "layout": {
    "KeyK": "k",
    "KeyG": "g",
    "Digit2": "é",
    "Digit0": "à",
    "KeyV": "v",
    "KeyA": "q",
    "Backquote": "²",
    "KeyL": "l",
    "IntlBackslash": "<",
    "Quote": "ù",
    "KeyW": "z",
    "Digit8": "_",
    "KeyM": ",",
    "KeyH": "h",
    "Period": ":",
    "Digit7": "è",
    "Digit1": "&",
    "KeyP": "p",
    "KeyD": "d",
    "KeyF": "f",
    "KeyO": "o",
    "KeyQ": "a",
    "KeyC": "c",
    "KeyN": "n",
    "BracketLeft": "^",
    "KeyZ": "w",
    "KeyY": "y",
    "Digit3": "\"",
    "Digit6": "-",
    "Digit5": "(",
    "KeyX": "x",
    "Slash": "!",
    "Backslash": "*",
    "Comma": ";",
    "Minus": ")",
    "Digit4": "'",
    "KeyB": "b",
    "KeyT": "t",
    "Digit9": "ç",
    "KeyS": "s",
    "KeyI": "i",
    "KeyU": "u",
    "Equal": "=",
    "KeyJ": "j",
    "Semicolon": "m",
    "KeyR": "r",
    "BracketRight": "$",
    "KeyE": "e"
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions