十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

hy3 × split-monitor-workspaces强力组合:如何整组移动窗口跨工作区

hy3 × split-monitor-workspaces强力组合:如何整组移动窗口跨工作区 hy3 × split-monitor-workspaces强力组合如何整组移动窗口跨工作区【免费下载链接】split-monitor-workspacesA small lua package for Hyprland to provide awesome-like workspace behavior项目地址: https://gitcode.com/gh_mirrors/sp/split-monitor-workspaces️ 如果你在用多屏 Hyprland一定被全局工作区编号折磨过split-monitor-workspaces是一个 Hyprland Lua 包提供 awesome/dwm 风格的工作区行为——把工作区按显示器切分、独立编号。再搭配hy3窗口分组插件你可以一键把整组窗口跨工作区移动。本文带你 3 步完成这套组合配置。为什么这个组合这么香 split-monitor-workspaces工作区按显示器切分并独立编号。鼠标在左屏时按SUPER1就是左屏的工作区 1右屏有自己独立的编号段再也不用担心跳错屏。hy3把多个窗口归为一个组支持把整组窗口当成整体操作。关键点split-monitor-workspaces 会自动检测 hy3一旦发现已安装所有移动窗口到工作区操作都会改用 hy3 的调度器dispatcher——移动的不是当前焦点的单个窗口而是整个节点组一起跨工作区迁移。1️⃣ 三步安装 split-monitor-workspaces要求Hyprland ≥ 0.55.0 且使用新版 Lua 配置。更老版本可用已弃用的 C 插件见docs/cpp-plugin.md。第一步克隆到插件目录mkdir -p ~/.config/hypr/plugins cd ~/.config/hypr/plugins git clone https://gitcode.com/gh_mirrors/sp/split-monitor-workspaces第二步在 Hyprland Lua 配置中引入package.path package.path .. ;./?.lua;./?/init.lua local smw require(plugins.split-monitor-workspaces)第三步调用 setup() 初始化smw.setup({ workspace_count 5, -- 启动时在每个显示器创建 5 个持久工作区 }) 小技巧分支要和你的 Hyprland 版本对应例如release/0.55.xHyprland 小版本更新后记得git pull保证兼容性。2️⃣ 键位绑定一键整组移动 ⌨️在 Lua 配置里加上键位绑定SUPER数字切换到当前显示器的第 N 个工作区SUPERSHIFT数字把活动窗口也就是整个 hy3 组移动过去且不抢占焦点local mainMod SUPER for i 1, 5 do local n tostring(i) hl.bind(mainMod .. .. n, smw.workspace(n)) -- 切换工作区 hl.bind(mainMod .. SHIFT .. n, smw.move_to_workspace_silent(n)) -- 移动窗口 end现在加载 hy3 的情况下在左屏按SUPERSHIFT3当前窗口组里的所有窗口会一起搬到左屏第 3 工作区——右屏的工作区编号和状态完全不受影响。完整 API 示例可以参考docs/example.lua还支持1/-1相对跳转、empty跳去第一个空工作区等用法另外grab_rogue_windows()可以一键把孤儿窗口收回到当前工作区建议绑定为SUPERSHIFTG。3️⃣ 它是怎么自动检测 hy3 的 核心逻辑在lua/dispatchers.lua的do_move_to_workspace中检测到hl.plugin.hy3存在 → 调度hy3.move_to_workspace(目标工作区, { follow true })整组移动并跟随过去静音版本silent则不改变焦点。未检测到 hy3 → 回退到 Hyprland 原生window.move只移动焦点窗口。也就是说无需任何额外配置装好 hy3组合即生效。各模块路径一览公开 API 入口lua/split-monitor-workspaces.luahy3 检测与移动逻辑lua/dispatchers.lua显示器-工作区范围分配lua/monitors.lua默认配置项lua/globals.lua多屏编号与优先级两块屏、workspace_count 5时第一块屏分 1–5第二块 6–10。可在setup()里用monitor_priority指定哪块屏拿小号用max_workspaces给每块屏设置不同数量设link_monitors true则切换时所有显示器同步切到同号工作区Gnome 风格。❓ 常见问题Q没装 hy3 还能用吗可以会自动回退到 Hyprland 原生移动命令只是移动单个焦点窗口。Q我的 Hyprland 版本较老 0.55或还在用传统 conf 配置请改用 C 插件配置方法见docs/cpp-plugin.md官方说明该方式将在 Hyprland 0.57.0 发布后弃用。Q装完看不到工作区默认enable_persistent_workspaces true会为每块屏创建空工作区打开终端查看插件输出的映射日志每块屏分到哪段编号即可确认。总结 split-monitor-workspaces 让 Hyprland 拥有按显示器独立编号的工作区而 hy3 让窗口可以成组迁移——两者自动衔接一次按键即可整组窗口跨工作区移动。无需复杂规则约 3 分钟完成全部配置。【免费下载链接】split-monitor-workspacesA small lua package for Hyprland to provide awesome-like workspace behavior项目地址: https://gitcode.com/gh_mirrors/sp/split-monitor-workspaces创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表