rounded noti corners and flush with screen edge
This commit is contained in:
parent
358fc5fe89
commit
c55f9b9ae0
38
Colors.qml
38
Colors.qml
@ -5,25 +5,25 @@ import Quickshell
|
||||
Singleton {
|
||||
id: customColors
|
||||
// Core Backgrounds
|
||||
readonly property color background: "#1A1B26"
|
||||
readonly property color foreground: "#C0CAF5"
|
||||
readonly property color cursor: "#C0CAF5"
|
||||
readonly property color background: "#0E1019"
|
||||
readonly property color foreground: "#FFFAF4"
|
||||
readonly property color cursor: "#FFFAF4"
|
||||
|
||||
// The 16 Colors of the Apocalypse
|
||||
readonly property color color0: "#414868"
|
||||
readonly property color color1: "#F7768E"
|
||||
readonly property color color2: "#9ECE6A"
|
||||
readonly property color color3: "#E0AF68"
|
||||
readonly property color color4: "#7AA2F7"
|
||||
readonly property color color5: "#BB9AF7"
|
||||
readonly property color color6: "#7DCFFF"
|
||||
readonly property color color7: "#A9B1D6"
|
||||
readonly property color color8: "#414868"
|
||||
readonly property color color9: "#F7768E"
|
||||
readonly property color color10: "#9ECE6A"
|
||||
readonly property color color11: "#E0AF68"
|
||||
readonly property color color12: "#7AA2F7"
|
||||
readonly property color color13: "#BB9AF7"
|
||||
readonly property color color14: "#7DCFFF"
|
||||
readonly property color color15: "#C0CAF5"
|
||||
readonly property color color0: "#232323"
|
||||
readonly property color color1: "#FF000F"
|
||||
readonly property color color2: "#8CE10B"
|
||||
readonly property color color3: "#FFB900"
|
||||
readonly property color color4: "#008DF8"
|
||||
readonly property color color5: "#6D43A6"
|
||||
readonly property color color6: "#00D8EB"
|
||||
readonly property color color7: "#FFFFFF"
|
||||
readonly property color color8: "#444444"
|
||||
readonly property color color9: "#FF2740"
|
||||
readonly property color color10: "#ABE15B"
|
||||
readonly property color color11: "#FFD242"
|
||||
readonly property color color12: "#0092FF"
|
||||
readonly property color color13: "#9A5FEB"
|
||||
readonly property color color14: "#67FFF0"
|
||||
readonly property color color15: "#FFFFFF"
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@ import "../../"
|
||||
PanelWindow {
|
||||
id: root
|
||||
required property var modelData
|
||||
implicitHeight: 34
|
||||
implicitHeight: 36
|
||||
color: Colors.background
|
||||
anchors {
|
||||
top: true
|
||||
|
||||
@ -31,19 +31,26 @@ WlrLayershell {
|
||||
right: true
|
||||
}
|
||||
margins {
|
||||
top: 45
|
||||
right: 10
|
||||
top: 36
|
||||
right: 00
|
||||
}
|
||||
|
||||
implicitWidth: 300
|
||||
implicitHeight: notifList.contentHeight + 20
|
||||
Behavior on implicitHeight {
|
||||
NumberAnimation {
|
||||
duration: 300
|
||||
easing.type: Easing.OutQuad
|
||||
}
|
||||
}
|
||||
|
||||
// 2. Layer: Put it ABOVE normal windows
|
||||
layer: WlrLayer.Overlay
|
||||
exclusionMode: ExclusionMode.Ignore
|
||||
|
||||
// 3. CRITICAL: Make the window itself invisible!
|
||||
// We only want to see the notifications, not the container.
|
||||
// We only want to see the
|
||||
// notifications, not the container.
|
||||
color: "transparent"
|
||||
|
||||
// 4. Input: Let clicks pass through empty areas
|
||||
@ -53,39 +60,37 @@ WlrLayershell {
|
||||
// THE SPAWNER
|
||||
ListView {
|
||||
id: notifList
|
||||
anchors.fill: parent
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.margins: 0
|
||||
// Use 'spacing' to put gaps between notifications
|
||||
spacing: 10
|
||||
spacing: 00
|
||||
height: contentHeight
|
||||
|
||||
// Align to the bottom (like Windows) or Top (like GNOME)?
|
||||
// verticalLayoutDirection: ListView.BottomToTop
|
||||
|
||||
// 🔗 CONNECT TO THE SERVER
|
||||
// Assuming your NotificationServer is a singleton or globally accessible
|
||||
// ... other imports
|
||||
|
||||
// Inside your ListView...
|
||||
model: NotifServer.trackedNotifications
|
||||
delegate: Item {
|
||||
id: notifyItem
|
||||
required property var index
|
||||
readonly property bool isLast: index === (ListView.view.count - 1)
|
||||
implicitWidth: ListView.view.width
|
||||
implicitHeight: 85 // Fixed height is usually better for icon layouts
|
||||
height: implicitHeight
|
||||
|
||||
required property var modelData
|
||||
Timer {
|
||||
id: timout
|
||||
interval: 3000
|
||||
running: true
|
||||
onRunningChanged: notifyItem.modelData.dismiss()
|
||||
onTriggered: notifyItem.modelData.dismiss()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: Colors.background
|
||||
radius: 20
|
||||
bottomLeftRadius: notifyItem.isLast ? 20 : 0
|
||||
border.color: Colors.color5
|
||||
border.width: 2
|
||||
border.width: 0
|
||||
|
||||
// 2. Use RowLayout to put Image | Text side-by-side
|
||||
RowLayout {
|
||||
|
||||
@ -11,13 +11,14 @@ Singleton {
|
||||
|
||||
watchChanges: true
|
||||
onAdapterChanged: writeAdapter()
|
||||
onFileChanged: reload()
|
||||
|
||||
JsonAdapter {
|
||||
id: adapter
|
||||
property string lastWallpaper
|
||||
property string wallDir
|
||||
property string font
|
||||
property real fontSize: 12
|
||||
property real fontSize: 14
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user