mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-19 04:21:55 +00:00
- Add complete colorshell v2.0.3 configuration to home/ags-config/ - Disable runner plugin and NightLight tile (incompatible with NixOS) - Customize SCSS with full opacity (no transparency) - Add dark pale blue color scheme in home/pywal-colors/ - Configure Papirus-Dark icon theme via home-manager - Make ~/.config/ags/ immutable and managed by Nix store - Auto-deploy pywal colors to ~/.cache/wal/colors.json All AGS configuration is now reproducible and version controlled.
51 lines
2.2 KiB
TypeScript
51 lines
2.2 KiB
TypeScript
import { Gtk } from "ags/gtk4";
|
|
import { HistoryNotification, Notifications } from "../../../modules/notifications";
|
|
import { NotificationWidget } from "../../../widget/Notification";
|
|
import { tr } from "../../../i18n/intl";
|
|
import { createBinding, For } from "ags";
|
|
|
|
import AstalNotifd from "gi://AstalNotifd";
|
|
|
|
|
|
export const NotifHistory = () =>
|
|
<Gtk.Box orientation={Gtk.Orientation.VERTICAL}
|
|
class={createBinding(Notifications.getDefault(), "history").as(history =>
|
|
`notif-history ${history.length < 1 ? "hide" : ""}`)} vexpand={false}>
|
|
|
|
<Gtk.ScrolledWindow class={"history-scrollable"} hscrollbarPolicy={Gtk.PolicyType.NEVER}
|
|
vscrollbarPolicy={Gtk.PolicyType.AUTOMATIC} propagateNaturalHeight={true}
|
|
onShow={(self) => {
|
|
if(!(self.get_child()! as Gtk.Viewport).get_child()) return;
|
|
|
|
self.minContentHeight =
|
|
((self.get_child()! as Gtk.Viewport).get_child() as Gtk.Box
|
|
).get_first_child()!.get_allocation().height
|
|
|| 0;
|
|
}}>
|
|
|
|
<Gtk.Box class={"notifications"} hexpand={true} orientation={Gtk.Orientation.VERTICAL}
|
|
spacing={4} valign={Gtk.Align.START}>
|
|
|
|
<For each={createBinding(Notifications.getDefault(), "history")}>
|
|
{(notif: AstalNotifd.Notification|HistoryNotification) =>
|
|
<NotificationWidget notification={notif} showTime={true}
|
|
actionClose={(n) => Notifications.getDefault().removeHistory(n.id)}
|
|
actionClicked={(n) => Notifications.getDefault().removeHistory(n.id)}
|
|
/>}
|
|
</For>
|
|
</Gtk.Box>
|
|
</Gtk.ScrolledWindow>
|
|
|
|
<Gtk.Box class={"button-row"} hexpand>
|
|
<Gtk.Button class={"clear-all"} halign={Gtk.Align.END}
|
|
onClicked={() => Notifications.getDefault().clearHistory()}>
|
|
|
|
<Gtk.Box hexpand>
|
|
<Gtk.Image class={"icon"} iconName={"edit-clear-all-symbolic"}
|
|
css={"margin-right: 6px;"} />
|
|
<Gtk.Label label={tr("clear")} />
|
|
</Gtk.Box>
|
|
</Gtk.Button>
|
|
</Gtk.Box>
|
|
</Gtk.Box> as Gtk.Box;
|