Possible to exclude certain urls from "visitPreviousTab" behavior?
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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