Devilspie 2

💻

Devilspie 2

软件

软件描述

窗口匹配工具,允许用户在创建 X11 窗口时执行脚本化操作:将窗口置于特定工作区。

官方网站

访问软件的官方网站了解更多信息

官方认证

www.nongnu.org

安全链接HTTPS

什么是 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

下载与相关链接

安全提示
⚠️

安全提醒

点击下方链接将跳转到第三方网站,请确保来源安全,建议优先从官方网站下载。