Brianna Rainey's Blog

So I wanted a reminders app for the tmux statusbar, and I also wanted a =^.^= in the tmux statusbar as I mentioned here: tassaron.com/@brianna/10827462

I combined the ideas and wrote this small Python script + tmux plugin today & last night. It's called nagcat: github.com/tassaron/nagcat 🐈

You can customize the cat's appearance from the CLI. By default it will show =^.^= if you have no overdue reminders, or =u.u= if it's after 14:00 and you need to drink water. The reminders can be edited with "nagcat config" ('drink water' at 14:00 is the default reminder).

Say "nagcat why" and nagcat will tell you what the reminder is. Say "nagcat pet" to calm nagcat and stop the reminder for today. Reminders are always daily and are defined in 24-hour time in a json file. The data is like {"14:00": "drink water"}

The "tmux plugin" part is just a small Bash script that replaces #{nagcat} in the tmux statusbar with a call to the Python script. And apparently pip can put shell scripts on $PATH for me without much work, which is handy. Setup is `pip install nagcat` and adding a single line to the tmux conf

I think I'm gonna use this a lot! =^.^= And I'll probably discover some fleas on it this week, since it's new 🙃

Oh cool, you can add a `scripts` key to setup.py and it actually just works like you'd want it to. It puts a Bash shell script in the $PATH! So creating a Python package which installs a corresponding tmux plugin is easy :)

I made AVP start out with the most common components already inserted, so it's less intimidating than a blank canvas and resembles the old program more.

I'm gonna make the "Conway's Game of Life" component start out with a nice pattern already placed, so people can understand it through trial and error. First impressions! I think these small changes have a big impact.

I found someone's fork with extra audio-adjustment applied to the classic visualization; might incorporate that too because it's easy. A dropdown to select audio profile? (I.e. for music, for vocals, etc)

After this I just want to keep cleaning up 5-year-old code and make it easier to understand how to add new visualizers. Oh, and make `avp --test` more useful. It doesn't capture any output from FFmpeg yet!

Found something cool! Someone made a tmux plugin that adds a bunch of drop-down menus for controlling tmux sessions, panes, and windows. github.com/jaclu/tmux-menus

I might not actually use this long-term myself, but it looks like something I would've loved before I had memorized all the tmux hotkeys. :p I like using friendly terminal programs like nano, htop, and mc/mcedit due to their awesome drop-down menus and helpbars. That was the original reason I used byobu on top of tmux, actually, but I got tired of disabling the byobu f-keys and the "tmux plugin manager" seemed cool.

(I also made my own simple tmux plugin which puts remaining disk space in the status bar, which is a feature built into byobu)

older posts