Skip to content

Releases: rockorager/prise

v0.3.1

12 Dec 08:32
1b2b738

Choose a tag to compare

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-check build option for Lua typechecking (@rockorager)

Known Limitations

This is alpha software. Expect breaking changes, incomplete features, and rough edges.

v0.3.0

10 Dec 22:09
388bf08

Choose a tag to compare

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_alt config 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

08 Dec 18:00
838ce2a

Choose a tag to compare

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 d key (@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 d key press (after leader)

Platform Improvements

  • Systemd service now uses absolute paths generated at build time

Bug Fixes

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

05 Dec 15:47
e2bb902

Choose a tag to compare

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 sessions
  • prise session attach [name] — Attach to a session
  • prise session delete <name> — Delete a session
  • prise 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.