Omahub
← All plugins
A

Keyboard Backlight Idle Auto-Off

by Andrii F

Turns off the keyboard backlight after a configurable idle timeout and restores it on activity.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
8236a88
Scanned
5 days ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
8236a88
Reviewed
4 days ago

Manual review agrees with the deterministic scan: the plugin is a straightforward keyboard-backlight idle service. The bundled bash helper only reads and writes keyboard backlight brightness via brightnessctl and stores state under XDG_RUNTIME_DIR, with no install-time commands, obfuscation, credential access, or destructive behavior.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/andrewf403/omarchy-keyboard-idle --enable
Hardware #system

Keyboard Backlight Idle Auto-Off

An Omarchy Quattro shell service that turns off the keyboard backlight after a configurable period without keyboard or pointer input, then restores the saved brightness when input resumes.

The service ignores application idle inhibitors by default, so keyboard lighting still turns off while watching video. It does not change screensaver, lock, display-power, or suspend timings.

Requirements

  • Omarchy with the Quattro shell plugin runtime
  • A keyboard backlight supported by brightnessctl

There are no installers, background services, remote builds, or privileged setup steps. The plugin runs inside the existing unsandboxed omarchy-shell process with the current user's permissions. Its bundled helper uses brightnessctl and flock, both provided by Omarchy.

The helper saves the original brightness under $XDG_RUNTIME_DIR before turning the keyboard light off. Repeated idle events, shell reloads, and suspend/resume cannot overwrite that saved value with zero. The state lasts for the login session and is removed after a successful restore.

If you turn the backlight off yourself before the idle timeout, later mouse activity leaves it off.

Install

omarchy plugin add https://github.com/andrewf403/omarchy-keyboard-idle.git --enable

No shell restart or manual configuration is required. A fresh installation uses the defaults listed below.

Usage

The service starts when the plugin is enabled. Inspect its current state with:

omarchy shell andrewf.keyboard-idle status

Configure

Configure the service through Omarchy shell IPC:

omarchy shell andrewf.keyboard-idle setTimeout 30
omarchy shell andrewf.keyboard-idle setEnabled false
omarchy shell andrewf.keyboard-idle setRespectInhibitors true

Boolean setters accept true/false, on/off, yes/no, and 1/0. Changes are written as inline overrides on the plugin entry in ~/.config/omarchy/shell.json, hot-reload immediately, and survive shell restarts.

All settings are optional. A plugin entry with every default shown looks like:

{
  "id": "andrewf.keyboard-idle",
  "timeout": 10,
  "enabled": true,
  "respectInhibitors": false
}
Setting Default Description
timeout 10 Positive integer seconds before the backlight turns off
enabled true Whether the keyboard idle monitor is active
respectInhibitors false Whether media and other idle inhibitors keep the backlight on

Unchanged values do not need to appear in shell.json.

Remove

bash ~/.config/omarchy/plugins/andrewf.keyboard-idle/keyboard-idle-control restore
omarchy plugin remove andrewf.keyboard-idle

Restore the backlight before removing the plugin if it is currently idle.

Development

Validate the repository and QML before publishing changes:

omarchy plugin validate .
qmllint -I "$OMARCHY_PATH/shell" Service.qml
bash tests/keyboard-idle-control.sh

License

MIT