¿Cómo usar el ajuste de ventana para Ubuntu? [duplicar]

14

Posible duplicado:
¿Cómo emular winkey + arrow Teclas de acceso directo para maximizar Windows 7?

Estoy probando Ubuntu y quiero que mis ventanas se ajusten a la izquierda y a la derecha como Windows 7 cuando uso las teclas de acceso rápido Window Key + Arrow. ¿Cómo puedo hacer esto?

Doug
fuente
Ubuntu usa Compiz para proporcionar efectos de ventana. He buscado pero no puedo ver ningún complemento oficial para Compiz que le brinde ese efecto Win 7, lo cual es una pena, ya que es una buena característica de ventana. Seguiré buscando y publicaré como respuesta si encuentro algo.

Respuestas:

18

Esto es fácil de habilitar desde el Administrador de configuración de CompizConfig. (Instálalo, si aún no lo has hecho).

Luego, en Gestión de ventanas, active la cuadrícula. He mantenido los enlaces predeterminados de CTRL + ALT + NumPad pero puedes cambiarlo fácilmente como Super + Arrow como prefieras.

Bitslave
fuente
Lo único que me falta de eso es combinar acciones. Es decir, mover la ventana hacia la derecha y hacia abajo da como resultado una ventana que se encuentra en el cuarto inferior derecho de la pantalla (similar al comportamiento de las ventanas).
kleinfreund
@kleinfreund si hace clic en el Gridbotón al lado de la casilla de verificación, hay muchas configuraciones que puede cambiar; la Corners / Edgespestaña le permite configurar el acoplamiento de esquina.
swref
Esto no funciona en Pop OS 18.10, los atajos de teclado, no hacen nada
Zach Bloomquist
4

Vaya aquí para obtener instrucciones completas en forma legible por humanos de Ubuntu de Mike, (gracias Mike) y aquí está la publicación original del foro de Ubuntu (gracias gotsanity). He comprobado esto en mi sistema, por lo que debería funcionar para usted. También he agregado y editado un poco para intentar que sea un poco más fácil de entender.

Los únicos cambios que haría en sus instrucciones es que primero verifique si tiene compiz instalado (la forma más fácil es usar el administrador de software y poner "compiz" en la ventana de búsqueda.

Si lo hace, escriba lo siguiente en una terminal: -

sudo apt-get install compizconfig-settings-manager wmctrl

De lo contrario, el administrador de configuración de compiz no estará presente en su sistema.

Abra una terminal y escriba:

xinput list

Mostrará una lista. Encuentra tu número de identificación para tu mouse. Necesitará este número en los próximos pasos. El mío era 10. El tuyo probablemente será diferente.
Estos siguientes comandos crean una nueva carpeta oculta en su carpeta de inicio para contener los scripts necesarios y lo lleva a ella.

mkdir .scripts

cd .scripts

Luego escribe

gedit compizsnap-left.sh    

Aparecerá un editor de texto. Pegue esto y luego cambie la identificación de su mouse de 11 al número de la salida del comando "xinput list". Cuando haya hecho esto, guarde el archivo.

#!/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    

Luego, haga lo mismo para los otros dos guiones. (Sin olvidar cambiar la identificación del mouse)

compizsnap-right.sh

Código:

#!/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    

Y

compizsnap-max.sh

Código:

#!/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    

(¿Se acordó de cambiar la identificación del mouse)

Ahora tenemos que decirle a Compiz cómo comportarse cuando el mouse se mueve a la derecha, arriba y a la izquierda de la pantalla.

Ejecute Sistema> Preferencias> Administrador de configuración de CompizConfig. Ve a la sección de comandos. Establezca lo siguiente:
En el campo Comando 0:

sh ~/.scripts/compizsnap-left.sh

En el campo Comando 1:

sh ~/.scripts/compizsnap-right.sh

En el campo Comando 2:

sh ~/.scripts/compizsnap-max.sh

Finalmente, vaya a la pestaña de enlaces de borde y establezca el comando 0 a la izquierda, establezca el comando 1 a la derecha y establezca el comando 2 en la parte superior.

NB Compiz puede quejarse de que ya hay funciones configuradas para los enlaces de borde que desea usar; reemplácelos con los suyos.

Ataviarse
fuente
esto funciona muy bien, ¿algún consejo sobre cómo hacer que funcione con dos monitores en la configuración TwinView?
Nathan Schwermann
2

Una de las diferencias entre la mayoría de los administradores de ventanas de Unix y Windows es que la mayoría de los administradores de ventanas de Unix ofrecen resistencia al movimiento de las ventanas en los bordes de la pantalla. Por lo tanto, no necesita ningún comando especial para mover ventanas al borde izquierdo o derecho de la pantalla; simplemente arrastre uno hacia un borde y se detendrá cuando llegue allí. No conozco ningún atajo de teclado Gnome (el administrador de ventanas estándar de Ubuntu por ahora) que mueva ventanas.

garyjohn
fuente