2 个不稳定版本
0.2.0 | 2024 年 7 月 12 日 |
---|---|
0.1.0 | 2024 年 6 月 19 日 |
#2 in #idle
每月 106 次下载
44KB
1K SLoC
ala lape
不睡眠
什么是
一个小工具,可以帮助防止计算机在积极使用时进入闲置状态,这可能对桌面环境不可见。与其他许多闲置阻止程序不同,这个工具不依赖于创建 Wayland 表面。它完全不依赖于 Wayland,也可以与 XOrg 一起工作。
如果你在游戏中玩耍时,发现自己在游戏手柄上疯狂按键,结果计算机因为不识别游戏手柄输入为活动而进入睡眠状态,那么这个工具就是为你准备的。
如何
ala-lape
监控游戏手柄,并在有活动时阻止闲置(和/或支持的通知守护进程的通知)。它还可以监控进程的存在,并在选择进程存在时执行阻止。
闲置阻止是通过在闲置上获取一个 阻止器锁 来实现的,因此需要 systemd,但不需要依赖于 Wayland。
通知阻止取决于使用的守护进程 - 有关详情,请参阅文档。
为什么
主要是因为修复这个问题(游戏手柄输入不被视为活动)是一个已经存在超过十年的问题,但仍然没有解决,因为它是一个难题。所以这是一个外部工具,可以完成这项工作。它通过不依赖于 Wayland 来完成这项工作,因为通过 Wayland 做这件事并没有与我的首选合成器(niri)一起工作,而且我根本不知道如何调试它,更不用说修复它了。
这是一个权宜之计,并且可以完成这项工作。
构建
cargo install ala-lape
或直接从此仓库的检出
cargo install --path .
NixOS
仓库中包含一个 flake,可用于 Home Manager,flake 也可以直接运行。
nix run git+https://git.madhouse-project.org/algernon/ala-lape.git
Home Manager 示例
{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs.ala-lape = {
url = "git+https://git.madhouse-project.org/algernon/ala-lape.git";
inputs.nixpkgs.follows = "nixpkgs";
};
inputs.hm = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs: {
homeManagerConfigurations."USER@HOSTNAME" = inputs.hm.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [
inputs.ala-lape.homeManagerModules.default
{
services.ala-lape = {
enable = true;
package = inputs.ala-lape;
config = {
inhibitors.notifications.swaync.enable = true;
limits = {
poll_frequency = "30s";
activity_timeout = "30s";
event_threshold = 6;
};
gamepad = [
{ name = "X-Box 360"; }
];
process = [
{ name = "some-program"; }
];
};
};
}
];
};
};
}
依赖关系
~20–34MB
~549K SLoC