1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 21:45:38 -05:00

meta: integrate wallpaper, FileBrowser, StateLayer

- A lot of this is implements patterns implemented by soramannew's
  caelestia-shell
This commit is contained in:
bbedward
2025-07-23 23:20:11 -04:00
parent a0735db7a4
commit ee2cbd708d
33 changed files with 1494 additions and 915 deletions

View File

@@ -6,10 +6,11 @@ import qs.Services
import qs.Widgets
Rectangle {
id: cpuMonitor
id: root
property bool showPercentage: true
property bool showIcon: true
property var toggleProcessList
width: 55
height: 30
@@ -24,7 +25,8 @@ Rectangle {
cursorShape: Qt.PointingHandCursor
onClicked: {
ProcessMonitorService.setSortBy("cpu");
processListPopout.toggle();
if (root.toggleProcessList)
root.toggleProcessList();
}
}
@@ -32,9 +34,8 @@ Rectangle {
anchors.centerIn: parent
spacing: 3
// CPU icon
DankIcon {
name: "memory" // Material Design memory icon (swapped from RAM widget)
name: "memory"
size: Theme.iconSize - 8
color: {
if (SystemMonitorService.cpuUsage > 80)
@@ -48,7 +49,6 @@ Rectangle {
anchors.verticalCenter: parent.verticalCenter
}
// Percentage text
Text {
text: (SystemMonitorService.cpuUsage || 0).toFixed(0) + "%"
font.pixelSize: Theme.fontSizeSmall

View File

@@ -6,10 +6,11 @@ import qs.Services
import qs.Widgets
Rectangle {
id: ramMonitor
id: root
property bool showPercentage: true
property bool showIcon: true
property var toggleProcessList
width: 55
height: 30
@@ -24,7 +25,8 @@ Rectangle {
cursorShape: Qt.PointingHandCursor
onClicked: {
ProcessMonitorService.setSortBy("memory");
processListPopout.toggle();
if (root.toggleProcessList)
root.toggleProcessList();
}
}
@@ -32,9 +34,8 @@ Rectangle {
anchors.centerIn: parent
spacing: 3
// RAM icon
DankIcon {
name: "developer_board" // Material Design CPU/processor icon (swapped from CPU widget)
name: "developer_board"
size: Theme.iconSize - 8
color: {
if (SystemMonitorService.memoryUsage > 90)
@@ -48,7 +49,6 @@ Rectangle {
anchors.verticalCenter: parent.verticalCenter
}
// Percentage text
Text {
text: (SystemMonitorService.memoryUsage || 0).toFixed(0) + "%"
font.pixelSize: Theme.fontSizeSmall

View File

@@ -14,15 +14,11 @@ import qs.Services
import qs.Widgets
PanelWindow {
// Proxy objects for external connections
id: root
property var modelData
property string screenName: modelData.name
// Transparency property for the top bar background
property real backgroundTransparency: Prefs.topBarTransparency
// Notification properties
readonly property int notificationCount: NotificationService.notifications.length
screen: modelData
@@ -55,7 +51,6 @@ PanelWindow {
right: true
}
// Floating panel container with margins
Item {
anchors.fill: parent
anchors.margins: 2
@@ -132,9 +127,10 @@ PanelWindow {
LauncherButton {
anchors.verticalCenter: parent.verticalCenter
isActive: appDrawerPopout.isVisible
isActive: appDrawerPopout ? appDrawerPopout.isVisible : false
onClicked: {
appDrawerPopout.toggle();
if (appDrawerPopout)
appDrawerPopout.toggle();
}
}
@@ -238,15 +234,16 @@ PanelWindow {
}
// System Monitor Widgets
CpuMonitor {
anchors.verticalCenter: parent.verticalCenter
visible: Prefs.showSystemResources
toggleProcessList: () => processListPopout.toggle()
}
RamMonitor {
anchors.verticalCenter: parent.verticalCenter
visible: Prefs.showSystemResources
toggleProcessList: () => processListPopout.toggle()
}
NotificationCenterButton {
@@ -258,7 +255,6 @@ PanelWindow {
}
}
// Battery Widget
Battery {
anchors.verticalCenter: parent.verticalCenter
batteryPopupVisible: batteryPopout.batteryPopupVisible
@@ -268,8 +264,6 @@ PanelWindow {
}
ControlCenterButton {
// Bluetooth devices are automatically updated via signals
anchors.verticalCenter: parent.verticalCenter
isActive: controlCenterPopout.controlCenterVisible
onClicked: {