philc / philc/vimium

Possible to exclude certain urls from "visitPreviousTab" behavior?

Open
#3,938 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
27k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

https://github.com/philc/vimium/blob/1d80e66aa20f7f1d17d7f16ee046b1253368aa16/background_scripts/main.js#L331-L335

Use case:
I do probably 90% of my work on a Chromebook, and one of the things that threw me for a bit of a loop was that when switching between the Terminal (Linux apps terminal emulator) or Secure Shell (ssh app/extension) or the Crosh window (non-Linux apps shell), if I switch to a browser tab after being in one of these other "apps", hitting ^ in Vimium brings me back to the shell window.... This isn't totally unexpected, because they ARE just browser windows, but they often have chrome-extension:// URLs so I sort of expected they would be excluded from Vimium's navigation, but after looking at the code, it is just a simple hook to a browser function with no logic around WHAT the previous tab might be.

The biggest issue with these chrome-extension:// URLs is that while Vimium can take me there, I can't use ^ after that because Vimium doesn't load in any chrome*:// windows. So I end up having to find my actual previous tab, and then remember to navigate to the other tab I meant to open with T so get "around" the chrome-extension:// window.

I do like having these chrome-extension:// URLs available to T because it basically replaces Alt+Tab with a smarter frecency switcher (very similar to my rofi setup in Linux), but I wish they could be filtered from the ^ list.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with background_scripts/main.js at lines 331-335, where visitPreviousTab behavior is connected to browser tab navigation. Check how previous tabs are selected and how chrome-extension:// and chrome*:// URLs are identified; done means those tabs are excluded from ^ navigation while remaining available to T.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.