summaryrefslogtreecommitdiff
path: root/modules/controlcenter/taskbar
diff options
context:
space:
mode:
authorATMDA <atdma2600@gmail.com>2025-11-17 09:24:28 -0500
committerATMDA <atdma2600@gmail.com>2025-11-17 09:24:28 -0500
commit2c91bde79573b45f65280d7b68cd28f50a780019 (patch)
tree41217ab7c1bc246dcf8b87616ca3ee7f0d4c52f2 /modules/controlcenter/taskbar
parentcontrolcenter: taskbar clock settings bg correction (diff)
downloadcaelestia-shell-2c91bde79573b45f65280d7b68cd28f50a780019.tar.gz
caelestia-shell-2c91bde79573b45f65280d7b68cd28f50a780019.tar.bz2
caelestia-shell-2c91bde79573b45f65280d7b68cd28f50a780019.zip
controlcenter: converted taskbar panel to single pane view
Diffstat (limited to 'modules/controlcenter/taskbar')
-rw-r--r--modules/controlcenter/taskbar/TaskbarPane.qml850
1 files changed, 368 insertions, 482 deletions
diff --git a/modules/controlcenter/taskbar/TaskbarPane.qml b/modules/controlcenter/taskbar/TaskbarPane.qml
index 8a58512..1ad35b6 100644
--- a/modules/controlcenter/taskbar/TaskbarPane.qml
+++ b/modules/controlcenter/taskbar/TaskbarPane.qml
@@ -13,7 +13,7 @@ import Quickshell.Widgets
import QtQuick
import QtQuick.Layouts
-RowLayout {
+Item {
id: root
required property Session session
@@ -49,8 +49,6 @@ RowLayout {
anchors.fill: parent
- spacing: 0
-
Component.onCompleted: {
// Update entries
if (Config.bar.entries) {
@@ -120,604 +118,492 @@ RowLayout {
id: entriesModel
}
- Item {
- id: leftTaskbarItem
- Layout.preferredWidth: Math.floor(parent.width * 0.4)
- Layout.minimumWidth: 420
- Layout.fillHeight: true
-
- ClippingRectangle {
- id: leftTaskbarClippingRect
- anchors.fill: parent
- anchors.margins: Appearance.padding.normal
- anchors.leftMargin: 0
- anchors.rightMargin: Appearance.padding.normal / 2
+ ClippingRectangle {
+ id: taskbarClippingRect
+ anchors.fill: parent
+ anchors.margins: Appearance.padding.normal
- radius: leftTaskbarBorder.innerRadius
- color: "transparent"
+ radius: taskbarBorder.innerRadius
+ color: "transparent"
- Loader {
- id: leftTaskbarLoader
+ Loader {
+ id: taskbarLoader
- anchors.fill: parent
- anchors.margins: Appearance.padding.large + Appearance.padding.normal
- anchors.leftMargin: Appearance.padding.large
- anchors.rightMargin: Appearance.padding.large + Appearance.padding.normal / 2
+ anchors.fill: parent
+ anchors.margins: Appearance.padding.large * 2
- asynchronous: true
- sourceComponent: leftTaskbarContentComponent
- }
+ asynchronous: true
+ sourceComponent: taskbarContentComponent
}
+ }
- InnerBorder {
- id: leftTaskbarBorder
- leftThickness: 0
- rightThickness: Appearance.padding.normal / 2
- }
+ InnerBorder {
+ id: taskbarBorder
+ }
- Component {
- id: leftTaskbarContentComponent
+ Component {
+ id: taskbarContentComponent
- StyledFlickable {
- id: sidebarFlickable
- flickableDirection: Flickable.VerticalFlick
- contentHeight: sidebarLayout.height
+ StyledFlickable {
+ id: sidebarFlickable
+ flickableDirection: Flickable.VerticalFlick
+ contentHeight: sidebarLayout.height
- StyledScrollBar.vertical: StyledScrollBar {
- flickable: sidebarFlickable
- }
+ StyledScrollBar.vertical: StyledScrollBar {
+ flickable: sidebarFlickable
+ }
- ColumnLayout {
- id: sidebarLayout
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: parent.top
+ ColumnLayout {
+ id: sidebarLayout
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
- spacing: Appearance.spacing.small
+ spacing: Appearance.spacing.small
- readonly property bool allSectionsExpanded:
- clockSection.expanded &&
- barBehaviorSection.expanded &&
- statusIconsSection.expanded &&
- traySettingsSection.expanded &&
- workspacesSection.expanded
+ readonly property bool allSectionsExpanded:
+ clockSection.expanded &&
+ barBehaviorSection.expanded &&
+ statusIconsSection.expanded &&
+ traySettingsSection.expanded &&
+ workspacesSection.expanded
- RowLayout {
- spacing: Appearance.spacing.smaller
+ RowLayout {
+ spacing: Appearance.spacing.smaller
- StyledText {
- text: qsTr("Settings")
- font.pointSize: Appearance.font.size.large
- font.weight: 500
- }
+ StyledText {
+ text: qsTr("Settings")
+ font.pointSize: Appearance.font.size.large
+ font.weight: 500
+ }
- Item {
- Layout.fillWidth: true
- }
+ Item {
+ Layout.fillWidth: true
+ }
- IconButton {
- icon: sidebarLayout.allSectionsExpanded ? "unfold_less" : "unfold_more"
- type: IconButton.Text
- label.animate: true
- onClicked: {
- const shouldExpand = !sidebarLayout.allSectionsExpanded;
- clockSection.expanded = shouldExpand;
- barBehaviorSection.expanded = shouldExpand;
- statusIconsSection.expanded = shouldExpand;
- traySettingsSection.expanded = shouldExpand;
- workspacesSection.expanded = shouldExpand;
- }
+ IconButton {
+ icon: sidebarLayout.allSectionsExpanded ? "unfold_less" : "unfold_more"
+ type: IconButton.Text
+ label.animate: true
+ onClicked: {
+ const shouldExpand = !sidebarLayout.allSectionsExpanded;
+ clockSection.expanded = shouldExpand;
+ barBehaviorSection.expanded = shouldExpand;
+ statusIconsSection.expanded = shouldExpand;
+ traySettingsSection.expanded = shouldExpand;
+ workspacesSection.expanded = shouldExpand;
}
}
+ }
- CollapsibleSection {
- id: clockSection
- title: qsTr("Clock")
+ CollapsibleSection {
+ id: clockSection
+ title: qsTr("Clock")
- SwitchRow {
- label: qsTr("Show clock icon")
- checked: root.clockShowIcon
- onToggled: checked => {
- root.clockShowIcon = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show clock icon")
+ checked: root.clockShowIcon
+ onToggled: checked => {
+ root.clockShowIcon = checked;
+ root.saveConfig();
+ }
}
}
- }
- CollapsibleSection {
- id: barBehaviorSection
- title: qsTr("Bar Behavior")
+ CollapsibleSection {
+ id: barBehaviorSection
+ title: qsTr("Bar Behavior")
- SwitchRow {
- label: qsTr("Persistent")
- checked: root.persistent
- onToggled: checked => {
- root.persistent = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Persistent")
+ checked: root.persistent
+ onToggled: checked => {
+ root.persistent = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show on hover")
- checked: root.showOnHover
- onToggled: checked => {
- root.showOnHover = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show on hover")
+ checked: root.showOnHover
+ onToggled: checked => {
+ root.showOnHover = checked;
+ root.saveConfig();
+ }
}
- }
-
- SectionContainer {
- contentSpacing: Appearance.spacing.normal
- ColumnLayout {
- Layout.fillWidth: true
- spacing: Appearance.spacing.small
+ SectionContainer {
+ contentSpacing: Appearance.spacing.normal
- RowLayout {
+ ColumnLayout {
Layout.fillWidth: true
- spacing: Appearance.spacing.normal
+ spacing: Appearance.spacing.small
- StyledText {
- text: qsTr("Drag threshold")
- font.pointSize: Appearance.font.size.normal
- }
-
- Item {
+ RowLayout {
Layout.fillWidth: true
- }
-
- StyledRect {
- Layout.preferredWidth: 70
- implicitHeight: dragThresholdInput.implicitHeight + Appearance.padding.small * 2
- color: dragThresholdInputHover.containsMouse || dragThresholdInput.activeFocus
- ? Colours.layer(Colours.palette.m3surfaceContainer, 3)
- : Colours.layer(Colours.palette.m3surfaceContainer, 2)
- radius: Appearance.rounding.small
- border.width: 1
- border.color: dragThresholdInput.activeFocus
- ? Colours.palette.m3primary
- : Qt.alpha(Colours.palette.m3outline, 0.3)
+ spacing: Appearance.spacing.normal
- Behavior on color { CAnim {} }
- Behavior on border.color { CAnim {} }
+ StyledText {
+ text: qsTr("Drag threshold")
+ font.pointSize: Appearance.font.size.normal
+ }
- MouseArea {
- id: dragThresholdInputHover
- anchors.fill: parent
- hoverEnabled: true
- cursorShape: Qt.IBeamCursor
- acceptedButtons: Qt.NoButton
+ Item {
+ Layout.fillWidth: true
}
- StyledTextField {
- id: dragThresholdInput
- anchors.centerIn: parent
- width: parent.width - Appearance.padding.normal
- horizontalAlignment: TextInput.AlignHCenter
- validator: IntValidator { bottom: 0; top: 100 }
-
- Component.onCompleted: {
- text = root.dragThreshold.toString();
+ StyledRect {
+ Layout.preferredWidth: 70
+ implicitHeight: dragThresholdInput.implicitHeight + Appearance.padding.small * 2
+ color: dragThresholdInputHover.containsMouse || dragThresholdInput.activeFocus
+ ? Colours.layer(Colours.palette.m3surfaceContainer, 3)
+ : Colours.layer(Colours.palette.m3surfaceContainer, 2)
+ radius: Appearance.rounding.small
+ border.width: 1
+ border.color: dragThresholdInput.activeFocus
+ ? Colours.palette.m3primary
+ : Qt.alpha(Colours.palette.m3outline, 0.3)
+
+ Behavior on color { CAnim {} }
+ Behavior on border.color { CAnim {} }
+
+ MouseArea {
+ id: dragThresholdInputHover
+ anchors.fill: parent
+ hoverEnabled: true
+ cursorShape: Qt.IBeamCursor
+ acceptedButtons: Qt.NoButton
}
-
- onTextChanged: {
- if (activeFocus) {
- const val = parseInt(text);
- if (!isNaN(val) && val >= 0 && val <= 100) {
- root.dragThreshold = val;
- root.saveConfig();
+
+ StyledTextField {
+ id: dragThresholdInput
+ anchors.centerIn: parent
+ width: parent.width - Appearance.padding.normal
+ horizontalAlignment: TextInput.AlignHCenter
+ validator: IntValidator { bottom: 0; top: 100 }
+
+ Component.onCompleted: {
+ text = root.dragThreshold.toString();
+ }
+
+ onTextChanged: {
+ if (activeFocus) {
+ const val = parseInt(text);
+ if (!isNaN(val) && val >= 0 && val <= 100) {
+ root.dragThreshold = val;
+ root.saveConfig();
+ }
}
}
- }
- onEditingFinished: {
- const val = parseInt(text);
- if (isNaN(val) || val < 0 || val > 100) {
- text = root.dragThreshold.toString();
+ onEditingFinished: {
+ const val = parseInt(text);
+ if (isNaN(val) || val < 0 || val > 100) {
+ text = root.dragThreshold.toString();
+ }
}
}
}
- }
- StyledText {
- text: "px"
- color: Colours.palette.m3outline
- font.pointSize: Appearance.font.size.normal
+ StyledText {
+ text: "px"
+ color: Colours.palette.m3outline
+ font.pointSize: Appearance.font.size.normal
+ }
}
- }
- StyledSlider {
- id: dragThresholdSlider
+ StyledSlider {
+ id: dragThresholdSlider
- Layout.fillWidth: true
- implicitHeight: Appearance.padding.normal * 3
+ Layout.fillWidth: true
+ implicitHeight: Appearance.padding.normal * 3
- from: 0
- to: 100
- value: root.dragThreshold
- onMoved: {
- root.dragThreshold = Math.round(dragThresholdSlider.value);
- if (!dragThresholdInput.activeFocus) {
- dragThresholdInput.text = Math.round(dragThresholdSlider.value).toString();
+ from: 0
+ to: 100
+ value: root.dragThreshold
+ onMoved: {
+ root.dragThreshold = Math.round(dragThresholdSlider.value);
+ if (!dragThresholdInput.activeFocus) {
+ dragThresholdInput.text = Math.round(dragThresholdSlider.value).toString();
+ }
+ root.saveConfig();
}
- root.saveConfig();
}
}
}
}
- }
- CollapsibleSection {
- id: statusIconsSection
- title: qsTr("Status Icons")
+ CollapsibleSection {
+ id: statusIconsSection
+ title: qsTr("Status Icons")
- SwitchRow {
- label: qsTr("Show audio")
- checked: root.showAudio
- onToggled: checked => {
- root.showAudio = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show audio")
+ checked: root.showAudio
+ onToggled: checked => {
+ root.showAudio = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show microphone")
- checked: root.showMicrophone
- onToggled: checked => {
- root.showMicrophone = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show microphone")
+ checked: root.showMicrophone
+ onToggled: checked => {
+ root.showMicrophone = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show keyboard layout")
- checked: root.showKbLayout
- onToggled: checked => {
- root.showKbLayout = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show keyboard layout")
+ checked: root.showKbLayout
+ onToggled: checked => {
+ root.showKbLayout = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show network")
- checked: root.showNetwork
- onToggled: checked => {
- root.showNetwork = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show network")
+ checked: root.showNetwork
+ onToggled: checked => {
+ root.showNetwork = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show bluetooth")
- checked: root.showBluetooth
- onToggled: checked => {
- root.showBluetooth = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show bluetooth")
+ checked: root.showBluetooth
+ onToggled: checked => {
+ root.showBluetooth = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show battery")
- checked: root.showBattery
- onToggled: checked => {
- root.showBattery = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show battery")
+ checked: root.showBattery
+ onToggled: checked => {
+ root.showBattery = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Show lock status")
- checked: root.showLockStatus
- onToggled: checked => {
- root.showLockStatus = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Show lock status")
+ checked: root.showLockStatus
+ onToggled: checked => {
+ root.showLockStatus = checked;
+ root.saveConfig();
+ }
}
}
- }
- CollapsibleSection {
- id: traySettingsSection
- title: qsTr("Tray Settings")
+ CollapsibleSection {
+ id: traySettingsSection
+ title: qsTr("Tray Settings")
- SwitchRow {
- label: qsTr("Background")
- checked: root.trayBackground
- onToggled: checked => {
- root.trayBackground = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Background")
+ checked: root.trayBackground
+ onToggled: checked => {
+ root.trayBackground = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Compact")
- checked: root.trayCompact
- onToggled: checked => {
- root.trayCompact = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Compact")
+ checked: root.trayCompact
+ onToggled: checked => {
+ root.trayCompact = checked;
+ root.saveConfig();
+ }
}
- }
- SwitchRow {
- label: qsTr("Recolour")
- checked: root.trayRecolour
- onToggled: checked => {
- root.trayRecolour = checked;
- root.saveConfig();
+ SwitchRow {
+ label: qsTr("Recolour")
+ checked: root.trayRecolour
+ onToggled: checked => {
+ root.trayRecolour = checked;
+ root.saveConfig();
+ }
}
}
- }
- CollapsibleSection {
- id: workspacesSection
- title: qsTr("Workspaces")
+ CollapsibleSection {
+ id: workspacesSection
+ title: qsTr("Workspaces")
- StyledRect {
- Layout.fillWidth: true
- implicitHeight: workspacesShownRow.implicitHeight + Appearance.padding.large * 2
- radius: Appearance.rounding.normal
- color: Colours.tPalette.m3surfaceContainer
+ StyledRect {
+ Layout.fillWidth: true
+ implicitHeight: workspacesShownRow.implicitHeight + Appearance.padding.large * 2
+ radius: Appearance.rounding.normal
+ color: Colours.tPalette.m3surfaceContainer
- Behavior on implicitHeight {
- Anim {}
- }
+ Behavior on implicitHeight {
+ Anim {}
+ }
- RowLayout {
- id: workspacesShownRow
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.margins: Appearance.padding.large
- spacing: Appearance.spacing.normal
+ RowLayout {
+ id: workspacesShownRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.margins: Appearance.padding.large
+ spacing: Appearance.spacing.normal
- StyledText {
- Layout.fillWidth: true
- text: qsTr("Shown")
- }
+ StyledText {
+ Layout.fillWidth: true
+ text: qsTr("Shown")
+ }
- CustomSpinBox {
- min: 1
- max: 20
- value: root.workspacesShown
- onValueModified: value => {
- root.workspacesShown = value;
- root.saveConfig();
+ CustomSpinBox {
+ min: 1
+ max: 20
+ value: root.workspacesShown
+ onValueModified: value => {
+ root.workspacesShown = value;
+ root.saveConfig();
+ }
}
}
}
- }
- StyledRect {
- Layout.fillWidth: true
- implicitHeight: workspacesActiveIndicatorRow.implicitHeight + Appearance.padding.large * 2
- radius: Appearance.rounding.normal
- color: Colours.tPalette.m3surfaceContainer
+ StyledRect {
+ Layout.fillWidth: true
+ implicitHeight: workspacesActiveIndicatorRow.implicitHeight + Appearance.padding.large * 2
+ radius: Appearance.rounding.normal
+ color: Colours.tPalette.m3surfaceContainer
- Behavior on implicitHeight {
- Anim {}
- }
+ Behavior on implicitHeight {
+ Anim {}
+ }
- RowLayout {
- id: workspacesActiveIndicatorRow
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.margins: Appearance.padding.large
- spacing: Appearance.spacing.normal
+ RowLayout {
+ id: workspacesActiveIndicatorRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.margins: Appearance.padding.large
+ spacing: Appearance.spacing.normal
- StyledText {
- Layout.fillWidth: true
- text: qsTr("Active indicator")
- }
+ StyledText {
+ Layout.fillWidth: true
+ text: qsTr("Active indicator")
+ }
- StyledSwitch {
- checked: root.workspacesActiveIndicator
- onToggled: {
- root.workspacesActiveIndicator = checked;
- root.saveConfig();
+ StyledSwitch {
+ checked: root.workspacesActiveIndicator
+ onToggled: {
+ root.workspacesActiveIndicator = checked;
+ root.saveConfig();
+ }
}
}
}
- }
- StyledRect {
- Layout.fillWidth: true
- implicitHeight: workspacesOccupiedBgRow.implicitHeight + Appearance.padding.large * 2
- radius: Appearance.rounding.normal
- color: Colours.tPalette.m3surfaceContainer
+ StyledRect {
+ Layout.fillWidth: true
+ implicitHeight: workspacesOccupiedBgRow.implicitHeight + Appearance.padding.large * 2
+ radius: Appearance.rounding.normal
+ color: Colours.tPalette.m3surfaceContainer
- Behavior on implicitHeight {
- Anim {}
- }
+ Behavior on implicitHeight {
+ Anim {}
+ }
- RowLayout {
- id: workspacesOccupiedBgRow
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.margins: Appearance.padding.large
- spacing: Appearance.spacing.normal
+ RowLayout {
+ id: workspacesOccupiedBgRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.margins: Appearance.padding.large
+ spacing: Appearance.spacing.normal
- StyledText {
- Layout.fillWidth: true
- text: qsTr("Occupied background")
- }
+ StyledText {
+ Layout.fillWidth: true
+ text: qsTr("Occupied background")
+ }
- StyledSwitch {
- checked: root.workspacesOccupiedBg
- onToggled: {
- root.workspacesOccupiedBg = checked;
- root.saveConfig();
+ StyledSwitch {
+ checked: root.workspacesOccupiedBg
+ onToggled: {
+ root.workspacesOccupiedBg = checked;
+ root.saveConfig();
+ }
}
}
}
- }
- StyledRect {
- Layout.fillWidth: true
- implicitHeight: workspacesShowWindowsRow.implicitHeight + Appearance.padding.large * 2
- radius: Appearance.rounding.normal
- color: Colours.tPalette.m3surfaceContainer
+ StyledRect {
+ Layout.fillWidth: true
+ implicitHeight: workspacesShowWindowsRow.implicitHeight + Appearance.padding.large * 2
+ radius: Appearance.rounding.normal
+ color: Colours.tPalette.m3surfaceContainer
- Behavior on implicitHeight {
- Anim {}
- }
+ Behavior on implicitHeight {
+ Anim {}
+ }
- RowLayout {
- id: workspacesShowWindowsRow
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.margins: Appearance.padding.large
- spacing: Appearance.spacing.normal
+ RowLayout {
+ id: workspacesShowWindowsRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.margins: Appearance.padding.large
+ spacing: Appearance.spacing.normal
- StyledText {
- Layout.fillWidth: true
- text: qsTr("Show windows")
- }
+ StyledText {
+ Layout.fillWidth: true
+ text: qsTr("Show windows")
+ }
- StyledSwitch {
- checked: root.workspacesShowWindows
- onToggled: {
- root.workspacesShowWindows = checked;
- root.saveConfig();
+ StyledSwitch {
+ checked: root.workspacesShowWindows
+ onToggled: {
+ root.workspacesShowWindows = checked;
+ root.saveConfig();
+ }
}
}
}
- }
- StyledRect {
- Layout.fillWidth: true
- implicitHeight: workspacesPerMonitorRow.implicitHeight + Appearance.padding.large * 2
- radius: Appearance.rounding.normal
- color: Colours.tPalette.m3surfaceContainer
+ StyledRect {
+ Layout.fillWidth: true
+ implicitHeight: workspacesPerMonitorRow.implicitHeight + Appearance.padding.large * 2
+ radius: Appearance.rounding.normal
+ color: Colours.tPalette.m3surfaceContainer
- Behavior on implicitHeight {
- Anim {}
- }
+ Behavior on implicitHeight {
+ Anim {}
+ }
- RowLayout {
- id: workspacesPerMonitorRow
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- anchors.margins: Appearance.padding.large
- spacing: Appearance.spacing.normal
+ RowLayout {
+ id: workspacesPerMonitorRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.margins: Appearance.padding.large
+ spacing: Appearance.spacing.normal
- StyledText {
- Layout.fillWidth: true
- text: qsTr("Per monitor workspaces")
- }
+ StyledText {
+ Layout.fillWidth: true
+ text: qsTr("Per monitor workspaces")
+ }
- StyledSwitch {
- checked: root.workspacesPerMonitor
- onToggled: {
- root.workspacesPerMonitor = checked;
- root.saveConfig();
+ StyledSwitch {
+ checked: root.workspacesPerMonitor
+ onToggled: {
+ root.workspacesPerMonitor = checked;
+ root.saveConfig();
+ }
}
}
}
}
}
}
- }
- }
- }
-
- Item {
- id: rightTaskbarItem
- Layout.fillWidth: true
- Layout.fillHeight: true
-
- ClippingRectangle {
- id: rightTaskbarClippingRect
- anchors.fill: parent
- anchors.margins: Appearance.padding.normal
- anchors.leftMargin: 0
- anchors.rightMargin: Appearance.padding.normal / 2
-
- radius: rightTaskbarBorder.innerRadius
- color: "transparent"
-
- Loader {
- id: rightTaskbarLoader
-
- anchors.fill: parent
- anchors.margins: Appearance.padding.large * 2
-
- asynchronous: true
- sourceComponent: rightTaskbarContentComponent
- }
- }
-
- InnerBorder {
- id: rightTaskbarBorder
-
- leftThickness: Appearance.padding.normal / 2
- }
-
- Component {
- id: rightTaskbarContentComponent
-
- StyledFlickable {
- flickableDirection: Flickable.VerticalFlick
- contentHeight: contentLayout.height
-
- StyledScrollBar.vertical: StyledScrollBar {
- flickable: parent
- }
-
- ColumnLayout {
- id: contentLayout
-
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: parent.top
-
- spacing: Appearance.spacing.normal
-
- MaterialIcon {
- Layout.alignment: Qt.AlignHCenter
- text: "task_alt"
- font.pointSize: Appearance.font.size.extraLarge * 3
- font.bold: true
- }
-
- StyledText {
- Layout.alignment: Qt.AlignHCenter
- text: qsTr("Taskbar Settings")
- font.pointSize: Appearance.font.size.large
- font.bold: true
- }
-
- StyledText {
- Layout.topMargin: Appearance.spacing.large
- Layout.alignment: Qt.AlignHCenter
- text: qsTr("Clock")
- font.pointSize: Appearance.font.size.larger
- font.weight: 500
- }
-
- StyledText {
- Layout.alignment: Qt.AlignHCenter
- text: root.clockShowIcon ? qsTr("Clock icon enabled") : qsTr("Clock icon disabled")
- color: Colours.palette.m3outline
- }
-
- StyledText {
- Layout.topMargin: Appearance.spacing.large
- Layout.alignment: Qt.AlignHCenter
- text: qsTr("Taskbar Entries")
- font.pointSize: Appearance.font.size.larger
- font.weight: 500
- }
-
- StyledText {
- Layout.alignment: Qt.AlignHCenter
- text: qsTr("Configure which entries appear in the taskbar")
- color: Colours.palette.m3outline
- }
-
- }
- }
- }
}
}