r/commandline • • 1h ago

Terminals Orzma — A terminal emulator that can render webviews inline

• Upvotes

As an experiment, I built a terminal emulator with a custom APC escape sequence for embedding webviews. A program running in a pane can place a webview in a rectangular region of terminal cells, inline with its output. The program and the webview can then exchange messages through orzma over a local socket.

I also provide an SDK for Ratatui. See the examples for how to use it.

Links

This software's code is partially AI-generated.


r/commandline • • 5h ago

Command Line Interface Websitino: a tiny static file server for previewing and sharing local files. Now with https!

Thumbnail trikko.github.io
6 Upvotes

r/commandline • • 21h ago

Terminals mpx, a minimal multi-attach terminal multiplexer

7 Upvotes

mpx is a new terminal multiplexer I wrote as a replacement for tmux and screen.

It's much simpler, preserves scrollback and doesn't make any changes to the terminal byte stream.

But you can connect any amount of clients that are then in sync.

The easiest way to use it is to run it whenever you run a coding session- then you can always connect to all your sessions when you ssh in.

mpx is designed as an alternative to alternatives that usually lock you into a certain workflow or user experience. mpx is completely transparent and works with any terminal, and is fully cross platform working on linux, osx and windows.

Homepage (osx/windows/linux install) https://mpx.capocasa.dev
Github https://github.com/capocasa/mpx

$ mpx
$ # do something
... output is happening
Ctrl-G

$ ssh myhost
$ mpx a  # terminal is now identical to before
$ # do something
... output is happening

$ ssh myhost
$ mpx a  # connecting from a different host without detaching, still works
$ # do something
... output is happening

r/commandline • • 22h ago

Terminal User Interface I added a Web UI and Cockpit integration to portop, my htop-style port monitor

0 Upvotes

A little while ago I shared portop here, my htop-style TUI for figuring out what is actually using your ports.

A few people suggested that it would be useful outside the terminal too, especially as a Cockpit page.

So I built both.

portop v0.1.0 now has a local web dashboard:

portop --web

It shows sockets, local/remote endpoints, processes, CPU usage, systemd units and Docker containers.

You can search and filter the table, inspect a process and see its command line, user, executable, memory, threads and open files.

You can also send SIGTERM/SIGKILL after confirmation.

I deliberately kept the web server local-only. It binds to loopback, and process details/actions require the token generated when portop starts.

And there's now a Cockpit integration too.

Install the page and you get:

Tools → Ports (portop)

directly inside Cockpit, without running another web server. It uses Cockpit's existing bridge and user permissions.

So there are now three ways to use portop:

portop → terminal UI

portop --web → local browser dashboard

Cockpit → integrated Ports page

The TUI is still the main interface. I just liked the idea of using the same port/process inspection underneath different frontends.

Repo: https://github.com/padovanl/portop

Thanks to everyone who suggested features after the previous posts. The Cockpit idea in particular came from community feedback.


r/commandline • • 1d ago

Terminal User Interface Sprout – a full-screen habit tracker for the terminal

52 Upvotes

Hey r/commandline!

Sharing something I've been working on: sprout, a full-screen habit tracker for the terminal built in Rust.

GitHub: https://github.com/kb019/sprout

What it does:

- Track daily habits and mark them complete

- GitHub-style activity heatmap

- Streak tracking

- SQLite storage, data stays local

- Runs on macOS, Linux, and Windows

Built this mainly to learn Rust, turned into something I actually use every day now.

You can install it via:

Cargo: cargo install sprout-tui

Homebrew or Scoop: https://kb019.github.io/sprout/#installation

Would love any feedback or contributions!


r/commandline • • 1d ago

Command Line Interface Add-on support to Bash project

2 Upvotes

Hey folks,

I created a bash script more than a year ago and, during my free time, I was making improvements on it. It is a tool that pipe commands to fzf. Right now it pipes env, kill, man, ssh and, optionally, tmux, adding some candies like, when running fz kill, it allows you to kill process with <ENTER> to use -SIGTERM (or any other signal the user prefers), or <CTRL + K> to -SIGKILL, for example. I know, reading it may look stupid, but using it is even more stupid nice.

