summaryrefslogtreecommitdiff
path: root/modules/controlcenter/taskbar
diff options
context:
space:
mode:
authorATMDA <atdma2600@gmail.com>2025-11-18 12:10:41 -0500
committerATMDA <atdma2600@gmail.com>2025-11-18 12:10:41 -0500
commit7ac403d93304f122b051ad3c9ef794941648d1f5 (patch)
tree6278afe48077ceecd37cb2f4ea0d25ee69bf1828 /modules/controlcenter/taskbar
parentcontrolcenter: corrected launcher animation on data update (diff)
downloadcaelestia-shell-7ac403d93304f122b051ad3c9ef794941648d1f5.tar.gz
caelestia-shell-7ac403d93304f122b051ad3c9ef794941648d1f5.tar.bz2
caelestia-shell-7ac403d93304f122b051ad3c9ef794941648d1f5.zip
controlcenter: added more missing options to taskbar panel
Diffstat (limited to 'modules/controlcenter/taskbar')
-rw-r--r--modules/controlcenter/taskbar/ConnectedButtonGroup.qml18
-rw-r--r--modules/controlcenter/taskbar/TaskbarPane.qml112
2 files changed, 123 insertions, 7 deletions
diff --git a/modules/controlcenter/taskbar/ConnectedButtonGroup.qml b/modules/controlcenter/taskbar/ConnectedButtonGroup.qml
index e35ccfc..af386c3 100644
--- a/modules/controlcenter/taskbar/ConnectedButtonGroup.qml
+++ b/modules/controlcenter/taskbar/ConnectedButtonGroup.qml
@@ -131,6 +131,24 @@ StyledRect {
button.isChecked = root.rootItem.trayRecolour;
}
}
+
+ function onScrollWorkspacesChanged() {
+ if (modelData.propertyName === "scrollWorkspaces") {
+ button.isChecked = root.rootItem.scrollWorkspaces;
+ }
+ }
+
+ function onScrollVolumeChanged() {
+ if (modelData.propertyName === "scrollVolume") {
+ button.isChecked = root.rootItem.scrollVolume;
+ }
+ }
+
+ function onScrollBrightnessChanged() {
+ if (modelData.propertyName === "scrollBrightness") {
+ button.isChecked = root.rootItem.scrollBrightness;
+ }
+ }
}
// Match utilities Toggles radius styling
diff --git a/modules/controlcenter/taskbar/TaskbarPane.qml b/modules/controlcenter/taskbar/TaskbarPane.qml
index 18d5304..e84e5fe 100644
--- a/modules/controlcenter/taskbar/TaskbarPane.qml
+++ b/modules/controlcenter/taskbar/TaskbarPane.qml
@@ -47,6 +47,16 @@ Item {
property bool workspacesShowWindows: Config.bar.workspaces.showWindows ?? false
property bool workspacesPerMonitor: Config.bar.workspaces.perMonitorWorkspaces ?? true
+ // Scroll Actions
+ property bool scrollWorkspaces: Config.bar.scrollActions.workspaces ?? true
+ property bool scrollVolume: Config.bar.scrollActions.volume ?? true
+ property bool scrollBrightness: Config.bar.scrollActions.brightness ?? true
+
+ // Popouts
+ property bool popoutActiveWindow: Config.bar.popouts.activeWindow ?? true
+ property bool popoutTray: Config.bar.popouts.tray ?? true
+ property bool popoutStatusIcons: Config.bar.popouts.statusIcons ?? true
+
anchors.fill: parent
Component.onCompleted: {
@@ -93,6 +103,16 @@ Item {
Config.bar.workspaces.showWindows = root.workspacesShowWindows;
Config.bar.workspaces.perMonitorWorkspaces = root.workspacesPerMonitor;
+ // Update scroll actions
+ Config.bar.scrollActions.workspaces = root.scrollWorkspaces;
+ Config.bar.scrollActions.volume = root.scrollVolume;
+ Config.bar.scrollActions.brightness = root.scrollBrightness;
+
+ // Update popouts
+ Config.bar.popouts.activeWindow = root.popoutActiveWindow;
+ Config.bar.popouts.tray = root.popoutTray;
+ Config.bar.popouts.statusIcons = root.popoutStatusIcons;
+
// Update entries from the model (same approach as clock - use provided value if available)
const entries = [];
for (let i = 0; i < entriesModel.count; i++) {
@@ -257,7 +277,7 @@ Item {
ColumnLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignTop
- spacing: Appearance.spacing.small
+ spacing: Appearance.spacing.normal
SectionContainer {
Layout.fillWidth: true
@@ -435,6 +455,47 @@ Item {
}
}
}
+
+ SectionContainer {
+ Layout.fillWidth: true
+ alignTop: true
+
+ StyledText {
+ text: qsTr("Scroll Actions")
+ font.pointSize: Appearance.font.size.normal
+ }
+
+ ConnectedButtonGroup {
+ rootItem: root
+
+ options: [
+ {
+ label: qsTr("Workspaces"),
+ propertyName: "scrollWorkspaces",
+ onToggled: function(checked) {
+ root.scrollWorkspaces = checked;
+ root.saveConfig();
+ }
+ },
+ {
+ label: qsTr("Volume"),
+ propertyName: "scrollVolume",
+ onToggled: function(checked) {
+ root.scrollVolume = checked;
+ root.saveConfig();
+ }
+ },
+ {
+ label: qsTr("Brightness"),
+ propertyName: "scrollBrightness",
+ onToggled: function(checked) {
+ root.scrollBrightness = checked;
+ root.saveConfig();
+ }
+ }
+ ]
+ }
+ }
}
ColumnLayout {
@@ -501,12 +562,6 @@ Item {
]
}
}
- }
-
- ColumnLayout {
- Layout.fillWidth: true
- Layout.alignment: Qt.AlignTop
- spacing: Appearance.spacing.small
SectionContainer {
Layout.fillWidth: true
@@ -635,6 +690,49 @@ Item {
}
}
}
+
+ ColumnLayout {
+ Layout.fillWidth: true
+ Layout.alignment: Qt.AlignTop
+ spacing: Appearance.spacing.normal
+
+ SectionContainer {
+ Layout.fillWidth: true
+ alignTop: true
+
+ StyledText {
+ text: qsTr("Popouts")
+ font.pointSize: Appearance.font.size.normal
+ }
+
+ SwitchRow {
+ label: qsTr("Active window")
+ checked: root.popoutActiveWindow
+ onToggled: checked => {
+ root.popoutActiveWindow = checked;
+ root.saveConfig();
+ }
+ }
+
+ SwitchRow {
+ label: qsTr("Tray")
+ checked: root.popoutTray
+ onToggled: checked => {
+ root.popoutTray = checked;
+ root.saveConfig();
+ }
+ }
+
+ SwitchRow {
+ label: qsTr("Status icons")
+ checked: root.popoutStatusIcons
+ onToggled: checked => {
+ root.popoutStatusIcons = checked;
+ root.saveConfig();
+ }
+ }
+ }
+ }
}
}