Skip to content

bnema/dumber

Repository files navigation

Dumber

License: MIT Go Report Card

A TTY-inspired browser multiplexer for tiling window managers.


What is Dumber?

Dumber is a Wayland-native browser that works like your terminal multiplexer. Tabs hold workspaces. Workspaces hold panes. Panes split and stack like Zellij. Everything is keyboard-driven.

No bloat. No Chrome. No Electron.

dumber-h264.mp4

Features:

  • Zellij-style panes with modal keyboard navigation
  • Wayland native (Sway, Hyprland, River, Niri)
  • Session resurrection with auto-snapshots
  • Built-in ad blocking (UBlock-based)
  • GPU accelerated video (VA-API/VDPAU)
  • Launcher integration (rofi/fuzzel/dmenu)
  • Search bangs (!g, !gi, !ddg)
  • Single config.toml with hot reload

Documentation

Full documentation is available at dumber.bnema.dev

Quick Start

# Install
curl -fsSL https://dumber.bnema.dev/install | sh

# Launch
dumber browse

Arch Linux (AUR)

yay -S dumber-browser-bin   # Pre-built binary
yay -S dumber-browser-git   # Build from source

Flatpak

wget https://github.com/bnema/dumber/releases/latest/download/dumber.flatpak
flatpak install --user dumber.flatpak
flatpak run dev.bnema.Dumber browse

Dependencies

Arch Linux:

sudo pacman -S webkitgtk-6.0 gtk4 gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugin-va

Debian/Ubuntu:

sudo apt install libwebkitgtk-6.0-4 libgtk-4-1 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

⚠️ Ubuntu 24.04 ships GLib 2.80, but Dumber requires GLib 2.84+. Use Arch, Fedora 41+, or the Flatpak.

Keyboard-Driven

Four modal modes. Enter a mode, take action, escape out. Vim and Zellij users will feel right at home.

Mode Key Actions
Pane Ctrl+P Split · Stack · Close · Move
Tab Ctrl+T New · Close · Switch · Rename
Resize Ctrl+N Grow · Shrink · hjkl/arrows
Session Ctrl+O Save · Restore · Browse

Development

Dumber uses pure-Go bindings (no CGO) but requires GTK4/WebKitGTK runtime libraries for the GUI.

Environment

Set ENV=dev to use .dev/dumber/ for config/data instead of XDG paths.

Build From Source

Prerequisites:

  • Go 1.25+
  • Node.js 20+ (for frontend assets)
  • WebKitGTK 6.0 and GTK4 dev packages
git clone https://github.com/bnema/dumber
cd dumber
make build
./dist/dumber browse

Make Targets

Target Description
make build Build frontend + binary
make build-quick Build binary only (skip frontend)
make dev Run with go run
make test Run tests
make lint Run golangci-lint
make flatpak-build Build Flatpak bundle

Contributing

We welcome bug fixes, performance/stability improvements, and WebUI/UX enhancements. We're not accepting new feature PRs.

All PRs must target the next branch. We test there first before releasing to main.

See CONTRIBUTING.md for details.

Community

License

MIT - See LICENSE for details.