Waybar与split-monitor-workspaces无缝集成:工作区图标与滚轮切换完整配置清单

📅 2026/8/24 9:08:33
Waybar与split-monitor-workspaces无缝集成:工作区图标与滚轮切换完整配置清单
Waybar与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-workspacessplit-monitor-workspaces 是一款 Hyprland 的 Lua 插件能把工作区按显示器拆分并独立编号本文带你完成Waybar 工作区图标显示与鼠标滚轮切换工作区的完整配置多屏体验一次到位。️ 为什么要做这次集成默认情况下Hyprland 的工作区在所有显示器间共享双屏用户很难一眼看清当前这个屏幕在哪个工作区。split-monitor-workspaces 让每台显示器拥有自己独立的一批工作区编号 1~N 在每台屏上都能用而 Waybar 的hyprland/workspaces模块则负责把这些工作区以图标形式画在状态栏上当前屏的聚焦工作区、其他屏的工作区、持久空工作区各有不同图标鼠标滚轮直接在当前屏的工作区内前后循环切换与插件自带的快捷键数字键直达、静默移动窗口等无缝配合。两者结合后多屏切换既有看得见的图标反馈也有摸得着的滚轮操作。 前提条件与快速安装步骤要求Hyprland ≥ 0.55.0且已安装 Waybar。一键安装步骤把仓库克隆到 Hyprland 的插件目录再在 Lua 配置中引入即可mkdir -p ~/.config/hypr/plugins cd ~/.config/hypr/plugins git clone https://gitcode.com/gh_mirrors/sp/split-monitor-workspaces在你的 Hyprland Lua 配置中加入入口逻辑见init.lua核心 API 在lua/split-monitor-workspaces.luapackage.path package.path .. ;./?.lua;./?/init.lua local smw require(plugins.split-monitor-workspaces) smw.setup({ workspace_count 5, -- 每台显示器创建 5 个持久工作区 })键盘快捷键绑定参考docs/example.lua的完整示例local mainMod SUPER for i 1, smw.get_amount_of_workspaces() do local n tostring(i) if n 10 then n 0 end -- 10 个工作区时把第 10 个绑到 SUPER 0 hl.bind(mainMod .. .. n, smw.workspace(n)) -- 切换到第 N 个工作区 hl.bind(mainMod .. SHIFT .. n, smw.move_to_workspace_silent(n)) -- 静默移动窗口 end Waybar 工作区图标配置详解打开 Waybar 配置文件为hyprland/workspaces模块配置 5 种状态图标hyprland/workspaces: { format: {icon}, format-icons: { urgent: !, active: ●, visible: ◐, default: ○, empty: · }, all-outputs: false }各状态含义这正是本插件多屏拆分机制的体现状态含义active当前聚焦显示器上正聚焦的工作区visible其他显示器上正聚焦的工作区empty本插件创建的持久空工作区重启不消失default其他已存在的工作区urgent等待处理需要用户操作的窗口所在工作区图标字符可替换为你喜欢的图标字体字形。建议保留all-outputs: false让 Waybar 只显示当前输出对应的工作区状态栏更清爽。️ 鼠标滚轮切换工作区两行配置搞定在上面的模块配置中追加两行滚动命令即可用滚轮在当前显示器的工作区内循环切换on-scroll-up: hyprctl dispatch split-cycleworkspaces -1, on-scroll-down: hyprctl dispatch split-cycleworkspaces 1原理一句话split-cycleworkspaces是插件提供的调度器实现见lua/dispatchers.lua它只在当前显示器自己的工作区列表内前进/后退且到边界会自动回绕——配合enable_wrapping默认开启从最后一个滚到头会绕回第一个。参数还支持2、-3这类相对跳步键盘绑定smw.cycle_workspaces(next)也能实现同样效果。⌨️ 工作区操作完整清单配合图标与滚轮以下键盘操作构成完整的操作体系操作绑定示例说明切换到第 N 个工作区SUPER N针对当前聚焦的显示器静默移动窗口SUPER SHIFT N移动当前窗口且不抢焦点下一个/上一个SUPER mouse_down / mouse_up当前屏工作区循环相对跳转smw.workspace(1)/-1从当前工作区偏移跳到空工作区smw.workspace(empty)自动找当前屏第一个空位收回孤儿窗口smw.grab_rogue_windows()把散落在未映射工作区的窗口拉回当前工作区⚙️ 多屏编号规则与常用配置选项编号规则若workspace_count 5第一台显示器占用 1~5第二台占用 6~10依此类推但在各自屏幕上用 1~5 访问互不干扰。monitor_priority决定哪台显示器拿到最小编号。常用选项速查默认值定义在lua/globals.luaworkspace_count每台显示器的工作区数量默认 10monitor_priority如{ DP-1, DP-2 }排在越前编号越低max_workspaces按显示器单独覆盖数量如{ [DP-2] 3 }enable_persistent_workspaces保持空工作区存活——Waybar 里empty图标能否稳定显示就靠它默认开启link_monitors开启后切换任一台屏幕会同步切换所有屏幕GNOME 风格此时滚轮也会同时循环所有显示器keep_focused重载配置时保持当前工作区焦点默认开启推荐。 常见问题排查清单图标不显示 / 只有部分显示确认 Waybar 已启动且插件在配置重载前完成smw.setup()持久空工作区依赖enable_persistent_workspaces开启。滚轮无反应检查 Waybar 中on-scroll-up/down两条命令是否完整hyprctl dispatch split-cycleworkspaces 1手动执行应能切屏。升级 Hyprland 后失效每次 Hyprland 新版本发布后进入仓库执行git pull并切换到对应的release/0.XX.x分支。老版本 Hyprland≤0.56请参考docs/cpp-plugin.md中已弃用的 C 插件方案功能相同。小结一次克隆、几行配置split-monitor-workspaces 与 Waybar 的工作区图标 滚轮切换即可无缝协同——图标让你看清每台屏幕的独立编号滚轮让你脱离键盘极速切换多屏桌面从此井井有条。【免费下载链接】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),仅供参考