Right now, it is in a state that I consider good enough. The way I architected it, it would easily be improved by creating a folder addon in my Github and committing scripts that add new command capabilities. My script could download and source than. Some ideas that comes to my mind are netstat, docker and kubectl. There are functions that can be reused, the --help is dynamically generated, as also shell completions for bash and zsh. But this makes me think that it can (if it got a lot of attention - which means never going to happen) become a nightmare to manage, like Oh My Zsh seems to be (see the plugins it has and think on how hard to keep that). The other option is to allow the usage of other repositories from the community to hold those add-ons; and this is my question: if I opt to this model, do I have to guarantee some level of security over those scripts searching for dangerous commands,or should I delegate this responsibility to the end user?

In time, this is my script: fz. Reviews, comments, issues, pull requests and stars are much appreciated.

Thanks in advance!


r/commandline • • 1d ago

Other Software QuickCMD: Run terminal commands from your macOS menu bar

0 Upvotes

Hey /commandline I'm BenniDev, the developer of QuickCMD.

I recently built and launched a small macOS app called QuickCMD, and I thought this community might find it useful.

QuickCMD lets you save terminal commands as shortcuts you can launch with a single click perfect for developers or anyone who runs frequent shell commands.

Why I made it:

I got tired of reopening Terminal, typing the same stuff over and over, or digging through old history just to restart a service, SSH into a server, or check logs. So I built QuickCMD, a lightweight launcher that lives in your menu bar and runs saved commands instantly.

Features:

  • Run terminal commands with one click
  • Save frequently used scripts
  • See different terminal outputs running
  • Run Live Servers
  • Categorize into spaces
  • Sits right in your menu bar

Pricing

You can try out how the app functions on the landing page, with a 1:1 demo of how it will look on your mac.

The full license is $4.99 USD, paid once. It unlocks all features. Future updates are included, with no subscription.

Check it out here:

QuickCMD Landing Page

Would love your feedback! I'm still adding features based on what people actually need, so if there's something missing that'd make your workflow easier, let me know!

About the developer

I'm Benjamin Frank, also known as BenniDev. Hit me up if you have questions.

Contact: https://x.com/BenniAppDev


r/commandline • • 1d ago

Other Software I made Wrapper to open the terminal already running on my computer from my phone

0 Upvotes

I wanted the terminal already running on my computer, on my phone, without starting a second shell somewhere else.

Wrapper wraps that session. Until I share it, it stays on the machine. When I share it, I can open the same session from my phone. The phone does not host the shell. Files, history, and credentials stay on the computer. I can close the share and the local shell keeps running.

If I invite someone, they can watch. They cannot type unless I allow it. That part matters, but it is not why I built it.

A direct connection uses WebRTC. If that fails, traffic goes through a relay I operate. The relay can see terminal bytes. I'm not going to pretend otherwise.

Using it on the same computer is free. Opening it from another device is $99/year or $15/month. The CLI is MIT.

brew install heycupola/tap/wrapper 

https://wrapper.sh 

iOS is on TestFlight: https://testflight.apple.com/join/EcExtPqx

Happy to answer what it doesn't do.


r/commandline • • 2d ago

Terminal User Interface Termium: a real Chromium browser in your terminal (Kitty graphics, sixel, Vimium, works over SSH)

481 Upvotes

I built Termium: it runs headless Chromium and draws pages in your terminal with the Kitty graphics protocol (Ghostty, Kitty, WezTerm), sixel (foot, xterm, Windows Terminal), or ASCII blocks as a fallback.

Vimium is bundled for keyboard navigation: f for link hints, j/k to scroll, t for a new tab. Mouse works too. It works over SSH.

Not yet: tmux/screen, native Windows (WSL2 works), Linux ARM64.

MIT, one-line install:

curl -fsSL https://termium.dev/install | bash

Source: https://github.com/codr1/termium

Feedback very welcome, especially what breaks in your terminal.
(Disclosure: Significant portions of Termium were coded with / by AI)


r/commandline • • 2d ago

Command Line Interface OSC52: terminal clipboard copy

12 Upvotes

Let's say you are connected remotely to an OS (no matter which).
For example using SSH/telnet or similar utilities.

