Releases: rockorager/prise
v0.3.1
Prise v0.3.1 — "Iron Fist"
A patch release with bug fixes and build improvements.
Highlights
- Viewport scrolling fix — Keyboard input now scrolls the viewport back to the bottom
- Selection clearing — Selections are properly cleared on keyboard input and resize
- Resize redraw — Server now sends redraw after PTY resize requests
Fixes
- Scroll viewport to bottom on keyboard input (@rockorager)
- Clear selection on keyboard input and resize (@rockorager)
- Send redraw after resize_pty request (@rockorager)
- Add Homebrew Lua library path for macOS builds (@rpfaeffle)
Build
- Add
-Dlua-checkbuild option for Lua typechecking (@rockorager)
Known Limitations
This is alpha software. Expect breaking changes, incomplete features, and rough edges.
v0.3.0
Prise v0.3.0 — "Dear Ambellina"
Input handling improvements, macOS enhancements, and better Lua type safety.
Highlights
- macOS Option-as-Alt — New
macos_option_as_altconfig for proper alt key behavior (@beyang) - Session Naming on Creation — Name sessions directly with
prise --session-name <name>(@hobbescodes) - Leader Key Pass-through — Press leader twice to send the leader key combo to the terminal (@beyang)
- Text Input Shortcuts — Navigation and editing shortcuts for text inputs (Ctrl+A/E, Ctrl+W, etc.)
Features
macOS Option Key Support
Configure Option key to behave as Alt for terminal applications. Set macos_option_as_alt to "left", "right", or "both" in your config. (@beyang)
Session Naming
Create named sessions directly from the command line:
prise --session-name my-project
Previously required creating a session then renaming it. (@hobbescodes)
Leader Key Pass-through
Pressing the leader key twice now sends the actual key combo to the terminal, useful when running nested terminal applications. (@beyang)
Input Improvements
- Ctrl+A / Ctrl+E — Jump to start/end of input
- Ctrl+W — Delete word backward
- Ctrl+U — Clear input
- Ctrl+N / Ctrl+P — Navigate palette (replaces Ctrl+K/J)
- Escape — Exit command mode
Border Configuration
Configure whether borders show when only one pane is present. (@hobbescodes)
Auto-split Direction
Split auto now uses pixel dimensions instead of cell dimensions for more accurate direction selection.
Internal Improvements
- Upgraded to upstream Ghostty
- Lua type checking integrated into build
- Strict EmmyLua annotations throughout
- lua-language-server added to CI
Contributors
Known Limitations
This is alpha software. Expect breaking changes, incomplete features, and rough edges.
v0.2.0
Prise v0.2.0 — "The Ring in Return"
A refinement release focused on stability, usability improvements, and configuration options.
Highlights
- Configurable Pane Borders — New options to customize pane border appearance (@hobbescodes)
- Improved Pane Resizing — Fixed resize behavior in complex multi-pane layouts (@JEdelstein25)
- Tab Rename Support — Rename tabs directly from the UI (@hobbescodes)
- Command Palette Click Support — Click or double-click to execute palette items (@JEdelstein25)
- Detach Keybind — Quick session detach with
dkey (@hobbescodes)
Features
Pane Borders (@hobbescodes)
New configuration options for pane borders:
prise.config({
border = {
-- customize border characters and colors
}
})Tab Management (@hobbescodes)
- Rename the current tab with a new rename dialog
- Improved tab focus and navigation
Command Palette (@JEdelstein25)
- Single-click to select items
- Double-click to execute items
- Improved item highlighting
Pane Resizing (@JEdelstein25)
- Fixed resize behavior when working with secondary panels
- Pairwise ratio adjustment for balanced resizing
- Works correctly with any child in multi-pane layouts
- Guard against impossible pane size constraints
Session Management (@hobbescodes)
- Detach from current session with
dkey press (after leader)
Platform Improvements
- Systemd service now uses absolute paths generated at build time
Bug Fixes
- Fixed palette foreground color handling (@hobbescodes)
- Fixed rename dialog foreground color (@hobbescodes)
- Fixed tab foreground color on rename (@hobbescodes)
- Improved nil guards in command execution (@hobbescodes)
- Fixed build and tiling issues (@hobbescodes)
Testing
- Added Lua testing infrastructure
- Added unit tests for prise and tiling modules
Known Limitations
This is alpha software. Expect breaking changes, incomplete features, and rough edges.
One Among The Fence
Prise v0.1.0 — "One Among The Fence"
The first public release of Prise, a terminal multiplexer for modern terminals.
Highlights
- Client-Server Architecture — The server persists sessions across client connections, so your work survives disconnects
- Lua-Powered UI — The entire interface is implemented in Lua and fully customizable
- Session Management — Named sessions with tabs and panes, persisted to disk
- Tiling Window Manager — Split panes horizontally/vertically, resize, zoom, and navigate with vim-style keybinds
- Command Palette — Fuzzy-searchable command palette (Super+p)
- Modern Terminal Features — Built on libghostty and libvaxis for proper terminal emulation
Features
Panes & Tabs
- Horizontal and vertical splits
- Auto-split based on pane dimensions
- Vim-style navigation (h/j/k/l)
- Pane zoom toggle
- Multiple tabs per session
Sessions
prise session list— List all sessionsprise session attach [name]— Attach to a sessionprise session delete <name>— Delete a sessionprise session rename <old> <new>— Rename a session
Configuration
- Lua configuration at
~/.config/prise/init.lua - Customizable themes (Catppuccin-inspired defaults)
- Configurable leader key and keybinds
- LSP type definitions for editor autocomplete
Platform Support
- macOS (launchd service)
- Linux (systemd user service)
- Homebrew tap available:
brew tap rockorager/tap && brew install prise
Default Keybinds
| Key | Action |
|---|---|
Super+k |
Leader (enter command mode) |
Super+p |
Command palette |
v / s |
Split horizontal / vertical |
h/j/k/l |
Focus left/down/up/right |
H/J/K/L |
Resize pane |
w |
Close pane |
z |
Toggle zoom |
t / c |
New tab / Close tab |
n / p |
Next / Previous tab |
d |
Detach |
Requirements
Prise requires a modern terminal with support for contemporary VT features. Terminals that lack these capabilities are not supported.
Known Limitations
This is alpha software. Expect breaking changes, incomplete features, and rough edges.