Na gut, auch wenn ich nicht verstehe, warum man so was braucht, habe ich mal ein Beispiel als Script beigefügt, das das macht, was ich denke, das dies deiner Vorstellung entspricht. Ich habe dies nicht als "Einzeiler" sondern mit vielen Befehlszeilen und Kommentaren versehen, damit du den Vorschlag nach deinen Bedürfnissen anpassen kannst.
#!/bin/bash
# Voraussetzung zwei Fenster sind mittels "Super+Links" und "Super+Rechts" positioniert
# Der neue Berührungspunkt der beiden Fenster ist dort (X), wo sich die Maus befindet,
# wenn die Funktions-Taste (z.B. Super+B) gedrückt wird.
# Ermittle das Window, in dem sich die Maus befindet
eval $(xdotool getmouselocation --shell)
# Merke die Maus-Position
xMaus=$X
yMaus=$Y
# Ermittle die Fenstergröße des WINDOW
eval $(xdotool getwindowgeometry --shell $WINDOW)
# Wenn die Fensterposition x<=0 ist, handelt ist es das linke Fenster, sonst das rechte
[ $X -le 0 ] && lr="WL" || lr="WR"
# Merke dieses Fenster als W1
W1=$WINDOW
P1=$lr
WID1=$WIDTH
HIG1=$HEIGHT
X1=$X
Y1=$Y
# Wenn lr=WL, positioniere auf $((X1+WID1+100)),
# wenn lr=WR, positioniere auf 100 um das zweite Fenster zu lesen
if [ $lr == "WL" ]; then
xdotool mousemove $((X1+WID1+100)) $yMaus
else
xdotool mousemove 100 $yMaus
fi
eval $(xdotool getmouselocation --shell)
eval $(xdotool getwindowgeometry --shell $WINDOW)
W2=$WINDOW
#exec 1<>/tmp/xxx
#echo "Mausposition: $xMaus $yMaus"
if [ "$lr" == "WL" ]; then
#echo "LINKS"
#echo "LINKS: $W1, $X1, $Y1, $WID1, $HIG1"
#echo "RECHTS: $W2, $X, $Y, $WIDTH, $HEIGHT"
#echo xdotool windowsize $W1 $xMaus $Y1
#echo xdotool windowmove $W2 $xMaus $Y
#echo xdotool windowsize $W2 $((WIDTH+$WID1-xMaus)) $HEIGHT
xdotool windowsize $W1 $xMaus $Y1
xdotool windowmove $W2 $xMaus $Y
xdotool windowsize $W2 $((WIDTH+$WID1-xMaus)) $HEIGHT
else
#echo "RECHTS"
#echo "LINKS: $W2, $X, $Y, $WIDTH, $HEIGHT"
#echo "RECHTS: $W1, $X1, $Y1, $WID1, $HIG1"
#echo xdotool windowsize $W2 $xMaus $Y
#echo xdotool windowmove $W1 $xMaus $Y1
#echo xdotool windowsize $W1 $((WIDTH+$WID1-xMaus)) $HEIGHT
xdotool windowsize $W2 $xMaus $Y
xdotool windowmove $W1 $xMaus $Y1
xdotool windowsize $W1 $((WIDTH+$WID1-xMaus)) $HEIGHT
fi
# Positioniere die Maus auf die Stelle, als die Funktionstaste gedrückt wurde
xdotool mousemove $xMaus $yMaus
Bedienung: Es werden zwei Fenster mittels "Super+Links" und "Super+Rechts" auf dem Bildschirm angezeigt. Man bewegt die Maus an die Position, an der sich die beiden Fenster berühren sollen. Dann drückt man die Tastenkombination "Super+B".
Die Taste "Super+B" definiert man über die "Einstellungen" → "Tastatur" → "Tastenkürzel für Anwendungen" → "+ Hinzufügen". Wenn man das Script als "$HOME/Downloads/mm.sh" abgespeichert und exekutierbar (chmod 755) gemacht hat, trägt man in der Eingabeform (Tastenkürzelbefehl) den Befehl 'bash -c "$HOME/Downloads/mm.sh"' ein und definiert die Tastenkombination "Super+B" als Kürzel.
Ja, das Script lässt sich mächtig eindampfen aber ich hoffe, das es so für Änderungen leichter verständlich ist.