The Hmux icon Hmux

Help

The questions this actually gets asked. Everything else is in the repository.

Does closing the window kill my terminals?

No. The shells belong to hmux-daemon, a process with no window of its own, so closing Hmux closes a view onto them rather than the things themselves. Reopening attaches to the same terminals, mid-command, with everything they printed while nobody was looking already in the scrollback. A build you started and then quit the window on is still building.

What happens after a reboot?

A reboot is the one thing no daemon survives. Hmux rebuilds the session from %APPDATA%\hmux\session.json: the same shells in the same directories, with the old output replayed above a rule marking where the previous session ended. These are new processes, so whatever was running in the old ones is gone.

Why does Windows warn me the first time I run it?

Nothing is code signed yet, so SmartScreen has something to say about both installers. The GUI also needs the WebView2 runtime, which Windows 11 already has; the installer checks and tells you where to get it if yours does not.

Does it update itself?

After the first install, yes. The window checks for a new release on startup and every six hours, downloads it in the background and then offers a restart. Taking it costs you the window for about a second, because the terminals are the daemon's and are still there when it comes back. The new daemon is put in place but deliberately not started, so an update never interrupts what is running.

How do I uninstall it?

Delete %LOCALAPPDATA%\hmux. The install is per user and never asks for administrator rights, so there is nothing else to undo.

Is there a macOS or Linux build?

Not yet. Hmux is built on ConPTY and Win32. The pty layer is already portable; the daemon and the process table it reads to tell a busy shell from an idle one are not.

Why does every terminal have its own browser?

So switching terminals switches the page. Scroll position, forms and logins are all still there, because each one is a separate webview rather than one that re-navigates. A URL in the output is clickable, and so is a bare Windows path: clicking C:\Users\you\Pictures\shot.png opens the image in the panel beside the shell that printed it.

Can I put the rail on the left?

Settings, then Layout, swaps the terminal and the browser, and the choice is remembered per window. The rail defaults to the right because it is a list you glance at, the terminal is the thing you look at, and the window buttons are already up in that corner.

Does the console version detach the way the GUI does?

No. hmux.exe still owns its own ptys, so quitting it kills its shells. The daemon is only behind the GUI so far.

Something broke. Where do I look?

Problems go to %TEMP%\hmux.log and to a banner in the window. A GUI has nowhere to print, and a silent failure is how a bug stays invisible. If it is not obvious from the log, the form at the bottom of this page is the place for it.

Keys

The GUI and the console front end are separate programs and do not share a keymap.

# GUI

Ctrl Shift L Open the browser's address bar
Esc Put it away again
F2 Rename the focused terminal
F11 Fullscreen, and back
Ctrl scroll Font size

# Console

C-b c New terminal
C-b n / p Next, previous
C-b 19 Select by number
C-b x Close the active terminal
C-b < / > Narrow, widen the rail
C-b r Force a full redraw
C-b q Quit
C-b C-b Send a literal Ctrl-B to the shell

Tell me what broke

Bugs, a shell that renders wrong, anything you wanted it to do and it did not. Paste the output if you have it.