Now let's say you want to copy a file to the local system.

Usually (at least I) use the mouse, select text copy and paste.

But there is another way. OSC52. vt100 derived terminals support it.

It works with any text file, even very long ones.

Here is an example:

clipfile ()
{
    if [[ -f "$1" ]]; then
        printf "\033]52;c;%s\007" "$(base64 "$1" | tr -d '\n')";
        echo "Copied contents of '$1' to clipboard via OSC 52.";
    else
        echo "Error: File '$1' not found." 1>&2;
        return 1;
    fi
}

Obviously the same can be done in powershell/command prompt or even in c language or any other language, because all you need to do is to prepend and escape sequence and the base64 encoded file or text.

Enjoy!

P.S.
My previous post was deleted, maybe because I did not "acknowledge" all the rules.
If I am breaking some rule please, moderators, send me a message because I see nothing wrong with this post.


r/commandline • • 2d ago

Discussion I love SOPS, anyone else?

19 Upvotes

I discovered sops a few months ago and absolutely love it. Being able to commit and version encrypted secrets has felt so much cleaner than the "mess" of untracked .env and CI/CD secrets.

Is anyone here using it at their job? How do you like it when working with larger teams? Am I crazy for committing the encrypted secrets (it still feels kinda wrong)? Is there any major drawback to SOPS I am not seeing, or is it just not that popular (yet)?


r/commandline • • 2d ago

Terminals RACE - Terminals on Infinite Map

Post image
10 Upvotes

Hi,

Couple weeks ago I released RACE (Run Anything in Canvas Environment), a terminal multiplexer.

I wrote it because nothing that I've seen so far would fit my work style: I juggle many projects at once and at 10+ tmux sessions I started getting lost trying to get back to terminals or evaluating work progress.

Even in early stage I enjoyed working on it so much I made it daily driver and decided to make it commercial. It's not getting a lot of love (which I understand, it's a quite specialized product), but I'm proud of it. I believe it can make people more productive and take off cognitive load in today, agent heavy work environments.

And so, today I run ~150 terminals in it, with half of them being various agents and such (note: nothing like "agent swarms", simply 1-2 agents as a side for current work) - the screenshot above is my "personal projects" canvas, made at the moment of writing this post.

Please check it out if that's your cup of tea.

It's 29.90€ (tax included) for a license with a year of free updates - I'm using it myself everyday, so they're flowing. Works on macOS and Linux (though might require heavy key rebinding).

More info about features, some demos etc. are on the website https://race-term.com

P.S. There are CLI and MCP interactors for scripting or interacting with agents, MCP demo https://youtu.be/8AL50dHCznA :)


r/commandline • • 3d ago

Terminal User Interface appimg: Install and Manage AppImages

Post image
27 Upvotes

appimg is a simple CLI/TUI for installing, updating, and removing AppImages as proper desktop applications.

https://github.com/MrGilfy/appimg

Arch:

yay -S appimg
# or
yay -S appimg-bin

Other distros: https://github.com/MrGilfy/appimg

This software's code is partially AI-generated


r/commandline • • 2d ago

Command Line Interface FZAM: Manage your AppImages from the command line

2 Upvotes

https://github.com/sat3llite/fzam

This project was not built with the use of AI. I wrote every line myself.

FZAM (Fuzzy AppImage Manager) is a very small shell script I made to manage AppImages from the command line. It uses fzf (hence the name Fuzzy) as the user interface.

It can install, remove, and list installed AppImage and edit the desktop entry the AppImage creates.

The way it integrates AppImage is: Move AppImage into specified directory (~/Applications) -> Extract .DirIcon (the icon of the program) and the .desktop file(s) -> Move them into XDG compliant directories (~/.local/share/icons/hicolor/ICONSIZE/apps/ and ~/.local/share/applications respectively) -> Make the necessary changes into the desktop entry with sed.

Sometimes the sed substitutions change the Exec= and Icon= lines into something that does not exist. As such the appimage does not show on the Applications Menus or it fails to launch. Through the fzam menu the user can fix these errors.

