This a just a collection of arguably useful shell scripts.
⚠️ These are updated on the basis of "do I need something right now". Use at your own risk.
addcovers.rb
Picks up album covers from canonical local locations, and adds them to MP3 and FLAC files.
aquax
Like pkgx
but driven by aquaproj/aqua.
canonical_imgname
Derives a canonical filename for photos using EXIF data or certain filename patterns;
the format is YYYY-MM-DD hh.mm.ss
, that is for example 2021-09-09 11.25.38
.
canonify_imgnames
Renames images using EXIF data or certain filename patterns so that they conform to a standard, datetime-based naming scheme.
charge-reminder.go
Periodically checks the current battery level and alerts the user if it is low (and not charging).
imgs2pdf
Uses LaTeX to create a (portrait A4) PDF from the images passed as parameters. Shrinks images to fit the page.
mkimgpage.rb
Takes a Markdown file with special image tags and creates an image gallery from it. Comes with a style and footer you might want to adapt.
music2thumb.rb
Copies music files to a thumbdrive/music player, converting down to the best format your player supports and renaming for FAT32 compatibility.
pavol.rb
Controls pulseaudio volume via shell. Since pulseaudio has a crappy CLI interface, this is useful if you want to assign media hotkeys their proper function under less flashy window managers such as Fluxbox.
pdfinvert
In its basic mode, this script inverts all colors in a PDF, including embedded images. You can also specify a more carefully chosen set of color replacement rules.
Note: Deprecated in favor of pdfinvert.rb
as of af81254
pdfinvert.rb
In its basic mode, this script inverts all colors in a PDF, including embedded images. You can also specify a more carefully chosen set of color replacement rules and exclude images from the conversion.
pdfsplitk
Splits PDFs into constant-sized chunks. Useful if you create bulk letters, numbered exams or similar and need one file per instance, e.g. for stapling printers.
pullphotos
Downloads photos from compatible cameras without resorting to mounting them as mass-storage devices. Also rotates them according to information provided by the camera.
rmd2html
An elementary one-liner that compiles Rmd files into HTML.
rmobsraw.rb
Removes obsolete RAW image files, i.e. such whose companion JPGs have been deleted.
screen_setup
Provides a narrow interface to xrandr that allows you to switch easily between single, dual, and mirror screen setups. Tries to avoid some pitfalls like enabled but disconnected displays.
shelve-media
Interactively work through a list of photos, videos and other media, and sort them into your folder-based collection.
showqr
Renders and displays text as qr-code.
ssh-print.rb
A simple script that creates a printable PDF backup of an SSH key. Does currently not include any error handling.
switchkbl
Rotates through a set of hard-coded (but easily changed) keyboard layouts. Useful for tying to a shortcut (or direct use) under window managers that do not have convenient support for multiple layouts.
tlwhich
Ever wondered which package provided that one LaTeX command you remember? TeX Live Which looks for command, environment, package and document class definitions in your local TeX Live installation.
tikz2png
Converts TikZ images specified in their own file to PNG. Check the script for quality settings.
tikz2svg
Converts TikZ images specified in their own file to SVG.
transpose-latex-table.rb
Transposes a regular LaTeX tabular
table.
watch
Wraps omxplayer
to avoid a couple of usability issues, e.g.
xdg-mime-which
Determines in which file the XDG default application for the given MIME type is set.