staging.inyokaproject.org

mpv Fenster (PiP) + weitere Player

Status: Gelöst | Ubuntu-Version: Lubuntu 20.04 (Focal Fossa)
Antworten |

marant-

Anmeldungsdatum:
13. September 2021

Beiträge: 363

Vor einigen Monaten mal probiert und einige (Mathe)Anregungen aus dem Netz genommen um mpv (ggf. mehrfach) als definierte Fenster anzuzeigen. Hier zw. 2 Größen, s. Anhang.

Verbesserungen sind willkommen. (das Teil lief, das reichte mir)

zu installieren: wmctrl,xdotool

Player müssen definierte Fensternamen besitzen. Script auf Taste, schaltet im Wechsel.

#!/bin/bash
log=$HOME/resize_player.log
exec 2>> $log

breite_ges=$(xrandr | grep "*" | awk '{ print $1 }' | sed -e s/x.*$//) #ab x abschneiden
hoehe_ges=$(xrandr | grep "*" | awk '{ print $1 }' | cut -d"x" -f1) #bis x anscneiden sed -e 's!x.*!!g
breite_gross=`echo $breite_ges | awk '{printf( "%5.2f\n", $1*1.24)}' | cut -d"," -f1 | sed 's:\.[0-9]*::g'`
breite_gross2=$((breite_gross-breite_ges))
hoehe_gross=`echo $hoehe_ges | awk '{printf( "%5.2f\n", $1*1.14)}'  | cut -d"," -f1 | sed 's:\.[0-9]*::g'`
hoehe_gross2=$((hoehe_gross-hoehe_ges))
breite_klein=`echo $breite_ges | awk '{printf( "%5.2f\n", $1*1.06)}' | cut -d"," -f1 | sed 's:\.[0-9]*::g'`
breite_klein2=$((breite_klein-breite_ges))
hoehe_klein=`echo $hoehe_ges | awk '{printf( "%5.2f\n", $1*1.03)}' | cut -d"," -f1 | sed 's:\.[0-9]*::g'`
hoehe_klein2=$((hoehe_klein-hoehe_ges))
punkt_gross=`echo $breite_ges | awk '{printf( "%5.2f\n", $1*0.61)}' | sed -e s/,.*$// | sed 's:\.[0-9]*::g'` #ab , abschneiden
punkt_klein=`echo $breite_ges | awk '{printf( "%5.2f\n", $1*0.91)}' | sed -e s/,.*$// | sed 's:\.[0-9]*::g'` #ab , abschneiden

echo "$breite_ges $hoehe_ges $breite_gross $breite_gross2 $hoehe_gross $hoehe_gross2 $breite_klein $breite_klein2 $hoehe_klein $hoehe_klein2 $punkt_gross $punkt_klein" >> $log

halbe_breite=$((breite_ges / 2))
ende_rechts_abzug_breite=$((breite_ges-breite_gross2))
echo "$halbe_breite  $ende_rechts_abzug_breite" >> $log

app=0
win_name=$(xdotool getwindowfocus getwindowname)
#notify-send $win_name
if [ "$win_name" = "mpv"  ]; then 
	#xdotool key Escape  #Vollbild ex
	sleep 0.2s
	app=1
fi
if [ "$win_name" = "Kodi"  ]; then 
	app=1
fi
if [ "$win_name" = "VLC media player"  ]; then 
	app=1
fi


if [ "$app" -eq "1" ]; then
	wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
	wmctrl -r :ACTIVE: -b remove,fullsreen
	if [ -f ~/resize_player ]; then
		wmctrl -r :ACTIVE: -e "0,$halbe_breite,1,$breite_klein2,$hoehe_klein2"
		#notify-send 0,825,-9,$breite_gross2,$hoehe_klein2
		wmctrl -r :ACTIVE: -b add,above 
		rm ~/resize_player
	else
		wmctrl -r :ACTIVE: -e "0,$ende_rechts_abzug_breite,-25,$breite_gross2,$hoehe_gross2"
		#notify-send 0,825,-9,$breite_gross2,$hoehe_gross2
		wmctrl -r :ACTIVE: -b add,above 
		touch ~/resize_player
	fi
else
	notify-send exit
fi

edit. hatte Script angepasst, schaltet momentan nicht. Kommt.

Bilder
Antworten |