aboutsummaryrefslogtreecommitdiffstats
path: root/docs/index.md
blob: c4d9746423eb82533be3b691554346ad865a04bd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# slosh

A terminal multiplexer: panes, tabs, and sessions you can detach from, written
in C on top of [libghostty-vt](https://github.com/ghostty-org/ghostty).

## Install

### All platforms

We provide binary builds for all supported platform. Get the latest slosh release binaries from our [release](https://github.com/sl0p-foo/slosh/releases) page.

### macOS

With [Homebrew](https://brew.sh):

```bash
brew tap sl0p-foo/slosh
brew install slosh
```

### Linux

#### Arch

A pacman repository serves built, signed packages. Enroll the signing key
(fingerprint `0F67C909938CFFA8A76B59FD8D69B55A0E9056B9`; the same key is
`contrib/arch/slosh.asc` in git, so the two copies can be compared):

```sh
curl -fsSLO https://slosh.foo/arch/slosh.asc
sudo pacman-key --add slosh.asc
sudo pacman-key --lsign-key 0F67C909938CFFA8A76B59FD8D69B55A0E9056B9
```

then, in `/etc/pacman.conf`:

```ini
[slosh]
Server = https://slosh.foo/arch/$arch
```

and `pacman -Sy slosh`. Details, and the PKGBUILD for building it yourself:
`contrib/arch/README.md` in the source tree.

### Source

Build from source. That needs [zig](https://ziglang.org) 0.16.

```bash
make vendor    # build the vendored terminal core (once, a couple of minutes)
make all       # a few seconds
make test      # optional: the whole suite, about thirteen seconds
sudo make install
```

## Run

```bash
slosh              # attach to session "main", creating it if needed
slosh -s work      # a named session
slosh ls           # what is running
```

Sessions keep running when you detach, or when your terminal or ssh connection
goes away. Several terminals can attach at once: the last one to interact sets
the shared layout size, while the others see a cursor-following crop or blank
filler. Reattach with the same command.

**TIP:** press `C-a ?` for the key combo cheatsheet, or `C-a p` for the command palette.

## Reporting issues

You can submit issues/pull requests on our [github repository](https://github.com/sl0p-foo/slosh).

## Where to go

- **[Keys](keys.md)**: the leader, the defaults, rebinding, the palette.
- **[Actions](actions.md)**: every action you can bind or run from the palette.
- **[Panes and tabs](panes.md)**: splitting, moving, zooming, the mouse.
- **[Configuration](config.md)**: one file, live reload, themes, `include`.
- **[Shaders](shaders.md)**: colour passes over a pane's contents.
- **[Chrome shaders](chrome.md)**: the same passes over a pane's frame.
- **[Layouts](layouts.md)**: a session as a file you check in.
- **[Workspaces](workspaces.md)**: projects on disk, opened by name.
- **[Scripting](scripting.md)**: the control socket, and what a pane can draw.