1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-28 23:42:51 -05:00
This commit is contained in:
bbedward
2025-10-21 23:13:54 -04:00
parent 90bc890190
commit 967b7d05de
43 changed files with 2203 additions and 7271 deletions

View File

@@ -23,6 +23,7 @@ Item {
signal colorPickerRequested
property alias barVariants: barVariants
property var hyprlandOverviewLoader: null
function triggerControlCenterOnFocusedScreen() {
let focusedScreenName = ""
@@ -48,30 +49,6 @@ Item {
return false
}
function triggerWallpaperBrowserOnFocusedScreen() {
let focusedScreenName = ""
if (CompositorService.isHyprland && Hyprland.focusedWorkspace && Hyprland.focusedWorkspace.monitor) {
focusedScreenName = Hyprland.focusedWorkspace.monitor.name
} else if (CompositorService.isNiri && NiriService.currentOutput) {
focusedScreenName = NiriService.currentOutput
}
if (!focusedScreenName && barVariants.instances.length > 0) {
const firstBar = barVariants.instances[0]
firstBar.triggerWallpaperBrowser()
return true
}
for (var i = 0; i < barVariants.instances.length; i++) {
const barInstance = barVariants.instances[i]
if (barInstance.modelData && barInstance.modelData.name === focusedScreenName) {
barInstance.triggerWallpaperBrowser()
return true
}
}
return false
}
Variants {
id: barVariants
model: SettingsData.getFilteredScreens("dankBar")
@@ -80,7 +57,6 @@ Item {
id: barWindow
property var controlCenterButtonRef: null
property var clockButtonRef: null
function triggerControlCenter() {
controlCenterLoader.active = true
@@ -103,27 +79,6 @@ Item {
}
}
function triggerWallpaperBrowser() {
dankDashPopoutLoader.active = true
if (!dankDashPopoutLoader.item) {
return
}
if (clockButtonRef && dankDashPopoutLoader.item.setTriggerPosition) {
const globalPos = clockButtonRef.mapToGlobal(0, 0)
const pos = SettingsData.getPopupTriggerPosition(globalPos, barWindow.screen, barWindow.effectiveBarThickness, clockButtonRef.width)
const section = clockButtonRef.section || "center"
dankDashPopoutLoader.item.setTriggerPosition(pos.x, pos.y, pos.width, section, barWindow.screen)
} else {
dankDashPopoutLoader.item.triggerScreen = barWindow.screen
}
if (!dankDashPopoutLoader.item.dashVisible) {
dankDashPopoutLoader.item.currentTabIndex = 2
}
dankDashPopoutLoader.item.dashVisible = !dankDashPopoutLoader.item.dashVisible
}
readonly property var dBarLayer: {
switch (Quickshell.env("DMS_DANKBAR_LAYER")) {
case "bottom":
@@ -818,6 +773,7 @@ Item {
section: topBarContent.getWidgetSection(parent)
popupTarget: appDrawerLoader.item
parentScreen: barWindow.screen
hyprlandOverviewLoader: root.hyprlandOverviewLoader
onClicked: {
appDrawerLoader.active = true
appDrawerLoader.item?.toggle()
@@ -831,6 +787,7 @@ Item {
WorkspaceSwitcher {
screenName: barWindow.screenName
widgetHeight: barWindow.widgetThickness
hyprlandOverviewLoader: root.hyprlandOverviewLoader
}
}
@@ -868,17 +825,6 @@ Item {
return dankDashPopoutLoader.item
}
parentScreen: barWindow.screen
Component.onCompleted: {
barWindow.clockButtonRef = this
}
Component.onDestruction: {
if (barWindow.clockButtonRef === this) {
barWindow.clockButtonRef = null
}
}
onClockClicked: {
dankDashPopoutLoader.active = true
if (dankDashPopoutLoader.item) {
@@ -928,7 +874,7 @@ Item {
dankDashPopoutLoader.active = true
if (dankDashPopoutLoader.item) {
dankDashPopoutLoader.item.dashVisible = !dankDashPopoutLoader.item.dashVisible
dankDashPopoutLoader.item.currentTabIndex = 3
dankDashPopoutLoader.item.currentTabIndex = 2
}
}
}
@@ -1262,15 +1208,4 @@ Item {
}
}
}
IpcHandler {
target: "dankdash"
function wallpaper(): string {
if (root.triggerWallpaperBrowserOnFocusedScreen()) {
return "SUCCESS: Toggled wallpaper browser"
}
return "ERROR: Failed to toggle wallpaper browser"
}
}
}