Hyprmod 设置指南
前言
Hyprland 作为一款现代化的 Wayland 动态平铺窗口管理器,以其高度可定制和轻量化著称。而 Hyprmod 则是它的一个强大模块,提供了额外的布局、动画以及高级输入处理能力。本文将从 安装、基本配置、常见使用场景 以及 故障排查 四个方面,手把手带你玩转 Hyprmod。
一、安装 Hyprmod
-
确保 Hyprland 已安装
1
2pacman -S hyprland # Arch 系统
sudo apt install hyprland # Debian/Ubuntu 系统(若官方仓库提供)若系统自带的版本过旧,请参考官方 GitHub 的 Build 指南自行编译最新分支。
-
获取 Hyprmod 源码
1
2git clone https://github.com/hyprwm/hyprmod.git $HOME/hyprmod
cd $HOME/hyprmod -
编译并安装
1
2
3meson setup build --prefix=/usr/local
ninja -C build
sudo ninja -C build install该过程会生成 hyprmod.so 动态库,默认安装到 /usr/local/lib。
二、基本配置
Hyprmod 通过 hyprland.conf 中的 plugin 指令加载。打开你的配置文件(通常在 ~/.config/hypr/hyprland.conf),添加以下行:
1 | |
随后在同一文件中可以使用 Hyprmod 暴露的属性。例如,启用 “滚动平滑”:
1 | |
常用选项速查表
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
| scroll_smooth | bool | false | 开启后滚动动画更柔和 |
| window_animate | bool | true | 窗口切换时使用淡入淡出 |
| focus_fade | float | 0.2 | 焦点切换淡出时长(秒) |
| border_radius | int | 8 | 窗口圆角半径(像素) |
三、进阶使用场景
1. 自定义布局插件
Hyprmod 支持 Lua 脚本自定义布局。创建 ~/.config/hypr/hyprmod/layouts/mygrid.lua,示例代码如下:
1 | |
在 hyprland.conf 中绑定快捷键来切换布局:
1 | |
2. 动画效果增强
通过 window_animate 与 focus_fade 可以让窗口出现、消失时拥有玻璃碎片般的动画。结合 border_radius,能够打造类似 macOS 的圆角玻璃窗口。
3. 输入法优化
Hyprmod 为 fcitx5、ibus 提供了键盘焦点自动切换的钩子。打开配置:
1 | |
这样在切换窗口焦点时,输入法会自动跟随,无需手动切换。
四、故障排查
- 插件加载失败
- 检查路径是否正确(/usr/local/lib/hyprmod.so)
- 确认 Hyprland 启动日志中没有 “cannot open shared object file” 错误。
- 动画卡顿
- 确认显卡驱动已正确加载,glxinfo | grep OpenGL 应显示硬件渲染。
- 关闭 window_animate 试验是否是动画本身导致。
- Lua 脚本报错
- 在终端执行 hyprctl plugin hyprmod exec mygrid.lua 查看报错信息。
- 确保脚本文件 UTF-8 编码且没有 Windows 换行符。
五、性能调优与常见问题
- CPU 占用:开启大量动画会增加 compositor 的负载。可以通过调低 focus_fade 或关闭 window_animate 来降低 CPU 使用率。
- 多显示器:Hyprmod 的布局插件默认在所有显示器上生效。若只想在特定显示器使用自定义布局,请在 Lua 脚本中判断 monitor.id。
- 快捷键冲突:确保 bind 指令中的键位未被其他插件占用,否则会导致无法触发。
结语
Hyprmod 为 Hyprland 注入了更细腻的交互体验和可玩性。只要按照本文步骤完成安装与配置,你就可以在日常工作流中感受到更流畅的窗口切换、更炫目的动画以及更智能的输入法协同。若遇到新问题,欢迎到 Hyprland 的 GitHub Discussions 发帖求助,社区的开发者们通常会很快给出答案。