https://github.com/vdbulcke/pathfinder
Zellij plugin for navigating tab and pane
https://github.com/vdbulcke/pathfinder
wasm zellij zellij-plugin
Last synced: about 1 month ago
JSON representation
Zellij plugin for navigating tab and pane
- Host: GitHub
- URL: https://github.com/vdbulcke/pathfinder
- Owner: vdbulcke
- License: mit
- Created: 2024-11-06T14:28:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-09T14:22:45.000Z (over 1 year ago)
- Last Synced: 2025-05-16T22:35:13.567Z (about 1 year ago)
- Topics: wasm, zellij, zellij-plugin
- Language: Rust
- Homepage:
- Size: 89.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pathfinder
A [Zellij](https://zellij.dev) plugin for navigating opened tabs and panes.
Select a tab:

Select pane from currently selected tab:

## Key Bindings
| Key | Action | Mode |
| ---------------| ---------------------------------|----------|
| Up/Down key | move up/down list | tab/pane |
| PageUp | move top of list | tab only |
| Esc/Ctrl + c | quit | tab/pane |
| Tab | switch mode | tab/pane |
| Left/Right key | move left/right cursor in prompt | tab/pane |
## Should I use this plugin?
This is plugin is a mixed of functionalities from [session-manager](https://github.com/zellij-org/zellij/tree/main/default-plugins/session-manager) and [room](https://github.com/rvcas/room), you should look at those first.
## Requirements
Zellij version `v0.41.1` or later.
### Zellij Plugin Permission
| Permission | Why |
| -------------------------|---------------------------------------------|
| `ReadApplicationState` | Subscribe to Pane and tab events |
| `ChangeApplicationState` | Setting plugin pane name, creating new tabs |
## Install
### Download WASM Binary
* Download `pathfinder.wasm` binary from [release page](https://github.com/vdbulcke/pathfinder/releases).
* Verify binary signature with cosign (see instruction bellow)
* copy binary to zellij plugin dir:
- `mv target/wasm32-wasip1/release/pathfinder.wasm ~/.config/zellij/plugins/`
#### Validate Signature With Cosign
Make sure you have `cosign` installed locally (see [Cosign Install](https://docs.sigstore.dev/cosign/installation/)).
Then you can use the `./verify_signature.sh` in this repo:
```bash
./verify_signature.sh PATH_TO_DOWNLOADED_ARCHIVE TAG_VERSION
```
for example
```bash
$ ./verify_signature.sh ~/Downloads/pathfinder.wasm v0.1.0
Checking Signature for version: v0.1.0
Verified OK
```
### Build from source
> WARNING: requires to have rust installed and wasm `rustup target add wasm32-wasip1`
* `git clone git@github.com:vdbulcke/pathfinder.git`
* `cd pathfinder`
* `cargo build --release`
* `mv target/wasm32-wasip1/release/pathfinder.wasm ~/.config/zellij/plugins/`
## Loading plugin
### Via Zellij Config
```kdl
shared_except "locked" {
bind "Ctrl y" {
LaunchOrFocusPlugin "file:~/.config/zellij/plugins/pathfinder.wasm" {
floating true
}
}
}
```