reitzig / scripts

Collection of arguably useful shell scripts.
GNU General Public License v3.0
20 stars 10 forks source link
linux scripts utilities

No Maintenance Intended

Assorted Shellscripts

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.