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
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")
{ 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
# 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
# based on a script by Luke Smith (lukesmith.xyz)
+recdir="${RECORDINGS:-$HOME}"
+
getdim() { xrandr | grep -oP '(?<=current ).*(?=,)' | tr -d ' ' ;}
updateicon() { \
-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 "âşď¸đď¸"
}
-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 "âşď¸"
}
-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 "đĽ"
}
-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 "đĽ"
}
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 "đď¸"
}
-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 "âşď¸"
}
+++ /dev/null
-#!/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