Initial ThinkPad Hyprland dotfiles
This commit is contained in:
279
config/hypr/sddm-theme/pascal-hypr/Main.qml
Normal file
279
config/hypr/sddm-theme/pascal-hypr/Main.qml
Normal file
@@ -0,0 +1,279 @@
|
||||
import QtQuick 2.0
|
||||
import SddmComponents 2.0
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
width: 1920
|
||||
height: 1080
|
||||
color: config.backgroundColor || "#18141f"
|
||||
|
||||
property int sessionIndex: session.index
|
||||
property color accent: config.accent || "#f38ba8"
|
||||
property color accent2: config.accent2 || "#cba6f7"
|
||||
property color backgroundColor: config.backgroundColor || "#18141f"
|
||||
property color panelColor: config.panelColor || "#313244"
|
||||
property color foreground: config.foreground || "#f5e0dc"
|
||||
property color muted: config.muted || "#cdd6f4"
|
||||
property color selectedText: config.selectedText || "#11111b"
|
||||
property string themeName: config.themeName || "Rose Night"
|
||||
|
||||
TextConstants { id: textConstants }
|
||||
|
||||
Connections {
|
||||
target: sddm
|
||||
|
||||
function onLoginSucceeded() {
|
||||
message.text = textConstants.loginSucceeded
|
||||
message.color = accent2
|
||||
}
|
||||
|
||||
function onLoginFailed() {
|
||||
password.text = ""
|
||||
message.text = textConstants.loginFailed
|
||||
message.color = "#f38ba8"
|
||||
}
|
||||
|
||||
function onInformationMessage(text) {
|
||||
message.text = text
|
||||
message.color = "#f38ba8"
|
||||
}
|
||||
}
|
||||
|
||||
Background {
|
||||
anchors.fill: parent
|
||||
source: config.background || ""
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
onStatusChanged: {
|
||||
if (status === Image.Error) {
|
||||
source = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: "#000000"
|
||||
opacity: 0.42
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: Qt.rgba(0, 0, 0, 0.10) }
|
||||
GradientStop { position: 0.58; color: Qt.rgba(0, 0, 0, 0.38) }
|
||||
GradientStop { position: 1.0; color: Qt.rgba(0, 0, 0, 0.62) }
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 1000
|
||||
running: true
|
||||
repeat: true
|
||||
triggeredOnStart: true
|
||||
onTriggered: {
|
||||
clock.text = Qt.formatDateTime(new Date(), "HH:mm")
|
||||
date.text = Qt.formatDateTime(new Date(), "dddd, dd. MMMM yyyy")
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Math.max(42, parent.width * 0.055)
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: Math.max(40, parent.height * 0.055)
|
||||
spacing: 2
|
||||
|
||||
Text {
|
||||
id: clock
|
||||
color: foreground
|
||||
font.pixelSize: Math.max(64, root.height * 0.105)
|
||||
font.weight: Font.Light
|
||||
}
|
||||
|
||||
Text {
|
||||
id: date
|
||||
color: muted
|
||||
opacity: 0.88
|
||||
font.pixelSize: Math.max(16, root.height * 0.023)
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: panel
|
||||
width: Math.min(430, root.width - 48)
|
||||
height: 430
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Math.max(28, parent.width * 0.075)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
radius: 18
|
||||
color: panelColor
|
||||
opacity: 0.90
|
||||
border.color: accent
|
||||
border.width: 1
|
||||
|
||||
Rectangle {
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
height: 4
|
||||
radius: 2
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: accent }
|
||||
GradientStop { position: 1.0; color: accent2 }
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 34
|
||||
spacing: 14
|
||||
|
||||
Text {
|
||||
text: sddm.hostName
|
||||
color: foreground
|
||||
font.pixelSize: 26
|
||||
font.bold: true
|
||||
elide: Text.ElideRight
|
||||
width: parent.width
|
||||
}
|
||||
|
||||
Text {
|
||||
text: themeName
|
||||
color: accent
|
||||
font.pixelSize: 14
|
||||
width: parent.width
|
||||
opacity: 0.92
|
||||
}
|
||||
|
||||
Item { width: 1; height: 10 }
|
||||
|
||||
Text {
|
||||
text: "Benutzer"
|
||||
color: muted
|
||||
font.pixelSize: 12
|
||||
opacity: 0.78
|
||||
}
|
||||
|
||||
TextBox {
|
||||
id: username
|
||||
width: parent.width
|
||||
height: 42
|
||||
text: userModel.lastUser
|
||||
color: backgroundColor
|
||||
borderColor: Qt.rgba(accent.r, accent.g, accent.b, 0.40)
|
||||
focusColor: accent
|
||||
hoverColor: accent2
|
||||
textColor: foreground
|
||||
radius: 10
|
||||
font.pixelSize: 16
|
||||
KeyNavigation.tab: password
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Passwort"
|
||||
color: muted
|
||||
font.pixelSize: 12
|
||||
opacity: 0.78
|
||||
}
|
||||
|
||||
PasswordBox {
|
||||
id: password
|
||||
width: parent.width
|
||||
height: 42
|
||||
color: backgroundColor
|
||||
borderColor: Qt.rgba(accent.r, accent.g, accent.b, 0.40)
|
||||
focusColor: accent
|
||||
hoverColor: accent2
|
||||
textColor: foreground
|
||||
radius: 10
|
||||
font.pixelSize: 16
|
||||
KeyNavigation.backtab: username
|
||||
KeyNavigation.tab: loginButton
|
||||
|
||||
Keys.onPressed: function(event) {
|
||||
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
|
||||
sddm.login(username.text, password.text, sessionIndex)
|
||||
event.accepted = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
id: session
|
||||
width: parent.width
|
||||
height: 36
|
||||
model: sessionModel
|
||||
index: sessionModel.lastIndex
|
||||
color: backgroundColor
|
||||
borderColor: Qt.rgba(accent.r, accent.g, accent.b, 0.40)
|
||||
focusColor: accent
|
||||
hoverColor: accent2
|
||||
menuColor: panelColor
|
||||
textColor: foreground
|
||||
arrowColor: accent
|
||||
arrowIcon: "angle-down.png"
|
||||
KeyNavigation.backtab: password
|
||||
KeyNavigation.tab: loginButton
|
||||
}
|
||||
|
||||
Button {
|
||||
id: loginButton
|
||||
width: parent.width
|
||||
height: 44
|
||||
text: "Anmelden"
|
||||
color: accent
|
||||
activeColor: accent2
|
||||
pressedColor: accent2
|
||||
disabledColor: muted
|
||||
borderColor: accent2
|
||||
textColor: selectedText
|
||||
font.pixelSize: 15
|
||||
onClicked: sddm.login(username.text, password.text, sessionIndex)
|
||||
KeyNavigation.backtab: session
|
||||
KeyNavigation.tab: shutdownButton
|
||||
}
|
||||
|
||||
Text {
|
||||
id: message
|
||||
width: parent.width
|
||||
color: muted
|
||||
text: ""
|
||||
font.pixelSize: 13
|
||||
wrapMode: Text.WordWrap
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Math.max(28, parent.width * 0.075)
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Math.max(26, parent.height * 0.045)
|
||||
spacing: 10
|
||||
|
||||
Button {
|
||||
id: shutdownButton
|
||||
text: "Ausschalten"
|
||||
color: Qt.rgba(0, 0, 0, 0.42)
|
||||
activeColor: accent
|
||||
pressedColor: accent2
|
||||
borderColor: Qt.rgba(foreground.r, foreground.g, foreground.b, 0.35)
|
||||
textColor: foreground
|
||||
onClicked: sddm.powerOff()
|
||||
KeyNavigation.tab: rebootButton
|
||||
}
|
||||
|
||||
Button {
|
||||
id: rebootButton
|
||||
text: "Neustart"
|
||||
color: Qt.rgba(0, 0, 0, 0.42)
|
||||
activeColor: accent
|
||||
pressedColor: accent2
|
||||
borderColor: Qt.rgba(foreground.r, foreground.g, foreground.b, 0.35)
|
||||
textColor: foreground
|
||||
onClicked: sddm.reboot()
|
||||
KeyNavigation.backtab: shutdownButton
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user