summaryrefslogtreecommitdiff
path: root/src/modules/notifpopups.tsx
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-04-26 22:36:23 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-04-26 22:36:23 +1000
commit3c579d0e275cdaf6f2c9589abade94bde7905c82 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/modules/notifpopups.tsx
parentschemes: fix (diff)
downloadcaelestia-shell-3c579d0e275cdaf6f2c9589abade94bde7905c82.tar.gz
caelestia-shell-3c579d0e275cdaf6f2c9589abade94bde7905c82.tar.bz2
caelestia-shell-3c579d0e275cdaf6f2c9589abade94bde7905c82.zip
clean
Remove everything
Diffstat (limited to 'src/modules/notifpopups.tsx')
-rw-r--r--src/modules/notifpopups.tsx72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/modules/notifpopups.tsx b/src/modules/notifpopups.tsx
deleted file mode 100644
index cb5984d..0000000
--- a/src/modules/notifpopups.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import type { Monitor } from "@/services/monitors";
-import { setupChildClickthrough } from "@/utils/widgets";
-import Notification from "@/widgets/notification";
-import { Astal, Gtk } from "astal/gtk3";
-import { notifpopups as config } from "config";
-import AstalNotifd from "gi://AstalNotifd";
-import type SideBar from "./sidebar";
-import { awaitSidebar } from "./sidebar";
-
-export default ({ monitor }: { monitor: Monitor }) => (
- <window
- monitor={monitor.id}
- namespace="caelestia-notifpopups"
- anchor={Astal.WindowAnchor.TOP | Astal.WindowAnchor.RIGHT | Astal.WindowAnchor.BOTTOM}
- >
- <box
- vertical
- valign={Gtk.Align.START}
- className="notifpopups"
- setup={self => {
- const notifd = AstalNotifd.get_default();
- const map = new Map<number, Notification>();
-
- self.hook(notifd, "notified", (self, id) => {
- if (notifd.dontDisturb) return;
-
- const notification = notifd.get_notification(id);
-
- const popup = (<Notification popup notification={notification} />) as Notification;
- popup.connect("destroy", () => map.get(notification.id) === popup && map.delete(notification.id));
- map.get(notification.id)?.destroyWithAnims();
- map.set(notification.id, popup);
-
- self.add(
- <eventbox
- onClick={(_, event) => {
- // Activate notif or go to notif center on primary click
- if (event.button === Astal.MouseButton.PRIMARY) {
- if (notification.actions.length === 1)
- notification.invoke(notification.actions[0].id);
- else {
- sidebar?.shown.set("alerts");
- sidebar?.show();
- popup.destroyWithAnims();
- }
- }
- // Dismiss on middle click
- else if (event.button === Astal.MouseButton.MIDDLE) notification.dismiss();
- }}
- // Close on hover lost
- onHoverLost={() => popup.destroyWithAnims()}
- setup={self => self.hook(popup, "destroy", () => self.destroy())}
- >
- {popup}
- </eventbox>
- );
-
- // Limit number of popups
- if (config.maxPopups.get() > 0 && self.children.length > config.maxPopups.get())
- map.values().next().value?.destroyWithAnims();
- });
- self.hook(notifd, "resolved", (_, id) => map.get(id)?.destroyWithAnims());
-
- let sidebar: SideBar | null = null;
- awaitSidebar(monitor).then(s => (sidebar = s));
-
- // Change input region to child region so can click through empty space
- setupChildClickthrough(self);
- }}
- />
- </window>
-);