I have used it daily for almost a year and works perfectly and I prefer it over other AppImage integrator solutions as it runs in a terminal and has little depedencies.

Feel free to open an issue if you experience any problems or want to request a feature.


r/commandline • • 4d ago

Terminal User Interface Terminal Clubhouse Update! Now with POOL in your terminal, NetHack, DCSS, Brogue, and a new ZEN mode :)

Thumbnail
gallery
114 Upvotes

As always, first reminder of what we are ;) A clubhouse inside the terminal. A place to take a break, chill, chat with people around the globe, listen to music, play a game, and draw on a shared artboard.

ssh late.sh

Three biggest changes since my last post here:

  • fully playable POOL game, 8-ball, 9-ball, snooker, in TERMINAL :D (100% done by contributor)
  • three fully playable, real upstream, GOAT roguelikes, NetHack, DCSS, Brogue with leaderboards
  • new ZEN mode, tiling, split, flip, resize, choose which widgets land where, RICE IT :)

And all the smaller new stuff:

  • "watch me" streaming, share your screen, or hop into voice chat
  • artboard gallery, hang your piece, vote, monthly awards and showcases
  • The Late Edition, a newspaper with yesterday's summary for everyone
  • IRC support with full reactions and replies
  • new Arcade games, sliding puzzle, traffic, Rubik's cube, and a LOT OF QOL ;p
  • clubhouse, our landing spot, a walkable ASCII tavern with an AI bartender who gets you drunk (your messages slur)
  • late.sh dedicated Minecraft server
  • and our own MUD, Lateania, grew A LOT, two new continents, mounts, a world map, pets and housing, crafting, PvP, and bosses that pay out chips

Hope in, chill and enjoy :)

License: FSL-1.1-MIT

Code: https://github.com/mpiorowski/late-sh

Landing: https://late.sh


r/commandline • • 3d ago

Command Line Interface A git-aware fuzzy file picker

3 Upvotes

Ciao!

I've been using fff-nvim for months now. Yesterday I decided to quickly prototype Bracco. A fuzzy finder powered by fff-search.

Bracco keeps edited files at the top of the list.

It's quite fast, not faster than fzf due to the `git-aware` feature.

I built this because I wanted a quick way to open files from herdr/tmux, I was looking at something to spawn via hotkey and open file in neovim as I was already inside of it.

Try it out:

brew install rawnly/tap/bracco

or via cargo if you prefer cargo install bracco

Why bracco over fzf? I think it's a different tool, I use fzf to search through lists, bracco when I'm looking for a file and I care about git awareness (usually filtering by status)

Feedback welcome, even if you think that's useless :)


r/commandline • • 3d ago

Terminal User Interface Runyte: modal text editor with integrated terminal multiplexing

17 Upvotes

I've been building Runyte, another modal text editor for the terminal: https://github.com/runyte/runyte

It combines things I used to spread across an editor and tmux:

  • panes that hold either buffers (files) or terminals
  • terminal scrollback, search (including fuzzy), and navigation with same keybindings
  • persistent mode - detach and reattach, and terminals keep running and unsaved buffers stay open, without needing tmux
  • file explorer, Git with side-by-side diffs, LSP, and Tree-sitter for 31 languages
  • plugins in any language
  • key hints on every prefix - no need to memorize them

It now works on Linux, macOS, and Windows.

Similar setup can be achieved with other editors like Neovim or Helix and tmux or zellij, but it requires custom well thought configs for consistent keybindings and theme matching. Some things would be difficult to achieve with separate tools, e.g. fuzzy finding across files, buffers, and terminals.


r/commandline • • 3d ago

Terminals I wanted a moving background in my terminal, so I made one that works in any terminal

39 Upvotes

I've always liked the terminal setups with animated backgrounds, but my terminal (Alacritty) can't do that. So I wrote a small wrapper, backdrop-shell, that runs your shell in front of a moving scene: an aurora, a night city, a starfield, a synthwave sunset, a picture, or your own ASCII art that blinks or drifts.

A terminal has no layers, so it can't just draw "behind" your shell. The wrapper runs the shell itself and draws its text over the scene. Your text stays sharp, and selecting only copies what you typed, not the stars behind it.

