Pode ser necessário remover primeiro alguns sinalizadores de maximização:
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz;\
xdotool getactivewindow windowsize 500 1080 windowmove 1420 0;\
wmctrl -r :ACTIVE: -b add,maximized_vert
Estou executando o Linux Mint 17 Canela 2.4.8.
Eu gosto muito do xdotool, mas entra em conflito com o incrível recurso de encaixe / estalo do Cinnamon.
Se eu executar o seguinte comando, NOT funcionará se a janela atual for encaixada em um canto / lado / tela inteira.
xdotool getactivewindow windowsize 500 1080 windowmove 1420 0
Eu gostaria de mantê-lo encaixado, mas com uma largura personalizada. Se não for NÃO , funciona.
Objetivo principal: encaixar uma janela no lado direito, com 500 de largura (por meio de um comando)
No entanto, é provavelmente impossível com o xdotool.
Eu preferiria não instalar mais nada, e fazer tudo com canela, mas se alguém acha que eu posso alcançar meu objetivo com o wmctrl, então vou tentar.
Pode ser necessário remover primeiro alguns sinalizadores de maximização:
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz;\
xdotool getactivewindow windowsize 500 1080 windowmove 1420 0;\
wmctrl -r :ACTIVE: -b add,maximized_vert
Este comando funciona para você (usa wmctrl
):
dist500fromright=$(('xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//''-500));y='xrandr | grep \* | awk '{print $1}' | sed 's/^.*x//'';wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$dist500fromright,0,500,$y
xrandr
gera uma lista de geometrias e o *
mostra o modo atual. Por exemplo:
$ xrandr | grep \*
1920x1200 60.0*+
Usamos awk
para capturar a primeira coluna de saída e sed
para capturar as dimensões delimitadas pelo caractere x
.
$ xrandr | grep \* | awk '{print $1}'
1920x1200
$ xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//'
1920
O Bash nos permite fazer cálculos na saída do comando, agrupando-o em $((...))
:
$ echo 5+2
5+2
$ echo $((5+2))
7
Por isso, colocamos o comando em $((...))
e subtraímos 500 para obter a posição de coordenada x 500 pixels a partir da borda direita da tela:
$ echo $(('xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//''-500))
1420
Note que, para subtrair 500 de 1920, tivemos que colocar o comando que produz 1920 nos backticks primeiro.
Definimos a saída acima para a variável dist500fromright
e fazemos algo semelhante para armazenar as dimensões y da tela na variável y
:
$ dist500fromright=$(('xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//''-500))
$ y='xrandr | grep \* | awk '{print $1}' | sed 's/^.*x//'';
Agora estamos prontos para executar o comando wmctrl
$ wmctrl -r :ACTIVE: -b add,maximized_vert
$ wmctrl -r :ACTIVE: -e 0,$dist500fromright,0,500,$y
onde o último comando é redimensionado e move a janela ativa, enquanto o primeiro permite redimensionar / mover em janelas encaixadas.
Você pode usar o wmctrl para isso,
como exemplo do antigo fórum de mate do mint linux, acho que você também pode usá-lo em canela:
wmctrl -r :ACTIVE: -e 0,0,0,width,height
Isso deve funcionar.
Se sua tela estiver em tela cheia, você deve usar:
wmctrl -r :ACTIVE: -b remove,maximized_horz,maximized_vert
wmctrl -r :ACTIVE: -e 0,0,0,width,height
fonte:
ou use ctrl + numpad para obter o local desejado
fonte: