Devilspie2的Lua脚本可在指定位置打开所有BlueJ应用程序。

我有一个devilspie2的.lua脚本,我正在尝试让它正常工作。此脚本的目的是将所有bluej窗口强制打开在指定位置。我只能让主窗口在指定位置启动。从主蓝J窗口打开的所有其他蓝J窗口都忽略了此规则。以下是脚本代码。

--在指定位置启动Bluej
if (get_application_name()=="bluej-Boot") then
   -- x,y坐标,xsize,ysize
   set_window_position(2655,197);
end

这是devilspie2的文档。Devilspie2

如您所见,我使用get_application_name()检查与字符串文字“bluej-boot”的匹配情况,这对主要应用程序非常有效。问题在于从bluej中打开的窗口没有相同的应用程序名称。它会重命名以匹配窗口名称。我如何识别这些窗口并对它们应用与主窗口相同的规则?

点赞
用户1181839
用户1181839

在目标窗口打开时,可以使用"-d"选项,像这样的配置文件:

gwc=get_window_class()
gwt=get_window_type()
gan=get_application_name()
gcin=get_class_instance_name()

debug_print("Window name: " .. get_window_name());
debug_print("Application name: " .. gan);
debug_print("Window type: " .. gwt);
debug_print("Window role: " .. get_window_role());
debug_print("Window class: " .. gwc);
debug_print("Class instance: " .. gcin);
x, y, width, height = get_window_geometry();
debug_print("X: "..x..", Y: "..y..", width: "..width..", height: "..height);
debug_print("--------------------------------------------------")

看看你可以使用哪些字符串来选择它们。

2014-09-18 03:07:00