From c7a2b3374a8601662680752da49588a7c2d50bfa Mon Sep 17 00:00:00 2001 From: Tucker Johnson Date: Sat, 16 May 2026 08:33:15 -0400 Subject: [PATCH] for-script --- Makefile | 14 +---------- extras/dmenu-scripts/dm-displayselect | 17 +++++++++++-- extras/dmenu-scripts/dm-notepick | 2 +- extras/dmenu-scripts/dm-record | 14 ++++++----- extras/dmenu-scripts/dm-zeit | 35 --------------------------- 5 files changed, 25 insertions(+), 57 deletions(-) delete mode 100755 extras/dmenu-scripts/dm-zeit diff --git a/Makefile b/Makefile index 625833d..2624d5c 100644 --- a/Makefile +++ b/Makefile @@ -48,19 +48,7 @@ install: all chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run chmod 755 $(DESTDIR)$(PREFIX)/bin/stest - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-displayselect - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-handler - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-kampv - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-maimpick - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-mountcifs - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-mounter - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-umounter - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-pass - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-record - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-streamselect - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-sysact - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-unicode - chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-zeit + chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-* mkdir -p $(DESTDIR)$(MANPREFIX)/man1 sed "s/VERSION/$(VERSION)/g" < dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1 sed "s/VERSION/$(VERSION)/g" < stest.1 > $(DESTDIR)$(MANPREFIX)/man1/stest.1 diff --git a/extras/dmenu-scripts/dm-displayselect b/extras/dmenu-scripts/dm-displayselect index 9fdd581..42df066 100755 --- a/extras/dmenu-scripts/dm-displayselect +++ b/extras/dmenu-scripts/dm-displayselect @@ -65,10 +65,22 @@ onescreen() { # If only one output available or chosen. postrun() { # Stuff to run to clean up. bgloc="${XDG_DATA_HOME:-$HOME/.local/share}/bg" - xwallpaper --zoom "$bgloc" # Fix background if screen size/arangement has changed. + xwallpaper --zoom "$bgloc" # Fix background if screen size/arrangement has changed. { killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen } +rotate() { + active=$(xrandr -q | awk '/ connected [0-9]/ {print $1}') + [ -z "$active" ] && notify-send "No active displays found." && exit 1 + display=$(echo "$active" | dmenu -i -p "Rotate which display?") + [ -z "$display" ] && exit + direction=$(printf "normal\nleft\nright\ninverted" | dmenu -i -p "Rotate $display:") + [ -z "$direction" ] && exit + xrandr --output "$display" --rotate "$direction" + bgloc="${XDG_DATA_HOME:-$HOME/.local/share}/bg" + xwallpaper --zoom "$bgloc" +} + # Get all possible displays allposs=$(xrandr -q | grep "connected") @@ -80,10 +92,11 @@ screens=$(echo "$allposs" | awk '/ connected/ {print $1}') { onescreen "$screens"; postrun; notify-send "Only one screen detected." "Using it in its optimal settings..."; exit ;} # Get user choice including multi-monitor and manual selection: -chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") && +chosen=$(printf "%s\\nmulti-monitor\\nrotate\\nmanual selection" "$screens" | dmenu -i -p "Select display arrangement:") && case "$chosen" in "manual selection") arandr ; exit ;; "multi-monitor") multimon ;; + "rotate") rotate ; exit ;; *) onescreen "$chosen" ;; esac diff --git a/extras/dmenu-scripts/dm-notepick b/extras/dmenu-scripts/dm-notepick index b78bc73..6513225 100755 --- a/extras/dmenu-scripts/dm-notepick +++ b/extras/dmenu-scripts/dm-notepick @@ -5,7 +5,7 @@ # This script is to add out-of the box features to my dmenu build. If you want # to make changes, make them in the source directory and reinstall. -folder=$HOME/Notes/ +folder="${NOTES:-$HOME/Notes}" newnote () { \ fType="$(echo -e "markdown\ngroff_ms\nspreadsheet\ncalendar" | dmenu -i -p 'File type: ')" || exit 0 diff --git a/extras/dmenu-scripts/dm-record b/extras/dmenu-scripts/dm-record index b76aa04..78f2b35 100755 --- a/extras/dmenu-scripts/dm-record +++ b/extras/dmenu-scripts/dm-record @@ -9,6 +9,8 @@ # based on a script by Luke Smith (lukesmith.xyz) +recdir="${RECORDINGS:-$HOME}" + getdim() { xrandr | grep -oP '(?<=current ).*(?=,)' | tr -d ' ' ;} updateicon() { \ @@ -35,7 +37,7 @@ screencast() { \ -f alsa -thread_queue_size 1024 -i default \ -c:v h264 \ -crf 0 -preset ultrafast -c:a aac \ - "$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" & + "$recdir/screencast-$(date '+%y%m%d-%H%M-%S').mp4" & echo $! > /tmp/recordingpid updateicon "⏺️🎙️" } @@ -46,7 +48,7 @@ video() { ffmpeg \ -s "$(getdim)" \ -i "$DISPLAY" \ -c:v libx264 -qp 0 -r 30 \ - "$HOME/video-$(date '+%y%m%d-%H%M-%S').mkv" & + "$recdir/video-$(date '+%y%m%d-%H%M-%S').mkv" & echo $! > /tmp/recordingpid updateicon "⏺️" } @@ -55,7 +57,7 @@ webcamhidef() { ffmpeg \ -f v4l2 \ -i /dev/video0 \ -video_size 1920x1080 \ - "$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" & + "$recdir/webcam-$(date '+%y%m%d-%H%M-%S').mkv" & echo $! > /tmp/recordingpid updateicon "🎥" } @@ -64,7 +66,7 @@ webcam() { ffmpeg \ -f v4l2 \ -i /dev/video0 \ -video_size 640x480 \ - "$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" & + "$recdir/webcam-$(date '+%y%m%d-%H%M-%S').mkv" & echo $! > /tmp/recordingpid updateicon "🎥" } @@ -74,7 +76,7 @@ audio() { \ ffmpeg \ -f alsa -i default \ -c:a flac \ - "$HOME/audio-$(date '+%y%m%d-%H%M-%S').flac" & + "$recdir/audio-$(date '+%y%m%d-%H%M-%S').flac" & echo $! > /tmp/recordingpid updateicon "🎙️" } @@ -108,7 +110,7 @@ videoselected() -video_size "$W"x"$H" \ -i :0.0+"$X,$Y" \ -c:v libx264 -qp 0 -r 30 \ - "$HOME/box-$(date '+%y%m%d-%H%M-%S').mkv" & + "$recdir/box-$(date '+%y%m%d-%H%M-%S').mkv" & echo $! > /tmp/recordingpid updateicon "⏺️" } diff --git a/extras/dmenu-scripts/dm-zeit b/extras/dmenu-scripts/dm-zeit deleted file mode 100755 index d7b0145..0000000 --- a/extras/dmenu-scripts/dm-zeit +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -# dmenu wrapper script for zeit project and task tracking. - -# Tucker Johnson (git.newer.systems) (tucker@newer.systems) - -# This script is to add out-of the box features to my dmenu build. If you want -# to make changes, make them in the source directory and reinstall. - -project() { \ - projName="$(dmenu -p 'Project:' < /dev/null)" - projColor="$(pastel random -n 1 | pastel format hex)" - [ -z $projName ] || notify-send "$(zeit project --color "$projColor" "$projName")" " $projName ($projColor)" -} - -track() { \ - projName="$(dmenu -p 'Project:' < /dev/null)" - taskName="$(dmenu -p 'Task:' < /dev/null)" - begin="$(dmenu -p 'Begin Time:' < /dev/null)" - if [ -z $begin ] - then - [ -z $projName ] || notify-send "$(zeit track --project "$projName" --task "$taskName" | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )" - else - [ -z $projName ] || notify-send "$(zeit track --project "$projName" --task "$taskName" --begin "$begin" | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )" - fi -} - -case "$(printf "🖲️ track\n⌛ finish\n⏲️ status\n🗒️ list\n✔️ task\n💡 project" | dmenu -i -p 'Command:')" in - '⏲️ status') notify-send "$(zeit tracking | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )" ;; - '🖲️ track') track ;; - '⌛ finish') notify-send "$(zeit finish | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )" ;; - '🗒️ list') notify-send "$(zeit list --range "today" --decimal --total | tail -n 2)" "$(zeit list --range "today" | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' | cut -c 38- | sed 's/^/◆ /' )" ;; - '💡 project') project ;; - *) exit 1 ;; -esac -- 2.39.5