Vá aqui para ver instruções em um formato legível pelo Mike's Ubuntu, (obrigado Mike) e aqui é o post do fórum original do Ubuntu (obrigado gotsanity). Eu verifiquei isso no meu sistema por isso deve funcionar para você. Eu também adicionei e editei um pouco para tentar torná-lo um pouco mais fácil de entender.
As únicas mudanças que eu faria em suas direções é que você primeiro verifique se você tem o compiz instalado (a maneira mais fácil é usar o gerenciador de software e colocar "compiz" na janela de busca.
Se você fizer isso, digite o seguinte em um terminal: -
sudo apt-get install compizconfig-settings-manager wmctrl
Caso contrário, o gerenciador de configurações do compiz não estará presente em seu sistema.
Abra um terminal e digite:
xinput list
Ele irá exibir uma lista. Encontre o seu número de identificação para o seu mouse. Você precisará deste número nas próximas etapas. O meu era 10. O seu provavelmente será diferente.
Esses próximos comandos criam uma nova pasta oculta na sua pasta pessoal para manter os scripts necessários e movê-lo para ela.
mkdir .scripts
cd .scripts
Em seguida, digite
gedit compizsnap-left.sh
Um editor de texto aparecerá. Cole isso e, em seguida, mude o ID do mouse de 11 para o número da saída do comando "xinput list". Quando você tiver feito isso, salve o arquivo.
#!/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
Depois, faça o mesmo com os outros dois scripts. (Não esquecendo de mudar o ID do 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
e
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
(Você se lembra de mudar o ID do mouse)
Agora precisamos dizer ao compiz como se comportar quando o mouse se move para a direita, para cima e para a esquerda da tela.
Executar sistema > Preferências > Gerenciador de configurações CompizConfig. Vá para a seção de comando. Defina o seguinte:
No campo Comando 0:
sh ~/.scripts/compizsnap-left.sh
No campo Comando 1:
sh ~/.scripts/compizsnap-right.sh
No campo Comando 2:
sh ~/.scripts/compizsnap-max.sh
Finalmente, vá para a aba de bindings de borda e defina o comando 0 para a esquerda, defina o comando 1 para a direita e defina o comando 2 para o topo.
N.B. O Compiz pode reclamar que já existem funções definidas para as ligações de borda que você deseja usar - substitua-as pelas suas.