clone of my dotfiles.ssp.sh
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

update

sspaeti 9ce70190 24cbbbce

+92 -1
+3 -1
hypr/.config/hypr/bindings.conf
··· 76 76 77 77 bind = SUPER CTRL, C, exec, $toggle Morgen "morgen" 78 78 79 - bind = SUPER, N, exec, $toggle obsidian "obsidian --disable-gpu" 80 79 unbind = SUPER CTRL, SPACE 81 80 bind = SUPER CTRL, SPACE, exec, ~/.config/hypr/sspaeti/emoji-fuzzy.sh 82 81 bind = SUPER SHIFT ALT, F, exec, ~/.config/hypr/sspaeti/fuzzy-file-content.sh ··· 122 121 bindd = SUPER ALT SHIFT, bracketleft, Screen record a region with audio, exec, omarchy-cmd-screenrecord region audio 123 122 bindd = SUPER CTRL, bracketleft, Screen record display, exec, omarchy-cmd-screenrecord output 124 123 bindd = SUPER CTRL SHIFT, bracketleft, Screen record display with audio, exec, omarchy-cmd-screenrecord output audio 124 + #kdenlive: no transformation needed when import, but bigger size 125 + bindd = SUPER ALT CTRL, bracketleft, Screen record for Kdenlive, exec, ~/.config/hypr/sspaeti/omarchy-cmd-screenrecord-kdenlive --with-desktop-audio 126 + 125 127 126 128 unbind = SUPER, G 127 129 unbind = SUPER SHIFT, SPACE #default for waybar in Omarchy
+89
hypr/.config/hypr/sspaeti/omarchy-cmd-screenrecord-kdenlive
··· 1 + #!/bin/bash 2 + 3 + # Wrapper around omarchy-cmd-screenrecord that produces Kdenlive-friendly recordings. 4 + # Uses CFR (constant frame rate) to avoid the "variable frame rate" transcode prompt. 5 + # Also forces CPU encoding to avoid VAAPI GPU crashes on AMD Radeon 890M (gfx1150). 6 + 7 + [[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs 8 + OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-${XDG_VIDEOS_DIR:-$HOME/Videos}}" 9 + 10 + if [[ ! -d "$OUTPUT_DIR" ]]; then 11 + notify-send "Screen recording directory does not exist: $OUTPUT_DIR" -u critical -t 3000 12 + exit 1 13 + fi 14 + 15 + DESKTOP_AUDIO="false" 16 + MICROPHONE_AUDIO="false" 17 + WEBCAM="false" 18 + STOP_RECORDING="false" 19 + 20 + for arg in "$@"; do 21 + case "$arg" in 22 + --with-desktop-audio) DESKTOP_AUDIO="true" ;; 23 + --with-microphone-audio) MICROPHONE_AUDIO="true" ;; 24 + --with-webcam) WEBCAM="true" ;; 25 + --stop-recording) STOP_RECORDING="true" 26 + esac 27 + done 28 + 29 + cleanup_webcam() { 30 + pkill -f "WebcamOverlay" 2>/dev/null 31 + } 32 + 33 + start_screenrecording() { 34 + local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" 35 + local audio_devices="" 36 + local audio_args="" 37 + 38 + [[ "$DESKTOP_AUDIO" == "true" ]] && audio_devices+="default_output" 39 + 40 + if [[ "$MICROPHONE_AUDIO" == "true" ]]; then 41 + [[ -n "$audio_devices" ]] && audio_devices+="|" 42 + audio_devices+="default_input" 43 + fi 44 + 45 + [[ -n "$audio_devices" ]] && audio_args+="-a $audio_devices" 46 + 47 + gpu-screen-recorder -w portal -f 60 -fm cfr -encoder cpu -fallback-cpu-encoding yes -o "$filename" $audio_args -ac aac & 48 + toggle_screenrecording_indicator 49 + } 50 + 51 + stop_screenrecording() { 52 + pkill -SIGINT -f "^gpu-screen-recorder" 53 + 54 + local count=0 55 + while pgrep -f "^gpu-screen-recorder" >/dev/null && [ $count -lt 50 ]; do 56 + sleep 0.1 57 + count=$((count + 1)) 58 + done 59 + 60 + if pgrep -f "^gpu-screen-recorder" >/dev/null; then 61 + pkill -9 -f "^gpu-screen-recorder" 62 + cleanup_webcam 63 + notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000 64 + else 65 + cleanup_webcam 66 + notify-send "Screen recording saved to $OUTPUT_DIR (Kdenlive-ready)" -t 2000 67 + fi 68 + toggle_screenrecording_indicator 69 + } 70 + 71 + toggle_screenrecording_indicator() { 72 + pkill -RTMIN+8 waybar 73 + } 74 + 75 + screenrecording_active() { 76 + pgrep -f "^gpu-screen-recorder" >/dev/null || pgrep -f "WebcamOverlay" >/dev/null 77 + } 78 + 79 + if screenrecording_active; then 80 + if pgrep -f "WebcamOverlay" >/dev/null && ! pgrep -f "^gpu-screen-recorder" >/dev/null; then 81 + cleanup_webcam 82 + else 83 + stop_screenrecording 84 + fi 85 + elif [[ "$STOP_RECORDING" == "false" ]]; then 86 + start_screenrecording 87 + else 88 + exit 1 89 + fi