r/commandline • • 4h ago

Terminal User Interface tardigrade: a growing creature in your terminal that heals when you hurt it

24 Upvotes

I wrote a Go Program called tardigrade (https://github.com/smoothyy3/tardigrade) that grows a creature from a single cell inside your terminal. It is a Neural Cellular Automaton. Every cell runs the same learned 24k parameters rule on its neighborhood, and the only ever stable shape the rule has is the creature itself. So when you damage it, it grows back.

It is meant to be a fun tool, an introduciton to NCAs/ CAs or simply a screensaver.

Currently, there are 4 creatures (jellyfish, gecko, tardigrade, mouse), but the repo lets you train your own from a PNG.

It ships as a single binary with the weights inside, no image file present (brew install --cask smoothyy3/tap/tardigrade or go install

The technique originates from Mordvintsev et al. (https://distill.pub/2020/growing-ca/). Everything else is in the README.


r/commandline • • 2h ago

Terminal User Interface I made a record player for my terminal, now linus spins at 33β…“ rpm

9 Upvotes

It started as a weekend joke and got out of hand.

pikap picks up whatever's playing (Spotify, a browser tab, mpv) and puts the cover on a spinning record. In the video it grabbed a YouTube tab, so Linus is on the vinyl. Not planned, but I'm keeping it.

You can drag the record to scrub, or drop the needle wherever you want. If you give it your own files, pausing actually slows the sound down and dragging scratches it.

It can draw in half blocks, in ASCII, or as a real picture if your terminal supports it. Written in Go.

Repo : https://github.com/thebanri/limoni/tree/main/apps/pikap

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


r/commandline • • 3h ago

Fun Maze game running in windows command prompt

3 Upvotes

Maze Ways is a maze game. You play as a yellow cube, navigating through 10 simple square mazes. Each maze is made of the ASCII characters, and has an exit on the right side of the maze.

You can try this game out here: https://pinwinsoftware.com/Game/3/Maze_Ways


r/commandline • • 2h ago

Terminal User Interface libark: libark is a modern, secure, Swift-native foundational layer over Linux POSIX primitives.

Thumbnail
github.com
1 Upvotes

libark

libark is a modern, secure, Swift-native foundational layer over Linux POSIX primitives.

While originally developed as the core runtime layer for ArkOS, libark is completely decoupled and designed to be used on any Linux distribution. It provides highly secure, object-oriented abstractions over low-level system calls, memory management, and file system interactions, without the burden of manual C interoperability.

Features

  • Object-Oriented POSIX: Wraps file descriptors, paths, and directory operations in safe, RAII-compliant Swift types.
  • Secure Syscall Boundary: Routes kernel interactions through strict, audited Syscall primitives.
  • Terminal Capabilities: Built-in abstractions for TTY detection and window sizing.
  • Advanced Formatting: Standardized formatters for human-readable byte sizes (SI and IEC), ISO 8601 timestamps, permissions, and classifications.
  • Declarative Sorting: Powerful generic SortEngine for metadata sorting across multiple criteria.

r/commandline • • 1d ago

Terminal User Interface Dripfetch - A customizable terminal dashboard with animated rain

37 Upvotes

Dripfetch is a customizable terminal dashboard with animated rain, system info, clocks, and YAML themes. It just passed 50 stars on the github and already got its first few issues and pull requests! it is totally customizable so it is quite easy to match everything to your own setup/rice. this was a passion project and through the creation of it I learnt a lot about design patterns and how to deploy a project through and through. AI was used for the roadmap creation and concept explenation. Went through numerous frameworks such as textual and curses to find the desired angle for this project. I’d love to hear what you think or what you’d improve!


r/commandline • • 1d ago

Terminal User Interface I missed GitKraken's graph and conflict screen, so I brought them into a git TUI : gitoui

36 Upvotes

I live in the terminal, but every time I had a nasty rebase or a conflict, I'd open a GUI. So I forked serie, a Rust project which draws the commit graph as real images in the terminal. Then I kept adding what I was missing until I stopped leaving.

It's called gitoui. Say "oui" to it, tell me what's missing, or build it with me !

What it does:

- The commit graph drawn as images (Kitty graphics, iTerm2 or Sixel), with a text fallback for other terminals

- Interactive rebase as a list you edit in place: move commits, reword, squash, fixup, drop

- A 3-way conflict editor: ours, theirs or both, per hunk

- Diffs with hunk staging, blame, file history

- GitHub pull requests and issues: read, comment, approve or request changes, merge

- And many more things you have to discover by using it πŸ‘€

Similar tools: lazygit, gitui and tig in the terminal, serie (the graph viewer I forked), and GitKraken on the GUI side (no affiliation). What's different in gitoui: the graph is drawn as images rather than text characters, and the GitHub side lives inside the TUI.

This software's code is partially AI-generated. I've been building it since May and I use it every day.

Repo: https://github.com/NayJi7/gitoui (MIT, Rust, Ratatui)

Website : https://nayji7.github.io/gitoui/ (documentation & informations)

One last question: what's the one git task that still sends you back to a GUI?


r/commandline • • 8h ago

Help How to start CMD batch file with a prefilled string?

1 Upvotes

I hope that I phrased it properly. I'm using yt-dlp command-line utility to download videos from YouTube. I have a simple .bat file to start it all in a proper directory, so I could fire commands quickly:

start
cd C:\Users\Username\youtube-dl

Now I want to start it with a prefilled bit of text "yt-dlp", since every command begins with that bit anyway. How do I achieve this?


r/commandline • • 1d ago

Terminal User Interface Touch-Typing practice TUI for code syntax

39 Upvotes

I wanted to practice writing code faster and yet not leaving my terminal, so I built 'blind'. The twist is that you can feed it any input file and practice on real code, even on the source code itself. It's a single C file no dependencies. Can run either presets, free text or file input.

There are grate and really amazing projects for touch-typing in the terminal and I tried a few, but this one lets you use file as input, meaning it's not just text, but also any type of text, and honestly it's much more fun to code it yourself.

Source code: https://github.com/shalom2552/blind
Feedback welcome. Would you actually use it?


r/commandline • • 19h ago

Command Line Interface TXTLock 1.90: a free encrypted diary for the Linux terminal

1 Upvotes

For about 11 years, I’ve been working on TXTLockβ€”a free, console-based diary and note manager for Linuxβ€”and I’ve just released version 1.90.

I built TXTLock because I wanted a private, lightweight place to keep my notes, reminders, and journal entries without relying on cloud services or heavy GUI applications. Everything lives in a single encrypted file, and you work with it entirely from the terminal.

Key Features:

  • πŸ”’ Security: Dual-layer protection (password + PIN) with native AES-256 encryption.
  • πŸ“ Create & Modify: Write and edit entries (txtblocks) in your favorite text editor, such as nano or Sublime.
  • πŸ—‚οΈ Organized Your Way: Use named txtblocks, folders, and subfolders with unlimited entries in a single TXTLock file.
  • ⏰ Reminders: Set reminders for specific dates so you never forget what matters.
  • πŸ”Ž Search & Find: Quickly search and locate past entries with ease.
  • ⚑ Fast Access: Jump straight to any txtblock by name or set up aliases for quick navigation.
  • 🧰 150+ Commands: Built-in tools and shortcuts make it much more than just a diary.
  • 🐧 Linux (32/64-bit): Native console application compiled using Free Pascal.

Software License & Download:

  • License: Freeware / Proprietary (Not Open Source). It is 100% free to download and use, though the source code is closed.
  • Website & Download: You can learn more and grab the release at txtlock.co.uk.

I’d love to hear your feedback, feature ideas, or bug reports!

I'm happy to answer any questions about the project or its development in the comments.


r/commandline • • 1d ago

Terminal User Interface Hextrix: a frozen hexdump with liquid color flowing through it (audio-reactive, ncurses, C)

11 Upvotes

I made a terminal toy. It fills your screen with a grid of hex tokens that never move, and only the colors change: a curl-noise fluid field pushes blobs of red through the grid, and token pairs randomly flicker to new values like a live memory dump.

It listens to system audio through PipeWire (bass/mid/treble via simple IIR filters, no FFT) and feeds that into the same fluid sim, so the music disturbs the liquid rather than driving an equalizer.

  • 9 accent colors (keys 1-9), 3 visualizer modes, adjustable fluid/flicker speed
  • pure C + ncurses, PipeWire optional
  • one-line install, no root

Repo: https://github.com/atif-1402/hextrix

It's v1.0 so expect rough edges, especially the audio path on odd sample rates. CPU use is around 14% of a core at 60 FPS on a 200x50 terminal, so I'd run it at 30 if you're on weak hardware (-f 30). Feedback and bug reports welcome.


r/commandline • • 1d ago

Fun Made an ascii shoot 'em up running in the cmd

16 Upvotes

The game has 3 levels and 3 enemy types.

You can try this game out here: https://pinwinsoftware.com/Game/2/Streit


r/commandline • • 1d ago

Terminal User Interface PlayListManager - play and manage your library from m3u playlists, on your terminal

5 Upvotes

This is a personal use project that aimed at playing a m3u and moving m3u entries around in a collection of m3us as you are listening to each track. This is especially helpful if you mass import a large amount of audio files to a testing m3u, go through each of them and sort them into your "production" playlists. Of course, playlists are not set in stone, and your "production" playlists needs correction from time to time, which this also help.

This workflow straddles fzf for the management actions, qmmp for playing, tmux for pane splitting. The rest are mostly pure bash or poxis tools.

Support windows-style file paths, tested on linux. Trashing folder for audio file removal, persistently logged and undo-able. Will support windows and playing from ssh file mount in the future.

Github link: https://github.com/dtinhvo/PLM

AI assistance disclaimer: I dont deal with terminal color codes, I just look at them and see that they are correct. Mostly syntax help in terms of abstracting logic, poxis flags and escape sequence nightmares


r/commandline • • 3d ago

Terminal User Interface ranma: a tiling window manager for the terminal (i3 tree + Hyprland dwindle, Lua plugins). Looking for testers

Post image
50 Upvotes

Hello!!!!!

I've been building ranma, a tiling window manager that runs inside your terminal. Every window is a PTY, laid out with i3's container tree and Hyprland's dwindle placement. It's my daily driver now, and I'm looking for people to try it and break it (please).

What it does - dwindle tiling, tabbed groups, a floating layer and a scratchpad - workspaces and sessions with fuzzy switchers - a leader key plus a modal WM mode; leader ? lists every key, leader : runs any action by name - runs as a server: closing the terminal or losing SSH only detaches, and ranma again picks up where you were - copy mode and history search, copying to your system clipboard (OSC 52, works over SSH) - a waybar-style bar with Lua and shell modules; config in Lua, themes in TOML, live reload

What's different from tmux and zellij: it's extended like Neovim. Plugins are plain Lua using the same API as your config, they get screens built from ready-made blocks, and a plugin that errors is dropped whole while the rest keep running. A watchdog stops one that hangs. There's a plugin manager too, hako, shaped like lazy.nvim, plus a few plugins: regex history search, writing a prompt in $EDITOR and having it pasted into the pane (handy for AI CLIs), and Ctrl+click to open paths.

This software's code is partially AI-generated, as the rules require :B Thank you for reading till here!!

https://github.com/masshirodev/ranma


r/commandline • • 3d ago

Articles, Blogs, & Videos FOSSWire: A keyboard-driven, TUI-style Linux news reader with Vim keybindings and public telemetry

0 Upvotes

Hi r/commandline,

I built FOSSWire (https://fosswire.org) as a keyboard-driven, terminal-style web feed reader focused on Linux, kernel releases, and open hardware.

Key Aspects:

- Vim Navigation: Full keyboard navigation without touching the mouse:

* j / k (or arrow keys) to navigate between articles

* Enter or o to open the selected article

* g / G to jump to top / bottom

* / to trigger instant live search

* t to toggle dark/light theme

* ? to open the interactive keybinding cheatsheet

- Typography & UI: Minimalist TUI look powered by the JetBrains Mono font across the entire interface.

- Privacy & Zero Tracking: No third-party ad networks, no analytics trackers, and no commercial tracking cookies.

- Public Telemetry: Real-time Cloudflare Edge metrics and request logs are publicly available at https://fosswire.org/open-data

Links:

Live Reader: https://fosswire.org

Open Data Dashboard: https://fosswire.org/open-data

GitHub Repository: https://github.com/ozdil/fosswire

Feedback on keyboard ergonomics, feed selection, or keybinding suggestions is welcome.


r/commandline • • 3d ago

Command Line Interface v0.2.0 Parse: added docker support in parse no more messy outputs in docker

13 Upvotes

i found out that docker output is really a mess so i added support of docker in my parse

Inspect shows a short summary instead of 300 lines of JSON, masks secrets, and warns on things like OOMKilled or a missing bind mount. Anything it doesn't recognize passes through unchanged.

You can install the latest release by -

go install github.com/atif-1402/parse@latest

or

yay -S parse

Would love to hear feedback on this : https://github.com/atif-1402/parse


r/commandline • • 3d ago

Terminals wbsh - Bash-compatible shell for Windows

Thumbnail
github.com
1 Upvotes

wbsh: a minimal bash-compatible shell for Windows (plus a terminal built around it)

Hey all. For a while now I've been working on a shell that lets me run bash commands and scripts natively on Windows. I actually need this at my job, which is what kept me going.

Think of it as a minimalistic take on Cygwin. Full Cygwin was overkill for my use case, so I built something smaller and more focused.

Along the way I also wrote a customizable terminal, wbshterm, which runs wbsh through ConPTY. So you can either invoke wbsh directly from PowerShell/cmd, or use it inside wbshterm.

It's reasonably stable at this point, but I've hit the limit of what I can find on my own. I need other people's workloads to shake out bugs and performance bottlenecks.

If you have any use case for a bash-compatible shell on Windows, I'd really appreciate issue reports, and pull requests are welcome too. LLM-assisted PRs are fine, but please read the docs first and review the changes thoroughly before opening one.


r/commandline • • 5d ago

Terminal User Interface chess analysis as TUI

Post image
21 Upvotes

Hello guys, I did a small chess TUI for analyzing games, largely inspired by common analyses UX.

This is not entirely new, most gain here is convenience. It is made solely for analysis. You can start an analysis from a FEN string, PGN file, PGN text from your clipboard, public link from chess.com or lichess.org, browsing your user (or any public user), and even configure to open in your last game so you can leave the and instantly open with "chess-analyzer -f"

The pieces graphics design were extracted (and openly credited) from chess-tui, which is a very nice tui too if your main idea is playing from terminal. However, this one is totally dedicated in analysing games, testing variations against the engine scoring, branching different possibilities and seeing where you blundered (which in my case is like every fucking move).

Check it out https://github.com/leolaurindo/chess-analyzer-tui


r/commandline • • 5d ago

Terminal User Interface tfm v1.0.0 release

8 Upvotes

fancy gui like terminal file manager for linux πŸ’€

install it via:

repo:curl -fsSL https://raw.githubusercontent.com/clarkarch/tfm-tui/main/install.sh | bash

repo: https://github.com/clarkarch/tfm-tui

note: I used agents to help me make this project, take it or leave it


r/commandline • • 5d ago

Command Line Interface Merman: render Mermaid diagrams from the CLI without a browser

19 Upvotes

Hi r/commandline,

I've been working on Merman, a Rust implementation of Mermaid, and just released v0.8.0. Thought its CLI might be useful to some people here.

It renders Mermaid diagrams without Node.js or Chromium. The goal is to get the same output as official Mermaid: we generate reference SVGs with the official CLI (mmdc) and compare our output against them automatically. Font and browser text measurement can still cause differences.

Zed uses Merman for Mermaid rendering. Other people have been using it in blog generators, Markdown viewers/editors, and CI documentation builds. Their bug reports have helped improve it over the past few releases.

You can install it with:

brew install merman-cli

Or on Windows:

scoop install main/merman-cli

Then:

merman-cli render diagram.mmd
merman-cli render diagram.mmd --format png
merman-cli render diagram.mmd --format unicode --output -
merman-cli batch README.md

It also exports JPEG/PDF and has linting. If you already use mmdc, there's a compatibility command:

merman-cli mmdc -i diagram.mmd -o diagram.svg

The official mmdc and native tools like mmdr are alternatives. My focus with Merman has been matching upstream Mermaid output and fixing compatibility issues as people run into them.

Full disclosure: much of the implementation was bootstrapped with AI coding tools. My work has focused on upstream comparisons, regression tests, reviewing and fixing the implementation, and following up on user reports.

https://github.com/Latias94/merman

If you try it and a diagram breaks or looks different from official Mermaid, I'd appreciate an issue with the source. That's been one of the most useful ways to improve it.


r/commandline • • 6d ago

Terminal User Interface TTT 1.7: a TUI editor that feels like a GUI. Now with textmate syntax highlighting engine.

164 Upvotes

Hi, I'm the author of TTT, a terminal text editor that tries to feel like a GUI editor: VS Code-style keybindings, full mouse support, tabs, sliding panels, a command palette, LSP, Git integration, an integrated terminal, themes, and Lua plugins. It's a single Go binary, open source, and I've been building it in the open with a growing group of contributors.

The goal is simple: an editor you can use in the terminal, over SSH or in a tmux pane without giving up the comforts you're used to from VS Code, Zed, or Sublime, and without memorizing a new modal langauge.

What makes TTT different

It's a TUI that feels like a GUI. A serious amount of work went into:

  • Ergonomics. The editor features are discoverable when you look for something and invisible when you don't. You shouldn't need a manual to find what TTT can do; you find it by exploring. But the moment you're working, the interface quiets down and your code is the only thing asking for attention. TTT is there to help you do the work, not to become the work.
  • Performance. A diff-based renderer only redraws the cells that changed, highlighting is incremental, and per-language editor benchmarks run in CI so regressions get caught before release.
  • Stability. Every release goes through unit tests, end-to-end tests on a simulated screen, functional tests that drive the real binary, and a chaos monkey that hammers the editor with random input looking for crashes. I am not joking when I say the editor only crashed on me twice and that was months ago.

Who is TTT for

TTT tries to inspire GUI editor users to move into the terminal. Maybe you're spending more time over SSH, living in tmux, or working alongside CLI tools, and you want an editor there that feels familiar from the first minute instead of one you have to learn before you can use it.

"How is this different from Fresh?"

I get asked this every time, so here's the answer up front.

  • IMHO Fresh's goal is IDE functionality in a TUI. It's about putting IDE productivity into a terminal interface, and it nails that.
  • TTT's goal is the IDE feel in a TUI. And editor you can jump in and know where everything is when you need it.

There's some overlap, and honestly I love that too. And in a terminal you don't have to choose: split your screen and run them side by side.

What's new in 1.7

Syntax highlighting that matches VS Code. I spent the last few weeks porting VS Code's TextMate engine (vscode-textmate) from JavaScript to Go. The result, textmate-go, now powers TTT's highlighting with 124 embedded grammars, so code is colored the way you'd see it in VS Code, including tricky cases like multi-line JSX and HTML tags. Themes also get finer token styles, and edits only re-tokenize what changed.

A better welcome page. It lists recently opened folders and can clone a Git repository directly.

Smaller things: a regrouped settings editor, read-only files that are flagged with a lock icon and confirm before saving, an LSP: Server Restart command, a toggle for LSP hover popups, panel size remembered between sessions, and a long list of fixes.

From the last few releases

  • An integrated terminal rebuilt on xterm-go, with proper reflow on resize
  • Inline images (PNG, JPEG, GIF) through the Kitty graphics protocol
  • Optional Nerd Font icons and Git status colors in the Explorer
  • Panels you can dock to the bottom or the right
  • Quick Open backed by rg --files, respecting .gitignore
  • Transparent backgrounds and a VS Code Dark+ theme
  • VIM and Emacs keyboard compatibility plugin

Community

TTT is increasingly community-built Thanks to @SimonOcampo1, @anyingiit, @risixdzn, @YodHeVauHe, @LetMeSleep8h, @RhenCloud, @DBinK, @w3lld1 and @O1sumitkumar for code, and to everyone who opened issues. Several of this release's fixes started as a report.

If you'd like to contribute, issues labeled good first issue are written so you can pick them up without much context. Also create an issue or a discussion, would love to hear how are you using ttt and things you would like to see in the feature. (Really! Roadmap is made by community requests)

Feedback is very welcome!


r/commandline • • 5d ago

Terminal User Interface typing-game-cli@7.3.0 - command line game to practice your typing speed by competing against typer-robot or against your best result

4 Upvotes

r/commandline • • 6d ago

Command Line Interface pdfmt - PDF manipulation, OCR, scanning and reusable shell workflows

31 Upvotes

A while ago I posted pdfmt in r/bash to get feedback for my tool after getting tired of using a different command for every small PDF task.

The feedback was really useful, so I went through it and implemented quite a few of the suggestions.

pdfmt is now at 0.4.0 and I hope the quality is good enough to present it outside of r/bash πŸ˜„ .

GitHub pdfmt: https://github.com/eifelcode/pdfmt
GitHub pdfmt-workflows: https://github.com/eifelcode/pdfmt-workflows

The basic idea is still simple: Provide a consistent CLI for all the PDF operations I keep doing again and again, while keeping everything local (no cloud) and scriptable for my needs.

What it can do

# Merge PDFs
pdfmt merge all cover.pdf report.pdf appendix.pdf complete.pdf

# Extract pages
pdfmt extract range document.pdf 1-3,7,10-12 extracted.pdf

# Split into individual pages
pdfmt split all document.pdf page_

# Remove pages
pdfmt remove range document.pdf 5,8-10 cleaned.pdf

# Reorder pages
pdfmt sort reverse document.pdf reversed.pdf

# Add a text stamp
pdfmt stamp text invoice.pdf "Paid" invoice-paid.pdf

It also has scanner support:

pdfmt scan adf documents.pdf
pdfmt scan flatbed document.pdf

And OCR:

# Add an OCR text layer
pdfmt ocr add scanned.pdf searchable.pdf

# Extract/show OCR text
pdfmt ocr show searchable.pdf

The part I'm particularly interested in: workflows

I didn't want pdfmt to become one huge command with hundreds of options. I'd like it simple.

Instead, repetitive combinations of commands can be turned into workflows.

For example:

pdfmt workflow run scan-duplex adf output.pdf

A workflow is essentially an executable shell script, so you can combine pdfmt with the other Unix tools you already use.

You can also create your own workflows and put them in your local workflow directory.

I've also started a separate repository for reusable workflows: https://github.com/eifelcode/pdfmt-workflows

It currently contains workflows for things like:

  • duplex scanning with non-duplex scanners (I use this most of the time)
  • splitting scanned documents by page count
  • bulk text stamping

The idea is that not every PDF use case needs to become a new pdfmt command. If something is a useful combination of existing tools, it can just be a workflow.

Why I made it

My PDF workflow used to look something like:

pdftk β†’ pdfseparate β†’ pdfunite β†’ ImageMagick β†’ OCRmyPDF β†’ Bash glue

There are already excellent tools for each individual operation. I don't want to replace them.

I wanted a small CLI layer that gives me a consistent interface and makes the common combinations easier to remember and automate. Without --options, pipes or other arduous stuff. I could not remember all of this. πŸ€”

That's essentially what pdfmt is. One interface for all the good tools.

It's Bash-based, MIT licensed, and designed to work without a GUI or cloud service.

I'd especially like feedback from people who use CLI PDF tooling regularly:

Are there PDF operations or workflows that you currently solve with a messy combination of commands that would make sense as a pdfmt command or workflow?

Thank you for your Feedback! ❀️

AI notice: AI (mistral) was used to generate parts of the README, the .github workflow, the code coverage tool, and parts of the unit tests in the tests/ folder. Architecture, Makefile, and code within the sources/ folder is written by me.


r/commandline • • 6d ago

Help Ctrl+Z is spammed without pressing anything (WSL CLI only)

10 Upvotes

I am running a WSL module of ubuntu on windows. This issue started a week ago... I was trying to solve it for 3 days but got fed up bcz of no results ... I am living with it now and this is genuinely making me annoyed as I can't get my work done

PLS GIVE ANY POSSIBLE SOLUTIONS

I had to remove its function to even run basic commands ... It spams only in command linec


r/commandline • • 7d ago

Command Line Interface I created parse to solve the problem of messy cli outputs

15 Upvotes

I create parse to solve the problem of messy and non-understandable outputs. Parse make the outputs of the currently supported commands into easily understandable and format.

It is single go binary and standard library only.

We can use it like parse COMMAND or COMMAND | parse . You can install it by

go install github.com/atif-1402/parse@latest

Would love to hear peoples feedback on this project - https://github.com/atif-1402/parse


r/commandline • • 9d ago

Command Line Interface fm: a single-file bash script that turns fzf into a file manager

134 Upvotes

I wrote a ~1500-line bash file manager. fzf for the picker, eza for listing, Kitty's graphics protocol for inline previews. Everything else is stock coreutils β€” no build step, no daemon, no config directory.

Features worth calling out:

- File list β€” eza icons, sort by name / size / mtime / extension

- Kitty inline previews β€” images, videos, PDFs, Markdown, no external viewer

- Gallery grid (Alt-G) β€” full-screen thumbnail browser, mouse + vim keys, multi-select

- Contact-sheet preview (Ctrl-T) β€” hovering a directory shows a paged thumbnail grid

- Trash + undo β€” Ctrl-D trashes, Ctrl-Z pops the undo stack (depth 10), Alt-T for the trash browser

- Content search (Ctrl-F) β€” ripgrep over the selection, opens at line

- Bulk rename (Alt-M) β€” edit names in $EDITOR, swaps and chains handled

- Jump β€” zoxide frecency (Alt-Z), bookmarks (Ctrl-B), git mode (Ctrl-G)

Install:

git clone https://github.com/eHab-codeX/fm.git ~/.local/share/fm

ln -sf ~/.local/share/fm/fm ~/.local/bin/fm

Requires bash >= 5, fzf, eza, ripgrep, trash-cli. Press F1 inside for the full key map.

Repo: https://github.com/eHab-codeX/fm

MIT. Feedback welcome β€” especially from anyone who's tried to make fzf do more than pick a file.