Fork the desktop off Omarchy as a self-contained system

This commit is contained in:
2026-09-19 23:50:39 -04:00
parent 16a56f49a1
commit 9501f2bb4d
559 changed files with 43273 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
import QtQuick
// Hyprland leaves an already-mapped layer surface at its old global position
// when its monitor moves within the layout: undocking disables the internal
// panel, the external monitor shifts to x=0, and long-lived surfaces such as
// the bar and background keep rendering at the old offset — or entirely
// off-screen — until they are unmapped and remapped. Watch the screen's
// origin and pulse `remapping` when it moves; the owning window folds that
// into its `visible` binding so the compositor re-places the surface at the
// monitor's new origin.
Item {
id: root
required property var window
readonly property var screen: window ? window.screen : null
// Fold into the window's binding: visible: <shown> && !guard.remapping
property bool remapping: false
visible: false
// A layout reshuffle can move the monitor more than once before it lands.
// Let the positions settle before the single remap pulse.
Timer {
id: settleTimer
interval: 200
onTriggered: root.remapping = true
}
// Hold the surface unmapped for a beat so the compositor processes the
// unmap before the remap instead of coalescing them into a no-op.
Timer {
interval: 50
running: root.remapping
onTriggered: root.remapping = false
}
Connections {
target: root.screen
function onXChanged() { settleTimer.restart() }
function onYChanged() { settleTimer.restart() }
}
}