Yup. That’s just another submap.
$record_dir = $(xdg-user-dir VIDEOS)
$record_start1 = wf-recorder --audio -o HDMI-A-1 -f "$record_dir/$(date +'%d-%m-%y_%H-%M-%S').mp4" -c h264_nvenc & disown
$record_start2 = wf-recorder --audio -o DP-1 -f "$record_dir/$(date +'%d-%m-%y_%H-%M-%S').mp4" -c h264_nvenc & disown
$record_stop = killall -s SIGINT wf-recorder
$record_copy = f="$record_dir/$(ls -t -- "$record_dir" 2>/dev/null | head -n1)";\
if [[ -n $f ]] && (( $(date +%s) - $(stat -c %Y -- "$f") < 200 ));\
then printf 'file://%s\n' "$f" | wl-copy --type text/uri-list; notify-send "Recording copied" "$f";\
elif [[ -n $f ]];\
then notify-send "Recording" "$f failed to find file";\
else notify-send "Recording" "No recordings found";\
fi
$submap_reset = hyprctl submap reset
submap = capture, reset
bindd = ,w,[Rec] Record mon1,exec, $record_start1; $beep system-ready
bindd = ,r,[Rec] Record mon2,exec, $record_start2; $beep system-ready
bindd = ,e,[Rec] Stop recording,exec, $record_stop; $beep system-shutdown; notify-send "Recording" "Stopped";
bindd = ,q,[Rec] Quit and copy,exec, $record_stop; $beep system-shutdown; sleep 0.3; $record_copy;
bindd = ,a,[Clip] Monitor,exec, hyprshot -m output --clipboard-only
bindd = ,s,[Clip] Region,exec, hyprshot -m region -z --clipboard-only
bindd = ,d,[Clip] Active monitor,exec, hyprshot -m active -m output -z --clipboard-only
bindd = ,f,[Clip] Active window,exec, hyprshot -m active -m window -z --clipboard-only
bindd = ,z,[Save] Active monitor,exec, hyprshot -m active -m output -o $(xdg-user-dir PICTURES)/screenshots -f $(date +'%d-%m-%y_%H-%M-%S.png');
bindd = ,x,[Save] Region,exec, hyprshot -m region -o $(xdg-user-dir PICTURES)/screenshots -f $(date +'%d-%m-%y_%H-%M-%S.png');
bindd = ,c,[Save] Window,exec, hyprshot -m active -m window -o $(xdg-user-dir PICTURES)/screenshots -f $(date +'%d-%m-%y_%H-%M-%S.png');
bindd = ,escape, [Close], submap, reset
bindd = ,m,Monitor select,submap, monitor_select
bindd = $mod,t,Description test, submap, test
bindd = ,l,Layertest, submap, layer
submap = reset
submap = layer, capture
bindd = ,backspace, [Back], submap, capture
bindd = ,escape, [Close], submap, reset
submap = reset
But it’s a bit messy since i do a bunch of testing and stuff.