Skip to content

First steps

This tour takes you through a normal session: opening projects, starting a line of work, splitting a tab and leaving everything running. You only need the mouse; keys always go to the shell in front of you.

Open your terminal in a project and run cornercase:

Terminal window
cd ~/code/web-shop
cornercase

The first time, cornercase starts its background server and opens the folder you started from as your first project, with one tab running your shell:

search projects, workspa…web-shopProjectsweb-shop(2)+ NewWorkspaces▾main↓2›bash+ Tab▾feat/dark-mode+ Tab+ NewIssuesChangesFilesTODOSettingsUsageQuit
A fresh start in ~/code/web-shop. The feat/dark-mode worktree already existed, so it shows up on its own.

On the left are your projects and the workspaces of the active one, in one column with the projects on top (you can also put them side by side or in one tree); the rest is the pane:

Area What it holds
Top left The search bar: click it to jump to any project, workspace or tab.
Projects Every project you opened, with its number of workspaces, optionally in groups. + New at the end of the list; Settings, Usage and Quit at the bottom, with an update button next to Settings when a new version is out.
Workspaces The workspaces of the active project, each with its tabs. + Tab adds a tab to a workspace, + New starts a new one (new workspace) or a flow (start a flow…), Issues opens the issue browser, Files the files panel, TODO your TODO list.
The pane The active tab: one shell, or several in splits.

The active project and tab are marked with a cyan bar ▌ on the left edge and a highlighted background. Tabs hang from their workspace on thin tree lines.

  1. Click + New under the projects, then open project. A folder picker opens in the folder above your current project.

  2. Type to filter the folders. Folders that are git repositories show their branch on the right.

    Open project›~/code/apmobile-appmainorders-apimainenter goes into mobile-appopencancel
    Typing filters the folders; the best match is selected.
  3. Press Enter to go into the selected folder, then Enter again (or click open) to open the folder you are in.

You can also click a folder to go into it, ← or Backspace to go up, and type ~ or a path to jump straight there. Opening a folder that is already a project just switches to it. All the picker’s tricks are in Projects, workspaces and tabs.

A workspace is a line of work in a project: a feature, a bug, an experiment. Every project starts with one, the project folder itself.

  1. Click + New under the workspaces, then new workspace.

  2. Type a name. When the project folder is the root of a git repository, the name is also a branch and with its own worktree is ticked: the workspace gets its own checkout of the repository, so its files don’t mix with your other work.

    New workspacename›feat/loginin ~/.cornercase/worktrees/web-shop/feat-login[x] with its own worktreecreatecancel
  3. Click create or press Enter. cornercase runs git worktree add and opens a shell in the new checkout.

Untick the box (click it or press Tab) to create a workspace in the project folder itself instead. Worktrees have a page of their own: Git worktrees.

Click + Tab under a workspace to open another shell in its folder. Tabs are named after the program running in them, so a tab where you start nvim is called nvim.

To split a tab, right-click inside a pane:

split rightsplit downsend right-clicks to the paneopen in…close pane
  • split right and split down open a new shell next to the pane, in the same folder.
  • open in… opens the pane’s folder in your file manager or editor.
  • close pane ends the shell in that pane.
  • Drag a divider to resize the panes; double-click it to make them equal again.
  • Drag a pane with the right button onto an edge of another to move it there, or onto its middle to swap the two.
  • Click a pane to make it the active one: inactive panes are dimmed.

Drag over text in a pane to select it. When you release the button, cornercase copies the text to your clipboard and confirms it with a small toast. Programs that use the mouse themselves, such as htop or an editor with mouse support turned on, get the drag instead.

Paste with your terminal’s usual paste keys; the text goes to the program in the active pane.

Hover a project, workspace or tab: its row gets a lighter background and a ⋯ and a × appear at its end. Clicking × closes it and ends the programs inside; ⋯ opens its menu. Closing a project asks first, because it stops every program in it; so does closing a workspace that has its own worktree, because it also deletes the worktree’s folder (never the branch). In the compact layout both are always there, and closing a tab or a workspace asks first too.

To rename something, click the ⋯ at the end of its row, or right-click the row. A project’s menu also moves it into a group.

Click Quit at the bottom of the projects column, or simply close the terminal window. cornercase detaches, but your shells, editors and agents keep running in the background server.

Run cornercase again, from any terminal, and you are back where you left off. You can even attach from two terminals at once: they show the same session.

Terminal window
cornercase # attach again
cornercase kill-server # stop the server and every shell in it

After kill-server or a reboot, the next cornercase brings back your projects, workspaces, tabs and splits, each pane with a fresh shell in its folder. See Sessions and the server.