Unconditionally turn off internal display when lid is closed#6127
Closed
AlJohri wants to merge 1 commit into
Closed
Unconditionally turn off internal display when lid is closed#6127AlJohri wants to merge 1 commit into
AlJohri wants to merge 1 commit into
Conversation
The lid-close binding short-circuits when no external monitor is attached, and omarchy-hyprland-monitor-internal refuses to disable the panel when it's the only output. Together, this means closing the lid on a laptop with no external display leaves the internal panel scanning out at full backlight. Users who configure logind to keep the system running through lid close (HandleLidSwitchExternalPower=ignore, common for headless / background-task workflows) lose the only path that would have blanked the panel, costing several watts of idle draw. Introduce bin/omarchy-hw-lid-closed as the lid-state primitive, mirroring the omarchy-hw-clamshell pattern from the quattro branch. Relax the "only active display" guard in omarchy-hyprland-monitor-internal so the off/recover paths permit disabling the panel when the lid is closed, and drop the omarchy-hw-external-monitors short-circuit from the lid bindl so the script's own guard is the single decision point. Desktops without an ACPI lid sensor fall through as "lid open", so the existing safety behavior is preserved.
AlJohri
marked this pull request as ready for review
June 23, 2026 19:56
Member
|
By default, closing the lid puts the machine to sleep. How are you getting it to a state where lid close doesn't do anything when no display is connected? |
Author
|
I use setup-lid-suspend.sh which adds a new file called I use this on my FW16 to run it as a headless server. It keeps the laptop running with the lid closed as long as external power is connected. |
Member
|
Gotcha. I think then it makes more sense that this use case belongs with that and not something we have out of the box here. Would be good to write this up in Discussions 👍 |
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.
Summary
Right now we only turn off the internal display when an external display is connected. I currently use my FW laptop as a server (lid closed) without any connected display. I noticed the wattage on my laptop was higher than expected and realized that the lid display was still on.
I believe we should unconditionally turn off the internal display when the lid is closed.
The existing "only active display" guard is preserved for the lid-open case (where blanking would orphan the user). Desktops without
/proc/acpi/button/lid/*/stateare treated as lid-open, so their behavior is unchanged.