a bunch of config remaps & things

This commit is contained in:
2026-05-05 14:17:43 -06:00
parent afaae932cd
commit 5528d67234
45 changed files with 280 additions and 114 deletions
+24
View File
@@ -14,6 +14,10 @@ MAIN() {
command -v ${UTIL} >/dev/null 2>&1 && break
done
case ${DESKTOP__BACKLIGHT_DEVICE} in
( xrandr-fake-brightness ) UTIL=xrandr ;;
esac
[[ ${UTIL} =~ ^enlighten$ ]] && {
CURRENT_PERCENT=$(BACKLIGHT_DEVICE=${DESKTOP__BACKLIGHT_DEVICE} enlighten | sed 's/.*(//;s/%.*//')
[[ ${CURRENT_PERCENT} -gt 60 ]] && DELTA=40
@@ -22,6 +26,22 @@ MAIN() {
[[ ${CURRENT_PERCENT} -le 10 ]] && DELTA=5
}
local UP DOWN
[[ ${UTIL} =~ ^xrandr$ ]] && {
[[ "${XRANDR_TARGET[@]}" ]] \
|| XRANDR_TARGET=$(xrandr | grep ' connected' | awk '{print $1;}')
CURRENT_BRIGHTNESS=$(xrandr --verbose | grep Brightness | awk '{print $2;}' | head -n1)
[[ ${CURRENT_BRIGHTNESS} -gt 0.80 ]] && { UP=1.00; DOWN=0.80; }
[[ ${CURRENT_BRIGHTNESS} -le 0.80 ]] && { UP=1.00; DOWN=0.60; }
[[ ${CURRENT_BRIGHTNESS} -le 0.60 ]] && { UP=0.80; DOWN=0.40; }
[[ ${CURRENT_BRIGHTNESS} -le 0.40 ]] && { UP=0.60; DOWN=0.20; }
[[ ${CURRENT_BRIGHTNESS} -le 0.20 ]] && { UP=0.40; DOWN=0.10; }
[[ ${CURRENT_BRIGHTNESS} -le 0.10 ]] && { UP=0.20; DOWN=0.05; }
[[ ${CURRENT_BRIGHTNESS} -le 0.05 ]] && { UP=0.10; DOWN=0.05; }
}
case $1 in
up )
case ${UTIL} in
@@ -32,6 +52,8 @@ MAIN() {
[[ ${CURRENT_PERCENT} -ge 99 ]] && notify.status 'at maximum brightness' && exit 0
BACKLIGHT_DEVICE=${DESKTOP__BACKLIGHT_DEVICE} enlighten +${DELTA}%
;;
( xrandr ) xrandr --output ${XRANDR_TARGET} --brightness ${UP} ;;
esac
;;
down )
@@ -50,6 +72,8 @@ MAIN() {
[[ ${CURRENT_PERCENT} -le 2 ]] && ARGS='=1%' || ARGS="-${DELTA}%"
BACKLIGHT_DEVICE=${DESKTOP__BACKLIGHT_DEVICE} enlighten "${ARGS}"
;;
( xrandr ) xrandr --output ${XRANDR_TARGET} --brightness ${DOWN} ;;
esac
;;
set )
@@ -1,5 +1,5 @@
#!/bin/zsh
use desktop/xorg/xrandr --group dotwryn
use --group dotwryn desktop/xorg/xrandr
#####################################################################
MAIN() {
+1 -1
View File
@@ -12,4 +12,4 @@ MEMO__DIR="$SCWRYPTS_DATA_PATH/memo"
[ ! -d $MEMO__DIR ] && mkdir -p $MEMO__DIR
MEMO__LIST_ALL() { ls $MEMO__DIR | sed "s/\.$MEMO__FILETYPE$//" | sort; }
${scwryptsmodule}.list-all() { ls $MEMO__DIR | sed "s/\.$MEMO__FILETYPE$//" | sort; }
+8 -6
View File
@@ -1,14 +1,16 @@
#!/usr/bin/env zsh
use office/memo
use --group dotwryn office/memo
#####################################################################
MAIN() {
local MEMO_NAME=$(MEMO__LIST_ALL | FZF_USER_INPUT 'select/create a memo')
[ ! "$MEMO_NAME" ] && user.abort
local MEMO_NAME=$(dotwryn.office.memo.list-all | utils.fzf.user-input 'select/create a memo')
[ "${MEMO_NAME}" ] || utils.abort
MEMO_FILE="$MEMO__DIR/$MEMO_NAME.$MEMO__FILETYPE"
echo.debug -v MEMO_NAME
[ ! -f $MEMO_FILE ] && {
MEMO_FILE="${MEMO__DIR}/${MEMO_NAME}.${MEMO__FILETYPE}"
[ ! -f ${MEMO_FILE} ] && {
echo.status "creating memo '$MEMO_NAME'"
echo "# $MEMO_NAME" > "$MEMO_FILE" \
&& echo.success "created memo '$MEMO_NAME'" \
@@ -19,5 +21,5 @@ MAIN() {
DATESTRING="## $(date '+%A, %B %-d, %Y')"
grep -q "$DATESTRING" "$MEMO_FILE" || echo "$DATESTRING" >> "$MEMO_FILE"
utils.io.edit "$MEMO_FILE"
utils.io.edit "${MEMO_FILE}"
}
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
#####################################################################
use system --group dotwryn
use --group dotwryn system
#####################################################################
+3 -3
View File
@@ -4,12 +4,12 @@
# symlinks to source-controlled configurations
use system/symlinks --group dotwryn
use --group dotwryn system/symlinks
# compile source-controlled terminfo files
use system/terminfo --group dotwryn
use --group dotwryn system/terminfo
# common argument parsing
use system/zshparse --group dotwryn
use --group dotwryn system/zshparse
+4
View File
@@ -6,3 +6,7 @@ media-sync:
.ENVIRONMENT: MEDIA_SYNC__S3_BUCKET
targets:
.ENVIRONMENT: MEDIA_SYNC__TARGETS
mscore:
scores-path:
.ENVIRONMENT: MSCORE__SCORES_PATH
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env zsh
#####################################################################
use audio/play-sfx --group media
use --group media audio/play-sfx
#####################################################################
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
#####################################################################
use audio/pulseaudio/volume --group media
use --group media audio/pulseaudio/volume
#####################################################################
@@ -2,7 +2,7 @@
#####################################################################
use notify
use audio/play-sfx --group media
use --group media audio/play-sfx
DEPENDENCIES+=(pactl)
+3 -3
View File
@@ -4,11 +4,11 @@
# synchronize cloud media with configured targets
use cloud/synchronize --group media
use --group media cloud/synchronize
# synchronize cloud media with a specific target
use cloud/synchronize-target --group media
use --group media cloud/synchronize-target
# common parsers
use cloud/zshparse --group media
use --group media cloud/zshparse
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env zsh
#####################################################################
use cloud --group media
use --group media cloud
#####################################################################
@@ -3,7 +3,7 @@
REQUIRED_ENV+=(MEDIA_SYNC__S3_BUCKET)
use cloud/aws
use cloud/zshparse/actions --group media
use --group media cloud/zshparse/actions
#####################################################################
+2 -2
View File
@@ -2,8 +2,8 @@
REQUIRED_ENV+=(MEDIA_SYNC__TARGETS)
use cloud/synchronize-target --group media
use cloud/zshparse/actions --group media
use --group media cloud/synchronize-target
use --group media cloud/zshparse/actions
#####################################################################
@@ -2,4 +2,4 @@
# common parsers for cloud media synchronization
#
use cloud/zshparse/actions --group media
use --group media cloud/zshparse/actions
+2 -2
View File
@@ -5,5 +5,5 @@
DEPENDENCIES+=(ffmpeg)
use ffmpeg/get-audio-clip-from-video --group media
use ffmpeg/get-video-length-seconds --group media
use --group media ffmpeg/get-audio-clip-from-video
use --group media ffmpeg/get-video-length-seconds
@@ -2,7 +2,7 @@
DEPENDENCIES+=(ffmpeg)
use ffmpeg/get-video-length-seconds --group media
use --group media ffmpeg/get-video-length-seconds
#####################################################################
+9
View File
@@ -0,0 +1,9 @@
#####################################################################
DEPENDENCIES+=(mscore)
#####################################################################
${scwryptsmodule}.cli() {
QT_QPA_PLATFORM=offscreen mscore $@
}
+14
View File
@@ -0,0 +1,14 @@
#
# render / upload tools for MuseScore
#
# context wrapper for MuseScore CLI
use --group media mscore/cli
eval "${scwryptsmodule}() { ${scwryptsmodule}.cli \$@; }"
# render pdf from MuseScore file
use --group media mscore/render
# common parsers
use --group media mscore/zshparse
+23
View File
@@ -0,0 +1,23 @@
#####################################################################
use --group media mscore/cli
use --group media mscore/zshparse/filename
#####################################################################
${scwryptsmodule}.pdf() {
eval "$(USAGE.reset)"
local \
MSCORE_FILENAME \
PARSERS=(
media.mscore.zshparse.filename
)
eval "$ZSHPARSEARGS"
##########################################
}
@@ -0,0 +1,72 @@
REQUIRED_ENV+=(MSCORE__SCORES_PATH)
${scwryptsmodule}() {
# local MSCORE_FILENAME
local PARSED=0
case $1 in
( --filename )
PARSED=2
MSCORE_FILENAME="$2"
;;
esac
return $PARSED
}
#####################################################################
${scwryptsmodule}.usage() {
USAGE__options+="
--filename <string> a valid mscore filename
"
}
${scwryptsmodule}.validate() {
case "${MSCORE_FILENAME}" in
( '' )
MSCORE__SCORES_PATH
MSCORE_FILENAME="$(cd "${MSCORE__SCORES_PATH}"; find . -type f | grep '\.msc[zx]$' | utils.fzf 'select a score')"
[ "${MSCORE_FILENAME}" ] && [ -f "${MSCORE__SCORES_PATH}/${MSCORE_FILENAME}" ] \
|| ERROR "invalid score '${MSCORE_FILENAME}'"
MSCORE_FILENAME="${MSCORE__SCORES_PATH}/${MSCORE_FILENAME}"
;;
( * )
[ -f "${MSCORE_FILENAME}" ] \
|| ERROR "no score '${MSCORE_FILENAME}' exists"
;;
esac
[[ ${ERRORS} -eq 0 ]] || return
local TEMP_PATH="${SCWRYPTS_TEMP_PATH}/mscore"
local MSCORE_BASENAME="$(basename -- ${MSCORE_FILENAME} | sed 's/\.[^.]*$//')"
local TEMP_FILE="${TEMP_PATH}/${MSCORE_BASENAME}.mscx"
case "${MSCORE_FILENAME}" in
( *.mscz )
mkdir -p "${TEMP_PATH}/zip"
{
cp "${MSCORE_FILENAME}" "${TEMP_PATH}/zip/${MSCORE_BASENAME}.zip"
cd "${TEMP_PATH}/zip"
unzip "${MSCORE_BASENAME}.zip"
cp "./${MSCORE_BASENAME}.mscx" "${TEMP_FILE}"
}
;;
( *.mscx )
mkdir -p "${TEMP_PATH}"
cp "${MSCORE_FILENAME}" "${TEMP_FILE}"
;;
esac
[ -f "${TEMP_FILE}" ] \
&& MSCORE_FILENAME="${TEMP_FILE}" \
|| ERROR "failed to extract '${TEMP_FILE}'" \
|| MSCORE_FILENAME='' \
;
}
@@ -0,0 +1,6 @@
#
# common parsers for MuseScore actions
#
# helpers to get/select filenames for MuseScore
use --group media mscore/zshparse/filename
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
#####################################################################
use youtube --group media
use --group media youtube
#####################################################################
+3 -3
View File
@@ -1,8 +1,8 @@
#####################################################################
use youtube/yt-dlp --group media
use youtube/get-filename --group media
use youtube/get-download-path --group media
use --group media youtube/yt-dlp
use --group media youtube/get-filename
use --group media youtube/get-download-path
#####################################################################
+2 -2
View File
@@ -1,7 +1,7 @@
#!/bin/zsh
use ffmpeg/get-audio-clip-from-video --group media
use youtube/get-download-path --group media
use --group media ffmpeg/get-audio-clip-from-video
use --group media youtube/get-download-path
#####################################################################
@@ -1,6 +1,6 @@
#####################################################################
use youtube/yt-dlp --group media
use --group media youtube/yt-dlp
#####################################################################
+3 -3
View File
@@ -4,12 +4,12 @@
# download a youtube video by URL
use youtube/download --group media
use --group media youtube/download
# show fully-qualified path to downloads
use youtube/get-download-path --group media
use --group media youtube/get-download-path
# interact with yt-dlp directly
use youtube/yt-dlp --group media
use --group media youtube/yt-dlp
+1 -1
View File
@@ -1,6 +1,6 @@
#####################################################################
use youtube/get-download-path --group media
use --group media youtube/get-download-path
#####################################################################
+2 -2
View File
@@ -1,6 +1,6 @@
#!/bin/zsh
use bastion --group remote
use config --group remote
use --group remote bastion
use --group remote config
#####################################################################
USAGE__options="
+3 -3
View File
@@ -1,6 +1,6 @@
#!/bin/zsh
use bastion --group remote
use config --group remote
use --group remote bastion
use --group remote config
DEPENDENCIES+=(timeout ssh)
#####################################################################
@@ -24,7 +24,7 @@ USAGE__description='
MAIN() {
local CONNECTION_STRING REMOTE_NAME
local TIMEOUT_SECONDS=3
local TIMEOUT_SECONDS=5
local COMMAND='echo OK &>/dev/null'
local USE_BASTION
while [[ $# -gt 0 ]]
+1 -1
View File
@@ -3,7 +3,7 @@
# must work as a standalone zsh script
#
eval "$(scwrypts --config)" \
&& use omni --group remote \
&& use --group omni \
&& utils.check-environment \
|| { echo 'scwrypts config error; aborting' >&2; sleep 5; return 1; }