Eu consegui fazer isso (com a ajuda deste fórum), embora, se você encontrar outra solução, diga-me, pois provavelmente será mais robusta: unix.stackexchange.com/questions/40209/…
Aqui está uma versão comunitária da resposta de Yokai que incorpora exemplos oferecidos por Rudolf Olah .
Você pode usar a ferramenta chamada xdotoolpara controlar o tamanho e a localização da janela. Não só isso, qualquer script que você escrever em bash, usando xdotool, pode ser configurado para trabalhar com uma janela totalmente maximizada e pode ser programado para definir o tamanho da janela e x: y coordenadas através da manipulação do mousemovee clickcomandos.
Até onde eu sei, isso não é possível, pois o Firefox não aceita comandos para controlar a janela. Essa também é (principalmente) a responsabilidade do gerenciador de janelas, então duvido que existam parâmetros para fazer isso. No entanto, você pode controlar a janela com wmctrl , mas isso será um pouco difícil:
#!/bin/sh
firefox -new-instance -new-window "http://www.reddit.org"&# Process ID of the process we just launched
PID=$!# Window ID of the process...pray that there's # only one window! Otherwise this might break.# We also need to wait for the process to spawn# a window.while["$WID"==""];do
WID=$(wmctrl -lp | grep $PID | cut "-d "-f1)done# Set the size and location of the window# See man wmctrl for more info
wmctrl -i -r $WID -e 0,50,50,250,250
Pode haver maneiras mais inteligentes de fazer isso, e há alguns problemas de interoperabilidade com o Firefox (por exemplo, que nenhuma outra instância está em execução), mas isso deve ajudá-lo.
Apenas uma pequena nota. O redimensionamento não funcionará se a janela estiver maximizada. Portanto, você deve desativar esta propriedade primeiro com: wmctrl -i -r $ WID -b remove, maximized_vert; wmctrl -i -r $ WID -b remove, maximized_horz; Depois disso, pude redimensionar a janela do Firefox.
Ka3ak # 30/18
3
No passado, eu criei um documento HTML que definiria o tamanho da janela com Javascript e depois redirecionaria para a página que eu queria. É um truque estúpido, mas, ei, funciona.
Parece que isso não funciona mais. Aparentemente, window.resizeTo só tem efeito se a janela for um pop-up criado via window.open.
Hugomg
2
Eu não acho que isso seja possível apenas pelos comandos do shell, porque não tem nada a ver com o seu gerenciador de janelas.
Ouvi falar de wmctrl e devilspie, o que pode afetar isso. Mas duvido que exista uma maneira de conseguir isso tão simples quanto você escreveu em seu exemplo.
Eu faço isso toda hora. Eu uso DevilsPie2, no entanto, porque é mais robusto. Ele usa a linguagem de script LUA, o que não é muito difícil.
Aqui está o meu script lua para o Thunderbird, que eu quero abrir no monitor esquerdo (tela do laptop) quando for aberto:
if(get_window_name()=="Mozilla Thunderbird")then
pin_window()
set_window_geometry(50,10,1220,780)
end
where 50= X coordinate (for upper-left corner of the window)10= Y coordinate (" ")1220= window width
780= window height
Para configurar isso, você cria um diretório em sua configuração inicial (em distribuições do tipo Ubuntu) chamado devilspie2, por exemplo, /home/$USERNAME/.config/devilspie2
Para o Thunderbird, criei thunderbird.lua, embora o nome do arquivo não importe. Eu tenho um nome de arquivo diferente para cada aplicativo, mas você pode colocar tudo em um arquivo de script, se desejar. Defina devilspie2 para iniciar automaticamente quando você fizer login, por exemplo, /home/$USERNAME/.config/autostart/devilspie2.desktop
Uma observação: os scripts não precisam ser executáveis. Os meus são 664 e funcionam bem. Alguns dos outros programas que eu controle são openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload e yad. Eu uso pin_window nelas para que elas apareçam em todas as áreas de trabalho, além de outros comandos, dependendo do aplicativo.
Respostas:
Aqui está uma versão comunitária da resposta de Yokai que incorpora exemplos oferecidos por Rudolf Olah .
Você pode usar a ferramenta chamada
xdotool
para controlar o tamanho e a localização da janela. Não só isso, qualquer script que você escrever embash
, usandoxdotool
, pode ser configurado para trabalhar com uma janela totalmente maximizada e pode ser programado para definir o tamanho da janela e x: y coordenadas através da manipulação domousemove
eclick
comandos.Encontre o ID da janela:
Defina o tamanho da janela
Mover a janela
Por exemplo, se o ID da janela do Firefox for 123, você faria o seguinte:
O posicionamento inferior esquerdo terá que ser calculado com base na resolução da tela.
fonte
xdotool
,wmctrl
etc. e Ubuntu, XFCE (que eu tenho): se a janela já foi iniciada no modo de tela cheia, você não pode mais movê-lo: bugs.launchpad.net/ubuntu/+source/unity/ + bug / 971147Até onde eu sei, isso não é possível, pois o Firefox não aceita comandos para controlar a janela. Essa também é (principalmente) a responsabilidade do gerenciador de janelas, então duvido que existam parâmetros para fazer isso. No entanto, você pode controlar a janela com wmctrl , mas isso será um pouco difícil:
Pode haver maneiras mais inteligentes de fazer isso, e há alguns problemas de interoperabilidade com o Firefox (por exemplo, que nenhuma outra instância está em execução), mas isso deve ajudá-lo.
fonte
No passado, eu criei um documento HTML que definiria o tamanho da janela com Javascript e depois redirecionaria para a página que eu queria. É um truque estúpido, mas, ei, funciona.
fonte
Eu não acho que isso seja possível apenas pelos comandos do shell, porque não tem nada a ver com o seu gerenciador de janelas.
Ouvi falar de wmctrl e devilspie, o que pode afetar isso. Mas duvido que exista uma maneira de conseguir isso tão simples quanto você escreveu em seu exemplo.
fonte
Eu faço isso toda hora. Eu uso DevilsPie2, no entanto, porque é mais robusto. Ele usa a linguagem de script LUA, o que não é muito difícil.
Aqui está o meu script lua para o Thunderbird, que eu quero abrir no monitor esquerdo (tela do laptop) quando for aberto:
Para configurar isso, você cria um diretório em sua configuração inicial (em distribuições do tipo Ubuntu) chamado devilspie2, por exemplo, /home/$USERNAME/.config/devilspie2
Para o Thunderbird, criei thunderbird.lua, embora o nome do arquivo não importe. Eu tenho um nome de arquivo diferente para cada aplicativo, mas você pode colocar tudo em um arquivo de script, se desejar. Defina devilspie2 para iniciar automaticamente quando você fizer login, por exemplo, /home/$USERNAME/.config/autostart/devilspie2.desktop
Aqui está um link para uma boa página sobre várias opções disponíveis para o seu script lua: https://github.com/gusnan/devilspie2/blob/master/README
Uma observação: os scripts não precisam ser executáveis. Os meus são 664 e funcionam bem. Alguns dos outros programas que eu controle são openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload e yad. Eu uso pin_window nelas para que elas apareçam em todas as áreas de trabalho, além de outros comandos, dependendo do aplicativo.
fonte
devilspie2 --debug
)Isso não resolve o problema da posição, mas pelo menos você pode definir dimensões:
fonte