Skip to content

Apple Silicon lid close binds wrong command — machine never suspends #13370

Description

@cd-slash

On Apple Silicon Macs, closing the laptop lid does not lock the screen or suspend the machine.

Root cause: In default/hypr/bindings/utilities.lua, the Apple Silicon fork of the lid switch bindings maps switch:on:Apple SMC power/lid events to omarchy-hyprland-monitor-clamshell instead of omarchy-system-lid-close. The generic Lid Switch binding does this correctly — the Mac fork does not.

-- Correct (generic):
o.bind("switch:on:Lid Switch", nil, "omarchy-system-lid-close", { locked = true })

-- Bug (Apple Silicon):
o.bind("switch:on:Apple SMC power/lid events", nil, "omarchy-hyprland-monitor-clamshell", { locked = true })
-- Should be: omarchy-system-lid-close

omarchy-hyprland-monitor-clamshell only handles display reconfiguration (clamshell mode). omarchy-system-lid-close locks the screen, then delegates to omarchy-hyprland-monitor-clamshell internally. Because the Mac fork skips it, the lock never fires and the suspend flow never begins.

Version: 4.0.2-2 (aarch64)

Workaround: Add to ~/.config/hypr/bindings.lua:

hl.unbind("switch:on:Apple SMC power/lid events")
o.bind("switch:on:Apple SMC power/lid events", nil, "omarchy-system-lid-close", { locked = true })

Activity

  1. jandrusk commented on Oct 7, 2026

    @jandrusk

    Thanks for the report. On current quattro, and in the v4.0.2 and v4.0.4 tags, default/hypr/bindings/utilities.lua has no Apple SMC power/lid events binding at all. Only the generic Lid Switch is bound. So on Asahi the lid switch currently goes unhandled, which matches what you see. Could you check where the omarchy-hyprland-monitor-clamshell SMC binding on your machine comes from (~/.config/hypr/, or an omarchy-mac/Asahi overlay package)?

    The upstream gap is tracked in #8418, and the open fix is #12693 (bind the lid switch by its Apple Silicon device name too). #13661 tried the same thing and was closed. Your workaround in ~/.config/hypr/bindings.lua is the right one for now.

  2. cb2206 commented on Oct 8, 2026

    @cb2206

    The SMC binding the reporter has comes from the omarchy-mac fork. Its 4.0.2 default/hypr/bindings/utilities.lua bound switch:on:Apple SMC power/lid events to omarchy-hyprland-monitor-clamshell. omarchy-mac fixed that in 4.0.3rc1 (omacom#377), and omacom#701 is the same report there.

    On a 14" MacBook Pro (M1 Pro) with omarchy-mac 4.0.3rc4, which has the same bind lines as #12693 plus a logind-based omarchy-hw-laptop-closed like #7951, a lid close locks before suspend. A docked lid close goes to clamshell without locking. Details are in my comment on #12693.

  3. jandrusk commented on Oct 8, 2026

    @jandrusk

    Thanks @cb2206, that explains it. The Apple SMC power/lid events → omarchy-hyprland-monitor-clamshell binding came from omarchy-mac 4.0.2, was fixed in 4.0.3rc1 (omacom#377), and the same report is open as omacom#701.

    @cd-slash, updating omarchy-mac to 4.0.3 (or later) should fix the lid close. The upstream gap, where Omarchy itself doesn't bind the Apple Silicon lid switch, is tracked in #8418 with #12693 as the fix. So I think this one can be closed in favor of those.

  4. cd-slash commented on Oct 8, 2026

    @cd-slash
    Author

    Thanks, agreed this can be closed in favour of the existing upstream issues tracking the same bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions