1
27

https://gitlab.com/christosangel/turnip-tv

turnip-tv is a customizable tui iptv client, written in Bash.

The user can (among other customizations) choose input program between

  • read

1read.png

  • fzf

1fzf.png

  • rofi

1rofi.png

  • dmenu

1dmenu.png


This script was inspired by and is almost identical with another project called radion, which is a tui internet radio client.

The channel list was found here, and was modified to fit the script's functionality.

2
9

Note: Raku programming language and a module manager(zef) are required.

3
3
submitted 1 year ago* (last edited 1 year ago) by darkhz@lemm.ee to c/commandline@programming.dev

Hello Lemmy,

Bluetuith is a TUI based bluetooth manager for Linux, that aims to be an alternative to most bluetooth managers, and can perform bluetooth based operations like:

  • Connection to and general management of bluetooth devices, with device information like battery percentage, RSSI etc. displayed, if the information is available. More detailed information about a device can be viewed by selecting the 'Info' option in the menu or by clicking the 'i' key.

  • Bluetooth adapter management, with toggleable power, discoverability, pairablilty and scanning modes.

  • Transfer and receive files via the OBEX protocol, with an interactive file picker to choose and select multiple files.

  • Handle both PANU and DUN based networking for each bluetooth device

  • Control media playback on the currently connected device, with a media player popup that displays playback information and controls.

This release contains the following new features:

  • New command-line options --adapter-states to set adapter properties and --connect-bdaddr to connect to a device on initialization
  • Block/unblock devices
  • Indefinite passkey/pincode display
  • Modifiable navigation keys
  • Display the 'Bonded' property for a device

I hope you enjoy this release, and any feedback is appreciated.

4
5
submitted 1 year ago* (last edited 1 year ago) by christos@lemmy.world to c/commandline@programming.dev

cross-posted from: https://lemmy.world/post/7130937

radion is an internet radio CLI client, written in Bash.

https://gitlab.com/christosangel/radion

Radion can be costumized as far as the station selecting program is concerned. The user can choose between:

  • read

read

  • fzf

fzf

  • rofi

rofi

  • dmenu

dmenu


Update: Introduced new feature: costumizing prompt text for fzf dmenu and rofi.

Update: Recording functionality added, with the use of another (you guessed it) bash script

icy

Also options in read as Preferred selector are also case insensitive.

Any feedback is appreciated!

5
4
submitted 1 year ago* (last edited 1 year ago) by morrowind@lemmy.ml to c/commandline@programming.dev

Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your command line. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful command line pipelines.

Today, we're releasing version 0.86 of Nu. This release adds fish-like directory completions, type system improvements, our first officially supported uutils command, and much more

6
1
submitted 1 year ago* (last edited 1 year ago) by GustavoM@lemmy.world to c/commandline@programming.dev

Nothing too shabby honestly. But there you have it nonetheless. And yep, I used AI for a l"head start". :p

7
1
LADDER: A CLI word puzzle (programming.dev)

https://gitlab.com/christosangel/ladder

Ladder is a word puzzle, played in a terminal window.

Your starting point is an initial four-letter word.

Your goal is to transform this word, one letter at a time, through other valid words, and end up with the target word.

The tricky part is that on each entry, you can change ONLY ONE LETTER.

8
1

Made in a day, it works and I wanted to share it

9
2
UX patterns for CLI tools (lucasfcosta.com)
10
1
submitted 1 year ago* (last edited 1 year ago) by christos@programming.dev to c/commandline@programming.dev

tui-sudoku is a configurable terminal interface sudoku game, with quite a few features.

https://gitlab.com/christosangel/tui-sudoku

Starting the game, and through the main menu, the player can :

  • Start a new game
  • Load previously saved game
  • Configure some parameters (colors, preferred editor, puzzle symmetry,preffered png)
  • exit the program

PLAYING THE GAME

After choosing the n New Game option, the player can select the level of difficulty.

The user will be presented with the known 9x9 sudoku matrix.

Using the shortcuts in the shown cheatsheet table, the player can

Shorcuts Action
hjkl ๐Ÿ „ ๐Ÿ …๐Ÿ ‡๐Ÿ † Move Cursor
[1-9] Insert Number
0,โฃ,โˆ Clear Cell
E Earmark cells
H Toggle Highlight Numbers
S Save Game
z,Z Undo / Redo
M Return to Main Menu
Q Show Solution & Quit
  • Typing H while the cursor is on a number, e.g. 2, will highlight all the 2s in the matrix.

    Typing H again will undo the highlighting:

-Typing E and entering up to 3 digits, will earmark the cell:

  • Entering an illegal number (a number that already exists in the row, the line or the 3x3 block) will mark the number with a different color, and give a warning message:

