scwrypts v5 stuff

This commit is contained in:
2025-06-04 11:44:55 -06:00
parent f6acbd3cb7
commit 882ea6ebc1
8 changed files with 129 additions and 58 deletions

View File

@@ -1,70 +1,123 @@
#!/bin/zsh
source $HOME/.config/wryn/env.zsh
export DISPLAY=:0
#####################################################################
XRANDR_RESOLUTION__4k='3840x2160'
XRANDR_RESOLUTION__1440p='2560x1440'
XRANDR_RESOLUTION__1080p='1920x1080'
XRANDR_OUTPUT__livingroom='HDMI-0'
XRANDR_OUTPUT__bedroom='DP-0'
XRANDR_OUTPUT__smol='DP-4'
XRANDR_ARGS__livingroom__4k=(--output $XRANDR_OUTPUT__livingroom --mode $XRANDR_RESOLUTION__4k --rate 119.88)
XRANDR_ARGS__livingroom__1440p=(--output $XRANDR_OUTPUT__livingroom --mode $XRANDR_RESOLUTION__1440p)
XRANDR_ARGS__livingroom__1080p=(--output $XRANDR_OUTPUT__livingroom --mode $XRANDR_RESOLUTION__1080p --rate 119.88)
XRANDR_ARGS__smol__1440p=(--output $XRANDR_OUTPUT__smol --mode $XRANDR_RESOLUTION__1440p)
XRANDR_ARGS__smol__1080p=(--output $XRANDR_OUTPUT__smol --mode $XRANDR_RESOLUTION__1080p)
#####################################################################
I3_DEFAULT_THEME_BACKGROUND=$(scwrypts -n get theme).jpg
MONITOR_CONFIGURATION=unknown
: \
&& xrandr --query | grep -q "^$XRANDR_OUTPUT__livingroom connected" \
&& xrandr --query | grep -q "^$XRANDR_OUTPUT__smol connected" \
&& xrandr --query | grep -q "^${XRANDR_OUTPUT__livingroom} connected" \
&& xrandr --query | grep -q "^${XRANDR_OUTPUT__bedroom} connected" \
&& xrandr --query | grep -q "^${XRANDR_OUTPUT__smol} connected" \
&& MONITOR_CONFIGURATION=home \
;
#####################################################################
case $1 in
( 1080 | 1080p )
XRANDR_MODE=(--mode 1920x1080)
XRANDR_OFFSET_X=1920
XRANDR_OFFSET_Y=1080
EXTRA_ARGS__livingroom=()
EXTRA_ARGS__bedroom=()
EXTRA_ARGS__smol=()
I3_BACKGROUND=link-vs-gdizz.jpg
;;
( 1440 | 1440p | 2k )
XRANDR_MODE=(--mode 2560x1440)
XRANDR_OFFSET_X=2560
XRANDR_OFFSET_Y=1440
EXTRA_ARGS__livingroom=()
EXTRA_ARGS__bedroom=()
EXTRA_ARGS__smol=()
I3_BACKGROUND=roy-art.jpg
;;
( 2160 | 2160p | 4k | '' ) # default for the RTX5080
XRANDR_MODE=(--mode 3840x2160)
XRANDR_OFFSET_X=3840
XRANDR_OFFSET_Y=2160
EXTRA_ARGS__livingroom=()
EXTRA_ARGS__bedroom=()
EXTRA_ARGS__smol=(--rate 239.99)
I3_BACKGROUND=${I3_DEFAULT_THEME_BACKGROUND[@]}
;;
( * )
echo "error : unknown resolution '$1'"
exit 1
;;
esac
XRANDR_ARGS__livingroom=(--output ${XRANDR_OUTPUT__livingroom[@]} ${XRANDR_MODE[@]} ${EXTRA_ARGS__livingroom[@]})
XRANDR_ARGS__bedroom=(--output ${XRANDR_OUTPUT__bedroom[@]} ${XRANDR_MODE[@]} ${EXTRA_ARGS__bedroom[@]})
XRANDR_ARGS__smol=(--output ${XRANDR_OUTPUT__smol[@]} ${XRANDR_MODE[@]} ${EXTRA_ARGS__smol[@]})
##########################################
source ${HOME}/.config/wryn/env.zsh
export DISPLAY=:0
###############################################################################
XRANDR_OFF() {
local MONITOR ARGS=()
for MONITOR in $@
do
MONITOR="XRANDR_OUTPUT__${MONITOR}"
ARGS+=(--output ${(P)MONITOR} --off)
done
xrandr ${ARGS[@]}
}
XRANDR_SET() {
local ERRORS=0
local COMPOSITING=enable
local SCREEN_BLANK=enable
local BACKGROUND=$(scwrypts -n get theme).jpg
local BACKGROUND=${I3_BACKGROUND}
local SOUND_EFFECT=login
local XRANDR_ARGS=()
while [[ $# -gt 0 ]]
do
case $1 in
--compositing ) COMPOSITING="$2" ; shift 1 ;;
--screen-blank ) SCREEN_BLANK="$2" ; shift 1 ;;
--background ) BACKGROUND="$2" ; shift 1 ;;
--sound-effect ) SOUND_EFFECT="$2" ; shift 1 ;;
( --compositing ) COMPOSITING="$2" ; shift 1 ;;
( --screen-blank ) SCREEN_BLANK="$2" ; shift 1 ;;
( --background ) BACKGROUND="$2" ; shift 1 ;;
( --sound-effect ) SOUND_EFFECT="$2" ; shift 1 ;;
* ) XRANDR_ARGS+=($1) ;
( * ) XRANDR_ARGS+=($1) ;
esac
shift 1
done
case $COMPOSITING in
enable ) (pkill compton; sleep 1; compton;) & ;;
disable ) pkill compton ;;
case ${COMPOSITING} in
( enable ) (pkill compton; sleep 1; compton;) & ;;
( disable ) pkill compton ;;
* )
echo "ERROR : invalid setting '$COMPOSITING' for compositing" >&2
echo "ERROR : invalid setting '${COMPOSITING}' for compositing" >&2
return 1
esac
case $SCREEN_BLANK in
case ${SCREEN_BLANK} in
enable | disable ) ;;
* )
echo "ERROR : invalid setting '$SCREEN_BLANK' for screen blank" >&2
echo "ERROR : invalid setting '${SCREEN_BLANK}' for screen blank" >&2
return 1
esac
@@ -77,8 +130,8 @@ XRANDR_SET() {
sleep 1
scwrypts desktop screen blank -- $SCREEN_BLANK
scwrypts desktop i3 set background -- $BACKGROUND || scwrypts desktop i3 set background -- purple.jpg
$DOTWRYN/bin/polybar
scwrypts desktop play sfx -- $SOUND_EFFECT
scwrypts desktop screen blank -- ${SCREEN_BLANK}
scwrypts desktop i3 set background -- ${BACKGROUND} || scwrypts desktop i3 set background -- purple.jpg
"${DOTWRYN}/bin/polybar"
scwrypts desktop play sound -- ${SOUND_EFFECT}
}