]> git.newer.systems Git - dmenu.git/commitdiff
for-script
authorTucker Johnson <tucker@newer.systems>
Sat, 16 May 2026 12:33:15 +0000 (08:33 -0400)
committerTucker Johnson <tucker@newer.systems>
Sat, 16 May 2026 12:33:15 +0000 (08:33 -0400)
Makefile
extras/dmenu-scripts/dm-displayselect
extras/dmenu-scripts/dm-notepick
extras/dmenu-scripts/dm-record
extras/dmenu-scripts/dm-zeit [deleted file]

index 625833daf4df01d918c43121045c413fbda623b3..2624d5c71827ac2319e126baeffc9c146c0d7500 100644 (file)
--- 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
index 9fdd5817ae9ab08b558c0115d2efda96de347f75..42df0666d05d5f92f3db5c7317332b26908153a8 100755 (executable)
@@ -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
 
index b78bc73bf7f6ff5e54a66a1612469997c42476c0..651322558e3c1a1c4d14d0224c48827bceab101c 100755 (executable)
@@ -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
index b76aa0482250704444d8eec05f33c380625dcfbd..78f2b35fb50ce69c18bed00c60ec93b0e6a05f71 100755 (executable)
@@ -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 (executable)
index d7b0145..0000000
+++ /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