it-swarm.com.de

Wie benutze ich Windows Snapping für Ubuntu?

Mögliches Duplikat:
Wie emuliert man die maximierten Tastenkombinationen von winkey + arrow Windows 7?

Ich versuche es mit Ubuntu und möchte, dass meine Fenster wie bei Windows 7 nach links und rechts ausgerichtet werden, wenn ich die Tastenkombinationen Fenstertaste + Pfeil verwende. Wie kann ich das machen?

13
Doug

Dies ist einfach über den CompizConfig-Einstellungsmanager zu aktivieren. (Installieren Sie es, falls noch nicht geschehen).

Aktivieren Sie dann unter Fensterverwaltung die Option Raster. Ich habe die Standardbindungen von STRG + ALT + NumPad beibehalten, aber Sie können sie ganz einfach nach Belieben ändern.

18
bitslave

Gehe hier für vollständige Anweisungen in einer für Menschen lesbaren Form von Mikes Ubuntu, (danke Mike) und hier ist der ursprüngliche Ubuntu-Forumsbeitrag (danke 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 diesen nächsten Befehlen wird ein neuer versteckter Ordner in Ihrem Basisordner erstellt, in dem die erforderlichen Skripts gespeichert sind, und Sie werden dorthin 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. Stellen Sie Folgendes ein:
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.

N.B. Compiz kann sich beschweren, dass bereits Funktionen für die Edge-Bindungen festgelegt wurden, die Sie verwenden möchten. Ersetzen Sie diese durch Ihre.

3
Tog

Einer der Unterschiede zwischen den meisten Unix-Fenstermanagern und Windows besteht darin, dass die meisten Unix-Fenstermanager einen Widerstand gegen die Bewegung von Fenstern an den Bildschirmrändern bieten. Daher benötigen Sie keine speziellen Befehle, um Fenster an den linken oder rechten Rand des Bildschirms zu verschieben. Ziehen Sie einen einfach in Richtung eines Rands, und der Vorgang wird beendet, wenn er dort ankommt. Ich kenne keine Gnome-Tastaturkürzel (derzeit der Standard-Ubuntu-Fenstermanager), mit denen Fenster verschoben werden.

2
garyjohn