add notifications
This commit is contained in:
parent
7aae19e8e0
commit
3e9fb9f5d1
7 changed files with 305 additions and 1 deletions
46
modules/notifications/NotiPopup.qml~
Normal file
46
modules/notifications/NotiPopup.qml~
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
import Quickshell.Wayland
|
||||
import qs.settings
|
||||
import Quickshell.Hyprland
|
||||
|
||||
WlrLayershell {
|
||||
id: notiPopup
|
||||
property ShellScreen activeScreen: getActiveScreen()
|
||||
function getActiveScreen() {
|
||||
let current = Quickshell.screens[0];
|
||||
for (let i = 0; i < Quickshell.screens.length; i++) {
|
||||
current = Quickshell.screens[i];
|
||||
if (Hyprland.monitorFor(current) == Hyprland.focusedMonitor) {
|
||||
return current;
|
||||
}
|
||||
}
|
||||
return current;
|
||||
}
|
||||
exclusionMode: ExclusionMode.Ignore
|
||||
layer: WlrLayer.Overlay
|
||||
screen: activeScreen
|
||||
anchors {
|
||||
top: true
|
||||
right: true
|
||||
}
|
||||
margins.top: Config.barHeight + 8 + (Config.floating ? 10 : 0)
|
||||
margins.right: 8
|
||||
implicitHeight: notiList.contentHeight
|
||||
implicitWidth: activeScreen.width / 6
|
||||
color: 'transparent'
|
||||
visible: NotiServer.notifications.values.length > 0
|
||||
|
||||
ListView {
|
||||
id: notiList
|
||||
anchors.fill: parent
|
||||
model: NotiServer.notifications
|
||||
spacing: 6
|
||||
delegate: NotiCard {
|
||||
required property var modelData
|
||||
nScreen: notiPopup.activeScreen
|
||||
notification: modelData
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue