import QtQuick import Quickshell import "." as M import "../services" as S import "../applets" as C M.PinnableSection { id: root spacing: Math.max(1, S.Theme.moduleSpacing - 2) _panelHovered: hoverPanel.panelHovered property int percent: S.SystemStats.memPercent property real usedGb: S.SystemStats.memUsedGb property real totalGb: S.SystemStats.memTotalGb property real availGb: S.SystemStats.memAvailGb property real cachedGb: S.SystemStats.memCachedGb property real buffersGb: S.SystemStats.memBuffersGb property M.ProcessList _procs: M.ProcessList { sortBy: "mem" active: root._showPanel onProcessesChanged: hoverPanel.keepOpen(300) } M.BarIcon { icon: "\uEFC5" anchors.verticalCenter: parent.verticalCenter TapHandler { onTapped: root._pinned = !root._pinned } } M.BarLabel { label: root.percent + "%" minText: "100%" anchors.verticalCenter: parent.verticalCenter TapHandler { onTapped: root._pinned = !root._pinned } } M.HoverPanel { id: hoverPanel showPanel: root._showPanel screen: QsWindow.window?.screen ?? null anchorItem: root accentColor: root.accentColor panelNamespace: "nova-memory" panelTitle: "Memory" contentWidth: 240 C.MemoryApplet { width: hoverPanel.contentWidth percent: root.percent usedGb: root.usedGb totalGb: root.totalGb availGb: root.availGb cachedGb: root.cachedGb buffersGb: root.buffersGb processes: root._procs.processes accentColor: root.accentColor active: root._showPanel } } }