Skip to content

Repository files navigation

Infinity Terminal

Infinity Terminal — Two Rows. Endless Columns.

A native macOS terminal app: a horizontally scrolling grid of terminals, always two rows tall and as many columns wide as you want. Built with Swift / AppKit and SwiftTerm.

Screenshots

App Screenshot 1 App Screenshot 2

Keyboard shortcuts

Press / in the app for the same list.

Moving around

Shortcut Action
Focus the next column (wraps at the end)
Focus the previous column (wraps at the start)
/ Step one column; hold to smooth-scroll
/ Focus the pane above / below
H Home — back to the first two columns

Keyboard navigation moves keyboard focus with it, so what you type lands in the pane you just navigated to. Scrolling with the trackpad or dragging the minimap deliberately leaves focus alone, so peeking at another column never pulls the cursor out of a running command.

Layout

Shortcut Action
/ Add a column to the left / right
R Reset to the original two columns
M Toggle the minimap
/ Show the shortcuts panel (Esc closes it)

Text & appearance

Shortcut Action
C / V Copy / paste in the focused pane
/ Move the cursor by word
Delete the previous word
= / - / 0 Font size up / down / reset
O Toggle Option as Meta (off = 3 types #)

Requirements

  • macOS 14 (Sonoma) or later
  • Xcode 15+ command line tools (xcode-select --install)
  • A Developer ID Application certificate is only needed for signed/notarized builds; debug builds run unsigned.

Build & run

swift build -c release
open .build/release/InfinityTerminal      # or run from Xcode

For a fully packaged, signed, and notarized DMG:

# put APPLE_ID, APPLE_PASSWORD (app-specific), APPLE_TEAM in .env
./build-app.sh --dmg

build-app.sh produces .build/InfinityTerminal.app (always) and .build/InfinityTerminal-<version>.dmg (with --dmg). Notarization is skipped if the Apple credentials aren't present.

Project layout

  • Sources/InfinityTerminal/ — Swift sources
    • main.swiftNSApplication bootstrap
    • Models/ — grid + session model objects
    • Views/ — AppKit views (toolbar, columns, panes, minimap, shortcuts)
    • Resources/ — bundled icon + logo
  • Package.swift — SwiftPM manifest (target depends on SwiftTerm)
  • build-app.sh — packaging / signing / notarization
  • resources/ — README screenshots and the OG image used by the website

Releases

Tagged v1.x.y; the GitHub release is built and published manually from build-app.sh output. The update-web.yml workflow propagates the release notes onto infinityterminal.com.

About

Scrollable infinity terminal app

Resources

Stars

15 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages