Add ready-to-use example modules
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Failing after 2m6s

examples/modules/ ships complete, drop-in bread modules for common desktop
automations (low-battery warning, pause-media-on-headphone-unplug,
dock-monitors) plus a README on installing them. Complements Examples.md,
which teaches the porting patterns.
This commit is contained in:
Breadway 2026-06-16 17:06:44 +08:00
parent 152915198b
commit 954b7f381e
4 changed files with 108 additions and 0 deletions

View file

@ -0,0 +1,26 @@
-- dock-monitors — apply a monitor layout when an external display is plugged
-- in (a "dock") and revert to the laptop panel when it's removed.
--
-- Drop-in: copy into ~/.config/bread/modules/ and edit the output names /
-- resolutions for your machine (see `hyprctl monitors`).
local monitors = require("bread.monitors")
local M = bread.module({ name = "dock-monitors", version = "1.0.0" })
-- Named layouts ----------------------------------------------------------------
monitors.layout("docked", function()
bread.hyprland.keyword("monitor", "eDP-1, 1920x1200@60, 0x0, 1")
bread.hyprland.keyword("monitor", "HDMI-A-1, preferred, 1920x0, 1")
end)
monitors.layout("solo", function()
bread.hyprland.keyword("monitor", "eDP-1, preferred, 0x0, 1")
end)
-- React to the external display ------------------------------------------------
function M.on_load()
monitors.on({ when = "connected", monitors = { "HDMI-A-1" }, run = monitors.apply("docked") })
monitors.on({ when = "disconnected", monitors = { "HDMI-A-1" }, run = monitors.apply("solo") })
end
return M