removed eww and waybar added quickshell
This commit is contained in:
100
quickshell/SettingsMenu.qml
Normal file
100
quickshell/SettingsMenu.qml
Normal file
@@ -0,0 +1,100 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Io
|
||||
|
||||
// Mirrors eww settings-menu (revealer + toggle button)
|
||||
Item {
|
||||
id: root
|
||||
property string volumeInfo: ""
|
||||
property string networkInfo: ""
|
||||
property string themeInfo: ""
|
||||
|
||||
// exposed so LogoutMenu can close us
|
||||
property bool open: false
|
||||
|
||||
implicitHeight: 26
|
||||
implicitWidth: row.implicitWidth
|
||||
|
||||
Row {
|
||||
id: row
|
||||
spacing: 4
|
||||
layoutDirection: Qt.RightToLeft // toggle btn on the right, menu slides left
|
||||
|
||||
// Toggle button (eww center-btn)
|
||||
Rectangle {
|
||||
width: 26; height: 26; radius: 13
|
||||
color: root.open ? "#89b4fa" : "#313244"
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: root.open ? "" : ""
|
||||
color: root.open ? "#1e1e2e" : "#cdd6f4"
|
||||
font.pixelSize: 14
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: root.open = !root.open
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
}
|
||||
}
|
||||
|
||||
// Revealed menu (slides in from right)
|
||||
Item {
|
||||
width: menuRow.implicitWidth + 8
|
||||
height: 26
|
||||
clip: true
|
||||
|
||||
// animate width for slide effect (like :transition slideright)
|
||||
Behavior on width { NumberAnimation { duration: 200; easing.type: Easing.InOutQuad } }
|
||||
// Collapsed when closed
|
||||
states: State {
|
||||
name: "hidden"
|
||||
when: !root.open
|
||||
PropertyChanges { target: menuReveal; width: 0 }
|
||||
}
|
||||
|
||||
Item {
|
||||
id: menuReveal
|
||||
width: root.open ? menuRow.implicitWidth + 8 : 0
|
||||
height: 26
|
||||
clip: true
|
||||
|
||||
Behavior on width { NumberAnimation { duration: 200; easing.type: Easing.InOutQuad } }
|
||||
|
||||
Row {
|
||||
id: menuRow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: 4
|
||||
x: 4
|
||||
|
||||
ThemeWidget { themeInfo: root.themeInfo }
|
||||
VolumeWidget { volumeInfo: root.volumeInfo }
|
||||
NetworkWidget { networkInfo: root.networkInfo }
|
||||
|
||||
// wdisplays button
|
||||
Rectangle {
|
||||
width: 30; height: 22; radius: 11
|
||||
color: "#313244"
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: ""
|
||||
color: "#cdd6f4"
|
||||
font.pixelSize: 13
|
||||
}
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
root.open = false
|
||||
Qt.createQmlObject(
|
||||
'import Quickshell.Io; Process { command: ["wdisplays"]; running: true }',
|
||||
root)
|
||||
}
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user