ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Paneru内嵌Lua脚本入门:用paneru.setup一行声明整套配置

Paneru内嵌Lua脚本入门:用paneru.setup一行声明整套配置 Paneru内嵌Lua脚本入门用paneru.setup一行声明整套配置【免费下载链接】paneruA sliding, tiling window manager for MacOS.项目地址: https://gitcode.com/gh_mirrors/pan/paneru如果你正在寻找一款适合 macOS 的滑动平铺窗口管理器Paneru 值得一试。与传统平铺工具不同Paneru 把窗口排布在一条可向右无限延伸的窗口带上打开新窗口永远不会打乱你已有的布局。更棒的是它内嵌了一个Lua 脚本运行时——你只需写一个init.lua用一行paneru.setup{...}就能声明整套配置连 TOML 文件都不用再碰。为什么用内嵌 Lua 脚本配置 PaneruPaneru 默认使用 TOMLpaneru.toml作为配置文件。而内嵌的 Lua 脚本提供了一个等价却更强大的替代方案一份文件管到底一个init.lua即可替代整个 TOML选项、边距、快捷键、窗口规则全部集中在这里。可编程除了声明配置还能挂事件钩子、绑定 Lua 回调、查询窗口状态。保存即生效编辑保存后自动热重载无需重启。注意Lua 脚本和 TOML 是二选一的关系。只要存在init.luaPaneru 就不会再读取、创建或监视paneru.toml——两套配置不能同时生效。第一步找到并创建你的 Lua 脚本Paneru 会按以下顺序查找脚本文件$PANERU_LUA环境变量$HOME/.paneru.lua$XDG_CONFIG_HOME/paneru/init.lua大多数用户会选择第三个位置创建并编辑一个init.lua即可开始。用 paneru.setup 一行声明整套配置paneru.setup{...}接收一张 Lua 表其中的字段与 TOML 的各个小节一一对应options、padding、swipe、decorations、restore、windows以及顶层的default_workspaces。下面是一个最小可用的示例声明焦点跟随鼠标、窗口边距和几个常用快捷键paneru.setup { default_workspaces 3, options { focus_follows_mouse true, mouse_follows_focus true, sliver_width 5, }, padding { top 10, bottom 10, left 8, right 8 }, bindings { [window focus west] cmd - h, [window focus east] cmd - l, [window resize] alt - r, [quit] ctrl alt - q, }, }保存文件Paneru 就会立即应用这套配置。两种等价的绑键写法paneru.bind(快捷键, 处理器)—— 处理器可以是命令字符串也可以是一个Lua 函数函数形式能拿到状态快照且只有paneru.bind支持函数。在setup表里写bindings子表 —— 以命令为键、快捷键为值本质是paneru.bind的语法糖。读取当前配置paneru.config想看看某个选项当前是什么值paneru.config已经替你准备好了它预先填充了内置默认值哪怕你还没调用paneru.setup也能读到paneru.config.options.sliver_width等字段。调用paneru.setup{...}后你的配置表会合并在默认值之上。它是只读快照直接改paneru.config的字段不会生效除非你把改过的表再传回paneru.setup(paneru.config)。paneru.bind(alt - i, function() local widths paneru.config.options.preset_column_widths paneru.flash(当前 sliver 宽度 .. tostring(paneru.config.options.sliver_width)) end)保存即热重载和 TOML 一样init.lua编辑保存后会自动热重载整个配置包括菜单栏和按键穿透的更新。改个快捷键、调个边距保存一下就能立刻看到效果不必退出重进。常用配置小节速查小节作用options焦点跟随、动画速度、预设窗口宽度等全局选项padding窗口四周的内边距swipe触控板滑动手势的灵敏度decorations活动/非活动窗口的边框颜色与宽度restore启动时会话恢复windows按应用/标题匹配的窗口规则default_workspaces每个显示器的默认虚拟工作区数量更多字段细节可参考 CONFIGURATION.md 的完整配置指南。下一步从声明配置到事件驱动paneru.setup只是 Paneru Lua 脚本的起点。掌握它之后你可以继续进阶用paneru.on(window_focused, ...)监听窗口事件实现自动布局用ws:focus()/ws:swap()等纯函数式窗口集操作编写 xmonad 风格的布局脚本用paneru.state.set(...)把数据保存下来让状态跨越脚本重载与守护进程重启。完整 API 与更多示例请阅读 SCRIPTING.md 的 Lua 脚本指南实现细节可参考 src/lua/api.rs 与 src/lua/runtime.rs。【免费下载链接】paneruA sliding, tiling window manager for MacOS.项目地址: https://gitcode.com/gh_mirrors/pan/paneru创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表