Oooh I'm hypnotized

This commit is contained in:
λmolinae 2025-05-26 01:04:13 -06:00
parent fab483191f
commit a6b87ee942
10 changed files with 98 additions and 70 deletions

13
.config/gtk-3.0/gtk.css Normal file
View file

@ -0,0 +1,13 @@
/* No (default) title bar on wayland */
headerbar.default-decoration {
/* You may need to tweak these values depending on your GTK theme */
margin-bottom: 50px;
margin-top: -100px;
}
/* rm -rf window shadows */
window.csd, /* gtk4? */
window.csd decoration { /* gtk3 */
box-shadow: none;
}

View file

@ -1,11 +1,11 @@
include=/home/amolinae/.cache/hellwal/mako-colors
sort=-time
layer=top
width=300
height=200
width=250
height=150
border-size=2
border-radius=0
padding=20
padding=16
icons=1
max-icon-size=64
default-timeout=5000

View file

@ -31,11 +31,11 @@ riverctl map normal $mod+Shift C spawn camera
riverctl map normal $mod L spawn swaylock
riverctl map normal $mod+Shift S spawn "aws -r"
riverctl map normal None Print spawn "aws -f"
riverctl map normal None Print+Shift spawn "recordscreen"
riverctl map normal None+Shift Print spawn "art"
# Super+Q to close the focused view
riverctl map normal $mod Q close
riverctl map normal $mod+Shift Q spawn powermenu
riverctl map normal $mod+Shift Q spawn "sysutils"
riverctl map normal Super Return zoom
@ -90,6 +90,7 @@ riverctl rule-add -app-id "mpv" -title "webcam" float
# Make all views with app-id "bar" and any title use client-side decorations
riverctl rule-add -app-id "librewolf" ssd
riverctl rule-add -app-id "firefox" ssd
riverctl rule-add -app-id "org.pwmt.zathura" ssd
# River will send the process group of the init executable SIGTERM on exit.
riverctl default-layout rivercarro

39
.local/bin/art Executable file
View file

@ -0,0 +1,39 @@
#!/bin/sh
#
# Show icon in slstatus:
# Video [ REC 󰑊 ]
# Audio [ REC 󰍬 ]
#
# amolinae's recording tool
screencast(){
case $(printf "%s\n" "󰍬 Mic ON" "󰍭 Mic OFF" | fuzzel -d -l 3) in
"󰍬 Mic ON")
wf-recorder -D -a -f ~/Videos/Recordings/recording_$(date +"%Y-%m-%d_%H:%M:%S.mp4") ;;
"󰍭 Mic OFF")
wf-recorder -D --audio="$(pactl list short sources | grep output | awk '{print $2}')" -f ~/Videos/Recordings/recording_$(date +"%Y-%m-%d_%H:%M:%S.mp4") ;;
esac
}
video(){
wf-recorder -D -f ~/Videos/Recordings/recording_$(date +"%Y-%m-%d_%H:%M:%S.mp4")
}
kill(){
killall -s SIGINT wf-recorder && \
notify-send "art" "Recording stopped" || \
notify-send "art" "No recording process found"
}
menu(){
case $(printf "%s\n" "󰻒 Screencast" "󰕧 Video only" "󰕨 Stop recording" | fuzzel -d -l 4) in
"󰻒 Screencast") screencast;;
"󰕧 Video only") video;;
"󰕨 Stop recording") kill;;
*) kill;;
esac
}
case "$1" in
-h) echo "usage: aws [-h]" >&2; exit 1; ;;
*) menu ;;
esac

View file

@ -1,5 +1,6 @@
#!/bin/sh
# amolinae's wayland screenshotter
notify(){
notify-send "aws" "screenshot copied to clipboard"
}

10
.local/bin/emojimenu Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
# Get user selection via fuzzel from emoji file.
chosen="$(cut -d ';' -f1 ~/.local/share/misc/chars/* | fuzzel -d -l 16 -w 32 | sed "s/ .*//")"
# Exit if none chosen.
[ -z "$chosen" ] && exit
printf "%s" "$chosen" | wl-copy
notify-send "emojimenu" "'$chosen' copied to clipboard." &

View file

@ -1,20 +0,0 @@
#!/bin/sh -x
# tofi powermenu
case $(printf "%s\n" " Lock session" "󰍃 Log out" "󰤄 Suspend" " Reboot" "󰐥 Shut down" | fuzzel -d) in
" Lock session")
swaylock
;;
"󰍃 Log out")
kill "$(pidof dwl)"
;;
"󰤄 Suspend")
loginctl suspend
;;
" Reboot")
loginctl reboot
;;
"󰐥 Shut down")
loginctl poweroff
esac

View file

@ -1,33 +0,0 @@
#!/bin/sh -x
#
# Show icon in slstatus: [ 󰕧 + 󱄠 (󰑊) ]
# [ 󰕧 + 󱄠 + 󰍬 (󰑊) ]
# [ 󰕧 (󰑊) ]
#
screencast(){
case $(printf "%s\n" "󰍬 Mic ON" "󰍭 Mic OFF" | fuzzel -d) in
"󰍬 Mic ON")
wf-recorder -D -a -f ~/Videos/Recordings/recording_$(date +"%Y-%m-%d_%H:%M:%S.mp4")
;;
"󰍭 Mic OFF")
wf-recorder -D --audio="$(pactl list short sources | grep output | awk '{print $2}')" -f ~/Videos/Recordings/recording_$(date +"%Y-%m-%d_%H:%M:%S.mp4")
;;
esac
}
video(){
wf-recorder -D -f ~/Videos/Recordings/recording_$(date +"%Y-%m-%d_%H:%M:%S.mp4")
}
kill(){
killall -s SIGINT wf-recorder && \
notify-send "wf-recorder" "recording stopped" || \
notify-send "ERROR" "No recording process found"
}
case $(printf "%s\n" "󰻒 Screencast" "󰕧 Video only" "󰕨 Stop recording" | fuzzel -d) in
"󰻒 Screencast") screencast;;
"󰕧 Video only") video;;
"󰕨 Stop recording") kill;;
*) kill;;
esac

29
.local/bin/sysutils Executable file
View file

@ -0,0 +1,29 @@
#!/bin/sh
case $(printf "%s\n" " Lock session" "󰍃 Log out" "󱂬 Kill process" "󰤄 Suspend" " Reboot" "󰐥 Shut down" | fuzzel -d -l 7) in
" Lock session")
swaylock
;;
"󰍃 Log out")
if pidof dwl > /dev/null; then
kill "$(pidof dwl)"
elif pidof river > /dev/null; then
kill "$(pidof river)"
fi
;;
"󱂬 Kill process")
ps -o pid,comm,user | \
awk -v u="$USER" '$3 == u { print $1, $2 }' | \
fuzzel -d -l 10 -p "Kill: " | awk '{ print $1 }' | \
xargs -r kill
;;
"󰤄 Suspend")
loginctl suspend
;;
" Reboot")
loginctl reboot
;;
"󰐥 Shut down")
loginctl poweroff
esac

View file

@ -1,12 +0,0 @@
#!/bin/sh
# The famous "get a menu of emojis to copy" script, ported to tofi (wayland).
# Get user selection via tofi from emoji file.
chosen=$(cut -d ';' -f1 ~/.local/share/misc/chars/* | fuzzel -d | sed "s/ .*//")
# Exit if none chosen.
[ -z "$chosen" ] && exit
printf "%s" "$chosen" | wl-copy
notify-send "'$chosen' copied to clipboard." &