4 comments

  • 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 9 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..
    • inbx0 1 hour ago
      fzf [1] provides the TUI.

      1: https://github.com/junegunn/fzf

      • jvanderbot 1 hour ago
        Ah of course. I even use that. Just didn't look closely enough.
  • 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 :)

  • WhyNotHugo 49 minutes 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 4 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.