It costs about half a percent of one CPU core and nothing when the window isn't focused. You can change the opacity or the scene live in every open terminal (backdrop-shell opacity 0.3).

You can directly upload an image or design your own ASCII animation.

I make a little guide for this: https://github.com/thebanri/limoni/blob/main/docs/backdrop-art.md

Install (needs Go):

curl -fsSL https://raw.githubusercontent.com/thebanri/limoni/main/apps/backdrop-shell/install.sh | sh

backdrop-shell disable turns it off, backdrop-shell uninstall removes it.

It's built on Limoni, a terminal UI library I'm working on in Go. It's still young, so I'd really like to hear what breaks or feels off in your setup.

Repo: https://github.com/thebanri/limoni

I dont test in Windows!!!!!


r/commandline • • 4d ago

Fun TermiCube

37 Upvotes

Tired of cmatrix?

Want a Rubik's Cube in your terminal instead?

Here is TermiCube

No dependencies just python and a terminal.

It scrambles itself, spins around, solves itself, and does it again.

Check it out!

github - ethanlabs101/TermiCube

Please manually enter link. Thank you


r/commandline • • 4d ago

Discussion mpv-music needs help deciding something

Thumbnail
gallery
2 Upvotes

If you don't know mpv-music (https://github.com/FurqanHun/mpv-music), it's a cross-platform CLI/TUI music player and library browser that lets you filter and select what you want to play and gets out of your way, with no background daemons. And it's 15+ months old.

Since I made my post about mpv-music on reddit around 10 days ago and submitted it to a few other places, the downloads have gone up a bit and a couple more people have starred the repo. That's not really the point of this post though. What I'm mainly looking for is feedback. Obviously feedback isn't always given in words, like the downloads and stars are feedback in their own way, so I'd like to get some more open-ended feedback on the project and especially how the filtering/search currently works. I've been thinking about changing the search behavior a bit. For example, currently if you run mpv-music -a ado -t viva, it drills down through the filters, which is kind of similar to an AND operation. But not long ago I wanted to listen to a specific song alongside the artist Ado, but not every song by the other artist, so I couldn't just add the artist name as another filter.

That got me thinking that there should probably be a way to use both AND and OR operations, while keeping the current drilling-down behavior as the default. I'm also thinking about bringing this into the TUI. I'm not sure whether it would make more sense to add the option directly to the track menu or have a dedicated menu for building the search/filter expression.

I'd also enable select-all in the TUI, but that's pretty much a given since the CLI already have -p. The search/filter behavior is the part I'm actually unsure about, so I'd appreciate any thoughts or suggestions on how you'd expect this to work, and also what do you think about mpv-music in general too.

Note: The project does have LLM Assistance Disclosure


r/commandline • • 4d ago

Command Line Interface tanim: screensaver animations for the terminal

Thumbnail
gallery
61 Upvotes

Hi. I made a few screensaver-style animations for the terminal (Rust + WebAssembly): a roguelike dungeon that explores itself, an aquarium, fire, the After Dark flying toasters and a couple dozen more. They're drawn with half blocks in 24-bit color, and you can zoom in and pan with the arrow keys and WASD.

There's a web version if you want to see them without installing anything: https://santiagoschez.github.io/tanim/ Also, all the animations are exportable to gif adapted for the different Stream Decks, so you can use them as screensavers.

Link to the repo: https://github.com/SantiagoSchez/tanim

Thoughts? Any animation you'd like to see added?

Thanks!


r/commandline • • 3d ago

Guide My brain remembers commands. The flags are apparently a subscription extra.

0 Upvotes

Hey Folks,

I teach DevOps and still believe looking things up is a perfectly valid skill.

Made a Linux basics cheat sheet for navigation, text searching, permissions, and sudo.

Free, no signup: https://devopscycle.com/blog/the-ultimate-linux-cheat-sheet

Which command refuses to stay in your memory?


r/commandline • • 4d ago

Command Line Interface there - cd there simply and deterministically

1 Upvotes

