Repository navigation
fix(als-brightness): center slider windows and ship the tuned node defaults - #988
Merged
ItsLemmy merged 1 commit intoOct 11, 2026
Conversation
…faults The threshold sliders' windows were anchored on the default asymmetrically ([d/3, 3d] parked the default at 25% of the linear track), so even unedited sliders read as mis-calibrated. Every window is now centered on its default: [0, 2d] for brightness (d=0 gets [0, 2], the one un-centerable exception), d +/- 500 for temperature. The 16384 sensor-ceiling cap is dropped — readings above 16383 are unreachable, so a threshold up there is inert. The shipped node positions become the maintainer's hand-tuned values (brightness 0, 1, 3, 10, 33, 61, 560, 1680, 4800, 14200; temperature 2000-6000); the fixed outputs are unchanged. A drift-check property pins default == (min+max)/2 across all 20 sliders. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plugin
zhangdm/als-brightnessplugin.toml)What it does
Fixes the threshold sliders' calibration and adopts the maintainer's tuned curve as the shipped default (0.5.0 → 0.6.0):
[d/3, 3d]window parked the default at 25 % of the linear track, which read as a mis-calibrated slider. Every window is now[0, 2·d](brightness) /d ± 500(temperature), so the value shown at rest sits at the exact midpoint of the track — with one documented exception: node 1 defaults to 0, which cannot be centered on a non-negative axis (thr_brightness_01gets[0, 2]).0, 1, 3, 10, 33, 61, 560, 1680, 4800, 14200; temperature2000 … 6000. The fixed outputs are unchanged (20.8 % … 100 %, 5100 … 6500 K), so the curve's shape is the same and only where each step applies moves. A fresh install now behaves like the maintainer's tuned machine.default == (min + max) / 2, with thethr_brightness_01exception named in the test.External dependencies
noctalia(the manifestdependenciesentry): unchanged from 0.5.0 — short-livednoctalia msgcommands (keyboard-backlight-set,brightness-set,config-reload,status) via an argv table. No network. This change touches no additional processes.Every filesystem write, accounted: unchanged from 0.5.0 —
profile.jsonandals-brightness.login the plugin data dir, and (withcolortempon) the night-lightsettings.tomltext splice. This change writes nothing new.Every spawned process, accounted: the four
noctalia msgcommands above; nothing else.Testing
Tested on Niri
Tested on Hyprland
Tested on Sway
Tested on another compositor:
Noctalia version tested against: v5.2.1
Plugin API level: 24
Offline gate: 1344 checks across 10 suites, 0 failures (was 1303 — the curve and settings-spec suites grew for the rebaseline), run with
./run-tests.sh. The settings-surface drift check (manifest rows, translations and code constants must agree) is green at 66 rows.Drift-check property added: every slider's
defaultis asserted to sit at the exact midpoint of[min, max], withthr_brightness_01(default 0) named as the single exception.Validated with this repo's CI validator:
validate-plugins.pyreports no errors forals-brightness/.The maintainer's machine carries these values as settings overrides today; the sliders were exercised there while hand-tuning them, and the screenshots in the issue thread show the exact values shipped here.
Screenshots / Videos
None: this update changes slider ranges and defaults in the existing settings sheet — no new visual surface. (Settings-page screenshots were shared with the maintainer during development.)
Checklist
Ready-for-review requirement: Every box in this section must be checked. If any statement is not true, keep the pull request as Draft. An explanation does not replace a required check.
idafter the/inplugin.tomlexactly.plugin.toml,README.md,thumbnail.webp, andtranslations/en.json.README.mdfollows theREADME template, documents
every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
thumbnail.webpis present and relevant; for a new plugin I created it with the thumbnail generator, and for an update I regenerated it with the generator if the visual identity or user-facing appearance changed.(Unchanged: the card identity did not change — this update alters slider ranges/defaults in the settings sheet.)
versionfollows semver and is bumped in this PR;plugin_apiis the oldest API level this plugin requires.understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
(No translation files change in this PR.)
catalog.toml; CI generates it.Code review attestation
Plugins run as trusted, unsandboxed Luau in the user's session. Confirm:
Ready-for-review requirement: Every attestation below must be checked.
licensedeclared inplugin.toml.(The maintainer is the plugin's author; MIT as declared.)