Skip to content

bashnko/manhunt

Repository files navigation

manhunt

manhunt is a lightweight desktop search launcher for Linux.

It lets you:

  • search the web from one prompt
  • use short engine keywords like gg, yt, rd, so
  • open saved bookmarks quickly
  • add bookmarks from the launcher UI

When you run manhunt for the first time, it creates your config file automatically at:

~/.config/manhunt/config.json

Installation

1. Go install

Use this if you have Go installed.

go install github.com/bashnko/manhunt/cmd/manhunt@latest

Make sure your Go bin directory is in PATH (usually ~/go/bin).

2. npm

If you prefer npm, install the package named manhunt:

npm install -g manhunt

3. Manual build

Clone and build from source:

git clone https://github.com/bashnko/manhunt.git
cd manhunt
go build -o manhunt ./cmd/manhunt
sudo install -m 0755 manhunt /usr/local/bin/manhunt

Or run directly without installing:

go run ./cmd/manhunt

Setup

manhunt currently requires one external dependency:

Install it with your distro package manager.

Examples:

# Debian/Ubuntu
sudo apt install rofi

# Arch
sudo pacman -S rofi

# Fedora
sudo dnf install rofi

Once both are installed (rofi + manhunt), proceed with these steps:

  1. Run manhunt from your terminal once type manhunt (or manhunt init) to create ~/.config/manhunt/config.json.
  2. Bind manhunt to a hotkey in your compositor/window manager.
  3. Press the hotkey and start searching.

Keymap examples

Add one of these bindings to your desktop environment config.

Note

Keymap configuration can differ based on your system setup, compositor version, and how you manage your keybindings. Treat the examples below as templates and adjust paths/syntax to match your own configuration.

Hyprland

File: ~/.config/hypr/hyprland.conf

bind = SUPER, SPACE, exec, manhunt
i3wm

File: ~/.config/i3/config

bindsym $mod+space exec --no-startup-id manhunt
niri

File: ~/.config/niri/config.kdl

binds {
	Mod+Space { spawn "manhunt"; }
}
Sway

File: ~/.config/sway/config

bindsym $mod+space exec manhunt
bspwm (sxhkd)

File: ~/.config/sxhkd/sxhkdrc

super + space
	manhunt

After changing keybind configs, reload your compositor/window manager config.

Usage

  • type normal text to search with the default engine
  • type engine query to use a specific engine, for example: yt lofi mix
  • type :links to browse saved bookmarks
  • type :add_url to add a bookmark interactively

Default engines:

  • gg Google
  • yt YouTube
  • rd Reddit
  • so Stack Overflow

Example config

manhunt is fully extensible and configurable. You can customize engines, commands, prefixes, and bookmark shortcuts to match your workflow.

{
  "DefaultEngine": "gg",
  "CommandPrefix": ":",
  "LinksCommand": ":links",
  "AddURLCommand": ":add_url",
  "SearchEngines": {
    "gg": "https://www.google.com/search?q=%s",
    "ms": "https://music.youtube.com/search?q=%s",
    "rd": "https://www.reddit.com/search/?q=%s",
    "so": "https://stackoverflow.com/search?q=%s",
    "yt": "https://www.youtube.com/results?search_query=%s"
  },
  "Bookmarks": [
    {
      "keyword": "vercel",
      "name": "vercel",
      "url": "https://vercel.app/"
    },
    {
      "keyword": "gh",
      "name": "GitHub",
      "url": "https://github.com"
    }
  ]
}

About

a global fuzzy finder and navigator

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors