quickshell and hyprland additions

This commit is contained in:
2026-03-15 13:56:00 +02:00
parent c9c27d1554
commit 1ad06b82a6
509 changed files with 68371 additions and 19 deletions

View File

@@ -0,0 +1,101 @@
import qs.config
import QtQuick
import QtQuick.Layouts
Item {
id: contentMenu
Layout.fillWidth: true
Layout.fillHeight: true
opacity: visible ? 1 : 0
scale: visible ? 1 : 0.95
Behavior on opacity {
enabled: Config.runtime.appearance.animations.enabled
NumberAnimation {
duration: Metrics.chronoDuration("normal")
easing.type: Appearance.animation.curves.standard[0] // using standard easing
}
}
Behavior on scale {
enabled: Config.runtime.appearance.animations.enabled
NumberAnimation {
duration: Metrics.chronoDuration("normal")
easing.type: Appearance.animation.curves.standard[0]
}
}
property string title: ""
property string description: ""
default property alias content: stackedSections.data
Item {
id: headerArea
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: Metrics.margin("verylarge")
anchors.leftMargin: Metrics.margin("verylarge")
anchors.rightMargin: Metrics.margin("verylarge")
width: parent.width
ColumnLayout {
id: headerContent
anchors.left: parent.left
anchors.right: parent.right
spacing: Metrics.margin("small")
ColumnLayout {
StyledText {
text: contentMenu.title
font.pixelSize: Metrics.fontSize("huge")
font.bold: true
font.family: Metrics.fontFamily("title")
}
StyledText {
text: contentMenu.description
font.pixelSize: Metrics.fontSize("small")
}
}
Rectangle {
id: hr
Layout.alignment: Qt.AlignLeft | Qt.AlignRight
implicitHeight: 1
}
}
height: headerContent.implicitHeight
}
Flickable {
id: mainScroll
anchors.left: parent.left
anchors.right: parent.right
anchors.top: headerArea.bottom
anchors.bottom: parent.bottom
anchors.leftMargin: Metrics.margin("verylarge")
anchors.rightMargin: Metrics.margin("verylarge")
anchors.topMargin: Metrics.margin("normal")
clip: true
interactive: true
boundsBehavior: Flickable.StopAtBounds
flickableDirection: Flickable.VerticalFlick
contentHeight: mainContent.childrenRect.height + Appearance.margin.small
contentWidth: width
Item {
id: mainContent
width: mainScroll.width
height: mainContent.childrenRect.height
Column {
id: stackedSections
width: Math.min(mainScroll.width, 1000)
x: (mainContent.width - width) / 2
spacing: Appearance.margin.normal
}
}
}
}