Herramienta para gestionar ventanas en el entorno gráfico de forma automática. Utiliza scripts en lenguaje Lua en el directorio ~/.config/devilspie2/ para describir las acciones que deben realizarse cuando se detectan ventanas específicas a medida que se crean, como cambiar el tamaño, quitar la decoración, moverlas a otro espacio de trabajo o fijarlas. Un completo manual de las opciones en https://gusnan.se/scite/devilspie2/manual.php/.
$ devilspie2 &
las reglas se escriben en un archivo .lua dentro del directorio de configuración, por ejemplo supongamos que se quiere que "Firefox" se abra en el espacio de trabajo 2:
$ nano ~/.config/devilspie2/firefox.lua
Con el siguiente contenido:
if (get_window_name() == "Mozilla Firefox") then
set_workspace(2)
end
$ nano ~/.config/devilspie2/terminal.lua
Para que una ventana llamada "Terminal" se abra en la esquina superior izquierda y cambiar su tamaño a 800x600 píxeles:
$ nano ~/.config/devilspie2/terminal.lua
if (get_window_name() == "Terminal") then
set_window_geometry(0, 0, 800, 600)
end
$ nano ~/.config/devilspie2/music_player.lua
Que la ventana llamada "Music Player" esté disponible en todos los espacios de trabajo:
if (get_window_name() == "Music Player") then
pin_window()
end
$ $ nano ~/.config/devilspie2/gedit.lua
Para aplicar reglas a todas las ventanas de "Gedit"
if (get_application_name() == "gedit") then
set_workspace(3)
maximize()
end
Para que varias terminales se abran sin decoración
$ nano ~/.config/devilspie2/terminales.lua
if get_window_class() == "Sakura" or
get_window_class() == "Terminator" or
get_window_class() == "Lxterminal" or
get_window_class() == "xfce4-terminal" or
get_window_class() == "URxvt" then
undecorate_window()
end
$ devilspie2 --debug
Para que devilpie2 inicie al arrancar el pc, por ejemplo en LXDE:
# nano /etc/xdg/lxsession/LXDE/autostart
Y añadir la linea
@devilpie2