Add laptop display mirror toggle + hotkey (#5462)

* Add check for active external monitors before disabling internal display

Co-authored-by: Copilot <copilot@github.com>

* Revert "Add check for active external monitors before disabling internal display"

This reverts commit e20b3da87e3df0f084c0bca232a61ba58fab4cdc.

* feat(hyprland): add toggle for internal monitor mirroring

- Implement `omarchy-hyprland-monitor-internal-mirror` to dynamically mirror the internal eDP display to external monitor.
- Update `omarchy-hyprland-monitor-internal` to prevent disabling the laptop screen if mirroring is currently active.
- Add "Mirror Display" toggle to omarchy hardware Menu

* Ensure there is also a laptop monitor available to mirror before we do it

* Fix toggle use

* Recover from mirror mode gracefully

* Add hotkey to mirroring

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
timbelmon
2026-04-29 20:19:32 +02:00
committed by GitHub
co-authored by Copilot David Heinemeier Hansson
parent 2f257e167c
commit 35789cc102
5 changed files with 63 additions and 4 deletions
+2 -1
View File
@@ -186,7 +186,7 @@ show_toggle_menu() {
}
show_hardware_menu() {
local options="󰛧 Laptop Display"
local options="󰛧 Laptop Display\n 󰍹 Mirror Display"
if omarchy-hw-hybrid-gpu; then
options="$options\n Hybrid GPU"
@@ -198,6 +198,7 @@ show_hardware_menu() {
case $(menu "Toggle" "$options") in
*Laptop*) omarchy-hyprland-monitor-internal toggle ;;
*Mirror*) omarchy-hyprland-monitor-internal-mirror toggle;;
*Touchpad*) omarchy-toggle-touchpad ;;
*"Hybrid GPU"*) present_terminal omarchy-toggle-hybrid-gpu ;;
*) back_to show_trigger_menu ;;