4
19
Fork
You've already forked scripts
4
Some of my scripts that I wrote, which I use daily
  • Shell 89.6%
  • Python 9.6%
  • sed 0.8%
2026年06月29日 10:35:32 -05:00
todo-txt todo-txt/timetracker: reverted the change I made to how the $EDITOR was handled. I'm not sure what I was thinking. 2026年06月22日 18:36:03 -05:00
acpi_upower acpi_upower: avoid enumerating HID (mouse) batteries 2025年04月19日 13:08:27 -05:00
addscript addscript: Minor formatting changes, add the source attribution comment to new scripts (this git repo), fix the part of the script that prints the utility functions into new scripts, other misc refactoring, headscratching. ;) 2026年06月24日 16:35:01 -05:00
aptsearch added a snarky "Are you lost?" message if apt isn't installed 2026年05月30日 16:51:34 -05:00
backlight backlight: added the ability to get the current brightness level from brightnessctl on Linux 2026年05月24日 08:47:09 -05:00
battnotify battnotify: changed uname check from checking for just OpenBSD to any BSD (*BSD) 2025年11月25日 11:11:47 -06:00
bfspell bfspell: added a -d option to specify your own dict file, changed the $wordsFile variable to $dictFile, because it made more sense. 2026年06月15日 09:39:33 -05:00
bibleweb bibleweb: add -o ssl_verify_server=0 to w3m invocation to resolve SSL error with bible hub 2025年03月10日 17:46:33 -05:00
blogme blogme: fixed mktemp invocation in OpenBSD to be the same as Linux. 2026年05月24日 08:47:31 -05:00
blogwordcount blogwordcount: handle dates better 2026年01月14日 13:25:10 -06:00
bt New script: bt -- 2024年02月04日 17:26:59 -06:00
calc A few new scripts, one rename, and a bunch of changes: 2024年06月16日 11:30:37 -05:00
centertext centertext: replaced awk invocation with a simple hack using the builtin printf. 2026年05月29日 09:01:51 -05:00
clipboardtoprimarysel Minor updates: 2024年04月10日 07:40:10 -05:00
clipclear clipclear: now copies "(cleared) into all clipboards before clearing, in case a clipboard manager is active (but set to only keep one clipboard history, because you can't turn it of (such as in KDE Plasma)) 2026年02月04日 13:26:16 -06:00
clipdisp todo comments in three scripts 2024年11月13日 09:27:05 -06:00
clipwatch New scripts and many updates: 2023年08月04日 22:04:08 -05:00
cpubar second try's the charm. Helps to use git add, n00b ;) 2023年01月19日 06:45:33 -06:00
cpugov cpugov: just added an info comment describing what file access (under /sys) the script requires 2025年03月16日 20:46:31 -05:00
cputoggle cputoggle: removed crazy-complicated awk statement and replaced with a single flag to cputoggle (it helps to read the fine manpage!! ;) 2024年12月05日 20:28:40 -06:00
cwmstatus Updates to several scripts, mostly for OpenBSD: 2023年11月19日 23:01:41 -06:00
darkmode Two new scripts and some other changes: 2024年05月18日 15:41:45 -05:00
datestamp datestamp: simplified parsing of a couple command-line options (made more flexible/permissive) 2025年11月30日 10:39:55 -06:00
daylog second try's the charm. Helps to use git add, n00b ;) 2023年01月19日 06:45:33 -06:00
de_banner de_banner: minor fix for unbound variable error in some circumstances 2025年12月21日 22:11:46 -06:00
diceroll changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
displaywindowtitle displaywindowtitle: simplified kdotool invocation 2025年10月15日 14:39:22 -05:00
dot-bash_functions-sample dot-bash_functions-sample: replaced the old yewtu.be function with the newer invid function 2024年12月06日 21:55:33 -06:00
dotconfig-i3status-config-sample updated obsdstatus and searchall... 2023年03月14日 14:22:38 -05:00
dpilove changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
duck duck: added a --lynx option to manually trigger the use of the lynx browser 2026年05月29日 09:02:23 -05:00
duh duh: now supplies the -c option to du for a summary 2026年04月16日 21:47:58 -05:00
dwroulette fixed how the pickedLine was being calculated to make it more cross-platform, prints out a notice explaining where the data is coming from. 2026年06月22日 12:09:17 -05:00
emoji-picker emoji-picker: added "cheers" description to " 🍻" and "3.14" description to "π" 2026年06月20日 08:52:22 -05:00
extract_pixel_motionphotovideo extract_pixel_motionphotovideo: a new script (taken from [here]( https://linuxreviews.org/Google_Pixel_%22Motion_Photo%22 ) (url is in the script, in case the markdown gets stripped) which extracts the video from a Google Pixel "Motion Photo" .MP.jpg file. 2025年04月08日 11:58:02 -05:00
fbsdstatus fbsdstatus: added a little padding to the right hand side 2025年11月27日 14:43:03 -06:00
fbsduptime fbsduptime: fixed a bug I introduced by only having a single equals sign, oops! 2025年12月10日 15:45:37 -06:00
fcal Minor updates to backlight and fcal: 2024年04月11日 23:30:04 -05:00
fclist-to-csv A few new scripts, one rename, and a bunch of changes: 2024年06月16日 11:30:37 -05:00
fileage fileage: add -s mode for file age in seconds 2025年09月06日 14:26:17 -05:00
filefind filefind: now offers a terminal mode using fzf, because none of the dmenu-style programs I can find offer a word wrap feature, and sometimes file paths are just way too long to be displayed on a single line. 2026年02月19日 08:27:25 -06:00
fileparentdirfind changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
filesizebreakdown changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
findmenu Some more minor modifications: 2024年03月15日 14:59:01 -05:00
folderfind changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
fontpicker changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
fopen fopen: now no longer removes *all* command-line parameters, just the ones starting with a hyphen, so that files can be specified on the command line. 2026年06月08日 17:56:44 -05:00
formatphonenumber fortmatphonenumber: now calls "clipi -n" rather than just "clipi" to avoid unneeded newline 2024年08月08日 04:30:39 -05:00
fprun fprun: a new script that is like a terminal-based program launcher for flatpak applications (intended for terminal applications, but use it however you like!) 2025年08月10日 22:43:53 -05:00
freebsdfree added a source attribution (this git repo) comment to the beginning of several scripts 2026年06月08日 17:53:52 -05:00
frontme frontme: re-added vnc display option 2026年04月28日 22:24:49 -05:00
gorun gorun: now deletes the temporary .go source code file after successful compilation 2025年01月06日 10:09:48 -06:00
gping changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
ipscan ipscan: fix the mktemp template for Linux as well 2025年12月06日 13:38:04 -06:00
jargon added a source attribution (this git repo) comment to the beginning of several scripts 2026年06月08日 17:53:52 -05:00
kdewallpaper changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
khalagenda khalagenda: add a -v verbose/debug option, try to be a bit smarter in how it detects the age of the vdirsyncer calendar directory 2026年06月29日 10:35:32 -05:00
kjvfilter kjvfilter: add comment that this script is likely no longer maintained 2026年04月14日 11:05:57 -05:00
laserfeelings laserfeelings: fix the way the number of rolls is passed to justroll(), also add code to grab high-quality numbers from /dev/urandom, rather than bash built-in $RANDOM. 2026年03月17日 14:51:07 -05:00
LICENSE Updates to LICENSE and timetracker: 2024年05月14日 20:58:27 -05:00
linksclip linksclip: now accepts file:/// urls as well 2024年09月06日 10:52:32 -05:00
manfind manfind: added one lone little echo so that useful data wouldn't be printed at the end of a prompt 2025年05月09日 13:57:00 -05:00
mdis mdis: added -D auto option to invocation to fuzzel to fix DPI scaling issues with higher-resolution displays 2025年07月08日 13:36:19 -05:00
mkcachedir New script: mkcachedir, updates to seven others... 2023年04月03日 22:30:18 -05:00
motionwatcher changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
mousetoggle A couple updates and a new script: mousetoggle 2023年12月29日 02:58:46 -06:00
naturalscrolling changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
new_workspace Changes to four scripts: 2024年01月02日 23:07:19 -06:00
nmapscan nmapscan: changed from nmap T4 -F to nmap -p, specifying several important ports for speedier scans 2026年04月06日 09:33:33 -05:00
notice notice: use fold instead of fmt for word wrap, as it works in BSD without having to rely on gfmt (GNU coreutils) 2024年09月24日 18:11:16 -05:00
obsdstatus A few new scripts, one rename, and a bunch of changes: 2024年06月16日 11:30:37 -05:00
openbsd_lsblk openbsd_lsblk: a new script to attempt to make a roughly lsblk-like utility for OpenBSD (only, for now) 2025年05月18日 09:19:03 -05:00
patchlog fixed a typo in patchlog (double "=" instead of single in sh test) 2023年03月10日 23:18:19 -06:00
pinglog pinglog: added graph mode for a text-graphical representation of ping status over time 2025年09月12日 15:08:55 -05:00
pingwatch pingwatch: a new script that produces simple $(date) (up|down) messages via ping(8) 2025年03月26日 15:36:55 -05:00
pkg_size pkg_size: re-tooled to run under /bin/ksh rather than bash, checks for dependencies (they're all in OpenBSD base), some minor code cleanups, added set -o nounset for (hopefully) better code quality/to catch obvious bugs, and added a little "running pkg_add -mis..." message so the user knows what's happening 2026年05月04日 21:36:52 -05:00
pkgbins pkgbins, pkgsizes, searchall, system_updates_checker, updateall: add support for Solus linux eopkg 2025年02月24日 21:37:21 -06:00
pkgsizes pkgizes: changed the algorithm for FreeBSD pkg to be much simpler and faster 2025年11月28日 18:51:32 -06:00
pomodoro pomodoro: fixed a minor oopsie in how the time remaining is printed 2025年12月27日 16:46:29 -06:00
powertrack powertrack: now sets the watts (current power draw) to "0 W?" if the getWatts function returns an empty string 2026年04月06日 09:34:12 -05:00
primaryseltoclipboard Minor updates: 2024年04月10日 07:40:10 -05:00
processcheck processcheck: added COLUMNS=9999 to the ps invokation to prevent the text from being cut off in some conditions 2025年03月14日 22:41:57 -05:00
psgrep A few new scripts, one rename, and a bunch of changes: 2024年06月16日 11:30:37 -05:00
README.md khalagenda: a simple script that displays the output of khal list now 7d, but caches it so it only needs to be run once an hour. The idea is to keep it very fast so it doesn't slow down your login if you want to display your calendar list every time you log in. 2026年06月24日 16:37:38 -05:00
resetvi resetvi: new script used as a wrapper around (vanilla vi/nvi) when using sncli, because the urwid library seems to not reset the terminal properly. 2026年06月17日 16:43:54 -05:00
say changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
scrunch second try's the charm. Helps to use git add, n00b ;) 2023年01月19日 06:45:33 -06:00
searchall searchall: minor changes to how the "renderer" lynx/w3m/links are handled, because some are better suited for different applications within this script 2026年05月02日 17:23:00 -05:00
showclip Updates to several scripts, mostly for OpenBSD: 2023年11月19日 23:01:41 -06:00
smartcd smartcd: changed fzf --keep-right option to --wrap 2026年02月19日 08:29:27 -06:00
smartman smartman: added -iXF parameters to less 2025年11月30日 10:40:20 -06:00
snarfit snarfit: added "(snarf buffer is empty)" output to snarfview when the buffer file is empty (or missing) 2026年06月17日 14:32:59 -05:00
sndionotify add -a {program name} parameter to every invocation of notify-send in nine scripts that use it 2024年08月21日 12:12:16 -05:00
spongebob New script: spongebob: DiD YoU ReAlLy nEeD To wRiTe a sHeLl sCrIpT FoR ThIs?? 2026年05月10日 05:16:23 -05:00
stsizes Huge commit -- sorry, I need to make these more atomic 😁 2024年06月29日 09:44:24 -05:00
suspend suspend: fix path to pm-suspend 2025年12月20日 10:42:43 -06:00
swayrot Some more minor updates (20240521): 2024年05月21日 12:27:58 -05:00
syncthing-quick-status added a source attribution (this git repo) comment to the beginning of several scripts 2026年06月08日 17:53:52 -05:00
system_updates_checker system_updates_checker: updated to caluculate the age of files via stat and date, rather than find ... -mtime, but only for the files that are tested to be at most 1 day old, and now those files are refreshed if they're more than an hour old. 2026年06月08日 18:01:08 -05:00
temperaturechart changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
temps changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
termbar second try's the charm. Helps to use git add, n00b ;) 2023年01月19日 06:45:33 -06:00
terminaldir terminaldir: pretty old script used to "open" directories in a terminal (like when a directory is opened using xdg-open by a script). 2024年09月06日 10:57:58 -05:00
terminaldir.desktop forgot git add again, lol 2023年01月23日 06:41:48 -06:00
termsize Some very minor updates + one new script: 2023年03月20日 21:51:58 -05:00
textrot10+3 changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
textrot13 changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
theo.py theo.py, theo.sh: added some additional quotes I found on the 9front iso ;) 2026年04月24日 18:29:47 -05:00
theo.sh theo.py, theo.sh: added some additional quotes I found on the 9front iso ;) 2026年04月24日 18:29:47 -05:00
tootcounter tootcounter: fixed breakage because toot was printing ANSI color crap :P 2025年12月09日 19:11:26 -06:00
tootme added a source attribution (this git repo) comment to the beginning of several scripts 2026年06月08日 17:53:52 -05:00
tootuser tootuser: Add an option to manually do a full search anyway if a user is found in the cached file 2026年06月20日 08:53:16 -05:00
trackpad changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
tupdate tupdate: now creates the git repo in the directory specified in the script if it's not already present 2026年05月10日 05:17:57 -05:00
tut-all-users tut-all-users: changed formatting so each account would be printed on its own line with markdown-style bullets (* ) 2024年12月27日 14:01:52 -06:00
ulocate ulocate: fixed a bug where it wasn't parsing multiple options 2024年08月25日 08:27:51 -05:00
updateall updateall: now checks /etc/os-release instead of running lsb_release when looking for arch and derviative linux distros. 2026年05月13日 16:08:04 -05:00
updateuserdb updateuserdb: now ignores .stversion directories as well 2025年12月06日 13:39:54 -06:00
urlsanitize urlsanitize: changed redlib (reddit) domain from perennialte.ch to catsarch.com, as perennialte.ch seems to be having problems lately. 2026年06月22日 18:36:42 -05:00
verse New script: verse - This is my version of https://tracker.debian.org/pkg/verse , using their original data (verse selections). Optionally requires my kjvfilter script to update the Jacobian language to something more modern 2026年01月02日 13:54:17 -06:00
volume volume: fixed a problem where wob wouldn't work because of a stray % character. 2026年05月14日 18:02:49 -05:00
vrms-pacman changed #!/bin/bash shebang to #!/usr/bin/env bash for the following scripts for better cross-compatibility: 2025年11月20日 20:10:16 -06:00
windowlist windowlist: now works with kdotool and xprop, in addition to swaymsg. 2025年04月22日 17:35:22 -05:00
winresize winresize: removed some unneeded comments 2024年09月24日 18:12:17 -05:00
wofi-calc wofi-calc: add a substitute for tac for systems (BSDs) that lack it 2025年11月28日 18:52:04 -06:00
wofi-windowlist wofi-windowlist: a simple script based on the code example given in wofi(7) to present a window list to the user 2024年07月28日 01:11:08 -05:00
workspace-name A couple new scripts and a few modest changes: 2024年02月19日 08:33:41 -06:00
yt-mpv yt-mpv: NO, I did NOT have a very obvious error in the last commit. YOU SAW NOTHING. 2025年11月09日 10:59:22 -06:00

scripts

todo: update this README

Some of my scripts that I wrote, many of which I use frequently.

I've tried to add some explanatory comments to the beginning of each one

Any comments you see that look like "## needsterm ##" at the beginning of a file are tags that I sometimes use

source: https://codeberg.org/rldane/scripts

Contents:

  • LICENSE - MIT License

  • README.md - This file

  • acpi_upower - Linux script to scrape upower and produce acpi-like output. also projects total battery or charging time based on remaining and percentage

  • addscript - Creates a new script in my ~/bin or ~/bin/scripts directory, populates it with a shebang and shopt, makes it executable, and opens it in the $EDITOR

  • aptsearch - "apt search" is a little slow, and produces visually bloated output (3 lines per entry). This script calls "apt-cache search" for a slightly faster search, but also caches a list of packages from "dpkg -l" (updating if the list is over 4 hours old), and uses that to print an indication if a package in the search results is installed (like "apt search"). Since it's calling "apt-cache search," the output is a lot leaner (only one line per entry). Requires the "fileage" script in this repo

  • backlight - Control backlight in Linux and OpenBSD, useful when bound to keys like Ctrl-Super-+/-

  • battnotify - Script gets battery status in Linux and OpenBSD and sends a notification via notify-send

  • bfspell - a (b)rute (f)orce (spell)ing checker, using grep, awk, and /usr/share/dict/words

  • bibleweb - When provided a book and chapter (and optional translation) as parameters, it fetches the text from biblehub.com, does some sed processing to remove extraneous footnotes and unwanted characters, and either displays it in the terminal or using enscript and zathura

  • blogme - A script to simplify writing a pelican-style markdown blog post. Automatically fills out the header with date and title (based on first line entered)

  • blogwordcount - A script that queries a Pelican-generated blog and shows a word count (and lines, and characters, too) for each blog post. Only tested with one theme, may not work on your Pelican site

  • bt - a TUI-ish (menu-driven) front-end to bluetoothctl for simple commands like connect and disconnect

  • calc - bc-based calculator for dmenu

  • centertext - Takes text input from $* (ARGV) or STDIN and centers it, filling the left and right margins with spaces. Uses tput to get current terminal columns

  • clipboardtoprimarysel - Move contents of clipboard to primary selection buffer

  • clipclear - Clear the primary and secondary selection buffers, and clipboard

  • clipdisp - Clipboard dispatcher: runs xclip or wl-copy/paste depending on your environment

  • clipwatch - Watch the clipboard for changes and print them

  • cpubar - Prints a CPU utilization bar horizontally down the terminal

  • cpugov - Get status of or control cpu governors (similar to powerprofilesctl, but dead-simple)

  • cputoggle - provides an easy interface for turning individual CPU cores on and off. Requires that the /sys/devices/system/cpu/cpu*/online files are writeable to the user. Optionally depends on "lscpu" for a pretty status display

  • cwmstatus - Takes the output of i3bar and adds the current cwm window group number. Also calls xterm to place the bar on the bottom of the screen (will likely need tweaking for your monitor setup). Depends on obsdstatus, which in turn depends on i3status (comes with the i3/i3-gaps package)

  • darkmode - This is an experimental script to set a dark mode for gtk & qt apps. It is based on scripts found in the dark-mode.d directory of https://gitlab.com/WhyNotHugo/darkman.git

  • datestamp - a simple script to print a standard formatted datestamp or put it in the system clipboard

  • daylog - A little one-line-per day journal program. Looks for and appends to a file called daylog.txt in ~/Documents/Journal/

  • de_banner - print a little banner line describing the current terminal and window manager, compositor, or desktop environment

  • diceroll - Prints a percentage (a roll of 2D10 or 1D100), using /dev/urandom as the PRNG

  • displaywindowtitle - uses zenity to display the current window title. Useful for window managers that don't display a title bar, or for windows that may have a very long title

  • dot-bash_functions-sample - A sample of my ~/.bash_functions file. Some functions in this file are needed by two of these scripts: duh (mountpoint() (but only for OpenBSD) and pkg_size (simplify())

  • dotconfig-i3status-config-sample - A sample of my i3status config. obsdstatus and cwmstatus may be dependent on some particulars of how i3status is configured/formatted

  • dpilove - A simple script to calculate the ppi of a screen. Based loosely on the https://dpi.lv website. Created because I found that site too slow to load

  • duck - A command-line interface to DuckDuckGo, which can call a variety of graphical and terminal web browsers depending on configuration and command-line options

  • duh - Like running du -sh * |sort -h, but including hidden files and excluding mountpoints. Requires the mountpoint() function in my bash_functions sample file if on BSD (calls the mountpoint command in Linux). Note: the mountpoint() function is somewhat half-baked, but is an initial best effort at reproducing the functionality

  • dwroulette - pick a linux distro out of the current DistroWatch top 100 at random! (a shell-based web scraper)

  • emoji-picker - My fork of https://github.com/end-4/fuzzel-emoji, works in X11, Wayland, and terminal

  • extract_pixel_motionphotovideo - Extract the video from an Android MotionPhoto file to PXL_*.MP.mp4

  • fbsdstatus - insert WiFi signal quality (RSSI) information into i3status output on FreeBSD

  • fsduptime - FreeBSD reports only actual running time as uptime, rather than time since boot. This script prints uptime based on time since last boot recorded in /var/log/messages

  • fcal - The calendar filter - takes a set of days as parameters and filters the output of cal/ncal/gcal to show only those days on the calendar

  • fclist-to-csv - This script runs fc-list and dumps every possible value using the tags found in fontconfig.h Depends on XOrg (obviously) and fc-list

  • fileage - Reports the age of a file in hours. Needed by updateuserdb

  • filefind - Finds a file based on regex and uses dmenu as a picker to open it. Dependent on updateuserdb

  • fileparentdirfind - Finds a file's parent directory based on regex and uses dmenu as a picker to open it. Dependent on updateuserdb

  • filesizebreakdown - Find all the files in the current directory and gives a breakdown of storage used by each file type (by extension)

  • findmenu - A dmenu/bemenu interface for triggering the filefind/folderfind/fileparentdirfind scripts

  • folderfind - Finds a folder based on regex and uses dmenu as a picker to open it. Dependent on updateuserdb

  • fontpicker - lets the user pick a console font and uses setfont to change the console/fb font. Only tested on Debian-based and Arch-based Linux distros

  • fopen - file opener using fzf, kind of like a micro file manager for the terminal (just for opening files)

  • formatphonenumber - Simply take the clipboard, detect a (U.S.) phone number, and format it nicely, e.g., (123) 456-7890

  • fprun - FlatPak RUN - generates a list of installed flatpak apps and lets you launch one via fzf

  • freebsdfree - an implementation of Linux' free -h for FreeBSD

  • frontme - a script I adapted from someone's post (attribution is in the source code) to download and run 9front via qemu

  • gorun - a shebang handler for running go source code like scripts. Caches compiled output for faster execution using an md5 hash of the source code

  • gping - Like cpubar, shows ping times in a graphical way going down the terminal

  • ipscan - uses ping and netcat to scan the subnet for devices

  • jargon - search the jargon file, taken from the last Eric S. Raymond version

  • kdewallpaper - set the KDE Plasma wallpaper from the command line, optionally keeping a list of favorites

  • khalagenda - a simple script that quickly displays the output of khal list, but caches the output so it only needs to be ran once per hour (to keep it fast to use in your .bashrc, if you so desire)

  • kjvfilter - a sed script that attempts to filter the "Authorized Version" / "King James Bible" language into something approaching modern English.

  • linksclip - Simply look for a url in the clipboard and launch xlinks with it. relies on clipdisp (clipo) in this repo

  • manfind - implements man -K (full text search of man db) on systems lacking that function, such as the BSDs

  • mdis - menu dispatcher, detects X11 or wayland and tries to find a suitable menu utility, like dmenu, bemenu, rofi, wofi, or fuzzel

  • mkcachedir - A script I created in OpenBSD to create directories in /tmp for symlinks pointing to /tmp from ~/.cache (using RAMDisk as cache for performance).

  • motionwatcher - A script I wrote to start the 'motion' security camera app whenever the screen was locked. Hasn't been used in a while

  • mousetoggle - A simple script to toggle the mouse pointer on or off using xinput (X11 only). Written for my current OpenBSD laptop

  • naturalscrolling - Uses xinput to enable "natural" scrolling direction for trackpads

  • new_workspace - For i3wm (X11): Figure out which is the next empty workspace and switch to it

  • nmapscan - Calls nmap to scan the subnet

  • notice - a user-level motd-like utility meant to use a single text file synced between all your systems

  • obsdstatus - calls i3status and adds the missing memory usage info for OpenBSD

  • openbsd_lsblk - a simple script to produce a vaguely lsblk-like table of disks in OpenBSD

  • patchlog - Scans through the /var/syspatch directory in OpenBSD and lists the installed patch names, files, and comments

  • pinglog - Simple script to ping an ip address on the internet every minute and keep a log of internet uptime

  • pingwatch - A simple script to print up and down messages as a host becomes available/unavailable via standard ping(8)

  • pkgbins - Searches the file list for the given package names and returns the files in various bin directories (just greps for 'bin'). Works in FreeBSD, OpenBSD and Debian, RPM, and Arch-based Linux distros

  • pkg_size - OpenBSD: takes a list of packages from the command line and calls pkg_add -mis to determine the amount the filesystems would grow by if the package (and all its uninstalled depenencies) were installed. Calls the simplify function from my .bash_functions to convert any number of bytes to the largest SI unit equivalent (e.g., KiB, MiB, GiB)

  • pkgsizes - Shows all installed packages sorted by increasing size. Works on Debian, rpm, and Arch-based Linux distros and OpenBSD

  • pomodoro - because I just HAD to create my own basic pomodoro timer before I did anything else productive. 😂

  • powertrack - Linux-only: calls acpi_upower (another script here) with some parameters every 60 seconds and logs the output to ~/powerstat.txt. Useful for observing trends in power consumption and battery life in laptops

  • primaryseltoclipboard - Copies the primary selection buffer to the system clipboard

  • processcheck - Given a list of programs as args, it checks to see if they are running and prints an error if they aren't. I use this in my .bashrc to make sure that things like syncthing and redshift are running

  • psgrep - like pgrep, but shows the actual ps output, optionally summing up the memory used by all listed processes

  • resetvi - a bodge script that works around some TTY mishandling on the part of the urwid library used by sncli

  • say - Tries to find a speech synthesis program to speak the words given by STDIN or arguments

  • scrunch - lossy PNG compressor. Not as good as manually doing it in GIMP. Depends on imagemagick's convert

  • searchall - searches all package managers that I'm familiar with: apt, zypper, pacman, OpenBSD pkg_locate or https://openports.pl, yay (AUR), flatpak, snap, and brew.

  • showclip - Shows the contents of the clipboard both in X11 and Wayland

  • smartcd - relies upon my ulocate family of scripts and fzf. You give it a search path, fzf lets you pick a directory, and it goes to it

  • smartman - Calls man, falls back to using tldr if the manpage isn't found, calls back to running $command --help if tldr doesn't find anything

  • snarfit - a new script similar to clipdisp/clipi/clipo for managing a very basic "snarf" buffer ($TMPDIR/snarf.$USER)

  • sndionotify - watches sndioctl -m (OpenBSD) and sends a notification when the system volume changes

  • spongebob - DiD YoU ReAlLy nEeD To wRiTe a sHeLl sCrIpT FoR ThIs??

  • stsizes - Shows the size of syncthing folders, useful for deciding which folders to sync on a new machine with limited space

  • suspend - Simple script that syncs the buffers a couple times and calls the command to suspend the machine. For Linux, OpenBSD, and FreeBSD

  • swayrot - rotate a swaywm screen

  • syncthing-quick-status - my minor fork of https://github.com/serl/syncthing-quick-status.git

  • system_updates_checker - attempts to be a very fast script to check the recency of system updates and remind the user if updates are needed. I run it in my .bashrc on every login

  • temperaturechart - prints a temperature char down the terminal like cpubar and gping. Relies on vcgencmd (Raspberry Pi) or sensors (general Linux)

  • temps - Attempts to report current system temperature in OpenBSD and Linux.

  • termbar - My version of https://github.com/vetelko/termbar/blob/master/bars/gonzalo/termbar. I no longer use it in favor of cwmstatus

  • terminaldir.desktop - the desktop file for the terminaldir script

  • terminaldir - Spawns a terminal at a working directory given as an argument. useful when paired with terminaldir.desktop and used as the default program for opening directories (instead of opening a file manager)

  • termsize - reports the size of the terminal once or until q is pressed. Created because some terminals don't display the size of the terminal (in columns and rows) as they are being resized

  • textrot10+3 - A silly rot13 variant the rotates consonants and vowels separately, producing vaguely pronouncable output

  • textrot13 - A very basic rot13 program

  • theo.sh - Theo de Raadt insult generator — I mean... fortune printer. Adapted from https://codeberg.org/amadaluzia/theo.el

  • theo.py - ^ but Python with argument checks

  • todo-txt/timetracker - A front-end for the timetracker plugin to todo.sh that adds a lot of features

  • todo-txt/todo - A front-end for todo.sh/todo-txt which adds a lot of features

  • todo-txt/tstat - A quick status display for todo.sh

  • tootcounter - Uses toot whoami to keep a daily counter of how many toots you toot on Mastodon

  • tootme - My front-end for the toot-editor mode. Gracefully handles failures and toot-too-long conditions

  • tootuser - interactively look up a fediverse user using toot. Pick one with a menu (depends on mdis), and copy to the clipboard (depends on clipdisp)

  • trackpad - Enable and disable the trackpad. uses xinput

  • tupdate - A script I created to update the tut Mastodon TUI client using go install and git. Also installs the manpages for tut

  • tut-all-users - A simple script to get all registered userids from the accounts.toml file in ~/.config/tut/ and call tut -u {accounts} so that you can easily flip between accounts in tut

  • ulocate - my own locate script, just for files in my home directory. used by filefind/folderfind/fileparendirfind and calls updateuserdb

  • updateall - Updates all package managers I'm familiar with. Runs pkcon for KDE Neon, apt for debian-based distros, pacman for arch-based distros, zypper for OpenSuSE, yay for the AUR, syspatch and pkg_add on OpenBSD, checks freebsd-update (but doesn't update) and runs pkg upgrade on FreeBSD, and secondary sources flatpak, snap, and homebrew

  • updateuserdb - the updatedb equivalent of my ulocate command

  • urlsanitize - Attempts to sanitize links to icky websites like youtube to more human-friendly alternative front-ends like Invidious

  • verse - This is my version of https://tracker.debian.org/pkg/verse, using their original data (verse selections). Optionally requires my kjvfilter script to update the Jacobian language to something more modern

  • volume - Changes the system volume in Linux (using amixer), OpenBSD, and FreeBSD. Useful with a hotkey daemon, or a hotkey service within a tiling window manager

  • vrms-pacman - a "Virtual Richard M. Stallman" program (https://packages.debian.org/bullseye/vrms) for pacman. Usually fails miserably because far too many Arch packages lack the license info

  • windowlist - list windows in your swaywm session

  • wofi-calc - This is my fork of https://github.com/Zeioth/wofi-calc I've cleaned it up a good bit and hopefully made it more readable.

  • wofi-windowlist - wofi window switcher -- adapted from wofi(7)

  • winresize - Uses mdis to pop up a message asking what resolution to resize the window to, and then runs xdotool to select the window and then resize it. Useful when you want to resize a window to a precise value, such as setting your browser window to a very common full-screen-equivalent size to make fingerprinting more difficult.

  • workspace-name - Uses xprop to get the name of the current workspace / virtual desktop in both X11 and Wayland. Falls back to specifying the desktop number if no name is found.

  • yt-mpv - calls mpv requesting it uses yt-dlp to view the video url provided (or in the clipboard). Limits video resolution to approximately the resolution of your screen for performance and bandwith reasons