/qute2k

Minimalistic Keyboard Driven Browser 🌐🩷

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

License People Stars Forks Watches Last Updated

The fastest and qutest browser 🌐🩷

qute2k in action
qute2k in action

qute2k is a qutebrowser config that aims to make the browser fully keyboard navigable.

✨ Features

  • Sane and easily expandable configs
  • Logical keybindings, inspired by vim (nvim2k)

⚡ Setup

⚙️ Requirements

  • 'qutebrowser' 3.0+

💻 Installation

Installation is as simple as cloning and symlinking

# Clone Repo
git clone https://github.com/2kabhishek/qute2k
# On Linux
ln -sfnv $PWD/qute2k $HOME/.config/qutebrowser
# On Mac
ln -sfnv $PWD/qute2k $HOME/.qutebrowser
# On Windows
New-Item -ItemType SymbolicLink -Path "$env:APPDATA\qutebrowser\config" -Target "$PWD\qute2k" -Force

🚀 Usage

Launch qutebrowser after finishing installation steps.

Update variables section in config.py according to your needs.

Use vim keybindings and ex (:) commands for various actions.

⌨️ Keybindings

This table contains all the custom keybindings added by qute2k, find default qutebrowser bindings here

Leader is mapped to Space by default

Generic Bindings

Shortcut Action Command
H Switch to the previous tab tab-prev
J Go forward in history forward
K Go back in history back
L Switch to the next tab tab-next
O Open in new window cmd-set-text -s :open -w
P Open in private window cmd-set-text -s :open -p
Q Close the browser close
W Clone tab in new window tab-clone -w
a Enter insert mode mode-enter insert
t Open in new tab cmd-set-text -s :open -t
Ctrl-+ Zoom in zoom-in
Ctrl-- Zoom out zoom-out
Meta-+ Zoom in zoom-in
Meta-- Zoom out zoom-out
Leader x Quit the browser quit --save

Config Bindings

Shortcut Action Command
Leader cb Toggle status bar visibility config-cycle statusbar.show always in-mode
Leader ce Edit configuration file config-edit
Leader ch Open help page help
Leader ci Open GitHub page in new tab open -t https://github.com/2kabhishek/qute2k
Leader cr Reload configuration file config-source
Leader cs Set command in command mode cmd-set-text -s :set -t
Leader ct Toggle tab bar visibility config-cycle tabs.show multiple switching

Developer Bindings

Shortcut Action Command
Leader dd Open devtools devtools
Leader de Edit text edit-text
Leader dc Edit command in $EDITOR cmd-edit
Leader df Focus on devtools devtools-focus
Leader dp Take a screenshot screenshot + path
Leader ds View page source in editor view-source --edit

Hints Bindings

Shortcut Action Command
Leader fc Yank link hint links yank --rapid
Leader fd Download video with youtube-dl hint links spawn + ytdl
Leader fh Open link in new background tab hint links tab-bg --rapid
Leader fi Activate hints for inputs hint inputs
Leader fo Open link in new window hint links window
Leader fp Open link in private window hint links run :open -p
Leader fv Open link in mpv hint links spawn mpv
Leader fy Yank link hint links yank

Quit Bindings

Shortcut Action Command
Leader qa Close the browser close
Leader qq Close current tab tab-close
Leader qr Restart the browser restart
Leader qt Close other tabs tab-only
Leader qw Close other windows window-only

Tab Bindings

Shortcut Action Command
Leader ta Add bookmark bookmark-add
Leader tb List bookmarks bookmark-list
Leader tc Clone current tab tab-clone
Leader td Clone tab in new window tab-clone -w
Leader tg Give tab to another window tab-give
Leader th View history history
Leader tm Move tab to a new position cmd-set-text -s :tab-move
Leader tp Pin current tab tab-pin
Leader tt Open tab switcher cmd-set-text -s :tab-select
Leader tu Undo last action undo
Leader tw Take tab from another window cmd-set-text -s :tab-take

To edit keybindings visit: config.py

🧑‍💻 Behind The Code

🌈 Inspiration

I have always wanted a mouse less workflow, but the browser was always a blocker, qute2k fixes it!!

💡 Challenges/Learnings

  • The initial configuration process involved a lot of docs, but was worth it.

🧰 Tooling

  • dots2k — Dev Environment
  • nvim2k — Personalized Editor
  • sway2k — Desktop Environment

⭐ hit the star button if you found this useful ⭐

Source | Blog | Twitter | LinkedIn | More Links | Other Projects