Gehen Sie hier für volle Anweisungen in einer für Menschen lesbaren Form von Mikes Ubuntu, (danke Mike) und hier ist das Original Ubuntu Forum Post (dank gotsanity). Ich habe dies auf meinem System überprüft, damit es für Sie funktionieren sollte. Ich habe auch ein wenig hinzugefügt und bearbeitet, um es ein bisschen verständlicher zu machen.
Die einzigen Änderungen, die ich an seinen Anweisungen vornehmen würde, sind, dass Sie zuerst überprüfen, ob Sie compiz installiert haben (der einfachste Weg ist, den Software-Manager zu verwenden und "compiz" in das Suchfenster zu setzen.
Wenn Sie dies tun, geben Sie Folgendes in ein Terminal ein: -
sudo apt-get install compizconfig-settings-manager wmctrl
Andernfalls ist der compiz settings manager auf Ihrem System nicht vorhanden.
Öffnen Sie ein Terminal und geben Sie Folgendes ein:
xinput list
Es wird eine Liste angezeigt. Finden Sie Ihre ID-Nummer für Ihre Maus. Diese Nummer benötigen Sie in den nächsten Schritten. Meins war 10. Ihr wird sehr wahrscheinlich anders sein.
Mit den folgenden Befehlen wird ein neuer versteckter Ordner in Ihrem Basisordner erstellt, in dem die erforderlichen Skripts gespeichert sind, und Sie werden in diesen Ordner verschoben.
mkdir .scripts
cd .scripts
Dann tippe
gedit compizsnap-left.sh
Ein Texteditor wird geöffnet. Fügen Sie dies ein und ändern Sie dann Ihre Maus-ID von 11 in die Zahl aus der Ausgabe des Befehls "xinput list". Wenn Sie dies getan haben, speichern Sie die Datei.
#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#
MOUSE="11"
# ----- Don't edit below this line unless you know what you are doing.
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2-10))
echo $WIDTH
TEMPWIDTH=$(($WIDTH-10))
echo $TEMPWIDTH
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
do
echo 'button pressed'
done
if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[0\]=." | sed s/"valuator\[0\]="//)" -le 10 ]
then
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,0,0,$HALF,-10
else
echo "exiting without matching"
exit 1
fi
else
echo "exiting because button isnt "
exit 1
fi
Führen Sie dann dasselbe für die anderen beiden Skripte aus. (Nicht zu vergessen, die Maus-ID zu ändern)
compizsnap-right.sh
Code:
#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#
MOUSE="11"
# ----- Don't edit below this line unless you know what you are doing.
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2))
echo $WIDTH
TEMPWIDTH=$(($WIDTH-10))
echo $TEMPWIDTH
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
do
echo 'button pressed'
done
if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[0\]=." | sed s/"valuator\[0\]="//)" -ge $TEMPWIDTH ]
then
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$HALF,0,$HALF,-1
else
echo "exiting without matching"
exit 1
fi
else
echo "exiting because button isnt "
exit 1
fi
Und
compizsnap-max.sh
Code:
#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#
MOUSE="11"
# ----- Don't edit below this line unless you know what you are doing.
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
do
echo 'button pressed'
done
if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[1\]=." | sed s/"valuator\[1\]="//)" -le 10 ]
then
wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
else
echo "exiting without matching"
exit 1
fi
else
echo "exiting because button isnt "
exit 1
fi
(Haben Sie daran gedacht, die Maus-ID zu ändern)
Jetzt müssen wir compiz mitteilen, wie es sich verhalten soll, wenn sich die Maus nach rechts, oben und links auf dem Bildschirm bewegt.
Führen Sie System> Preferences> CompizConfig Settings Manager aus. Gehen Sie zum Befehlsbereich. Legen Sie Folgendes fest:
Im Feld Befehl 0:
sh ~/.scripts/compizsnap-left.sh
Im Feld Befehl 1:
sh ~/.scripts/compizsnap-right.sh
Im Feld Befehl 2:
sh ~/.scripts/compizsnap-max.sh
Wechseln Sie schließlich zur Registerkarte "Kantenbindungen" und setzen Sie den Befehl 0 auf "links", den Befehl 1 auf "rechts" und den Befehl 2 auf "oben".
NB Compiz kann sich darüber beschweren, dass bereits Funktionen für die Kantenbindungen festgelegt wurden, die Sie verwenden möchten. Ersetzen Sie diese durch Ihre.