commandline
- Zellij 0.41.0 released with its solution for colliding keybindingszellij.dev Zellij 0.41.0: Solutions for Colliding Keybindings, Plugin Manager, new UI
A solution for the colliding keybindings problem, a new plugin manager and UI, reloading configuration at runtime and a new setup wizard.
The normal complaint new Zellij users have is that it has a lot of keybindings which are likely to conflict with programs like nvim or Helix that use a lot themselves. Before, the workflow was to lock Zellij with
ctrl-g
which let input go through to the focused shell/program.The new mode has most of the keybindings behind the ctrl-g lock, e.g. a new tab is
ctrl-g
t
n
(instead ofctrl-t
n
). You can still usealt-(cursor)
for changing focus andalt-n
/alt-f
for a new tiled/floating pane, but all other key presses get passed along.You can switch between default and unlock-first (non-colliding) modes so if you need those alt shortcuts you can lock everything as before.
Plus some other nice features like being able to change modifier keys while running (via the Kitty Keyboard Protocol), and autoloading the new config when you edit the file.
- I present: Managarr - A TUI and CLI for managing your Servarr instancesgithub.com GitHub - Dark-Alex-17/managarr: A TUI for managing *arr servers. Built with 🤎 in Rust
A TUI for managing *arr servers. Built with 🤎 in Rust - Dark-Alex-17/managarr
After almost 3 years of work, I've finally managed to get this project stable enough to release an alpha version!
I'm proud to present Managarr - A TUI and CLI for managing your Servarr instances! At the moment, the alpha version only supports Radarr.
Not all features are implemented for the alpha version, like managing quality profiles or quality definitions, etc.
Here's some screenshots of the TUI:
Additionally, you can use it as a CLI for Radarr; For example, to search for a new film:
managarr radarr search-new-movie --query "star wars"
Or you can add a new movie by its TMDB ID:
managarr radarr add movie --tmdb-id 1895 --root-folder-path /nfs/movies --quality-profile-id 1
All features available in the TUI are also available via the CLI.
- TUI Media player for the Hackberry pi
Thought this was neat. TUI media player on the Hackberrypi
- chaftrix: image rendering + animation + matrix effect in terminal window (c, chafa)
https://gitlab.com/christosangel/chaftrix
This program written in C will render the matrix effect in the terminal window in the background, while rendering an image in the foreground, allowing animation of this image in one or two dimensions.
[!video.png](https://www.youtube.com/watch?v=fUZXQDAQJ1w)
Image rendering is done with
chafa
.This program is the continuation and evolution of other projects:
https://gitlab.com/christosangel/matrix_clone
- [Windows] bluetuith-shim-windows: A shim and command-line tool to use Bluetooth Classic features on Windows.github.com GitHub - bluetuith-org/bluetuith-shim-windows: A shim and command-line tool to use Bluetooth Classic features on Windows.
A shim and command-line tool to use Bluetooth Classic features on Windows. - bluetuith-org/bluetuith-shim-windows
Hello Lemmy,
This is an extension of the bluetuith TUI Bluetooth Manager project, which was initially developed for Linux, and is now being ported to Windows as well. This will allow the TUI to manage Bluetooth on Windows. Note that this is just a shim, the TUI will be ported to adapt with this shim later.
This tool offers a simple command-line interface and a socket-based interface (as an interprocess communication layer) to control Bluetooth Classic based functions, like:
- Getting adapter information, performing device discovery, setting power states
- Getting device information, pairing/unpairing a device
- Connection to a device using various Bluetooth profiles
- The supported profiles are A2DP, MAP, PBAP and OPP
- Each connectable profile appears as a subcommand of the connect command
- Every subcommand has multiple functions. View the documentation for more information.
This is currently alpha stage, so do expect bugs. Any bugs can be reported in the issue tracker.
I hope you enjoy this release, and any constructive feedback is appreciated.
- [ANN] Rook v0.2.0, a secret service backed by a KeePass v2 DB
Rook provides a secret service a-la secret-tool, keyring, or pass/gopass, except backed by a Keepass kdbx file.
The problem Rook solves is mainly in script automation, where you have aerc, offlineimap, isync, vdirsyncer, msmtp, restic, or any other cron jobs that need passwords and which are often configured to fetch these passwords from a secret service with a CLI tool. Unlike existing solutions, Rook is headless, and does not have a bespoke secrets database full of passwords that must be manually synchronized with Keepass; instead, it uses a Keepass db directly.
Rook is in the AUR and in Alpine testing; binaries are available from the project page.
From the changelog, since the last Lemmy release announcement v0.1.3 on May 20:
[v0.2.0] Fri Oct 11 09:01:03 2024 -0500
Added
- support for password + key file credentials
show --no-eol
option, to strip CRs after, eg, passwords
Changed
- show matches search: it's now case insensitive
Fixed
- successful OPEN with password wasn't clearing the one-time pin, so the DB was staying locked.
- stmps: a TUI client for your *sonic server
stmps is a fork of stmp, under active development and with several additional features. (*) items are PRs which also been accepted by the stmp project.
- mpris support (*)
- improved help text
- improved playlist handling, including concurrent loading in the background
- improved browser behavior, e.g. add all songs by an artist
- global, server-side search
- artist search in the browser (*)
- TUI-less server information query
- queue reordering
- queue shuffling
- randomly add songs to the queue
- randomly add similar songs to the queue, using the Subsonic "get similar songs" feature
It's fast, keyboard driven, and a single executable; it is regularly tested against Navidrome and Gonic.
stmps can be installed by a simple
go install
command, and it's also in AUR asstmps
.I'm not the author, but am one of the active contributors.
- GitHub - talwat/lowfi: An extremely simple lofi player.github.com GitHub - talwat/lowfi: An extremely simple lofi player.
An extremely simple lofi player. Contribute to talwat/lowfi development by creating an account on GitHub.
Also available here. (Docker image)
- Get Your Lisp On With The Dune Shellhackaday.com Get Your Lisp On With The Dune Shell
Lisp is one of those programming languages that seems to keep taunting us for not learning it properly. It is still used for teaching functional languages today. [Adam McDaniel] has an obvious fond…
- GitHub - piqoni/cast-text: A zero latency, easy-to-use full-text news terminal reader.github.com GitHub - piqoni/cast-text: A zero latency, easy-to-use full-text news terminal reader.
A zero latency, easy-to-use full-text news terminal reader. - piqoni/cast-text
- asak - a cross-platform audio recording/playback CLI tool with TUI, written in Rustgithub.com GitHub - chaosprint/asak: A cross-platform audio recording/playback CLI tool with TUI, written in Rust.
A cross-platform audio recording/playback CLI tool with TUI, written in Rust. - chaosprint/asak
- 10 Examples Why cURL is an Awesome CLI Toolmartinheinz.dev 10 Examples Why cURL is an Awesome CLI Tool | Martin Heinz | Personal Website & Blog
<p> Whether you're developer, DevOps engineer, SysAdmin, QA or in any other technical role, you're surely familiar with cURL - <i>the command line tool and...
- How and why to use Lynx - the faster web browsershkspr.mobi How and why to use Lynx - the faster web browser
Lynx is a text based browser. You think the people who browse without JavaScript are weird? Lynx doesn’t even do images or CSS! It downloads HTML and renders it at blazing fast speed. If you …
- Terminal trove - New termonal toolsterminaltrove.com New Terminal Tools - Terminal Trove
Below is a list of new terminal tools added and updated regularly here and RSS. Discover CLI, TUI, and more developer tools at Terminal Trove.
- Advanced Terminal Tips and Trickswww.bitsand.cloud Advanced Terminal Tips and Tricks
When I was first starting out in software engineering, it felt like there was a never-ending barrage of tooling to learn. After more than a decade in CLI environments, I still find myself constantly learning new features and fun facts - but it’s fairly rare that I learn something new that I end up u...
- Get the BBS Scene Vibes back with Neon Modem Overdrive (lemmy client)xn--gckvb8fzb.com Get the BBS Scene Vibes back with Neon Modem Overdrive
Miss the internet from the 80s? Want to (re-)experience BBS scene vibes but still participate in today’s conversations? Then Neon Modem Overdrive is for you!
- The Art of Command Linegithub.com GitHub - jlevy/the-art-of-command-line: Master the command line, in one page
Master the command line, in one page. Contribute to jlevy/the-art-of-command-line development by creating an account on GitHub.
- Privacy focused ChatGPT in your terminal
cross-posted from: https://programming.dev/post/15162087
> so, about a month ago i stumbled upon the duckduckgo ai chat feature and wrote an article about how private their APIs are, and a few weeks after, a CLI client. > > the thing is in a pretty mature stage now (its not like there is a lot of work to be done there tbh) > > its not super private, but it is "private enough". the only thing duckduckgo has is your IP, which is usually not much unless you are on a residential connection with a dedicated IP
- bluetuith: A TUI bluetooth manager for Linux.github.com GitHub - darkhz/bluetuith: A TUI bluetooth manager for Linux.
A TUI bluetooth manager for Linux. Contribute to darkhz/bluetuith development by creating an account on GitHub.
- twitch-tui: Twitch chat in the terminalgithub.com GitHub - Xithrius/twitch-tui: Twitch chat in the terminal.
Twitch chat in the terminal. Contribute to Xithrius/twitch-tui development by creating an account on GitHub.
- `doggo` - a supercharged DNS client with CLI and web interfacegithub.com GitHub - mr-karan/doggo: :dog: Command-line DNS Client for Humans. Written in Golang
:dog: Command-line DNS Client for Humans. Written in Golang - mr-karan/doggo
I use this tool instead of
dig
andkdig
. - I used hyperfine CLI tool to measure startup and shutdown times of several code interpretersdev.to Measuring startup and shutdown overhead of several code interpreters
I used the hyperfine tool to measure the overhead of startup and shutdown of several code...
A blog post shows an example usage of hyperfine CLI tool to measure and plot time of startup and shutdown of several code interpreters.
- tui-battleship, the classic naval battle game (Bash).
https://gitlab.com/christosangel/tui-battleship
This is a tui implementation of the popular classic naval battle game, written in Bash.
The objective of the game is to destroy the computer's fleet, before the computer achieves the same against you.
You take turns with the computer, hitting squares in each other's grids.
You have to guess the position of the enemy ships on the computer's 10x10 grid, in order to win.
!win
You lose if the computer achieves sinking your ships first.
!lose
- eza (formerly exa, ls replacement) can now show the actual total size of directory contents
I just noticed that
eza
can now display total disk space used by directories!I think this is pretty cool. I wanted it for a long time.
There are other ways to get the information of course. But having it integrated with all the other options for listing directories is fab.
eza
has features like--git
-awareness,--tree
display, clickable--hyperlink
, filetype--icons
and other display, permissions, dates, ownerships, and other stuff. being able to mash everything together in any arbitrary way which is useful is handy. And of course you can--sort=size
docs:
--total-size show the size of a directory as the size of all files and directories inside (unix only)
It also (optionally) color codes the information. Values measures in kb, mb, and gb are clear. Here is a screenshot to show that:
sh eza --long -h --total-size --sort=oldest --no-permissions --no-user
Of course it take a little while to load large directories so you will not want to use by default.
Looks like it was first implemented Oct 2023 with some fixes since then. (Changelog). PR #533 - feat: added recursive directory parser with \
--total-size\
flag by Xemptuous - tui-mines: Sweep mines from a minefield, in the terminal (Bash)
https://gitlab.com/christosangel/tui-mines
tui mines is evidently a text-based user interface implimentation of the classic mine sweeping puzzle game.
The user has to clear a board, square by square, flagging the squares suspected to hide mines on the way.
If the user opens a mine square, things go KABOOM! and the game is lost.
The user uses hints from the numbered squares. This numbers how many bombs are touching that square in every direction ( 8 in total).
Through logic, and a bit of luck, the player ends up clearing all the squares, while flagging all the mines.
- Building Apps Like Nothing Else. A Unique Take on Shell and Python Coding.
YouTube Video
Click to view this content.
https://github.com/dislux-hapfyl/pynksh
Writing functional shell snake code to improve my sanity.
- Rook, a secret service backed by Keepass 4.x kdbx
Howdy Lemmy,
I'm announcing Rook v0.0.9, software that provides a secret service a-la secret-tool, keyring, or pass/gopass, except backed by a Keepass 4.x kdbx file.
The problem Rook solves is mainly in script automation, where you have aerc, offlineimap, isync, vdirsyncer, msmtp, restic, or any other cron jobs that need passwords and which are often configured to fetch these passwords from a secret service with a CLI tool. Unlike existing solutions, Rook is headless and does not have a bespoke secrets database, full of passwords that must be manually synchronized with Keepass; instead, it uses a Keepass db directly.
While the readme goes into more detail, I will say the motivation for Rook evolved from a desire to use a Keepass db in a GUI-less environment and finding no existing solutions. KeepassXC provides a secret service, but is not headless; it also provides a CLI tool, but this requires the db credentials on every call. kpmenu exists, but is designed specifically to require human interaction and is unsuitable for cron environment scripting. Every other solution maintains its own DB back end, incompatible with Keepass.
Rook also benefits from minimal external dependencies, and at 1kloc is auditable by developers - I believe even by ones who do not know Go (the language of implementation). Being able to verify for yourself that there's no malicious code is a critical trait for a tool with which you're trusting secrets.
Rook is fit for purpose, and signed binaries are provided as well as build-from-source instructions (for auditors).
The project contains work in progress: credentials are limited to simple password-locked kdbx, and so doesn't yet support key files. Bash scripts that provide autotyping and attribute/secret selection via rofi, fzf, and xdotool are provided, for GUI environments; these have known bugs. Rook has not been tested on BSD, Darwin, or any other system than Linux, but may well work; the main sticking point is the use of a local file socket for client/server communication, so POSIX systems should be fine, but still, YMMV.
As a final caveat: up until v0.0.9 I've been compressing with brotli, which is very nice yet somewhat obscure. With the next release, everything will be gzipped. Also included in the next release will be packages for various distributions.
- invidtui - An opensource cross-platform Invidious client v0.4.3 is released
Hello Lemmy,
invidtui is a TUI-based Invidious client, which can:
- Search for and browse videos, playlists and channels
- Play audio or video from any instance
- View, open, edit and save m3u8 playlists
- Download video/audio in any format
- Authenticate with the preferred instance, and show user feed, playlists and subscriptions
This release contains the following new features/fixes:
*** Embedded Recommendations tab
Recommendations for the video that is currently being played is now shown in a separate tab within the queue.
A demo and instructions are posted here *** YouTube timestamps
Timestamps found within Youtube URIs are now seeked to on playback.
A demo and instructions are posted here *** Custom seeking
A separate modal is shown to modify the playback position. Positions can be seeked to relatively/absolutely.
A demo and instructions are posted here ***
I hope you enjoy this release, and any feedback is appreciated.
- mass-git-scripts: Bash Scripts for Mass-Cloning & Updating Git Reposgithub.com GitHub - f3rno64/mass-git-scripts: A collection of scripts for working with a few or a large number of git repos at once.
A collection of scripts for working with a few or a large number of git repos at once. - f3rno64/mass-git-scripts
After an unexpected need to reset my work machine 😓, and needing to set up my development environment again by hand 🛠️, I decided to create a solution to quickly restore my local git repositories (and associated folder structure) 🔄.
I took this opportunity to write two bash scripts that clone and update all repositories on GitHub belonging to either a user or an organization 📦.
This means that, for example, with a single command ⌨️, you can clone hundreds or thousands of repositories, with high levels of concurrency (50 clones in parallel is doable 💨).
The scripts allow for a configurable clone depth, a limit for the number of repositories cloned, and a level of concurrency that decides how many clones are run in parallel 📈.
By running the following command:
git-clone-all --owner f3rno64 --limit 200 --jobs 40 --dir ./f3rno64
I was able to clone all 174 personal repositories 📚, with full commit histories and all tags & branches, in 58 seconds ⏱️.
I wrote a blog post describing this in more detail here 📝, check it out for a breakdown of the arguments and examples of usage.
The GitHub repository is f3rno64/mass-git-scripts and the README also includes examples and general usage instructions 🗂️.
Please check it out and let me know what you think! 💬
I hope you find it useful, and any feedback or suggestions for improvement would be greatly appreciated! 🙏
- xmq: Convert xml/html to a more human readable/editable format (xmq/htmq) and back. Can also work with JSON.github.com GitHub - libxmq/xmq: Convert xml/html to a more human readable/editable format (xmq/htmq) and back can also work with json. Includes a syntax highlighter and pretty printer, pager and can render to html and tex.
Convert xml/html to a more human readable/editable format (xmq/htmq) and back can also work with json. Includes a syntax highlighter and pretty printer, pager and can render to html and tex. - libx...
Hello! This is not my project, I just found it today.
Making verbose things more concise and readable makes a big difference to me, and this could be excellent for me when dealing with HTML/XML. Just piping those formats through
xmq
yields a beautiful and clear rendering of the data.And as a NestedText enthusiast, I can now (using additional existing tooling):
- transform HTML -> JSON -> NestedText
- edit NestedText
- transform NestedText -> JSON -> HTML
- Inverting match with grep, unless another term exists
I have a list containing a set of tags, and would like to exclude one tag, unless another tag exists in the line.
Say I have the following list, and want to exclude
B
, unlessA
is present.[A,B] [A,C] [B,C] [A] [B]
I can reverse grep forB
:> grep --invert-match "B" [A,C] [A]
How can I find the previous list, but also the item containing
[A,B]
? - [OC] Smassh your Keyboard, TUI Edition
Smassh is a TUI based typing test application inspired by MonkeyType -- A very popular online web-based typing application
Smassh tries to be a full fledged typing test experience but not missing out on looks and feel! There is a lot of room for improvements/additions and I am open to contributions and suggestions!
Github: https://github.com/kraanzu/smassh
Thank you! <3
- kdotool - an xdotool clone for KDE Wayland
kdotool uses KWin's scripting API to control windows. In each invocation, it generates a KWin script on-the-fly, loads it into KWin, runs it, and then deletes it, using KWin's DBus interface.
This program should work with both KDE 5 and the upcoming KDE 6.
- histat - a simple history stats
I created a very simple script that shows the history usage of your shell. Should work with bash and fish shells.
This basically goes through the history and counts the command names. So all of
git push
,git pull
, etc will count as justgit
.Example output:
847 pacman 296 cd 206 git 203 time 180 vim 172 awk 166 aur 142 strace 141 cat 125 ls Total commands: 7008 Unique commands: 753
- Terminal Trove - The $HOME of all things in the terminal.terminaltrove.com Terminal Trove - The $HOME of all things in the terminal.
Terminal Trove showcases the best of the terminal, Discover a collection of CLI, TUI, and more developer tools at Terminal Trove.
Terminal Trove showcases the best of the terminal, Discover a collection of CLI, TUI, and more developer tools at Terminal Trove.