mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 21:42:51 -05:00
Merge branch 'master' of github.com:bbedward/DankMaterialShell
This commit is contained in:
@@ -91,6 +91,7 @@ Singleton {
|
|||||||
property int notificationTimeoutLow: 5000
|
property int notificationTimeoutLow: 5000
|
||||||
property int notificationTimeoutNormal: 5000
|
property int notificationTimeoutNormal: 5000
|
||||||
property int notificationTimeoutCritical: 0
|
property int notificationTimeoutCritical: 0
|
||||||
|
property var screenPreferences: ({})
|
||||||
readonly property string defaultFontFamily: "Inter Variable"
|
readonly property string defaultFontFamily: "Inter Variable"
|
||||||
readonly property string defaultMonoFontFamily: "Fira Code"
|
readonly property string defaultMonoFontFamily: "Fira Code"
|
||||||
readonly property string _homeUrl: StandardPaths.writableLocation(
|
readonly property string _homeUrl: StandardPaths.writableLocation(
|
||||||
@@ -283,6 +284,8 @@ Singleton {
|
|||||||
!== undefined ? settings.topBarSquareCorners : false
|
!== undefined ? settings.topBarSquareCorners : false
|
||||||
topBarNoBackground = settings.topBarNoBackground
|
topBarNoBackground = settings.topBarNoBackground
|
||||||
!== undefined ? settings.topBarNoBackground : false
|
!== undefined ? settings.topBarNoBackground : false
|
||||||
|
screenPreferences = settings.screenPreferences
|
||||||
|
!== undefined ? settings.screenPreferences : ({})
|
||||||
applyStoredTheme()
|
applyStoredTheme()
|
||||||
detectAvailableIconThemes()
|
detectAvailableIconThemes()
|
||||||
detectQtTools()
|
detectQtTools()
|
||||||
@@ -369,7 +372,8 @@ Singleton {
|
|||||||
"topBarNoBackground": topBarNoBackground,
|
"topBarNoBackground": topBarNoBackground,
|
||||||
"notificationTimeoutLow": notificationTimeoutLow,
|
"notificationTimeoutLow": notificationTimeoutLow,
|
||||||
"notificationTimeoutNormal": notificationTimeoutNormal,
|
"notificationTimeoutNormal": notificationTimeoutNormal,
|
||||||
"notificationTimeoutCritical": notificationTimeoutCritical
|
"notificationTimeoutCritical": notificationTimeoutCritical,
|
||||||
|
"screenPreferences": screenPreferences
|
||||||
}, null, 2))
|
}, null, 2))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -911,6 +915,19 @@ Singleton {
|
|||||||
saveSettings()
|
saveSettings()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setScreenPreferences(prefs) {
|
||||||
|
screenPreferences = prefs
|
||||||
|
saveSettings()
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFilteredScreens(componentId) {
|
||||||
|
var prefs = screenPreferences && screenPreferences[componentId] || ["all"]
|
||||||
|
if (prefs.includes("all")) {
|
||||||
|
return Quickshell.screens
|
||||||
|
}
|
||||||
|
return Quickshell.screens.filter(screen => prefs.includes(screen.name))
|
||||||
|
}
|
||||||
|
|
||||||
function _shq(s) {
|
function _shq(s) {
|
||||||
return "'" + String(s).replace(/'/g, "'\\''") + "'"
|
return "'" + String(s).replace(/'/g, "'\\''") + "'"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -361,6 +361,9 @@ DankModal {
|
|||||||
}, {
|
}, {
|
||||||
"text": "Dock",
|
"text": "Dock",
|
||||||
"icon": "dock_to_bottom"
|
"icon": "dock_to_bottom"
|
||||||
|
}, {
|
||||||
|
"text": "Displays",
|
||||||
|
"icon": "monitor"
|
||||||
}, {
|
}, {
|
||||||
"text": "Recent Apps",
|
"text": "Recent Apps",
|
||||||
"icon": "history"
|
"icon": "history"
|
||||||
@@ -508,12 +511,22 @@ DankModal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: recentAppsLoader
|
id: displaysLoader
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
active: sidebarContainer.currentIndex === 6
|
active: sidebarContainer.currentIndex === 6
|
||||||
visible: active
|
visible: active
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
sourceComponent: DisplaysTab {}
|
||||||
|
}
|
||||||
|
|
||||||
|
Loader {
|
||||||
|
id: recentAppsLoader
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
active: sidebarContainer.currentIndex === 7
|
||||||
|
visible: active
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: RecentAppsTab {}
|
sourceComponent: RecentAppsTab {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -521,7 +534,7 @@ DankModal {
|
|||||||
id: themeColorsLoader
|
id: themeColorsLoader
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
active: sidebarContainer.currentIndex === 7
|
active: sidebarContainer.currentIndex === 8
|
||||||
visible: active
|
visible: active
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
sourceComponent: ThemeColorsTab {}
|
sourceComponent: ThemeColorsTab {}
|
||||||
@@ -531,7 +544,7 @@ DankModal {
|
|||||||
id: aboutLoader
|
id: aboutLoader
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
active: sidebarContainer.currentIndex === 8
|
active: sidebarContainer.currentIndex === 9
|
||||||
visible: active
|
visible: active
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
sourceComponent: AboutTab {}
|
sourceComponent: AboutTab {}
|
||||||
|
|||||||
349
Modules/Settings/DisplaysTab.qml
Normal file
349
Modules/Settings/DisplaysTab.qml
Normal file
@@ -0,0 +1,349 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import Quickshell
|
||||||
|
import qs.Common
|
||||||
|
import qs.Services
|
||||||
|
import qs.Widgets
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: displaysTab
|
||||||
|
|
||||||
|
property var variantComponents: [{
|
||||||
|
"id": "topBar",
|
||||||
|
"name": "Top Bar",
|
||||||
|
"description": "System bar with widgets and system information",
|
||||||
|
"icon": "toolbar"
|
||||||
|
}, {
|
||||||
|
"id": "notifications",
|
||||||
|
"name": "Notification Popups",
|
||||||
|
"description": "Notification toast popups",
|
||||||
|
"icon": "notifications"
|
||||||
|
}, {
|
||||||
|
"id": "wallpaper",
|
||||||
|
"name": "Wallpaper",
|
||||||
|
"description": "Desktop background images",
|
||||||
|
"icon": "wallpaper"
|
||||||
|
}, {
|
||||||
|
"id": "osd",
|
||||||
|
"name": "On-Screen Displays",
|
||||||
|
"description": "Volume, brightness, and other system OSDs",
|
||||||
|
"icon": "picture_in_picture"
|
||||||
|
}]
|
||||||
|
|
||||||
|
function getScreenPreferences(componentId) {
|
||||||
|
return SettingsData.screenPreferences && SettingsData.screenPreferences[componentId] || ["all"];
|
||||||
|
}
|
||||||
|
|
||||||
|
function setScreenPreferences(componentId, screenNames) {
|
||||||
|
var prefs = SettingsData.screenPreferences || {
|
||||||
|
};
|
||||||
|
prefs[componentId] = screenNames;
|
||||||
|
SettingsData.setScreenPreferences(prefs);
|
||||||
|
}
|
||||||
|
|
||||||
|
DankFlickable {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.topMargin: Theme.spacingL
|
||||||
|
anchors.bottomMargin: Theme.spacingS
|
||||||
|
clip: true
|
||||||
|
contentHeight: mainColumn.height
|
||||||
|
contentWidth: width
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: mainColumn
|
||||||
|
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingXL
|
||||||
|
|
||||||
|
StyledRect {
|
||||||
|
width: parent.width
|
||||||
|
height: screensInfoSection.implicitHeight + Theme.spacingL * 2
|
||||||
|
radius: Theme.cornerRadius
|
||||||
|
color: Qt.rgba(Theme.surfaceVariant.r, Theme.surfaceVariant.g, Theme.surfaceVariant.b, 0.3)
|
||||||
|
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: screensInfoSection
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: Theme.spacingL
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
Row {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
DankIcon {
|
||||||
|
name: "monitor"
|
||||||
|
size: Theme.iconSize
|
||||||
|
color: Theme.primary
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width - Theme.iconSize - Theme.spacingM
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: "Connected Displays"
|
||||||
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: "Configure which displays show shell components"
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceVariantText
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingS
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: "Available Screens (" + Quickshell.screens.length + ")"
|
||||||
|
font.pixelSize: Theme.fontSizeMedium
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
}
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: Quickshell.screens
|
||||||
|
|
||||||
|
delegate: Rectangle {
|
||||||
|
width: parent.width
|
||||||
|
height: screenRow.implicitHeight + Theme.spacingS * 2
|
||||||
|
radius: Theme.cornerRadius
|
||||||
|
color: Theme.surfaceContainerHigh
|
||||||
|
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.3)
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: screenRow
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: Theme.spacingS
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
DankIcon {
|
||||||
|
name: "desktop_windows"
|
||||||
|
size: Theme.iconSize - 4
|
||||||
|
color: Theme.primary
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width - Theme.iconSize - Theme.spacingM * 2
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
spacing: Theme.spacingXS / 2
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: modelData.name
|
||||||
|
font.pixelSize: Theme.fontSizeMedium
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
spacing: Theme.spacingS
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: modelData.width + "×" + modelData.height
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceVariantText
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: "•"
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceVariantText
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: modelData.model || "Unknown Model"
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceVariantText
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingL
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: displaysTab.variantComponents
|
||||||
|
|
||||||
|
delegate: StyledRect {
|
||||||
|
width: parent.width
|
||||||
|
height: componentSection.implicitHeight + Theme.spacingL * 2
|
||||||
|
radius: Theme.cornerRadius
|
||||||
|
color: Qt.rgba(Theme.surfaceVariant.r, Theme.surfaceVariant.g, Theme.surfaceVariant.b, 0.3)
|
||||||
|
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: componentSection
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: Theme.spacingL
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
Row {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
DankIcon {
|
||||||
|
name: modelData.icon
|
||||||
|
size: Theme.iconSize
|
||||||
|
color: Theme.primary
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width - Theme.iconSize - Theme.spacingM
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: modelData.name
|
||||||
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: modelData.description
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceVariantText
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingS
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: "Show on screens:"
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceText
|
||||||
|
font.weight: Font.Medium
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
property string componentId: modelData.id
|
||||||
|
property var selectedScreens: displaysTab.getScreenPreferences(componentId)
|
||||||
|
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
|
||||||
|
DankToggle {
|
||||||
|
width: parent.width
|
||||||
|
text: "All displays"
|
||||||
|
description: "Show on all connected displays"
|
||||||
|
checked: parent.selectedScreens.includes("all")
|
||||||
|
onToggled: (checked) => {
|
||||||
|
if (checked)
|
||||||
|
displaysTab.setScreenPreferences(parent.componentId, ["all"]);
|
||||||
|
else
|
||||||
|
displaysTab.setScreenPreferences(parent.componentId, []);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
color: Theme.outline
|
||||||
|
opacity: 0.2
|
||||||
|
visible: !parent.selectedScreens.includes("all")
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
visible: !parent.selectedScreens.includes("all")
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: Quickshell.screens
|
||||||
|
|
||||||
|
delegate: DankToggle {
|
||||||
|
property string screenName: modelData.name
|
||||||
|
property string componentId: parent.parent.componentId
|
||||||
|
|
||||||
|
width: parent.width
|
||||||
|
text: screenName
|
||||||
|
description: modelData.width + "×" + modelData.height + " • " + (modelData.model || "Unknown Model")
|
||||||
|
checked: {
|
||||||
|
var prefs = displaysTab.getScreenPreferences(componentId);
|
||||||
|
return !prefs.includes("all") && prefs.includes(screenName);
|
||||||
|
}
|
||||||
|
onToggled: (checked) => {
|
||||||
|
var currentPrefs = displaysTab.getScreenPreferences(componentId);
|
||||||
|
if (currentPrefs.includes("all"))
|
||||||
|
currentPrefs = [];
|
||||||
|
|
||||||
|
var newPrefs = currentPrefs.slice();
|
||||||
|
if (checked) {
|
||||||
|
if (!newPrefs.includes(screenName))
|
||||||
|
newPrefs.push(screenName);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var index = newPrefs.indexOf(screenName);
|
||||||
|
if (index > -1)
|
||||||
|
newPrefs.splice(index, 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
displaysTab.setScreenPreferences(componentId, newPrefs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ LazyLoader {
|
|||||||
active: SessionData.wallpaperPath !== ""
|
active: SessionData.wallpaperPath !== ""
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("wallpaper")
|
||||||
|
|
||||||
PanelWindow {
|
PanelWindow {
|
||||||
id: wallpaperWindow
|
id: wallpaperWindow
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ Singleton {
|
|||||||
property var wifiNetworks: []
|
property var wifiNetworks: []
|
||||||
property var savedConnections: []
|
property var savedConnections: []
|
||||||
property var wifiSignalIcon: {
|
property var wifiSignalIcon: {
|
||||||
if (currentWifiSSID == "" || !wifiEnabled) {
|
if (!wifiConnected || networkStatus !== "wifi") {
|
||||||
return "signal_wifi_off"
|
return "signal_wifi_off"
|
||||||
}
|
}
|
||||||
// Use nmcli signal strength percentage
|
// Use nmcli signal strength percentage
|
||||||
|
|||||||
17
shell.qml
17
shell.qml
@@ -18,6 +18,7 @@ import qs.Modules.Settings
|
|||||||
import qs.Modules.TopBar
|
import qs.Modules.TopBar
|
||||||
import qs.Modules.Dock
|
import qs.Modules.Dock
|
||||||
import qs.Services
|
import qs.Services
|
||||||
|
import qs.Common
|
||||||
|
|
||||||
ShellRoot {
|
ShellRoot {
|
||||||
id: root
|
id: root
|
||||||
@@ -31,7 +32,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("topBar")
|
||||||
|
|
||||||
delegate: TopBar {
|
delegate: TopBar {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -39,7 +40,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("dock")
|
||||||
|
|
||||||
delegate: Dock {
|
delegate: Dock {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -81,7 +82,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("notifications")
|
||||||
|
|
||||||
delegate: NotificationPopupManager {
|
delegate: NotificationPopupManager {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -232,7 +233,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("toast")
|
||||||
|
|
||||||
delegate: Toast {
|
delegate: Toast {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -241,7 +242,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: VolumeOSD {
|
delegate: VolumeOSD {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -252,7 +253,7 @@ ShellRoot {
|
|||||||
|
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: MicMuteOSD {
|
delegate: MicMuteOSD {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -260,7 +261,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: BrightnessOSD {
|
delegate: BrightnessOSD {
|
||||||
modelData: item
|
modelData: item
|
||||||
@@ -268,7 +269,7 @@ ShellRoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: IdleInhibitorOSD {
|
delegate: IdleInhibitorOSD {
|
||||||
modelData: item
|
modelData: item
|
||||||
|
|||||||
Reference in New Issue
Block a user