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.