WeeChat web frontend
Glowing Bear is a free, open-source web frontend for WeeChat — no backend required.
This is a complete rewrite from the original AngularJS codebase into Svelte 5 + TypeScript. The old version was hard to maintain and had next to no tests. Everything still runs entirely as static files in your browser, connecting directly to your WeeChat instance via WebSocket relay — zero intermediary server.
Stack: SvelteKit 2, Svelte 5 runes, TypeScript, Tailwind CSS v4, Vite 6, Vitest, Playwright E2E testing, fflate
Navigation
| Alt+0–9 | Quick switch buffer (0 = buffer 10) |
| Alt+J + 2 digits | Jump to buffer by number |
| Alt+` | Previous buffer |
| Alt+A | Next buffer with activity |
| Alt+↑/↓ | Adjacent buffer |
| Esc | Blur input / double-tap to disconnect |
Panels & Search
| Alt+n | Toggle nicklist |
| Alt+L | Focus input bar |
| Alt+G / Ctrl+G | Search buffers |
| Ctrl+F | Search buffer content (requires /grep script) |
| Alt+h | Clear all unread |
| Hold Alt | Show quick keys legend |
Input bar
| Enter | Send message |
| Shift+Enter | Newline |
| Tab | Nick completion |
| ↑↓ | Message history |
| Page UpPage Down | Scroll chat |
Readline bindings
| Ctrl+A / Ctrl+E | Start/end of line |
| Ctrl+U | Delete from start of line to cursor |
| Ctrl+W | Delete word before cursor |
| Ctrl+B / Ctrl+F | Move back/forward one char |
| Ctrl+H | Backspace |
Text formatting
| Ctrl+B / Ctrl+I | Bold / Italic |
| Ctrl+_ | Underline |
| Ctrl+Shift+R | Reset formatting |
| Ctrl+K | Color picker |