Devilspie 2
Devilspie 2
软件
软件描述
窗口匹配工具,允许用户在创建 X11 窗口时执行脚本化操作:将窗口置于特定工作区。
官方网站
访问软件的官方网站了解更多信息
www.nongnu.org
什么是 Devilspie 2?
如果未通过 --folder 选项指定文件夹,devilspie2 将从 GLib 函数 g_get_user_config_dir 返回的配置目录末尾加上 devilspie2/ 得到的路径读取 Lua 脚本——g_get_user_config_dir 返回的是根据 XDG 基本目录规范定义的配置目录。在大多数情况下,该目录为 ~/.config/devilspie2/,若该目录不存在则会自动创建。此目录可通过 --folder 选项更改。如果 devilspie2 在该目录中未找到任何 Lua 文件,则会停止执行。devilspie2 将按字母顺序加载该目录中的所有 Lua 文件。
配置
配置文件从读取脚本的文件夹中读取,并可通过 --folder 选项自定义。默认情况下,该文件夹为 ~/.config/devilspie2/。如果该文件夹中存在名为 devilspie2.lua 的文件,将被读取,并查找名为 scripts_window_close、scripts_window_focus 或 scripts_window_blur 的变量(一个字符串表)——当窗口关闭、获得焦点或失去焦点时,该表中字符串对应的文件名将被调用。如果该文件中不存在这些变量,则将其作为普通 devilspie2 脚本文件处理。
例如:
scripts_window_close = {
"file1.lua",
"file2.lua"
}
这将在窗口关闭时执行 file1.lua 和 file2.lua,而不是在窗口打开时执行。
脚本
您可以选择将全部脚本功能放在一个文件中,也可以拆分为多个文件。devilspie2 会在您指定的 devilspie2 文件夹中运行所有 Lua 文件(默认为 ~/.config/devilspie2),即所有以 .lua 为扩展名的文件。
所使用的脚本语言是 Lua;www.lua.org/
常见问题:https://www.lua.org/FAQ.html
文档:https://www.lua.org/docs.html
教程:http://lua-users.org/wiki/TutorialDirectory
请注意,字符串比较区分大小写,比较 "SomeProgram" 与 "someprogram" 不会认为相等。
简单脚本示例
-- debug_print 命令仅在使用 --debug 选项运行 devilspie2 时才会输出内容到标准输出
debug_print("窗口名称: " .. get_window_name())
debug_print("应用程序名称: " .. get_application_name())
-- 我希望我的 Xfce4-terminal 窗口位于双显示器设置中第二块屏幕的右侧
-- (字符串比较区分大小写,请注意在编写规则脚本时这一点)
if (get_window_name() == "Terminal") then
-- x, y, xsize, ysize
set_window_geometry(1600, 300, 900, 700)
end
-- 使 Firefox 总是以最大化方式启动
if (get_application_name() == "Firefox") then
maximize()
end
联系信息
作者:Darren Salt
IRC:irc.libera.chat 上的 #devilspie2
下载与相关链接
安全提示安全提醒
点击下方链接将跳转到第三方网站,请确保来源安全,建议优先从官方网站下载。