You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Phone-wide windows (640px or less): the activity bar moves to the bottom, the sidebar opens as a drawer, and panes stack top to bottom. The split layout is kept for wider windows.
Settings ▸ Appearance ▸ Color theme: Default, One, GitHub, Solarized, Gruvbox, Catppuccin, Tokyo Night, Rosé Pine, Everforest, or Kanagawa. It colors the window and the terminals, and each theme has a light and a dark set that follow Settings ▸ Appearance ▸ Mode.
Settings ▸ General ▸ Workspaces and tabs picks the layout. Top: a workspace menu at the left of the tab bar, and no sidebar. Sidebar: the workspace menu at the top of the sidebar, the tabs below it, and no tab bar. Each workspace has a color and an icon, picked in the menu and saved with the layout; the menu button shows the ones of the workspace in view. A new workspace takes a color that no other workspace has, and the tabs show the color of the workspace in view.
A terminal-browser or terminal-code pane that ends with "command not found" (exit 127) shows the official install command with a Copy button, in a local window ("on this computer") and in a remote window ("on this server"). A program that is installed but fails to start asks you to read its own message. westerm never installs anything.
Remote windows: open a Linux server's westerm in its own window, from the activity bar or the command palette (a host from ~/.ssh/config, or user@host). The window shows the server's tabs, workspaces, and shells, saved on the server. Closing the window or losing the network ends nothing, and another computer sees the same tabs. The header shows QUIC or SSH tunnel; a "Reconnecting…" banner and a "Try again" button cover link loss and permanent failures. In the macOS app, each server gets an app window that remembers its size and position.
A remote window that comes back after sleep or a lost network reads the server's layout before it saves. If another computer changed the layout meanwhile, the window takes that layout instead of replacing it with its old one. Its disconnected panes reconnect as soon as that read is done.
Programs in a remote window (terminal-code, terminal-browser) are found on the PATH of the server user's interactive login shell, such as folders that ~/.zshrc adds. This applies once westerm next starts the server's host.
westerm remote-dashboard, the server side of a remote window. It listens only on a Unix socket (mode 0600) and opens no TCP port. westerm remote-setup starts it.
Changed
Settings has pages, picked from a menu on the left: General, Appearance, Terminal, and Updates. Theme is now Mode, under Appearance.
The default layout is Top, so the sidebar is hidden. Pick Sidebar in Settings to get it back.
The gate passes each authenticated stream to the server's remote dashboard. It no longer reaches the PTY host itself. A server set up by v0.2.0 gets this version at its next connection; westerm remote-setup there now reports in a new format (version 2).
When the gate stops, connected windows learn it at once and reconnect, instead of freezing for about 15 seconds.
westerm stop also stops the remote dashboard on a server. It stops the gate and the remote dashboard before the host, so a window cannot start a new host in between.
terminal-browser and terminal-code send only the parts of the picture that change, not the whole picture for every change: each pane gets TERMINAL_BROWSER_PRESENT=patched. In a 1350 × 780 pane, a blinking caret went from 4.4 Mbit/s to almost nothing, and a small spinner from 24 Mbit/s at 10 frames a second to 2.6 Mbit/s at about 100. Scrolling and video change the whole picture and cost the same as before. terminal-browser 0.13.4 and terminal-code 0.4.3 read the variable; terminal-code 0.2.0 does not. To send whole pictures again, run terminal-browser config set render.presenter full, or set TERMINAL_BROWSER_PRESENT=full before westerm starts.
After this update, open local shells come back once as "restored".
Removed
The sidebar's list of workspaces, with dragging workspaces to reorder them and dropping tabs or panes on a workspace. The menu replaces the list; the palette's "Move tab to workspace" moves a tab.
The remote westerm pane of v0.2.0. A saved layout drops remote panes when it loads. Their shells keep running on the server until you run westerm stop there.
Fixed
The palette's rename commands (tab, session, workspace) no longer close the name field at once.