jvanderbot 2 hours ago

The linked inspiration project is blowing my mind.

https://github.com/joehillen/sysz/blob/master/sysz

A TUI in pure shell script?? I read the script and don't even see how it's done.

  • lupusreal 28 minutes ago

    You can make TUIs in bash if you use stty to set the terminal to raw mode. I'd recommend any other language than shell scripting though..

3np 2 days ago

My personal systemctl clunk pet-peeve is "get list of all currently (active/running) (units/services)". Something like a "systemctl ps".

Consider this a feature request, I guess :)

  • zokier a minute ago

    [delayed]

  • sudahtigabulan 2 hours ago

    Do you mean that it should be invoked exactly as "systemctl ps", for convenience?

    I think the functionality is already there:

      systemctl --type=service --state=running
WhyNotHugo an hour ago

fzf is really cool to make simple TUIs.

Out of the box it already ships zsh integration to fuzzy-search history with ctrl+r. I don't know what I'd do without this.

I also have a short script, `re` to fuzzy-search a local git repository:

    fd -IH -t d '^\.git$' --format '{//}' ~/src |
      fzf |
      sed "s|^$HOME|~|" |
      wl-copy --primary
This copies the path into clipboard. I typically paste it immediately, so that `cd $PATH_TO_REPO` ends up in history for next time.

I use zk[1] to organise my notes, and it uses fzf to provide a TUI for fuzzy-search notes too.

The way in which fzf is re-usable by different scripts and tools is really neat. I the world of GUIs, we don't really have composable re-usable components like this.

[1]: https://github.com/zk-org/zk

  • lupusreal 24 minutes ago

    Just this weekend I used fzf (and a bit of python glue) to create my own TUI wrapper around OpenSUSE's package manager, zypper. With fzf's multi-selection mode I can select multiple packages at once to install or remove. Using fzf's preview command feature I can use zypper info (with a little bit of my own caching wrapping it) to display package info as I go through the list. A custom header shows the shortcuts for installing, removing, etc.