Test Qesh sessions and input
Check terminal behavior manually or run the source test suite.
Quick check in the app
Start in a spare session so these commands do not interrupt your work.
- Type
pwd, press Enter, and check the starting folder. - Run
echo $$and note the shell PID. - Create a second tab, switch back, resize the window, and run
echo $$again. The original pane should retain its PID. - Split the pane and run
echo $$in the new pane. It should have a different PID. - Narrow the window until only the focused pane fits, then enlarge it. The saved split layout should return.
- Run
sleep 30, then press Ctrl+C. A prompt should return without closing the workspace.
Unicode and color
printf 'Unicode: café 日本語 ✓\n'
printf '\033[36mcyan\033[0m normal\n'Expect readable Unicode, cyan text followed by default-color text, and a prompt on the next line. Glyph coverage depends on your font.
Try command history with Up, tab completion with a known folder name, and a multiline paste. Run vim or top if installed, then quit the program and check that the prompt returns. Workspace mouse selection works; terminal-program mouse input is not forwarded in this version.
Source checks
From the repository with dependencies installed:
bun run check
bun test
node scripts/smoke-cli.mjs
node scripts/smoke-desktop.mjs
node scripts/smoke-restore.mjs
bun run build:desktopType checking should finish without errors. The suite currently has 18 tests covering geometry, session isolation, input, ANSI output, Unicode, full-screen programs, configuration, grouping, docking, and cleanup. Both smoke scripts should print a passed message and terminate their child shells.
GitHub Actions builds and checks native Apple Silicon and Intel apps. Those checks do not replace visual inspection of every font and macOS setup.
Report a problem
Open an issue with your Qesh version, Mac processor, macOS version, shell, exact steps, and expected versus actual result. Include the command that triggers the problem and whether it happens in the desktop app, CLI, or both. Remove secrets and personal terminal output before sharing logs.
Source captured: 2026-10-13