Address momus review: fix icons, vertical layout, popup coordination
- Replace nerd font glyphs that were stripped during the initial widget writes with verified codepoints sourced from the JetBrains Mono Nerd Font cmap (cpu-64-bit, scale-balance, notification-clear-all, etc). - systemStats now switches to a Column layout when the bar is vertical so the widget no longer overflows a 28px-wide side bar. - Remove notificationCenter from defaults: it registers a notification server and would collide with the mako daemon Omarchy autostarts. - PopupCard owns the popout coordinator lifecycle and delegates close to its widget owner when provided; calendar and media now pass owner. - brightness debounces brightnessctl writes through a coalescing timer to avoid spawning a process per slider tick. - audioPanel tracks unfiltered Pipewire sinks/streams via PwObjectTracker so audio metadata becomes available before filtering. - ModuleSlot re-injects bar/moduleName/settings whenever the bar config serial changes so widget settings update live with bar.json. - Guard null bar references in workspacesPro and systemStats components that are constructed before bar injection.
This commit is contained in:
@@ -11,13 +11,13 @@ PopupWindow {
|
||||
property int padding: 14
|
||||
property int contentWidth: 280
|
||||
property int contentHeight: 200
|
||||
property bool dismissOnOutsideClick: true
|
||||
property bool open: false
|
||||
|
||||
onOpenChanged: {
|
||||
if (!bar) return
|
||||
if (open) bar.requestPopout(owner || root)
|
||||
else if (bar.activePopout === (owner || root)) bar.releasePopout(owner || root)
|
||||
readonly property var coordinatorKey: owner || root
|
||||
|
||||
function closePopout() {
|
||||
if (owner && "closePopout" in owner) owner.closePopout()
|
||||
else root.open = false
|
||||
}
|
||||
|
||||
default property alias contentItem: contentHolder.children
|
||||
@@ -27,6 +27,12 @@ PopupWindow {
|
||||
implicitWidth: contentWidth
|
||||
implicitHeight: contentHeight
|
||||
|
||||
onOpenChanged: {
|
||||
if (!bar) return
|
||||
if (open) bar.requestPopout(coordinatorKey)
|
||||
else if (bar.activePopout === coordinatorKey) bar.releasePopout(coordinatorKey)
|
||||
}
|
||||
|
||||
anchor {
|
||||
id: popupAnchor
|
||||
window: anchorItem ? anchorItem.QsWindow.window : null
|
||||
@@ -71,7 +77,7 @@ PopupWindow {
|
||||
border.color: root.bar ? root.bar.foreground : "#cacccc"
|
||||
border.width: 1
|
||||
radius: 0
|
||||
opacity: root.open ? 0.97 : 0
|
||||
opacity: root.open ? 0.98 : 0
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 140; easing.type: Easing.OutCubic }
|
||||
@@ -82,12 +88,5 @@ PopupWindow {
|
||||
anchors.fill: parent
|
||||
anchors.margins: root.padding
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.NoButton
|
||||
hoverEnabled: false
|
||||
propagateComposedEvents: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user