Me las arreglé para hacer esto (con la ayuda de este foro), aunque si encuentra alguna otra solución, dígame ya que probablemente será más robusto: unix.stackexchange.com/questions/40209/…
Aquí hay una versión comunitaria de la respuesta de Yokai que incorpora ejemplos ofrecidos por Rudolf Olah .
Puede usar la herramienta llamada xdotoolpara controlar el tamaño y la ubicación de la ventana. No solo eso, cualquier script que escriba bash, que se use xdotool, se puede configurar para que funcione con una ventana totalmente maximizada y se puede programar para establecer el tamaño de la ventana y las coordenadas x: y manipulando los comandos mousemovey click.
Hasta donde sé, esto no es posible ya que Firefox no acepta comandos para controlar la ventana. Esa es también (principalmente) la responsabilidad del administrador de ventanas, por lo que dudo que alguna vez haya parámetros para hacerlo. Sin embargo, puede controlar la ventana con wmctrl , pero eso será un poco 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
Puede haber formas más inteligentes de hacerlo, y hay algunos problemas de interoperabilidad con Firefox (por ejemplo, que no se está ejecutando ninguna otra instancia), pero debería ayudarlo a continuar.
Solo una pequeña nota. El cambio de tamaño no funcionará si la ventana está maximizada. Por lo tanto, primero debe desactivar esta propiedad con: wmctrl -i -r $ WID -b remove, maximized_vert; wmctrl -i -r $ WID -b eliminar, maximized_horz; Después de eso pude cambiar el tamaño de la ventana de Firefox.
ka3ak
3
En el pasado, creé un documento HTML que establecería el tamaño de la ventana con Javascript y luego redirigiría a la página que quería. Es un truco estúpido pero, bueno, funciona.
Parece que esto ya no funciona. Aparentemente, window.resizeTo solo tiene un efecto si la ventana es una ventana emergente creada a través de window.open.
hugomg
2
No creo que esto sea posible solo mediante comandos de shell, porque no tiene nada que ver con su administrador de ventanas.
Escuché de wmctrl y devilspie que pueden afectar esto. Pero dudo que haya una manera de lograrlo tan simple como escribió en su ejemplo.
Hago esto todo el tiempo. Sin embargo, uso DevilsPie2 porque es más robusto. Utiliza el lenguaje de script LUA, que no es muy difícil.
Aquí está mi script lua para Thunderbird, que quiero abrir en el monitor izquierdo (pantalla de la computadora portátil) cuando se abre:
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 esto, crea un directorio en su configuración de inicio (en distribuciones similares a Ubuntu) llamado devilspie2, por ejemplo /home/$USERNAME/.config/devilspie2
Para Thunderbird, creé thunderbird.lua, aunque el nombre de archivo no importa. Tengo un nombre de archivo diferente para cada aplicación, aunque puede poner todo en un archivo de script si lo desea. Configure devilspie2 para que se inicie automáticamente cuando inicie sesión, por ejemplo /home/$USERNAME/.config/autostart/devilspie2.desktop
Una nota: los scripts no tienen que ser ejecutables. Los míos son 664 y funcionan bien. Algunos de los otros programas que controlo son openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload, y yad. Utilizo pin_window en ellos para que aparezcan en todos los escritorios, además de otros comandos dependiendo de la aplicación.
Respuestas:
Aquí hay una versión comunitaria de la respuesta de Yokai que incorpora ejemplos ofrecidos por Rudolf Olah .
Puede usar la herramienta llamada
xdotool
para controlar el tamaño y la ubicación de la ventana. No solo eso, cualquier script que escribabash
, que se usexdotool
, se puede configurar para que funcione con una ventana totalmente maximizada y se puede programar para establecer el tamaño de la ventana y las coordenadas x: y manipulando los comandosmousemove
yclick
.Encuentra la ID de la ventana:
Establecer el tamaño de la ventana
Mover la ventana
Por ejemplo, si la identificación de la ventana para Firefox es 123, haría esto:
El posicionamiento de la parte inferior izquierda deberá calcularse según la resolución de su pantalla.
fuente
xdotool
,wmctrl
etc. y Ubuntu, XFCE (que tengo): si la ventana ya se ha lanzado en modo de pantalla completa, ya no puede moverla: bugs.launchpad.net/ubuntu/+source/unity/ + error / 971147Hasta donde sé, esto no es posible ya que Firefox no acepta comandos para controlar la ventana. Esa es también (principalmente) la responsabilidad del administrador de ventanas, por lo que dudo que alguna vez haya parámetros para hacerlo. Sin embargo, puede controlar la ventana con wmctrl , pero eso será un poco difícil:
Puede haber formas más inteligentes de hacerlo, y hay algunos problemas de interoperabilidad con Firefox (por ejemplo, que no se está ejecutando ninguna otra instancia), pero debería ayudarlo a continuar.
fuente
En el pasado, creé un documento HTML que establecería el tamaño de la ventana con Javascript y luego redirigiría a la página que quería. Es un truco estúpido pero, bueno, funciona.
fuente
No creo que esto sea posible solo mediante comandos de shell, porque no tiene nada que ver con su administrador de ventanas.
Escuché de wmctrl y devilspie que pueden afectar esto. Pero dudo que haya una manera de lograrlo tan simple como escribió en su ejemplo.
fuente
Hago esto todo el tiempo. Sin embargo, uso DevilsPie2 porque es más robusto. Utiliza el lenguaje de script LUA, que no es muy difícil.
Aquí está mi script lua para Thunderbird, que quiero abrir en el monitor izquierdo (pantalla de la computadora portátil) cuando se abre:
Para configurar esto, crea un directorio en su configuración de inicio (en distribuciones similares a Ubuntu) llamado devilspie2, por ejemplo /home/$USERNAME/.config/devilspie2
Para Thunderbird, creé thunderbird.lua, aunque el nombre de archivo no importa. Tengo un nombre de archivo diferente para cada aplicación, aunque puede poner todo en un archivo de script si lo desea. Configure devilspie2 para que se inicie automáticamente cuando inicie sesión, por ejemplo /home/$USERNAME/.config/autostart/devilspie2.desktop
Aquí hay un enlace a una buena página sobre varias opciones disponibles para su script lua: https://github.com/gusnan/devilspie2/blob/master/README
Una nota: los scripts no tienen que ser ejecutables. Los míos son 664 y funcionan bien. Algunos de los otros programas que controlo son openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload, y yad. Utilizo pin_window en ellos para que aparezcan en todos los escritorios, además de otros comandos dependiendo de la aplicación.
fuente
devilspie2 --debug
)Esto no resuelve el problema de la posición, pero al menos puede establecer dimensiones:
fuente