История изменений
Исправление papin-aziat, (текущая версия) :
В ~/.config/autostart (у меня гном {закомментил}) devilspie2.desktop:
[Desktop Entry]
Name=devilspie2
# Icon=preferences-system-windows
Exec=devilspie2
Terminal=false
Type=Application
# X-GNOME-Autostart-enabled=true
У меня документация в /usr/share/doc/devilspie2/README
Срипты класть в ~/.config/devilspie2
Для удобства, чтоб не запоминать, где почитать
ln -s /usr/share/doc/devilspie2/README ~/.config/devilspie2/README
Надо туда положить скриптик для дебага, чтоб получать инфу об окне, у меня как-то так
debug_print("================================================================================");
debug_print("Application: " .. get_application_name());
debug_print("Window NAME: " .. get_window_name());
debug_print("Window CLASS: " .. get_window_class());
debug_print("CLASS instance: " .. get_class_instance_name());
debug_print("Window TYPE: " .. get_window_type());
debug_print("Window ROLE: " .. get_window_role());
x, y, width, height = get_window_geometry();
debug_print("Geometry: X: "..x..", Y: "..y..", width: "..width..", height: "..height);
Теперь, когда нужное окно открыто, можно глянуть его свойства
devilspie2 -de
# Ctrl+C, чтоб не висел второй процесс
К сожалению, не все окна распознаются при открытии, например firefox очень вредный, приходится по-всякому подшаманивать.
Для окошек, к которым привязываешь события на открытии, просто кладёшь скрипты с расширением .lua в каталог. Для тех, к которым на закрытии, чуть сложнее: должен быть скрипт devilspie2.lua
, в котором указывать скипты, которые работают на закрытии окон (иначе будут работать на открытии), например
scripts_window_close = {
"foo.lua",
"bar.lua",
"another.lua"
}
После манипуляций со скриптами перезапускать devilspie2 не надо (он тупо читает каждый раз заново), но если косячил в скриптах, то лучше проверить наличие процесса (у меня падал много раз из-за косяков).
Вроде всё. Ну, и если не хватает штатных возможностей, то через os.execute
творишь любую дичь на открытии и закрытии окон типа
if (get_window_name() == "Telegram") then
os.execute("kill $(pgrep Telegram)");
end
Исправление papin-aziat, :
В ~/.config/autostart (у меня гном {закомментил}) devilspie2.desktop:
[Desktop Entry]
Name=devilspie2
# Icon=preferences-system-windows
Exec=devilspie2
Terminal=false
Type=Application
# X-GNOME-Autostart-enabled=true
У меня документация в /usr/share/doc/devilspie2/README
Срипты класть в ~/.config/devilspie2
Для удобства, чтоб не запоминать, где почитать
ln -s /usr/share/doc/devilspie2/README ~/.config/devilspie2/README
Надо туда положить скриптик для дебага, чтоб получать инфу об окне, у меня как-то так
debug_print("================================================================================");
debug_print("Application: " .. get_application_name());
debug_print("Window NAME: " .. get_window_name());
debug_print("Window CLASS: " .. get_window_class());
debug_print("CLASS instance: " .. get_class_instance_name());
debug_print("Window TYPE: " .. get_window_type());
debug_print("Window ROLE: " .. get_window_role());
x, y, width, height = get_window_geometry();
debug_print("Geometry: X: "..x..", Y: "..y..", width: "..width..", height: "..height);
Теперь, когда нужное окно открыто, можно глянуть его свойства
devilspie2 -d
# Ctrl+C, чтоб не висел второй процесс
К сожалению, не все окна распознаются при открытии, например firefox очень вредный, приходится по-всякому подшаманивать.
Для окошек, к которым привязываешь события на открытии, просто кладёшь скрипты с расширением .lua в каталог. Для тех, к которым на закрытии, чуть сложнее: должен быть скрипт devilspie2.lua
, в котором указывать скипты, которые работают на закрытии окон (иначе будут работать на открытии), например
scripts_window_close = {
"foo.lua",
"bar.lua",
"another.lua"
}
После манипуляций со скриптами перезапускать devilspie2 не надо (он тупо читает каждый раз заново), но если косячил в скриптах, то лучше проверить наличие процесса (у меня падал много раз из-за косяков).
Вроде всё. Ну, и если не хватает штатных возможностей, то через os.execute
творишь любую дичь на открытии и закрытии окон типа
if (get_window_name() == "Telegram") then
os.execute("kill $(pgrep Telegram)");
end
Исходная версия papin-aziat, :
В ~/.config/autostart (у меня гном {закомментил}) devilspie2.desktop:
[Desktop Entry]
Name=devilspie2
# Icon=preferences-system-windows
Exec=devilspie2
Terminal=false
Type=Application
# X-GNOME-Autostart-enabled=true
У меня документация в /usr/share/doc/devilspie2/README
Срипты класть в ~/.config/devilspie2
Для удобства, чтоб не запоминать, где почитать
ln -s /usr/share/doc/devilspie2/README ~/.config/devilspie2/README
Надо туда положить скриптик для дебага, чтоб получать инфу об окне, у меня как-то так
debug_print("================================================================================");
debug_print("Application: " .. get_application_name());
debug_print("Window NAME: " .. get_window_name());
debug_print("Window CLASS: " .. get_window_class());
debug_print("CLASS instance: " .. get_class_instance_name());
debug_print("Window TYPE: " .. get_window_type());
debug_print("Window ROLE: " .. get_window_role());
x, y, width, height = get_window_geometry();
debug_print("Geometry: X: "..x..", Y: "..y..", width: "..width..", height: "..height);
Теперь, когда нужное окно открыто, можно глянуть его свойства
devilspie2 -d
# Ctrl+C, чтоб не висел второй процесс
К сожалению, не все окна распознаются при открытии, например firefox очень вредный, приходится по-всякому подшаманивать.
Для окошек, к которым привязываешь события на открытии, просто кладёшь скрипты с расширением .lua в каталог. Для тех, к которым на закрытии, чуть сложнее: должен быть скрипт devilspie2.lua
, в котором указывать скипты, которые работают на закрытии окон (иначе будут работать на открытии), например
scripts_window_close = {
"foo.lua",
"bar.lua",
"another.lua"
}
После манипуляций со скриптами перезапускать devilspie2 не надо (он тупо читает каждый раз заново), но если косячил в скриптах, то лучше проверить наличие процесса (у меня падал много раз из-за косяков).
Вроде всё. Ну, и если не хватает штатных возможностей, то через os.execute
творишь любую дичь на открытии и закрытии окон типа
if (get_window_name() == "Telegram") then
os.execute("kill $(pgrep Telegram)");
end