While the Moption returns to the Main Menu, and the S option saves the game, the Q option prints the solution and exits:

  • The user can also Undo or Redo their entries with the z or Z option respectively.

Back in the Main Menu, the player can also

  • Load a previously saved game with the l option

  • Configure preferred colors, preferred text editor and puzzle symmetry with the c option

  • or Browse the Top Ten Scores (s option)

The configuration is kept in the $HOME/.config/tui-sudoku/tui-sudoku.config file.

If there is no file kept there, default values will be loaded.

  • You can select the colors you like and the respective codes as they demonstrated here:

    https://talyian.github.io/ansicolors/

    Default colors

    Color Code Script Variable
    Grid Color \x1b[38;5;60m" C1
    Given Numbers Color \e[1;33m" C2
    Found Numbers Color \e[1;36m" C3
    Wrong Numbers Color \e[1;31m" C4
    Highlight Color \e[1;32m" C5
    TextColor1 \e[35m" C6
    TextColor1 \e[36m" C7
  • SYMMETRY variable configures the symmetry of the given cells in the 9x9 matrix. Valid options are: none, rotate90, rotate180, mirror, flip, or random

  • PREFFERED_PNG variable defines the png that shows in the notifications. These images are located in the $HOME/.cache/tui-sudoku/png/ directory.

Any feedback is appreciated!

Any feedback is appreciated!


Added feature in 0.2.0: earmarked cells change color when illegal (the number already exists in row, column or 3x3 square)


Added feature in 0.3.0: Toggle info (key cheatsheet).

11
1
12
2

Announcing bgammon.org (online multiplayer backgammon)

I have developed an entirely free and open source multiplayer backgammon service.

You can try it out by visiting https://bgammon.org or by connecting via SSH:

ssh bgammon.org -p 5000

I would very much appreciate help with testing and feedback from anyone who knows how to play backgammon, or is interested in learning. The rules of backgammon are available here:

https://bkgm.com/rules.html

The password prompt is currently non-functional, and private lobbies are not yet available. Otherwise, the service is ready to test out, particularly the accuracy of the backgammon simulation. Because there are no accounts yet, everyone is logged in as a guest.

A terminal-based client is available, and a graphical client is planned. The terminal-based client is available over the web at the link above. This is accomplished by using GoTTY.

Move pieces by dragging them or by clicking a source space and then a destination space. You may make multiple moves by dragging a checker directly to its final destination.

The source code is available here: server & client.

Feel free to contact me directly at trevor@rocket9labs.com with test results and feedback.

13
1
submitted 1 year ago* (last edited 1 year ago) by christos@lemmy.world to c/commandline@programming.dev

cross-posted from: https://lemmy.world/post/4793705

https://gitlab.com/christosangel/wordy

Wordy is a word spelling puzzle.

You have 6 guesses to find out the secret 5-letter word.

If a letter appears green, that means that this letter exists in the secret word, and is in the right position.

If a letter appears yellow, that means that this letter exists in the secret word, but is in NOT the right position.

If a letter appears red, that means that this letter does NOT appear in the secret word AT ALL.

There is another project that might interest you:

https://gitlab.com/christosangel/wordle-solver

UPDATES: Play menu became simpler, show LETTERS functionality was introduced, some improvements in show STATS and show WORD LIST. Also, word list file is now configurable.

14
1
submitted 1 year ago* (last edited 1 year ago) by christos@lemmy.world to c/commandline@programming.dev

Spelion is a word spelling puzzle.

https://gitlab.com/christosangel/spelion

Using just the given 7 letters, you are called to form as many words as possible.

Rules

  • The word that you form must include the center letter.
  • You don't have to use all the other letters.
  • Minimum length of the word that you create is four letters.
  • Any given letters can be used more than one time in a word.
  • The word list is contained in /usr/share/dict/words, minus words with upper-case letters, words with apostrophe and words containing letters with accent marks.

Name

The name SPELION was just a made up word with letters that could form the root spel(l), while at the same time these letters could appear in a (recursive) Spelion puzzle. The name stuck when I found out that by pure chance Spelion was also an anagram of the greek letter epsilon.

15
1

Wouldn't it be nice to have, say, a Mastodon TUI that could show images in-line? A lot of terminals are capable of that.

Here is an interesting demo showing 3d rendering in the terminal: https://github.com/MasFlam/notcurses-rend3d

16
1
The case for nushell (www.jntrnr.com)

If you haven't heard of it before, nutshell is an alternative to bash/zsh: https://github.com/nushell/nushell

17
1

Hello Lemmy,

Bluetuith is a TUI based bluetooth manager for Linux, that aims to be an alternative to most bluetooth managers, and can perform bluetooth based operations like:

  • Connection to and general management of bluetooth devices, with device information like battery percentage, RSSI etc. displayed, if the information is available. More detailed information about a device can be viewed by selecting the 'Info' option in the menu or by clicking the 'i' key.

  • Bluetooth adapter management, with toggleable power, discoverability, pairablilty and scanning modes.

  • Transfer and receive files via the OBEX protocol, with an interactive file picker to choose and select multiple files.

  • Handle both PANU and DUN based networking for each bluetooth device

  • Control media playback on the currently connected device, with a media player popup that displays playback information and controls.

This release contains the following new features:

  • Adapter status display, which will dynamically show whether the adapter is in any of the powered/discoverable/pairable/scanning states

  • A HJSON based configuration format, with customizable keybindings and optional config file generation

  • Popup resize and mouse-handling improvements. Each popup can now be closed by pressing the 'X' button

I hope you enjoy this release, and any feedback is appreciated.

18
1
19
1
submitted 1 year ago* (last edited 1 year ago) by siriusmart@lemmy.world to c/commandline@programming.dev

btw linux only, no windows support planned at all, maybe works in macos, not tested im not rich

also uses the invidious api instead of the official one cuz easy

oh sry its youtube-tui https://siriusmart.github.io/youtube-tui/ the image overwrote the url

20
1
21
2

Hello Lemmy,

InvidTUI is a cross platform Invidious client, which can:

  • Browse, play and download YouTube audio and video
  • Create, save and open m3u8 playlists
  • Interactively switch between instances
  • Change video and album art resolutions
  • View and manage user feed, playlists and subscriptions

Among many other features.

In addition to the above, it also has a menu system, so that users need not remember all the keybindings, and instead select the required option from the menu to perform the desired operation.

This release contains the following new features:

  • A HJSON based configuration format, where you can define custom keybindings as well
  • Faster JSON parsing, thanks to jsoniter
  • Create new folders and rename items within the filebrowser
  • Automatically or manually configure the download directory from within the application
  • Change thumbnail quality

I hope you enjoy this release, and any feedback is appreciated.

22
1
23
1

I've developed my first Rust program with some help of ChatGPT. The result just got its first release.

You can configure filesystems to host backup image files of devices in a json config file. You can specify the amount of backups for each device, preserving a static size and count.

Running dd_backup run will initiate the backup process, creating backups for all connected filesystems and devices which are configured.

Has some safety features, like checking fsck -n before writing or calls sync before unmount. Never be afraid of confusing if= and of= anymore when running dd ๐Ÿ™ˆ.

dd_backup is designed to run on Linux systems, and you can also utilize it on a booted Linux live system to back up your Windows devices or others.

See the readme for more information.

24
1

One of my favorite command line tips: you can add 'comments' full of keywords to shell commands, which makes searching your command history easier.

> obscure-cmd --with-weird-flags -Qdt # searchable comment keywords

Presumably you're using something like fzf for history search, but this is still useful without it.

This is especially useful for cli tools with obscure names/flags, or when you can't remember where a particular log file is.


Some examples from my history:

tail awesomewm logs:

tail -f ~/.cache/awesome/logs -n 2000 # tail follow log awesomewm

fix linux clock drift:

sudo ntpd -qg && sudo hwclock --systohc # fix linux clock time drift

copy ngrok public url to clipboard:

curl -s http://localhost:4040/api/tunnels | jq ".tunnels[0].public_url" | tr -d '"' | tr -d '\n' | xclip -selection clipboard -i # fetch ngrok url uri, copy to clipboard

sign ssh and gpg, then refresh the emacs keychain env:

keychain --agents gpg,ssh --eval id_rsa <some-gpg-id> && emacsclient -e '(keychain-refresh-environment)' # sign ssh,gpg password, refresh emacs env

Another gpg one:

git config commit.gpgsign false # disable gpg signing for this repo

Pacman/pamac commands, like listing orphaned packages:

pacman -Qdt # list orphans
pamac list -o # list orphans

xprop - super useful for debugging window management, for some reason i can never remember what it's called:

xprop # mouse click window x11 linux describe info client helper whateveritscalled

Some helpers from my clawe project:

bb --config ~/russmatney/clawe/bb.edn -x clawe.sxhkd.bindings/reset-bindings # reset sxhkd bindings
bb --config ~/russmatney/clawe/bb.edn -x clawe.restart/reload # reload clawe

Aliases come to mind as well - in some cases that might be a better fit. I like this because it's so low-lift.

25
1
Fzf Tmux Session Manager (howarddo2208.github.io)
view more: next โ€บ

commandline

0 readers
2 users here now

founded 1 year ago
MODERATORS