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.