152 lines
6.0 KiB
TypeScript
152 lines
6.0 KiB
TypeScript
/// <reference path="./gtk-4.0.d.ts" />
|
|
/// <reference path="./gsk-4.0.d.ts" />
|
|
/// <reference path="./graphene-1.0.d.ts" />
|
|
/// <reference path="./gobject-2.0.d.ts" />
|
|
/// <reference path="./glib-2.0.d.ts" />
|
|
/// <reference path="./gdk-4.0.d.ts" />
|
|
/// <reference path="./cairo-1.0.d.ts" />
|
|
/// <reference path="./cairo.d.ts" />
|
|
/// <reference path="./pangocairo-1.0.d.ts" />
|
|
/// <reference path="./pango-1.0.d.ts" />
|
|
/// <reference path="./harfbuzz-0.0.d.ts" />
|
|
/// <reference path="./freetype2-2.0.d.ts" />
|
|
/// <reference path="./gio-2.0.d.ts" />
|
|
/// <reference path="./gmodule-2.0.d.ts" />
|
|
/// <reference path="./gdkpixbuf-2.0.d.ts" />
|
|
|
|
/**
|
|
* 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://Gtk4SessionLock?version=1.0' {
|
|
// Module dependencies
|
|
import type Gtk from 'gi://Gtk?version=4.0';
|
|
import type Gsk from 'gi://Gsk?version=4.0';
|
|
import type Graphene from 'gi://Graphene?version=1.0';
|
|
import type GObject from 'gi://GObject?version=2.0';
|
|
import type GLib from 'gi://GLib?version=2.0';
|
|
import type Gdk from 'gi://Gdk?version=4.0';
|
|
import type cairo from 'cairo';
|
|
import type PangoCairo from 'gi://PangoCairo?version=1.0';
|
|
import type Pango from 'gi://Pango?version=1.0';
|
|
import type HarfBuzz from 'gi://HarfBuzz?version=0.0';
|
|
import type freetype2 from 'gi://freetype2?version=2.0';
|
|
import type Gio from 'gi://Gio?version=2.0';
|
|
import type GModule from 'gi://GModule?version=2.0';
|
|
import type GdkPixbuf from 'gi://GdkPixbuf?version=2.0';
|
|
|
|
export namespace Gtk4SessionLock {
|
|
/**
|
|
* Gtk4SessionLock-1.0
|
|
*/
|
|
|
|
/**
|
|
* May block for a Wayland roundtrip the first time it's called.
|
|
* @returns %TRUE if the platform is Wayland and Wayland compositor supports the Session Lock protocol.
|
|
*/
|
|
function is_supported(): boolean;
|
|
namespace Instance {
|
|
// Signal callback interfaces
|
|
|
|
interface Failed {
|
|
(): void;
|
|
}
|
|
|
|
interface Locked {
|
|
(): void;
|
|
}
|
|
|
|
interface Unlocked {
|
|
(): void;
|
|
}
|
|
|
|
// Constructor properties interface
|
|
|
|
interface ConstructorProps extends GObject.Object.ConstructorProps {}
|
|
}
|
|
|
|
/**
|
|
* An instance of the object used to control locking the screen.
|
|
* Multiple instances can exist at once, but only one can be locked at a time.
|
|
*/
|
|
class Instance extends GObject.Object {
|
|
static $gtype: GObject.GType<Instance>;
|
|
|
|
// Constructors
|
|
|
|
constructor(properties?: Partial<Instance.ConstructorProps>, ...args: any[]);
|
|
|
|
_init(...args: any[]): void;
|
|
|
|
static ['new'](): Instance;
|
|
|
|
// 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: 'failed', callback: (_source: this) => void): number;
|
|
connect_after(signal: 'failed', callback: (_source: this) => void): number;
|
|
emit(signal: 'failed'): void;
|
|
connect(signal: 'locked', callback: (_source: this) => void): number;
|
|
connect_after(signal: 'locked', callback: (_source: this) => void): number;
|
|
emit(signal: 'locked'): void;
|
|
connect(signal: 'unlocked', callback: (_source: this) => void): number;
|
|
connect_after(signal: 'unlocked', callback: (_source: this) => void): number;
|
|
emit(signal: 'unlocked'): void;
|
|
|
|
// Methods
|
|
|
|
/**
|
|
* This should be called with a different window once for each monitor immediately after calling
|
|
* gtk_session_lock_lock(). Hiding a window that is active on a monitor or not letting a window be resized by the
|
|
* library may result in a Wayland protocol error.
|
|
* @param window The GTK Window to use as a lock surface
|
|
* @param monitor The monitor to show it on
|
|
*/
|
|
assign_window_to_monitor(window: Gtk.Window, monitor: Gdk.Monitor): void;
|
|
/**
|
|
* Returns if this instance currently holds a lock.
|
|
*/
|
|
is_locked(): boolean;
|
|
/**
|
|
* Lock the screen. This should be called before assigning any windows to monitors. If this function fails the ::failed
|
|
* signal is emitted, if it succeeds the ::locked signal is emitted. The ::failed signal may be emitted before the
|
|
* function returns (for example, if another #GtkSessionLockInstance holds a lock) or later (if another process holds a
|
|
* lock). The only case where neither signal is triggered is if the instance is already locked.
|
|
* @returns false on immediate fail, true if lock acquisition was successfully started
|
|
*/
|
|
lock(): boolean;
|
|
/**
|
|
* If the screen is locked by this instance unlocks it and fires ::unlocked. Otherwise has no effect
|
|
*/
|
|
unlock(): void;
|
|
}
|
|
|
|
type InstanceClass = typeof Instance;
|
|
/**
|
|
* 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 Gtk4SessionLock;
|
|
}
|
|
|
|
declare module 'gi://Gtk4SessionLock' {
|
|
import Gtk4SessionLock10 from 'gi://Gtk4SessionLock?version=1.0';
|
|
export default Gtk4SessionLock10;
|
|
}
|
|
// END
|