mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
feat: add ability to toggle notification popup visibility via IPC
This commit is contained in:
@@ -6,6 +6,7 @@ IpcHandler {
|
||||
property var appLauncherPanel
|
||||
property var lockScreen
|
||||
property IdleInhibitor idleInhibitor
|
||||
property var notificationPopup
|
||||
|
||||
target: "globalIPC"
|
||||
|
||||
@@ -13,6 +14,12 @@ IpcHandler {
|
||||
idleInhibitor.toggle()
|
||||
}
|
||||
|
||||
|
||||
function toggleNotificationPopup(): void {
|
||||
console.log("[IPC] NotificationPopup toggle() called")
|
||||
notificationPopup.togglePopup();
|
||||
}
|
||||
|
||||
// Toggle Applauncher visibility
|
||||
function toggleLauncher(): void {
|
||||
if (!appLauncherPanel) {
|
||||
|
||||
@@ -8,11 +8,12 @@ PanelWindow {
|
||||
implicitWidth: 350
|
||||
implicitHeight: notificationColumn.implicitHeight
|
||||
color: "transparent"
|
||||
visible: notificationModel.count > 0
|
||||
visible: notificationsVisible && notificationModel.count > 0
|
||||
screen: Quickshell.primaryScreen !== undefined ? Quickshell.primaryScreen : null
|
||||
focusable: false
|
||||
|
||||
property bool barVisible: true
|
||||
property bool notificationsVisible: true
|
||||
|
||||
anchors.top: true
|
||||
anchors.right: true
|
||||
@@ -26,6 +27,12 @@ PanelWindow {
|
||||
property int maxVisible: 5
|
||||
property int spacing: 5
|
||||
|
||||
function togglePopup(): void {
|
||||
console.log("[NotificationPopup] Current state: " + notificationsVisible);
|
||||
notificationsVisible = !notificationsVisible;
|
||||
console.log("[NotificationPopup] New state: " + notificationsVisible);
|
||||
}
|
||||
|
||||
function addNotification(notification) {
|
||||
notificationModel.insert(0, {
|
||||
id: notification.id,
|
||||
|
||||
@@ -62,7 +62,9 @@ Scope {
|
||||
onNotification: function (notification) {
|
||||
console.log("Notification received:", notification.appName);
|
||||
notification.tracked = true;
|
||||
notificationPopup.addNotification(notification);
|
||||
if (notificationPopup.notificationsVisible) {
|
||||
notificationPopup.addNotification(notification);
|
||||
}
|
||||
if (notificationHistoryWin) {
|
||||
notificationHistoryWin.addToHistory({
|
||||
id: notification.id,
|
||||
@@ -96,6 +98,7 @@ Scope {
|
||||
appLauncherPanel: appLauncherPanel
|
||||
lockScreen: lockScreen
|
||||
idleInhibitor: idleInhibitor
|
||||
notificationPopup: notificationPopup
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
||||
Reference in New Issue
Block a user