Hypridle:Hyprland 的闲置守护进程
hypridle Hyprland's idle daemon 项目地址: https://gitcode.com/gh_mirrors/hy/hypridle
项目介绍
Hypridle 是专为 Hyprland 设计的一款空闲守护程序,它利用了 ext-idle-notify-v1
Wayland 协议,并支持 DBUS 的 loginctl
命令(用于锁屏/解锁/睡眠前操作)以及 DBUS 的抑制机制(例如,被 Firefox 或 Steam 使用)。配置灵活,允许用户通过标准的 Hyprland 语法在 ~/.config/hypr/hypridle.conf
中定制其行为。
项目快速启动
安装依赖
首先,确保您的系统已安装以下依赖项:
- wayland
- wayland-protocols
- hyprlang >= 0.4.0
- sdbus-c++
编译与安装
在终端中执行以下命令来编译并安装 Hypridle:
git clone https://github.com/hyprwm/hypridle.git
cd hypridle
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE=Release -S . -B build
cmake --build build --config Release --target hypridle -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
sudo cmake --install build
启动 Hypridle
对于 Hyprland 用户,您可以在配置文件中添加以下行以在登录后自动启动 Hypridle:
exec-once = hypridle
或者,通过 Systemd 管理启动,运行:
systemctl --user enable --now hypridle.service
配置示例
配置文件通常位于 ~/.config/hypr/hypridle.conf
:
general [
lock_cmd = "notify-send 'Lock'"
unlock_cmd = "notify-send 'Unlock'"
before_sleep_cmd = "notify-send 'Zzz'"
after_sleep_cmd = "notify-send 'Awake'"
ignore_dbus_inhibit = false
ignore_systemd_inhibit = false
]
listener [
timeout = 500
on-timeout = "notify-send 'You are idle'"
on-resume = "notify-send 'Welcome back'"
]
应用案例和最佳实践
Hypridle 可用于增强您的桌面环境体验。例如,结合自动化脚本,您可以实现自动锁定屏幕以防长时间无人操作,或是在电脑从休眠状态唤醒时播放特定的通知音效,以此提升安全性与个性化体验。
自定义事件处理
通过监听不同的事件(如 idleness 超时、活动恢复等),用户可以定制复杂的交互逻辑,比如集成智能家居设备控制,当检测到空闲时关闭显示器的同时也静音音乐播放器。
典型生态项目
虽然 Hypridle 主要服务于 Hyprland 社区,但其设计理念和技术方案亦可启发其他 Wayland 组合器的类似开发。例如,若其他自定义 Wayland 桌面环境希望引入更精细的空闲管理功能,Hypridle 提供了一个良好的起点,展示如何基于 Wayland 协议实现和集成空闲监视和响应机制。
以上是 Hypridle 的基本使用指南。这不仅有助于开发者快速上手,也为用户提供了自定义桌面体验的无限可能。深入探索其源码和配置选项将揭示更多高级用法和定制潜力。
hypridle Hyprland's idle daemon 项目地址: https://gitcode.com/gh_mirrors/hy/hypridle