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

发布时间:2026/10/4 18:06:52

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),仅供参考
延伸阅读

更多相关文章

2026/10/4 18:06:52

华三交换机路由器配置实战:从命令语法到设备状态闭环

简介:本资源是一份面向网络工程师、运维人员及备考H3C认证(如H3CSE、H3CIE)学习者的实用型配置速查手册,聚焦H3C交换机与路由器核心命令体系,解决日常设备调试、故障排查与标准化配置落地中的高频操作需求。文档以PDF格…

2026/10/4 18:06:52

STM32到底是什么:从内核外设到开发调试的认知地图

带新人这几年,最怕听到的不是“程序跑不起来”,而是有人一上来就问我:“STM32到底是什么?是单片机还是开发板?”这个问题看着基础,真要讲透,其实得从ARM内核扯到ST的外设设计,再到Ke…

2026/10/4 18:06:52

OpenRig:开源模块化拍摄系统搭建指南

1. 项目概述1.1 核心需求解析在过去几年里,我花了不少时间在折腾各种拍摄设备和支架方案,从最开始的三脚架加手机夹,到后来的微型云台、稳定器,再到自己动手改装的模块化支架。说实话,市面上成熟的产品确实不少&#x…

2026/10/4 19:11:55

systemd service 配置 ulimit 限制

在 bash 中,有个 ulimit 命令,提供了对 shell 及该 shell 启动的进程的可用资源控制。主要包括打开文件描述符数量、用户的最大进程数量、coredump 文件的大小等。 在 CentOS 5/6 等版本中,资源限制的配置可以在 /etc/security/limits.conf …

2026/10/4 19:11:55

OpenClaw 如何使用 Skills:从零配置到可复用技能链的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 19:11:55

2026数据与AI趋势:数据接入与AI工作流的十个关键预测

2026年这个时间点,我其实一直想写一篇关于数据和AI的预测文章。不是那种风口式总结,而是把过去一年在项目里看到的变化、客户的追问、以及技术栈迁移的信号,整理成十个判断。2025年最明显的一个感受是:数据和AI之间不再是“采集—…

2026/10/4 19:11:55

SpringDoc替代Swagger:Spring Boot 3接口文档选型与集成实战

把Swagger换成SpringDoc之后,我的接口文档再也没在产品会上被当众打脸。别误会,Swagger不是不好,而是它停在2.0时代太久。2026年做新项目,SpringDoc几乎已经是Spring Boot社区里写接口文档的默认选项,它直接挂在OpenAP…

2026/10/4 19:06:55

2026最新百度网盘VS阿里云盘:无需PanDownload的提速解决方案

现代生活中数字化资料越来越多,我们每天都需要在网络云端与本地设备之间传输大量的工作文档和多媒体资料。然而文件下载速度偶尔出现的严重波动总会让人有些心浮气躁,很多人容易陷入误区,认为只要下载卡顿就一定是外部服务的问题,…

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