wuzzah(1)

πŸ“¦ version 0.53, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– wuzzah β€” like, the manual, but make it cute

okay bestie, so this is the manual page for wuzzah, section 1 of the manual, and honestly? it's giving ✨friendship surveillance✨ in the most wholesome way possible. no cap.


🌸 NAME 🌸

wuzzah β€” keep an eye out for friends on a local system 🫢


πŸŽ€ SYNOPSIS πŸŽ€

wuzzah [OPTIONS...]

πŸ¦‹ DESCRIPTION πŸ¦‹

so wuzzah is literally just a program that... sits around πŸ’…. that's the whole job. it scans the utmpx entries and watches for the exact moment your friends log in and log out. main character energy, but make it parasocial.

by default, when you invoke it, wuzzah goes looking for the file ${HOME}/.wuzzah and loads the list of buddies chilling inside it β€” those are separated by newlines, one bestie per line β€” and then it just sits and watches. very demure. very mindful.

and if there's no file found, and you didn't specify some other readable file either (peep the OPTIONS section, babes), then wuzzah will try to just watch for whomever the current uid maps to. and if even that fails? it just quits. 😭 like okay, dramatic, we get it.


✨ OPTIONS ✨

  • -h, --help β€” gives you an informative usage summary. though ngl, it's nothing you don't already see right here in this very page... πŸ™ˆ
  • -a, --all-users β€” watches for all users on the system. periodt. everyone.
  • -c, --exec-cmd=CMD β€” executes CMD upon a login. ⚠️ NOTE: this is done with a call to system(2), so you can do things like piping and whatever else you can do with sh -c. it's giving powerful, bestie.
  • -f, --buddy-file=FILE β€” use FILE as the buddyfile. naturally FILE must be readable, and it consists of usernames, one to a line. optionally, those usernames can be followed by a colon, and then a wuzzah command-line to override wuzzah's behavior for that specific user πŸ‘‘
  • -F, --no-buddyfile β€” tells wuzzah to not bother loading any config files. we're going in raw, no notes πŸ’€
  • -i, --interval=NUM β€” sleep NUM seconds between each polling 😴
  • -m, --message=STRING β€” use STRING as a message template to greet logged-in buddies. check the FORMATS section for the deets ✨
  • -n, --no-newline β€” don't end the messages with newlines (it normally does that by default, lowkey)
  • -o, --process-once β€” scan the login records once, then exit. one and done, no lingering πŸšͺ
  • -p, --process-current β€” by default wuzzah doesn't message users who were already logged in when it started up. this option overrides that behavior and messages them anyways. (only useful with the -w/-c options, fyi)
  • -q, --silent β€” don't message buddies when they log in. that's the default btw 🀫
  • -s, --status-message=STRING β€” use STRING as a template for displaying the status of people logging in and out. see FORMATS for more info πŸ’–
  • -u, --users=LIST β€” adds every user in LIST (a space/comma/colon separated list of users) to the buddy list πŸ«‚
  • -v, --version β€” the current version and copyright. iconique.
  • -w, --write-buddies β€” turns on messaging of buddies as they log in. ⚠️ NOTE: this can get quite annoying rather quickly. tune in soon for a less annoying solution πŸ‘€

πŸ’« FORMATS πŸ’«

message templates can be defined as normal character strings, interspersed with special format characters. those format characters consist of a %, followed by a character, which defines situation-specific data. the current list of these characters is as follows:

  • a β€” the alert character ('\a')
  • b β€” the name of the buddy who has logged in/out πŸŽ‰
  • d β€” the date, currently in HH:MM:SS format πŸ•
  • h and H β€” the remote hostname or IP address (respectively) of your buddy's login 🌐
  • l β€” the line in/out on which the buddy is logged (typically, something like /dev/pts/9 or /dev/ttyS0) πŸ”Œ
  • m β€” whether or not you have just messaged your buddy (really only useful for the -s option) βœ‰οΈ
  • n β€” an embedded newline character
  • o β€” your buddy's online status ("logged on" or "logged off") πŸŸ’πŸ”΄
  • u β€” your own username, as can best be determined by the program πŸͺž

🌈 EXAMPLES 🌈

a simple invocation, bestie:

username@machine$ wuzzah
(13:45:39)  foo logged in on :0      (not messaging).
(13:45:39)  bar logged in on pts/11  (not messaging).

Message from username@machine on pts/11 at 14:00 ...
(wuzzah)  username says: "shoutout to my homie foo."
EOF

an example with a little more user customization ✨:

username@machine$ wuzzah --message="hey, %b, it's %u. nice to see you at %d!"

and when foo logs in, foo will get a message like so:

Message from username@machine on pts/11 at 14:00 ...
hey, foo, it's username. nice to see you at (14:00:00)!
EOF

πŸ“ FILES πŸ“

  • $HOME/.wuzzah β€” the default file containing the list of users to watch πŸ‘€

πŸ’€ BUGS πŸ’€

don't know of any, but reports (and patches too) are always welcome. feel free to send them to the author 🫢 not me being bug-free and thriving, but okay.


πŸ‘‘ AUTHOR πŸ‘‘

sean finney <seanius@seanius.net>


and that's the whole vibe check, bestie πŸ’– this little masterpiece of a manual page is wuzzah(1), brought to you by the one and only sean finney, and it was dated Sun Nov 17 02:41:45 EST 2002. slay, honestly. periodt πŸŽ€βœ¨

πŸ“¦ where this page comes from