added script firefox2mpv (opens current tab in mpv)
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Version 2
|
||||||
|
# Last change: Mo 2026-06-15
|
||||||
|
# Git repo: https://git.fennek.xyz/fennek182/dotfiles
|
||||||
|
# Latest version: https://git.fennek.xyz/fennek182/dotfiles/src/branch/main/.local/bin/firefox2mpv
|
||||||
|
# Description: Open current firefox open page in mpv by using vimium extension and dotool package
|
||||||
|
|
||||||
|
# Functionality:
|
||||||
|
# this script initiates the vimium "y y" or "y f" keystroke
|
||||||
|
# to copy current tab or give highlight selection to clipboard
|
||||||
|
# in selection mode, it waits until the clipboard has changed or 5 secs have passed
|
||||||
|
|
||||||
|
# TODO: check if firefox is in focus
|
||||||
|
|
||||||
|
open_in_mpv() {
|
||||||
|
alacritty -e mpv "$1" > log.txt
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
--current)
|
||||||
|
#opens url from current tab
|
||||||
|
{ sleep 0.3; echo key z z; } | dotoolc
|
||||||
|
sleep 0.2
|
||||||
|
new_clipboard=$(wl-paste)
|
||||||
|
cmd_string="hyprctl 'dispatch hl.dsp.exec_cmd(\"mpv mpv "$(wl-paste)"\")'"
|
||||||
|
eval $cmd_string
|
||||||
|
;;
|
||||||
|
|
||||||
|
|
||||||
|
--select)
|
||||||
|
# TODO: this used to work but I'm haven't checked and used it for a while
|
||||||
|
# I'm lazy, you can try if you want :3
|
||||||
|
{ sleep 0.25; echo key z f; } | dotoolc
|
||||||
|
current_clipboard=""
|
||||||
|
new_clipboard=$(wl-paste)
|
||||||
|
wl-copy ""
|
||||||
|
i=0
|
||||||
|
|
||||||
|
# waits 4 secs max for clipboard change (0.2s *5 = 1 sec)
|
||||||
|
while [ $i -lt 20 ]
|
||||||
|
do
|
||||||
|
sleep 0.2
|
||||||
|
let "i+=1"
|
||||||
|
new_clipboard=$(wl-paste)
|
||||||
|
[[ $current_clipboard != $new_clipboard ]] && echo "clipboard neu! $new_clipboard" && break
|
||||||
|
done
|
||||||
|
|
||||||
|
[[ $current_clipboard == $new_clipboard ]] && notify-send "keine Änderung beim Clipboard festgestellt" && exit
|
||||||
|
open_in_mpv "$new_clipboard"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Reference in New Issue
Block a user