/// /// /** * Type Definitions for Gjs (https://gjs.guide/) * * These type definitions are automatically generated, do not edit them by hand. * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir * * The based EJS template file is used for the generated .d.ts file of each GIR module like Gtk-4.0, GObject-2.0, ... */ declare module 'gi://AstalNotifd?version=0.1' { // Module dependencies import type GLib from 'gi://GLib?version=2.0'; import type GObject from 'gi://GObject?version=2.0'; export namespace AstalNotifd { /** * AstalNotifd-0.1 */ export namespace ClosedReason { export const $gtype: GObject.GType; } enum ClosedReason { EXPIRED, DISMISSED_BY_USER, CLOSED, UNDEFINED, } export namespace Urgency { export const $gtype: GObject.GType; } enum Urgency { LOW, NORMAL, CRITICAL, } const MAJOR_VERSION: number; const MINOR_VERSION: number; const MICRO_VERSION: number; const VERSION: string; function get_default(): Notifd; namespace Notifd { // Signal callback interfaces interface Notified { (id: number, replaced: boolean): void; } interface Resolved { (id: number, reason: ClosedReason): void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { ignore_timeout: boolean; ignoreTimeout: boolean; dont_disturb: boolean; dontDisturb: boolean; notifications: Notification[]; } } /** * The Notification daemon. * This class queues up to become the next daemon, while acting as a proxy in the meantime. */ class Notifd extends GObject.Object { static $gtype: GObject.GType; // Properties /** * Ignore the timeout specified by incoming notifications. * By default notifications can specify a timeout in milliseconds after which the daemon will resolve them even without user input. */ get ignore_timeout(): boolean; set ignore_timeout(val: boolean); /** * Ignore the timeout specified by incoming notifications. * By default notifications can specify a timeout in milliseconds after which the daemon will resolve them even without user input. */ get ignoreTimeout(): boolean; set ignoreTimeout(val: boolean); /** * Indicate to frontends to not show popups to the user. * This property does not have any effect on its own, its merely a value to use between the daemon process and proxies for frontends to use. */ get dont_disturb(): boolean; set dont_disturb(val: boolean); /** * Indicate to frontends to not show popups to the user. * This property does not have any effect on its own, its merely a value to use between the daemon process and proxies for frontends to use. */ get dontDisturb(): boolean; set dontDisturb(val: boolean); /** * List of currently unresolved notifications. */ get notifications(): Notification[]; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; static ['new'](): Notifd; // Signals connect(id: string, callback: (...args: any[]) => any): number; connect_after(id: string, callback: (...args: any[]) => any): number; emit(id: string, ...args: any[]): void; connect(signal: 'notified', callback: (_source: this, id: number, replaced: boolean) => void): number; connect_after(signal: 'notified', callback: (_source: this, id: number, replaced: boolean) => void): number; emit(signal: 'notified', id: number, replaced: boolean): void; connect(signal: 'resolved', callback: (_source: this, id: number, reason: ClosedReason) => void): number; connect_after( signal: 'resolved', callback: (_source: this, id: number, reason: ClosedReason) => void, ): number; emit(signal: 'resolved', id: number, reason: ClosedReason): void; // Static methods /** * Get the singleton instance */ static get_default(): Notifd; // Methods /** * Gets the [class`AstalNotifd`.Notification] with id or null if there is no such Notification. * @param id */ get_notification(id: number): Notification; get_ignore_timeout(): boolean; set_ignore_timeout(value: boolean): void; get_dont_disturb(): boolean; set_dont_disturb(value: boolean): void; get_notifications(): Notification[]; } namespace Notification { // Signal callback interfaces interface Resolved { (reason: ClosedReason): void; } interface Invoked { (action_id: string): void; } // Constructor properties interface interface ConstructorProps extends GObject.Object.ConstructorProps { time: number; app_name: string; appName: string; app_icon: string; appIcon: string; summary: string; body: string; id: number; expire_timeout: number; expireTimeout: number; actions: Action[]; image: string; action_icons: boolean; actionIcons: boolean; category: string; desktop_entry: string; desktopEntry: string; resident: boolean; sound_file: string; soundFile: string; sound_name: string; soundName: string; suppress_sound: boolean; suppressSound: boolean; transient: boolean; x: number; y: number; urgency: Urgency; } } /** * Class representing a notification. */ class Notification extends GObject.Object { static $gtype: GObject.GType; // Properties /** * Unix time of when the notification was sent. */ get time(): number; set time(val: number); /** * Name of the sending application. */ get app_name(): string; set app_name(val: string); /** * Name of the sending application. */ get appName(): string; set appName(val: string); /** * Icon name of the sending application. */ get app_icon(): string; set app_icon(val: string); /** * Icon name of the sending application. */ get appIcon(): string; set appIcon(val: string); /** * Single line overview of the notification. */ get summary(): string; set summary(val: string); /** * Multi-line body of text, where each line is a paragraph. May contain markup. */ get body(): string; set body(val: string); /** * Id of the notification. */ get id(): number; set id(val: number); /** * Time in milliseconds after the notification expires. */ get expire_timeout(): number; set expire_timeout(val: number); /** * Time in milliseconds after the notification expires. */ get expireTimeout(): number; set expireTimeout(val: number); /** * List of [struct`AstalNotifd`.Action] of the notification. * Can be invoked by calling [method`AstalNotifd`.Notification.invoke] with the action's id. */ get actions(): Action[]; /** * Path of an image */ get image(): string; /** * Indicates whether [struct`AstalNotifd`.Action] identifier should be interpreted as a named icon. */ get action_icons(): boolean; /** * Indicates whether [struct`AstalNotifd`.Action] identifier should be interpreted as a named icon. */ get actionIcons(): boolean; /** * [](https://specifications.freedesktop.org/notification-spec/latest/categories.html) */ get category(): string; /** * Specifies the name of the desktop filename representing the calling program. */ get desktop_entry(): string; /** * Specifies the name of the desktop filename representing the calling program. */ get desktopEntry(): string; /** * Indicates whether notification is kept after action invocation. */ get resident(): boolean; /** * The path to a sound file to play when the notification pops up. */ get sound_file(): string; /** * The path to a sound file to play when the notification pops up. */ get soundFile(): string; /** * A themeable named sound from to play when the notification pops up */ get sound_name(): string; /** * A themeable named sound from to play when the notification pops up */ get soundName(): string; /** * Indicates to suppress playing any sounds. */ get suppress_sound(): boolean; /** * Indicates to suppress playing any sounds. */ get suppressSound(): boolean; /** * Indicates that the notification should be excluded from persistency. */ get transient(): boolean; /** * Specifies the X location on the screen that the notification should point to. The "y" hint must also be specified. */ get x(): number; /** * Specifies the Y location on the screen that the notification should point to. The "x" hint must also be specified. */ get y(): number; /** * [enum`AstalNotifd`.Urgency] level of the notification. */ get urgency(): Urgency; // Constructors constructor(properties?: Partial, ...args: any[]); _init(...args: any[]): void; // Signals connect(id: string, callback: (...args: any[]) => any): number; connect_after(id: string, callback: (...args: any[]) => any): number; emit(id: string, ...args: any[]): void; connect(signal: 'resolved', callback: (_source: this, reason: ClosedReason) => void): number; connect_after(signal: 'resolved', callback: (_source: this, reason: ClosedReason) => void): number; emit(signal: 'resolved', reason: ClosedReason): void; connect(signal: 'invoked', callback: (_source: this, action_id: string) => void): number; connect_after(signal: 'invoked', callback: (_source: this, action_id: string) => void): number; emit(signal: 'invoked', action_id: string): void; // Methods get_hint(hint: string): GLib.Variant | null; get_str_hint(hint: string): string; get_bool_hint(hint: string): boolean; get_int_hint(hint: string): number; get_byte_hint(hint: string): number; /** * Resolve this notification with [enum`AstalNotifd`.ClosedReason.DISMISSED_BY_USER]. */ dismiss(): void; /** * Invoke an [struct`AstalNotifd`.Action] of this notification. * Note that this method just notifies the client that this action was invoked by the user. If for example this notification persists through the * lifetime of the sending program this action will have no effect. * @param action_id */ invoke(action_id: string): void; get_time(): number; get_app_name(): string; get_app_icon(): string; get_summary(): string; get_body(): string; get_id(): number; get_expire_timeout(): number; get_actions(): Action[]; get_image(): string; get_action_icons(): boolean; get_category(): string; get_desktop_entry(): string; get_resident(): boolean; get_sound_file(): string; get_sound_name(): string; get_suppress_sound(): boolean; get_transient(): boolean; get_x(): number; get_y(): number; get_urgency(): Urgency; } type NotifdClass = typeof Notifd; abstract class NotifdPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } type NotificationClass = typeof Notification; abstract class NotificationPrivate { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; } class Action { static $gtype: GObject.GType; // Fields id: string; label: string; // Constructors constructor( properties?: Partial<{ id: string; label: string; }>, ); _init(...args: any[]): void; } /** * Name of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188 */ const __name__: string; /** * Version of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189 */ const __version__: string; } export default AstalNotifd; } declare module 'gi://AstalNotifd' { import AstalNotifd01 from 'gi://AstalNotifd?version=0.1'; export default AstalNotifd01; } // END