screenshot: add region and freeze functionality

equibop -> discord with openasar and equicord
This commit is contained in:
2 * r + 2 * t
2025-05-26 21:44:31 +08:00
parent 7fa09fa52f
commit 98cf5cbe12
4 changed files with 25 additions and 7 deletions
+2 -2
View File
@@ -3,8 +3,8 @@
"communication": {
"apps": [
{
"selector": ".class == \"equibop\"",
"spawn": "equibop",
"selector": ".class == \"discord\"",
"spawn": "discord",
"action": "spawn move"
},
{
+3 -3
View File
@@ -2,8 +2,8 @@
. (dirname (status filename))/util.fish
install-deps git
install-optional-deps 'arrpc (rich presence)'
install-deps git discord equicord-installer-bin
sudo Equilotl -install -install-openasar -location /opt/discord
set -l dist $C_DATA/discord
@@ -14,7 +14,7 @@ update-repo discord $dist
setup-systemd-monitor discord $dist
# Link themes to client configs
set -l clients discord vesktop equibop legcord $argv
set -l clients Vencord Equicord discord vesktop equibop legcord $argv
for client in $clients
if test -d $CONFIG/$client
log "Linking themes for $client"
+2 -2
View File
@@ -2,8 +2,8 @@
. (dirname (status filename))/util.fish
install-deps git hyprland-git hyprpaper-git imagemagick wl-clipboard fuzzel-git socat foot jq python xdg-user-dirs python-materialyoucolor-git app2unit-git
install-optional-deps 'equibop-bin (discord client)' 'btop (system monitor)' 'wl-screenrec (screen recorder)' 'grim (screenshot tool)' 'zen-browser (web browser)'
install-deps git hyprland-git hyprpaper-git imagemagick wl-clipboard fuzzel-git socat foot jq python xdg-user-dirs python-materialyoucolor-git app2unit-git grim wayfreeze-git wl-screenrec
install-optional-deps 'discord (messaging app)' 'btop (system monitor)' 'zen-browser (web browser)'
set -l dist $C_DATA/scripts
+18
View File
@@ -4,6 +4,24 @@
mkdir -p "$C_CACHE/screenshots"
set -l tmp_file "$C_CACHE/screenshots/$(date +'%Y%m%d%H%M%S')"
if test "$argv[1]" = 'region'
if test "$argv[2]" = 'freeze'
wayfreeze --hide-cursor & set PID $last_pid
sleep .1
end
set -l ws (hyprctl -j activeworkspace | jq -r '.id')
set -l region (hyprctl -j clients | jq -r --argjson activeWsId $ws '.[] | select(.workspace.id == $activeWsId) | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp)
if test -n "$region"
grim -l 0 -g $region - | swappy -f - &
end
set -q PID && kill $PID
exit
end
grim $argv $tmp_file; and wl-copy < $tmp_file; or exit 1
set -l action (notify-send -i 'image-x-generic-symbolic' -h "STRING:image-path:$tmp_file" \