Keyboard-first search launcher for Linux.
type query -> pick suggestion -> press enter -> open browser
The binary is qs.
qs g
qs g golang channels
qs yt bubble tea tui
qs ytmusic radiohead
qs r linux window managersWithout a query, QSearch opens the TUI. With a query, it opens the provider search URL immediately.
Built in:
google: g
youtube: y, yt
ytmusic: ym, music
Custom providers live in:
~/.config/qsearch/providers.toml
Create the default file:
qs initExample:
[[providers]]
name = "reddit"
aliases = ["r"]
url = "https://www.reddit.com/search/?q={{query}}"
icon = ""
tag_bg = "#FF4500"
icon_color = "#FFFFFF"
text_color = "#FFFFFF"Use {{query}} where the escaped search text should go.
tab switch provider
shift+tab switch provider back
up/down select suggestion (ctrl+p/ctrl+n also work, i use vim btw)
enter open
alt+enter open in new window
esc exit
The UI uses Nerd Font icons.
go install github.com/prettyletto/qsearch/cmd/qs@latestMake sure Go's bin directory is in your PATH:
export PATH="$PATH:$(go env GOPATH)/bin"Then run:
qs gFor local development, you can also install from the cloned repo:
make installOr build a local binary without installing:
make build
./qs gOmarchy:
windowrule = float on, match:class org.omarchy.qs
windowrule = center on, match:class org.omarchy.qs
windowrule = size 840 320, match:class org.omarchy.qs
bindd = SUPER SHIFT, SLASH, QSearch, exec, omarchy-launch-tui qs gIf your compositor does not see your shell PATH, use the full path to qs.
Plain Hyprland with Kitty:
bind = SUPER SHIFT, SLASH, exec, kitty --class qsearch -e qs g
windowrule = float on, match:class qsearch
windowrule = center on, match:class qsearch
windowrule = size 900 420, match:class qsearchmake test
make build
make runRun from source:
go run ./cmd/qs gQSearch should stay small: choose a provider, get suggestions, open the final browser URL.