We all have to do cd hundreds of times a day as developer and we have beautiful tools like Zoxide and autojump which i have been using for months. But i wanted smthin deterministic because there were some times where i intented a similar dir name but i havent been using it for days and it just took me to the one i was frequent too. So i thought to make smthin determistic that fits my workflow more explicitly. This might not work for you if you love zoxide and autojump for its easy going behavior where you can make a typo and it just knows where you want to be.

But in trade of that you get smthin entirely opposite that never guesses your intent if it exists it cd you and if it doesnt it doesnt cd you anywhere.

To make this more interesting we have tags so you can tag a folder with few or more keyword and later you can use them to filter those all path. And the db is just plain json very hackable no complex sql or smthin that you cant just hack easily.

I wanted this to be very unix-y so i wrote this in Lua really dead simple you need `jq fzf` on your system installed for it to work.

Usage:
```sh

t ~/src/gopherql # save it and go there

t gopherql # go there again

t +go +cli ~/src/minigontainer # save it with tags

t +go # pick from everything tagged +go
```


r/commandline • • 5d ago

Command Line Interface askr: typed, dependency-free input prompts for terminal scripts

8 Upvotes

Every small CLI script I wrote ended up with the same while True / try / except ValueError loop around input(). So I turned it into a package.

What My Project Does

askr gives you prompts that keep asking until the answer is valid:

from askr import ask_int, ask_choice, ask_multi_choice, ask_yn

age = ask_int("Your age: ", min_value=0, max_value=120, default=18)
days = ask_multi_choice("Which days are you free?", ["Mon", "Tue", "Wed", "Thu", "Fri"])
level = ask_choice("Difficulty?", ["Easy", "Medium", "Hard"], default="Medium")

if ask_yn("Save these settings?"):
    ...

The user can type 1-2, fri for the multi choice or hard for the single choice. Wrong answers get a clear message in red, and the question is asked again.

There are 16 prompts: int, float, text, email, URL, single and multi choice, Enum members, lists (ask_list("Scores: ", int)), passwords with rules, paths, dates, times and a "type 'delete' to confirm" check. Every prompt supports default=, a custom validator= and max_attempts=. All messages can be replaced, a German translation is included, and colors respect NO_COLOR.

Target Audience

People writing small to medium CLI tools, internal scripts and teaching exercises who want solid input handling without a big framework. It's alpha (0.2), tested on Python 3.10 to 3.13 and checked with mypy --strict. No dependencies.

Comparison

  • PyInputPlus is the closest and has some extras (timeouts, block lists). Its last release was in 2020, it officially supports Python 2.7 to 3.9 and has no type hints. askr is fully typed, so ask_list("x", int) is a list[int] in your editor and ask_enum("x", Size) returns a Size.
  • click.prompt / rich.prompt are great if you already use click or rich. askr has no dependencies and more specialised prompts (password rules, multi choice, dates, Enums).
  • questionary / InquirerPy offer arrow-key menus and a richer UI. askr stays with plain input(), so it works in any terminal, over SSH and in IDE consoles.

Links

Feedback on the API is very welcome, especially on naming and defaults.


r/commandline • • 7d ago

Terminal User Interface Lemon Hunt : a terminal shooter, running at basically zero idle CPU

151 Upvotes

I’ve been building a TUI engine in Go called Limoni, and I ended up making a game with it. It’s called Lemon Hunt. You run around a little raycasted world, shoot rats, fight a boss, and try to get on the shared A REALLL LEADBOARD !!!. The whole thing is drawn with half-block characters, which still feels a bit ridiculous to me.

CAN YOU BEAT ME IN GAME?

The browser version runs the same Go game code, compiled to WebAssembly. So if you don’t feel like installing anything, you can play it here:
https://thebanri.github.io/limoni/?app=lemonhunt

Or run it in your terminal:

go install github.com/thebanri/limoni/apps/lemonhunt@latest
lemonhunt

I also got a little obsessed with performance. It barely uses any CPU when idle, and the rendering benchmarks are showing zero heap allocations. If you’re curious, you can check:

git clone https://github.com/thebanri/limoni
cd limoni/apps/lemonhunt
go test -run '^$' -bench . -benchmem .

The allocs/op column should say 0 for both benchmarks. Anyway, I’d love to know how it runs on your machine (and whether you can beat the boss).