@girs/cinnamondesktop-3.0 3.0.0-4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2125 @@
1
+ /*
2
+ * Type Definitions for Gjs (https://gjs.guide/)
3
+ *
4
+ * These type definitions are automatically generated, do not edit them by hand.
5
+ * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir
6
+ */
7
+
8
+ import './cinnamondesktop-3.0-ambient.d.ts';
9
+
10
+ /**
11
+ * CinnamonDesktop-3.0
12
+ */
13
+
14
+ import type Gtk from '@girs/gtk-3.0';
15
+ import type xlib from '@girs/xlib-2.0';
16
+ import type Gdk from '@girs/gdk-3.0';
17
+ import type cairo from '@girs/cairo-1.0';
18
+ import type GObject from '@girs/gobject-2.0';
19
+ import type GLib from '@girs/glib-2.0';
20
+ import type Pango from '@girs/pango-1.0';
21
+ import type HarfBuzz from '@girs/harfbuzz-0.0';
22
+ import type freetype2 from '@girs/freetype2-2.0';
23
+ import type Gio from '@girs/gio-2.0';
24
+ import type GdkPixbuf from '@girs/gdkpixbuf-2.0';
25
+ import type GModule from '@girs/gmodule-2.0';
26
+ import type Atk from '@girs/atk-1.0';
27
+ import type CDesktopEnums from '@girs/cdesktopenums-3.0';
28
+
29
+ export namespace CinnamonDesktop {
30
+ enum DesktopThumbnailSize {
31
+ NORMAL,
32
+ LARGE,
33
+ }
34
+ enum RRDpmsMode {
35
+ ON,
36
+ STANDBY,
37
+ SUSPEND,
38
+ OFF,
39
+ DISABLED,
40
+ UNKNOWN,
41
+ }
42
+ class RRError extends GLib.Error {
43
+ static $gtype: GObject.GType<RRError>;
44
+
45
+ // Static fields of CinnamonDesktop.RRError
46
+
47
+ static UNKNOWN: number;
48
+ static NO_RANDR_EXTENSION: number;
49
+ static RANDR_ERROR: number;
50
+ static BOUNDS_ERROR: number;
51
+ static CRTC_ASSIGNMENT: number;
52
+ static NO_MATCHING_CONFIG: number;
53
+ static NO_DPMS_EXTENSION: number;
54
+
55
+ // Constructors of CinnamonDesktop.RRError
56
+
57
+ constructor(options: { message: string; code: number });
58
+ _init(...args: any[]): void;
59
+ }
60
+
61
+ const RR_CONNECTOR_TYPE_PANEL: string;
62
+ /**
63
+ * Returns the GSettings key string of the
64
+ * given media key type.
65
+ * @param type The CDesktopMediaKeyType
66
+ * @returns the string corresponding to the provided media key type or %NULL
67
+ */
68
+ function desktop_get_media_key_string(type: number): string;
69
+ /**
70
+ * Prepends a terminal (either the one configured as default in
71
+ * the user's GNOME setup, or one of the common xterm emulators) to the passed
72
+ * in vector, modifying it in the process. The vector should be allocated with
73
+ * #g_malloc, as this will #g_free the original vector. Also all elements must
74
+ * have been allocated separately. That is the standard glib/GNOME way of
75
+ * doing vectors however. If the integer that `argc` points to is negative, the
76
+ * size will first be computed. Also note that passing in pointers to a vector
77
+ * that is empty, will just create a new vector for you.
78
+ * @param argc a pointer to the vector size
79
+ * @param argv a pointer to the vector
80
+ */
81
+ function desktop_prepend_terminal_to_vector(argc: number, argv: string): void;
82
+ function desktop_thumbnail_cache_check_permissions(factory: DesktopThumbnailFactory, quick: boolean): boolean;
83
+ function desktop_thumbnail_cache_fix_permissions(): void;
84
+ /**
85
+ * Returns whether the thumbnail has the correct uri embedded in the
86
+ * Thumb::URI option in the png.
87
+ * @param pixbuf an loaded thumbnail pixbuf
88
+ * @param uri a uri
89
+ * @returns TRUE if the thumbnail is for @uri
90
+ */
91
+ function desktop_thumbnail_has_uri(pixbuf: GdkPixbuf.Pixbuf, uri: string): boolean;
92
+ /**
93
+ * Returns whether the thumbnail has the correct uri and mtime embedded in the
94
+ * png options.
95
+ * @param pixbuf an loaded thumbnail #GdkPixbuf
96
+ * @param uri a uri
97
+ * @param mtime the mtime
98
+ * @returns TRUE if the thumbnail has the right @uri and @mtime
99
+ */
100
+ function desktop_thumbnail_is_valid(pixbuf: GdkPixbuf.Pixbuf, uri: string, mtime: number): boolean;
101
+ /**
102
+ * Calculates the MD5 checksum of the uri. This can be useful
103
+ * if you want to manually handle thumbnail files.
104
+ * @param uri an uri
105
+ * @returns A string with the MD5 digest of the uri string.
106
+ */
107
+ function desktop_thumbnail_md5(uri: string): string;
108
+ /**
109
+ * Returns the filename that a thumbnail of size `size` for `uri` would have.
110
+ * @param uri an uri
111
+ * @param size a thumbnail size
112
+ * @returns an absolute filename
113
+ */
114
+ function desktop_thumbnail_path_for_uri(uri: string, size: DesktopThumbnailSize): string;
115
+ /**
116
+ * Scales the pixbuf to the desired size. This function
117
+ * is a lot faster than gdk-pixbuf when scaling down by
118
+ * large amounts.
119
+ * @param pixbuf a #GdkPixbuf
120
+ * @param dest_width the desired new width
121
+ * @param dest_height the desired new height
122
+ * @returns a scaled pixbuf
123
+ */
124
+ function desktop_thumbnail_scale_down_pixbuf(
125
+ pixbuf: GdkPixbuf.Pixbuf,
126
+ dest_width: number,
127
+ dest_height: number,
128
+ ): GdkPixbuf.Pixbuf;
129
+ /**
130
+ * Uses packagekit to check if provided package names are installed.
131
+ * @param packages a null-terminated array of package names
132
+ * @param callback the callback to run for the result
133
+ */
134
+ function installer_check_for_packages(packages: string[], callback: InstallerClientCallback): void;
135
+ /**
136
+ * Uses packagekit to install the provided list of packages.
137
+ * @param packages a null-terminated array of package names
138
+ * @param callback the callback to run for the result
139
+ */
140
+ function installer_install_packages(packages: string[], callback: InstallerClientCallback): void;
141
+ /**
142
+ * Returns the #GQuark that will be used for #GError values returned by the
143
+ * GnomeRR API.
144
+ * @returns a #GQuark used to identify errors coming from the GnomeRR API.
145
+ */
146
+ function rr_error_quark(): GLib.Quark;
147
+ /**
148
+ * If the current process is running inside a user systemd instance, then move
149
+ * the launched PID into a transient scope. The given `name` will be used to
150
+ * create a unit name. It should be the application ID for desktop files or
151
+ * the executable in all other cases.
152
+ *
153
+ * It is advisable to use this function every time where the started application
154
+ * can be considered reasonably independent of the launching application. Placing
155
+ * it in a scope creates proper separation between the programs rather than being
156
+ * considered a single entity by systemd.
157
+ *
158
+ * It is always safe to call this function. Note that a successful return code
159
+ * does not imply that a unit has been created. It solely means that no error
160
+ * condition was hit sending the request.
161
+ *
162
+ * If `connection` is %NULL then g_dbus_get() will be called internally.
163
+ *
164
+ * Note that most callers will not need to handle errors. As such, it is normal
165
+ * to pass a %NULL `callback`.
166
+ * @param name Name for the application
167
+ * @param pid The PID of the application
168
+ * @param description A description to use for the unit, or %NULL
169
+ * @param connection An #GDBusConnection to the session bus, or %NULL
170
+ * @param cancellable #GCancellable to use
171
+ */
172
+ function start_systemd_scope(
173
+ name: string,
174
+ pid: number,
175
+ description?: string | null,
176
+ connection?: Gio.DBusConnection | null,
177
+ cancellable?: Gio.Cancellable | null,
178
+ ): Promise<boolean>;
179
+ /**
180
+ * If the current process is running inside a user systemd instance, then move
181
+ * the launched PID into a transient scope. The given `name` will be used to
182
+ * create a unit name. It should be the application ID for desktop files or
183
+ * the executable in all other cases.
184
+ *
185
+ * It is advisable to use this function every time where the started application
186
+ * can be considered reasonably independent of the launching application. Placing
187
+ * it in a scope creates proper separation between the programs rather than being
188
+ * considered a single entity by systemd.
189
+ *
190
+ * It is always safe to call this function. Note that a successful return code
191
+ * does not imply that a unit has been created. It solely means that no error
192
+ * condition was hit sending the request.
193
+ *
194
+ * If `connection` is %NULL then g_dbus_get() will be called internally.
195
+ *
196
+ * Note that most callers will not need to handle errors. As such, it is normal
197
+ * to pass a %NULL `callback`.
198
+ * @param name Name for the application
199
+ * @param pid The PID of the application
200
+ * @param description A description to use for the unit, or %NULL
201
+ * @param connection An #GDBusConnection to the session bus, or %NULL
202
+ * @param cancellable #GCancellable to use
203
+ * @param callback Callback to call when the operation is done
204
+ */
205
+ function start_systemd_scope(
206
+ name: string,
207
+ pid: number,
208
+ description: string | null,
209
+ connection: Gio.DBusConnection | null,
210
+ cancellable: Gio.Cancellable | null,
211
+ callback: Gio.AsyncReadyCallback<string> | null,
212
+ ): void;
213
+ /**
214
+ * If the current process is running inside a user systemd instance, then move
215
+ * the launched PID into a transient scope. The given `name` will be used to
216
+ * create a unit name. It should be the application ID for desktop files or
217
+ * the executable in all other cases.
218
+ *
219
+ * It is advisable to use this function every time where the started application
220
+ * can be considered reasonably independent of the launching application. Placing
221
+ * it in a scope creates proper separation between the programs rather than being
222
+ * considered a single entity by systemd.
223
+ *
224
+ * It is always safe to call this function. Note that a successful return code
225
+ * does not imply that a unit has been created. It solely means that no error
226
+ * condition was hit sending the request.
227
+ *
228
+ * If `connection` is %NULL then g_dbus_get() will be called internally.
229
+ *
230
+ * Note that most callers will not need to handle errors. As such, it is normal
231
+ * to pass a %NULL `callback`.
232
+ * @param name Name for the application
233
+ * @param pid The PID of the application
234
+ * @param description A description to use for the unit, or %NULL
235
+ * @param connection An #GDBusConnection to the session bus, or %NULL
236
+ * @param cancellable #GCancellable to use
237
+ * @param callback Callback to call when the operation is done
238
+ */
239
+ function start_systemd_scope(
240
+ name: string,
241
+ pid: number,
242
+ description?: string | null,
243
+ connection?: Gio.DBusConnection | null,
244
+ cancellable?: Gio.Cancellable | null,
245
+ callback?: Gio.AsyncReadyCallback<string> | null,
246
+ ): Promise<boolean> | void;
247
+ /**
248
+ * Finish an asynchronous operation to create a transient scope that was
249
+ * started with gnome_start_systemd_scope().
250
+ *
251
+ * Note that a successful return code does not imply that a unit has been
252
+ * created. It solely means that no error condition was hit sending the request.
253
+ * @param res A #GAsyncResult
254
+ * @returns %FALSE on error, %TRUE otherwise
255
+ */
256
+ function start_systemd_scope_finish(res: Gio.AsyncResult): boolean;
257
+ interface IdleMonitorWatchFunc {
258
+ (monitor: IdleMonitor, id: number): void;
259
+ }
260
+ interface InstallerClientCallback {
261
+ (success: boolean): void;
262
+ }
263
+ enum RRRotation {
264
+ ROTATION_NEXT,
265
+ ROTATION_0,
266
+ ROTATION_90,
267
+ ROTATION_180,
268
+ ROTATION_270,
269
+ REFLECT_X,
270
+ REFLECT_Y,
271
+ }
272
+ module BG {
273
+ // Signal callback interfaces
274
+
275
+ interface Changed {
276
+ (): void;
277
+ }
278
+
279
+ interface Transitioned {
280
+ (): void;
281
+ }
282
+
283
+ // Constructor properties interface
284
+
285
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
286
+ }
287
+
288
+ class BG extends GObject.Object {
289
+ static $gtype: GObject.GType<BG>;
290
+
291
+ // Constructors of CinnamonDesktop.BG
292
+
293
+ constructor(properties?: Partial<BG.ConstructorProps>, ...args: any[]);
294
+
295
+ _init(...args: any[]): void;
296
+
297
+ static ['new'](): BG;
298
+
299
+ // Own signals of CinnamonDesktop.BG
300
+
301
+ connect(id: string, callback: (...args: any[]) => any): number;
302
+ connect_after(id: string, callback: (...args: any[]) => any): number;
303
+ emit(id: string, ...args: any[]): void;
304
+ connect(signal: 'changed', callback: (_source: this) => void): number;
305
+ connect_after(signal: 'changed', callback: (_source: this) => void): number;
306
+ emit(signal: 'changed'): void;
307
+ connect(signal: 'transitioned', callback: (_source: this) => void): number;
308
+ connect_after(signal: 'transitioned', callback: (_source: this) => void): number;
309
+ emit(signal: 'transitioned'): void;
310
+
311
+ // Own static methods of CinnamonDesktop.BG
312
+
313
+ /**
314
+ * This function queries the _XROOTPMAP_ID property from
315
+ * the root window associated with `screen` to determine
316
+ * the current root window background pixmap and returns
317
+ * a copy of it. If the _XROOTPMAP_ID is not set, then
318
+ * a black surface is returned.
319
+ * @param screen a #GdkScreen
320
+ */
321
+ static get_surface_from_root(screen: Gdk.Screen): cairo.Surface;
322
+ static set_accountsservice_background(background: string): void;
323
+ /**
324
+ * Set the root pixmap, and properties pointing to it. We
325
+ * do this atomically with a server grab to make sure that
326
+ * we won't leak the pixmap if somebody else it setting
327
+ * it at the same time. (This assumes that they follow the
328
+ * same conventions we do). `surface` should come from a call
329
+ * to gnome_bg_create_surface().
330
+ * @param screen the #GdkScreen to change root background on
331
+ * @param surface the #cairo_surface_t to set root background from. Must be an xlib surface backing a pixmap.
332
+ */
333
+ static set_surface_as_root(screen: Gdk.Screen, surface: cairo.Surface): void;
334
+ /**
335
+ * Set the root pixmap, and properties pointing to it.
336
+ * This function differs from gnome_bg_set_surface_as_root()
337
+ * in that it adds a subtle crossfade animation from the
338
+ * current root pixmap to the new one.
339
+ * @param screen the #GdkScreen to change root background on
340
+ * @param surface the cairo xlib surface to set root background from
341
+ */
342
+ static set_surface_as_root_with_crossfade(screen: Gdk.Screen, surface: cairo.Surface): BGCrossfade;
343
+
344
+ // Own methods of CinnamonDesktop.BG
345
+
346
+ changes_with_time(): boolean;
347
+ create_and_set_gtk_image(image: Gtk.Image, width: number, height: number): void;
348
+ create_and_set_surface_as_root(root_window: Gdk.Window, screen: Gdk.Screen): void;
349
+ /**
350
+ * Creates a thumbnail for a certain frame, where 'frame' is somewhat
351
+ * vaguely defined as 'suitable point to show while single-stepping
352
+ * through the slideshow'.
353
+ * @param factory
354
+ * @param screen
355
+ * @param dest_width
356
+ * @param dest_height
357
+ * @param frame_num
358
+ * @returns the newly created thumbnail or or NULL if frame_num is out of bounds.
359
+ */
360
+ create_frame_thumbnail(
361
+ factory: DesktopThumbnailFactory,
362
+ screen: Gdk.Screen,
363
+ dest_width: number,
364
+ dest_height: number,
365
+ frame_num: number,
366
+ ): GdkPixbuf.Pixbuf;
367
+ /**
368
+ * Create a surface that can be set as background for `window`. If `is_root` is
369
+ * TRUE, the surface created will be created by a temporary X server connection
370
+ * so that if someone calls XKillClient on it, it won't affect the application
371
+ * who created it.
372
+ * @param window
373
+ * @param width
374
+ * @param height
375
+ * @param root
376
+ * @returns %NULL on error (e.g. out of X connections)
377
+ */
378
+ create_surface(window: Gdk.Window, width: number, height: number, root: boolean): cairo.Surface;
379
+ create_thumbnail(
380
+ factory: DesktopThumbnailFactory,
381
+ screen: Gdk.Screen,
382
+ dest_width: number,
383
+ dest_height: number,
384
+ ): GdkPixbuf.Pixbuf;
385
+ draw(dest: GdkPixbuf.Pixbuf, screen: Gdk.Screen, is_root: boolean): void;
386
+ get_color(type: CDesktopEnums.BackgroundShading, primary: Gdk.Color, secondary: Gdk.Color): void;
387
+ get_filename(): string;
388
+ get_image_size(
389
+ factory: DesktopThumbnailFactory,
390
+ best_width: number,
391
+ best_height: number,
392
+ width: number,
393
+ height: number,
394
+ ): boolean;
395
+ get_placement(): CDesktopEnums.BackgroundStyle;
396
+ has_multiple_sizes(): boolean;
397
+ is_dark(dest_width: number, dest_height: number): boolean;
398
+ load_from_preferences(settings: Gio.Settings): void;
399
+ save_to_preferences(settings: Gio.Settings): void;
400
+ set_color(type: CDesktopEnums.BackgroundShading, primary: Gdk.Color, secondary: Gdk.Color): void;
401
+ set_filename(filename: string): void;
402
+ set_placement(placement: CDesktopEnums.BackgroundStyle): void;
403
+ }
404
+
405
+ module BGCrossfade {
406
+ // Signal callback interfaces
407
+
408
+ interface Finished {
409
+ (window: GObject.Object): void;
410
+ }
411
+
412
+ // Constructor properties interface
413
+
414
+ interface ConstructorProps extends GObject.Object.ConstructorProps {
415
+ height: number;
416
+ width: number;
417
+ }
418
+ }
419
+
420
+ class BGCrossfade extends GObject.Object {
421
+ static $gtype: GObject.GType<BGCrossfade>;
422
+
423
+ // Own properties of CinnamonDesktop.BGCrossfade
424
+
425
+ /**
426
+ * When a crossfade is running, this is height of the fading
427
+ * surface.
428
+ */
429
+ get height(): number;
430
+ /**
431
+ * When a crossfade is running, this is width of the fading
432
+ * surface.
433
+ */
434
+ get width(): number;
435
+
436
+ // Own fields of CinnamonDesktop.BGCrossfade
437
+
438
+ parent_object: GObject.Object;
439
+
440
+ // Constructors of CinnamonDesktop.BGCrossfade
441
+
442
+ constructor(properties?: Partial<BGCrossfade.ConstructorProps>, ...args: any[]);
443
+
444
+ _init(...args: any[]): void;
445
+
446
+ static ['new'](width: number, height: number): BGCrossfade;
447
+
448
+ // Own signals of CinnamonDesktop.BGCrossfade
449
+
450
+ connect(id: string, callback: (...args: any[]) => any): number;
451
+ connect_after(id: string, callback: (...args: any[]) => any): number;
452
+ emit(id: string, ...args: any[]): void;
453
+ connect(signal: 'finished', callback: (_source: this, window: GObject.Object) => void): number;
454
+ connect_after(signal: 'finished', callback: (_source: this, window: GObject.Object) => void): number;
455
+ emit(signal: 'finished', window: GObject.Object): void;
456
+
457
+ // Own virtual methods of CinnamonDesktop.BGCrossfade
458
+
459
+ vfunc_finished(window: Gdk.Window): void;
460
+
461
+ // Own methods of CinnamonDesktop.BGCrossfade
462
+
463
+ /**
464
+ * This function reveals whether or not `fade` is currently
465
+ * running on a window. See gnome_bg_crossfade_start() for
466
+ * information on how to initiate a crossfade.
467
+ * @returns %TRUE if fading, or %FALSE if not fading
468
+ */
469
+ is_started(): boolean;
470
+ /**
471
+ * Before initiating a crossfade with gnome_bg_crossfade_start()
472
+ * a start and end surface have to be set. This function sets
473
+ * the surface shown at the end of the crossfade effect.
474
+ * @param surface The cairo surface to fade to
475
+ * @returns %TRUE if successful, or %FALSE if the surface could not be copied.
476
+ */
477
+ set_end_surface(surface: cairo.Surface): boolean;
478
+ /**
479
+ * Before initiating a crossfade with gnome_bg_crossfade_start()
480
+ * a start and end surface have to be set. This function sets
481
+ * the surface shown at the beginning of the crossfade effect.
482
+ * @param surface The cairo surface to fade from
483
+ * @returns %TRUE if successful, or %FALSE if the surface could not be copied.
484
+ */
485
+ set_start_surface(surface: cairo.Surface): boolean;
486
+ /**
487
+ * This function initiates a quick crossfade between two surfaces on
488
+ * the background of `window`. Before initiating the crossfade both
489
+ * gnome_bg_crossfade_start() and gnome_bg_crossfade_end() need to
490
+ * be called. If animations are disabled, the crossfade is skipped,
491
+ * and the window background is set immediately to the end surface.
492
+ * @param window The #GdkWindow to draw crossfade on
493
+ */
494
+ start(window: Gdk.Window): void;
495
+ /**
496
+ * This function stops any in progress crossfades that may be
497
+ * happening. It's harmless to call this function if `fade` is
498
+ * already stopped.
499
+ */
500
+ stop(): void;
501
+ }
502
+
503
+ module DesktopThumbnailFactory {
504
+ // Constructor properties interface
505
+
506
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
507
+ }
508
+
509
+ class DesktopThumbnailFactory extends GObject.Object {
510
+ static $gtype: GObject.GType<DesktopThumbnailFactory>;
511
+
512
+ // Constructors of CinnamonDesktop.DesktopThumbnailFactory
513
+
514
+ constructor(properties?: Partial<DesktopThumbnailFactory.ConstructorProps>, ...args: any[]);
515
+
516
+ _init(...args: any[]): void;
517
+
518
+ static ['new'](size: DesktopThumbnailSize): DesktopThumbnailFactory;
519
+
520
+ // Own methods of CinnamonDesktop.DesktopThumbnailFactory
521
+
522
+ /**
523
+ * Returns TRUE if this GnomeIconFactory can (at least try) to thumbnail
524
+ * this file. Thumbnails or files with failed thumbnails won't be thumbnailed.
525
+ *
526
+ * Usage of this function is threadsafe.
527
+ * @param uri the uri of a file
528
+ * @param mime_type the mime type of the file
529
+ * @param mtime the mtime of the file
530
+ * @returns TRUE if the file can be thumbnailed.
531
+ */
532
+ can_thumbnail(uri: string, mime_type: string, mtime: number): boolean;
533
+ /**
534
+ * Creates a failed thumbnail for the file so that we don't try
535
+ * to re-thumbnail the file later.
536
+ *
537
+ * Usage of this function is threadsafe.
538
+ * @param uri the uri of a file
539
+ * @param mtime the modification time of the file
540
+ */
541
+ create_failed_thumbnail(uri: string, mtime: number): void;
542
+ /**
543
+ * Tries to generate a thumbnail for the specified file. If it succeeds
544
+ * it returns a pixbuf that can be used as a thumbnail.
545
+ *
546
+ * Usage of this function is threadsafe.
547
+ * @param uri the uri of a file
548
+ * @param mime_type the mime type of the file
549
+ * @returns thumbnail pixbuf if thumbnailing succeeded, %NULL otherwise.
550
+ */
551
+ generate_thumbnail(uri: string, mime_type: string): GdkPixbuf.Pixbuf;
552
+ /**
553
+ * Tries to locate an failed thumbnail for the file specified. Writing
554
+ * and looking for failed thumbnails is important to avoid to try to
555
+ * thumbnail e.g. broken images several times.
556
+ *
557
+ * Usage of this function is threadsafe.
558
+ * @param uri the uri of a file
559
+ * @param mtime the mtime of the file
560
+ * @returns TRUE if there is a failed thumbnail for the file.
561
+ */
562
+ has_valid_failed_thumbnail(uri: string, mtime: number): boolean;
563
+ /**
564
+ * Tries to locate an existing thumbnail for the file specified.
565
+ *
566
+ * Usage of this function is threadsafe.
567
+ * @param uri the uri of a file
568
+ * @param mtime the mtime of the file
569
+ * @returns The absolute path of the thumbnail, or %NULL if none exist.
570
+ */
571
+ lookup(uri: string, mtime: number): string;
572
+ /**
573
+ * Saves `thumbnail` at the right place. If the save fails a
574
+ * failed thumbnail is written.
575
+ *
576
+ * Usage of this function is threadsafe.
577
+ * @param thumbnail the thumbnail as a pixbuf
578
+ * @param uri the uri of a file
579
+ * @param original_mtime the modification time of the original file
580
+ */
581
+ save_thumbnail(thumbnail: GdkPixbuf.Pixbuf, uri: string, original_mtime: number): void;
582
+ }
583
+
584
+ module IdleMonitor {
585
+ // Constructor properties interface
586
+
587
+ interface ConstructorProps extends GObject.Object.ConstructorProps, Gio.Initable.ConstructorProps {}
588
+ }
589
+
590
+ class IdleMonitor extends GObject.Object implements Gio.Initable {
591
+ static $gtype: GObject.GType<IdleMonitor>;
592
+
593
+ // Constructors of CinnamonDesktop.IdleMonitor
594
+
595
+ constructor(properties?: Partial<IdleMonitor.ConstructorProps>, ...args: any[]);
596
+
597
+ _init(...args: any[]): void;
598
+
599
+ static ['new'](): IdleMonitor;
600
+
601
+ // Own methods of CinnamonDesktop.IdleMonitor
602
+
603
+ add_idle_watch(interval_msec: number, callback?: IdleMonitorWatchFunc | null): number;
604
+ add_user_active_watch(callback?: IdleMonitorWatchFunc | null): number;
605
+ get_idletime(): number;
606
+ /**
607
+ * Removes an idle time watcher, previously added by
608
+ * gnome_idle_monitor_add_idle_watch() or
609
+ * gnome_idle_monitor_add_user_active_watch().
610
+ * @param id A watch ID
611
+ */
612
+ remove_watch(id: number): void;
613
+
614
+ // Inherited methods
615
+ /**
616
+ * Initializes the object implementing the interface.
617
+ *
618
+ * This method is intended for language bindings. If writing in C,
619
+ * g_initable_new() should typically be used instead.
620
+ *
621
+ * The object must be initialized before any real use after initial
622
+ * construction, either with this function or g_async_initable_init_async().
623
+ *
624
+ * Implementations may also support cancellation. If `cancellable` is not %NULL,
625
+ * then initialization can be cancelled by triggering the cancellable object
626
+ * from another thread. If the operation was cancelled, the error
627
+ * %G_IO_ERROR_CANCELLED will be returned. If `cancellable` is not %NULL and
628
+ * the object doesn't support cancellable initialization the error
629
+ * %G_IO_ERROR_NOT_SUPPORTED will be returned.
630
+ *
631
+ * If the object is not initialized, or initialization returns with an
632
+ * error, then all operations on the object except g_object_ref() and
633
+ * g_object_unref() are considered to be invalid, and have undefined
634
+ * behaviour. See the [introduction][ginitable] for more details.
635
+ *
636
+ * Callers should not assume that a class which implements #GInitable can be
637
+ * initialized multiple times, unless the class explicitly documents itself as
638
+ * supporting this. Generally, a class’ implementation of init() can assume
639
+ * (and assert) that it will only be called once. Previously, this documentation
640
+ * recommended all #GInitable implementations should be idempotent; that
641
+ * recommendation was relaxed in GLib 2.54.
642
+ *
643
+ * If a class explicitly supports being initialized multiple times, it is
644
+ * recommended that the method is idempotent: multiple calls with the same
645
+ * arguments should return the same results. Only the first call initializes
646
+ * the object; further calls return the result of the first call.
647
+ *
648
+ * One reason why a class might need to support idempotent initialization is if
649
+ * it is designed to be used via the singleton pattern, with a
650
+ * #GObjectClass.constructor that sometimes returns an existing instance.
651
+ * In this pattern, a caller would expect to be able to call g_initable_init()
652
+ * on the result of g_object_new(), regardless of whether it is in fact a new
653
+ * instance.
654
+ * @param cancellable optional #GCancellable object, %NULL to ignore.
655
+ * @returns %TRUE if successful. If an error has occurred, this function will return %FALSE and set @error appropriately if present.
656
+ */
657
+ init(cancellable?: Gio.Cancellable | null): boolean;
658
+ /**
659
+ * Initializes the object implementing the interface.
660
+ *
661
+ * This method is intended for language bindings. If writing in C,
662
+ * g_initable_new() should typically be used instead.
663
+ *
664
+ * The object must be initialized before any real use after initial
665
+ * construction, either with this function or g_async_initable_init_async().
666
+ *
667
+ * Implementations may also support cancellation. If `cancellable` is not %NULL,
668
+ * then initialization can be cancelled by triggering the cancellable object
669
+ * from another thread. If the operation was cancelled, the error
670
+ * %G_IO_ERROR_CANCELLED will be returned. If `cancellable` is not %NULL and
671
+ * the object doesn't support cancellable initialization the error
672
+ * %G_IO_ERROR_NOT_SUPPORTED will be returned.
673
+ *
674
+ * If the object is not initialized, or initialization returns with an
675
+ * error, then all operations on the object except g_object_ref() and
676
+ * g_object_unref() are considered to be invalid, and have undefined
677
+ * behaviour. See the [introduction][ginitable] for more details.
678
+ *
679
+ * Callers should not assume that a class which implements #GInitable can be
680
+ * initialized multiple times, unless the class explicitly documents itself as
681
+ * supporting this. Generally, a class’ implementation of init() can assume
682
+ * (and assert) that it will only be called once. Previously, this documentation
683
+ * recommended all #GInitable implementations should be idempotent; that
684
+ * recommendation was relaxed in GLib 2.54.
685
+ *
686
+ * If a class explicitly supports being initialized multiple times, it is
687
+ * recommended that the method is idempotent: multiple calls with the same
688
+ * arguments should return the same results. Only the first call initializes
689
+ * the object; further calls return the result of the first call.
690
+ *
691
+ * One reason why a class might need to support idempotent initialization is if
692
+ * it is designed to be used via the singleton pattern, with a
693
+ * #GObjectClass.constructor that sometimes returns an existing instance.
694
+ * In this pattern, a caller would expect to be able to call g_initable_init()
695
+ * on the result of g_object_new(), regardless of whether it is in fact a new
696
+ * instance.
697
+ * @param cancellable optional #GCancellable object, %NULL to ignore.
698
+ */
699
+ vfunc_init(cancellable?: Gio.Cancellable | null): boolean;
700
+ /**
701
+ * Creates a binding between `source_property` on `source` and `target_property`
702
+ * on `target`.
703
+ *
704
+ * Whenever the `source_property` is changed the `target_property` is
705
+ * updated using the same value. For instance:
706
+ *
707
+ *
708
+ * ```c
709
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
710
+ * ```
711
+ *
712
+ *
713
+ * Will result in the "sensitive" property of the widget #GObject instance to be
714
+ * updated with the same value of the "active" property of the action #GObject
715
+ * instance.
716
+ *
717
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
718
+ * if `target_property` on `target` changes then the `source_property` on `source`
719
+ * will be updated as well.
720
+ *
721
+ * The binding will automatically be removed when either the `source` or the
722
+ * `target` instances are finalized. To remove the binding without affecting the
723
+ * `source` and the `target` you can just call g_object_unref() on the returned
724
+ * #GBinding instance.
725
+ *
726
+ * Removing the binding by calling g_object_unref() on it must only be done if
727
+ * the binding, `source` and `target` are only used from a single thread and it
728
+ * is clear that both `source` and `target` outlive the binding. Especially it
729
+ * is not safe to rely on this if the binding, `source` or `target` can be
730
+ * finalized from different threads. Keep another reference to the binding and
731
+ * use g_binding_unbind() instead to be on the safe side.
732
+ *
733
+ * A #GObject can have multiple bindings.
734
+ * @param source_property the property on @source to bind
735
+ * @param target the target #GObject
736
+ * @param target_property the property on @target to bind
737
+ * @param flags flags to pass to #GBinding
738
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
739
+ */
740
+ bind_property(
741
+ source_property: string,
742
+ target: GObject.Object,
743
+ target_property: string,
744
+ flags: GObject.BindingFlags,
745
+ ): GObject.Binding;
746
+ /**
747
+ * Complete version of g_object_bind_property().
748
+ *
749
+ * Creates a binding between `source_property` on `source` and `target_property`
750
+ * on `target,` allowing you to set the transformation functions to be used by
751
+ * the binding.
752
+ *
753
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
754
+ * if `target_property` on `target` changes then the `source_property` on `source`
755
+ * will be updated as well. The `transform_from` function is only used in case
756
+ * of bidirectional bindings, otherwise it will be ignored
757
+ *
758
+ * The binding will automatically be removed when either the `source` or the
759
+ * `target` instances are finalized. This will release the reference that is
760
+ * being held on the #GBinding instance; if you want to hold on to the
761
+ * #GBinding instance, you will need to hold a reference to it.
762
+ *
763
+ * To remove the binding, call g_binding_unbind().
764
+ *
765
+ * A #GObject can have multiple bindings.
766
+ *
767
+ * The same `user_data` parameter will be used for both `transform_to`
768
+ * and `transform_from` transformation functions; the `notify` function will
769
+ * be called once, when the binding is removed. If you need different data
770
+ * for each transformation function, please use
771
+ * g_object_bind_property_with_closures() instead.
772
+ * @param source_property the property on @source to bind
773
+ * @param target the target #GObject
774
+ * @param target_property the property on @target to bind
775
+ * @param flags flags to pass to #GBinding
776
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
777
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
778
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
779
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
780
+ */
781
+ bind_property_full(
782
+ source_property: string,
783
+ target: GObject.Object,
784
+ target_property: string,
785
+ flags: GObject.BindingFlags,
786
+ transform_to?: GObject.BindingTransformFunc | null,
787
+ transform_from?: GObject.BindingTransformFunc | null,
788
+ notify?: GLib.DestroyNotify | null,
789
+ ): GObject.Binding;
790
+ // Conflicted with GObject.Object.bind_property_full
791
+ bind_property_full(...args: never[]): any;
792
+ /**
793
+ * This function is intended for #GObject implementations to re-enforce
794
+ * a [floating][floating-ref] object reference. Doing this is seldom
795
+ * required: all #GInitiallyUnowneds are created with a floating reference
796
+ * which usually just needs to be sunken by calling g_object_ref_sink().
797
+ */
798
+ force_floating(): void;
799
+ /**
800
+ * Increases the freeze count on `object`. If the freeze count is
801
+ * non-zero, the emission of "notify" signals on `object` is
802
+ * stopped. The signals are queued until the freeze count is decreased
803
+ * to zero. Duplicate notifications are squashed so that at most one
804
+ * #GObject::notify signal is emitted for each property modified while the
805
+ * object is frozen.
806
+ *
807
+ * This is necessary for accessors that modify multiple properties to prevent
808
+ * premature notification while the object is still being modified.
809
+ */
810
+ freeze_notify(): void;
811
+ /**
812
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
813
+ * @param key name of the key for that association
814
+ * @returns the data if found, or %NULL if no such data exists.
815
+ */
816
+ get_data(key: string): any | null;
817
+ get_property(property_name: string): any;
818
+ /**
819
+ * This function gets back user data pointers stored via
820
+ * g_object_set_qdata().
821
+ * @param quark A #GQuark, naming the user data pointer
822
+ * @returns The user data pointer set, or %NULL
823
+ */
824
+ get_qdata(quark: GLib.Quark): any | null;
825
+ /**
826
+ * Gets `n_properties` properties for an `object`.
827
+ * Obtained properties will be set to `values`. All properties must be valid.
828
+ * Warnings will be emitted and undefined behaviour may result if invalid
829
+ * properties are passed in.
830
+ * @param names the names of each property to get
831
+ * @param values the values of each property to get
832
+ */
833
+ getv(names: string[], values: (GObject.Value | any)[]): void;
834
+ /**
835
+ * Checks whether `object` has a [floating][floating-ref] reference.
836
+ * @returns %TRUE if @object has a floating reference
837
+ */
838
+ is_floating(): boolean;
839
+ /**
840
+ * Emits a "notify" signal for the property `property_name` on `object`.
841
+ *
842
+ * When possible, eg. when signaling a property change from within the class
843
+ * that registered the property, you should use g_object_notify_by_pspec()
844
+ * instead.
845
+ *
846
+ * Note that emission of the notify signal may be blocked with
847
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
848
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
849
+ * called.
850
+ * @param property_name the name of a property installed on the class of @object.
851
+ */
852
+ notify(property_name: string): void;
853
+ /**
854
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
855
+ *
856
+ * This function omits the property name lookup, hence it is faster than
857
+ * g_object_notify().
858
+ *
859
+ * One way to avoid using g_object_notify() from within the
860
+ * class that registered the properties, and using g_object_notify_by_pspec()
861
+ * instead, is to store the GParamSpec used with
862
+ * g_object_class_install_property() inside a static array, e.g.:
863
+ *
864
+ *
865
+ * ```c
866
+ * typedef enum
867
+ * {
868
+ * PROP_FOO = 1,
869
+ * PROP_LAST
870
+ * } MyObjectProperty;
871
+ *
872
+ * static GParamSpec *properties[PROP_LAST];
873
+ *
874
+ * static void
875
+ * my_object_class_init (MyObjectClass *klass)
876
+ * {
877
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
878
+ * 0, 100,
879
+ * 50,
880
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
881
+ * g_object_class_install_property (gobject_class,
882
+ * PROP_FOO,
883
+ * properties[PROP_FOO]);
884
+ * }
885
+ * ```
886
+ *
887
+ *
888
+ * and then notify a change on the "foo" property with:
889
+ *
890
+ *
891
+ * ```c
892
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
893
+ * ```
894
+ *
895
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
896
+ */
897
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
898
+ /**
899
+ * Increases the reference count of `object`.
900
+ *
901
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
902
+ * of `object` will be propagated to the return type (using the GCC typeof()
903
+ * extension), so any casting the caller needs to do on the return type must be
904
+ * explicit.
905
+ * @returns the same @object
906
+ */
907
+ ref(): GObject.Object;
908
+ /**
909
+ * Increase the reference count of `object,` and possibly remove the
910
+ * [floating][floating-ref] reference, if `object` has a floating reference.
911
+ *
912
+ * In other words, if the object is floating, then this call "assumes
913
+ * ownership" of the floating reference, converting it to a normal
914
+ * reference by clearing the floating flag while leaving the reference
915
+ * count unchanged. If the object is not floating, then this call
916
+ * adds a new normal reference increasing the reference count by one.
917
+ *
918
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
919
+ * under the same conditions as for g_object_ref().
920
+ * @returns @object
921
+ */
922
+ ref_sink(): GObject.Object;
923
+ /**
924
+ * Releases all references to other objects. This can be used to break
925
+ * reference cycles.
926
+ *
927
+ * This function should only be called from object system implementations.
928
+ */
929
+ run_dispose(): void;
930
+ /**
931
+ * Each object carries around a table of associations from
932
+ * strings to pointers. This function lets you set an association.
933
+ *
934
+ * If the object already had an association with that name,
935
+ * the old association will be destroyed.
936
+ *
937
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
938
+ * This means a copy of `key` is kept permanently (even after `object` has been
939
+ * finalized) — so it is recommended to only use a small, bounded set of values
940
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
941
+ * @param key name of the key
942
+ * @param data data to associate with that key
943
+ */
944
+ set_data(key: string, data?: any | null): void;
945
+ set_property(property_name: string, value: any): void;
946
+ /**
947
+ * Remove a specified datum from the object's data associations,
948
+ * without invoking the association's destroy handler.
949
+ * @param key name of the key
950
+ * @returns the data if found, or %NULL if no such data exists.
951
+ */
952
+ steal_data(key: string): any | null;
953
+ /**
954
+ * This function gets back user data pointers stored via
955
+ * g_object_set_qdata() and removes the `data` from object
956
+ * without invoking its destroy() function (if any was
957
+ * set).
958
+ * Usually, calling this function is only required to update
959
+ * user data pointers with a destroy notifier, for example:
960
+ *
961
+ * ```c
962
+ * void
963
+ * object_add_to_user_list (GObject *object,
964
+ * const gchar *new_string)
965
+ * {
966
+ * // the quark, naming the object data
967
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
968
+ * // retrieve the old string list
969
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
970
+ *
971
+ * // prepend new string
972
+ * list = g_list_prepend (list, g_strdup (new_string));
973
+ * // this changed 'list', so we need to set it again
974
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
975
+ * }
976
+ * static void
977
+ * free_string_list (gpointer data)
978
+ * {
979
+ * GList *node, *list = data;
980
+ *
981
+ * for (node = list; node; node = node->next)
982
+ * g_free (node->data);
983
+ * g_list_free (list);
984
+ * }
985
+ * ```
986
+ *
987
+ * Using g_object_get_qdata() in the above example, instead of
988
+ * g_object_steal_qdata() would have left the destroy function set,
989
+ * and thus the partial string list would have been freed upon
990
+ * g_object_set_qdata_full().
991
+ * @param quark A #GQuark, naming the user data pointer
992
+ * @returns The user data pointer set, or %NULL
993
+ */
994
+ steal_qdata(quark: GLib.Quark): any | null;
995
+ /**
996
+ * Reverts the effect of a previous call to
997
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
998
+ * and when it reaches zero, queued "notify" signals are emitted.
999
+ *
1000
+ * Duplicate notifications for each property are squashed so that at most one
1001
+ * #GObject::notify signal is emitted for each property, in the reverse order
1002
+ * in which they have been queued.
1003
+ *
1004
+ * It is an error to call this function when the freeze count is zero.
1005
+ */
1006
+ thaw_notify(): void;
1007
+ /**
1008
+ * Decreases the reference count of `object`. When its reference count
1009
+ * drops to 0, the object is finalized (i.e. its memory is freed).
1010
+ *
1011
+ * If the pointer to the #GObject may be reused in future (for example, if it is
1012
+ * an instance variable of another object), it is recommended to clear the
1013
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
1014
+ * invalid #GObject instance. Use g_clear_object() for this.
1015
+ */
1016
+ unref(): void;
1017
+ /**
1018
+ * This function essentially limits the life time of the `closure` to
1019
+ * the life time of the object. That is, when the object is finalized,
1020
+ * the `closure` is invalidated by calling g_closure_invalidate() on
1021
+ * it, in order to prevent invocations of the closure with a finalized
1022
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
1023
+ * added as marshal guards to the `closure,` to ensure that an extra
1024
+ * reference count is held on `object` during invocation of the
1025
+ * `closure`. Usually, this function will be called on closures that
1026
+ * use this `object` as closure data.
1027
+ * @param closure #GClosure to watch
1028
+ */
1029
+ watch_closure(closure: GObject.Closure): void;
1030
+ vfunc_constructed(): void;
1031
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
1032
+ vfunc_dispose(): void;
1033
+ vfunc_finalize(): void;
1034
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
1035
+ /**
1036
+ * Emits a "notify" signal for the property `property_name` on `object`.
1037
+ *
1038
+ * When possible, eg. when signaling a property change from within the class
1039
+ * that registered the property, you should use g_object_notify_by_pspec()
1040
+ * instead.
1041
+ *
1042
+ * Note that emission of the notify signal may be blocked with
1043
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
1044
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
1045
+ * called.
1046
+ * @param pspec
1047
+ */
1048
+ vfunc_notify(pspec: GObject.ParamSpec): void;
1049
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
1050
+ disconnect(id: number): void;
1051
+ set(properties: { [key: string]: any }): void;
1052
+ block_signal_handler(id: number): any;
1053
+ unblock_signal_handler(id: number): any;
1054
+ stop_emission_by_name(detailedName: string): any;
1055
+ }
1056
+
1057
+ module PnpIds {
1058
+ // Constructor properties interface
1059
+
1060
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
1061
+ }
1062
+
1063
+ class PnpIds extends GObject.Object {
1064
+ static $gtype: GObject.GType<PnpIds>;
1065
+
1066
+ // Constructors of CinnamonDesktop.PnpIds
1067
+
1068
+ constructor(properties?: Partial<PnpIds.ConstructorProps>, ...args: any[]);
1069
+
1070
+ _init(...args: any[]): void;
1071
+
1072
+ static ['new'](): PnpIds;
1073
+
1074
+ // Own methods of CinnamonDesktop.PnpIds
1075
+
1076
+ /**
1077
+ * Find the full manufacturer name for the given PNP ID.
1078
+ * @param pnp_id the PNP ID to look for
1079
+ * @returns a new string representing the manufacturer name, or %NULL when not found.
1080
+ */
1081
+ get_pnp_id(pnp_id: string): string;
1082
+ }
1083
+
1084
+ module RRConfig {
1085
+ // Constructor properties interface
1086
+
1087
+ interface ConstructorProps extends GObject.Object.ConstructorProps {
1088
+ screen: RRScreen;
1089
+ }
1090
+ }
1091
+
1092
+ class RRConfig extends GObject.Object {
1093
+ static $gtype: GObject.GType<RRConfig>;
1094
+
1095
+ // Own properties of CinnamonDesktop.RRConfig
1096
+
1097
+ set screen(val: RRScreen);
1098
+
1099
+ // Constructors of CinnamonDesktop.RRConfig
1100
+
1101
+ constructor(properties?: Partial<RRConfig.ConstructorProps>, ...args: any[]);
1102
+
1103
+ _init(...args: any[]): void;
1104
+
1105
+ static new_current(screen: RRScreen): RRConfig;
1106
+
1107
+ static new_stored(screen: RRScreen): RRConfig;
1108
+
1109
+ // Own static methods of CinnamonDesktop.RRConfig
1110
+
1111
+ static apply_from_filename_with_time(screen: RRScreen, filename: string, timestamp: number): boolean;
1112
+ static get_backup_filename(): string;
1113
+ static get_intended_filename(): string;
1114
+ static get_legacy_filename(): string;
1115
+
1116
+ // Own methods of CinnamonDesktop.RRConfig
1117
+
1118
+ applicable(screen: RRScreen): boolean;
1119
+ apply_with_time(screen: RRScreen, timestamp: number): boolean;
1120
+ ensure_primary(): boolean;
1121
+ equal(config2: RRConfig): boolean;
1122
+ get_auto_scale(): boolean;
1123
+ get_base_scale(): number;
1124
+ get_clone(): boolean;
1125
+ get_outputs(): RROutputInfo[];
1126
+ load_current(): boolean;
1127
+ load_filename(filename: string): boolean;
1128
+ match(config2: RRConfig): boolean;
1129
+ sanitize(): void;
1130
+ save(): boolean;
1131
+ set_auto_scale(auto_scale: boolean): void;
1132
+ set_base_scale(base_scale: number): void;
1133
+ set_clone(clone: boolean): void;
1134
+ }
1135
+
1136
+ module RRLabeler {
1137
+ // Constructor properties interface
1138
+
1139
+ interface ConstructorProps extends GObject.Object.ConstructorProps {
1140
+ config: RRConfig;
1141
+ }
1142
+ }
1143
+
1144
+ class RRLabeler extends GObject.Object {
1145
+ static $gtype: GObject.GType<RRLabeler>;
1146
+
1147
+ // Own properties of CinnamonDesktop.RRLabeler
1148
+
1149
+ set config(val: RRConfig);
1150
+
1151
+ // Constructors of CinnamonDesktop.RRLabeler
1152
+
1153
+ constructor(properties?: Partial<RRLabeler.ConstructorProps>, ...args: any[]);
1154
+
1155
+ _init(...args: any[]): void;
1156
+
1157
+ static ['new'](config: RRConfig): RRLabeler;
1158
+
1159
+ // Own methods of CinnamonDesktop.RRLabeler
1160
+
1161
+ /**
1162
+ * Get the color used for the label on a given output (monitor).
1163
+ * @param output Output device (i.e. monitor) to query
1164
+ */
1165
+ get_rgba_for_output(output: RROutputInfo): Gdk.RGBA;
1166
+ /**
1167
+ * Hide ouput labels.
1168
+ */
1169
+ hide(): void;
1170
+ /**
1171
+ * Show the labels.
1172
+ */
1173
+ show(): void;
1174
+ }
1175
+
1176
+ module RROutputInfo {
1177
+ // Constructor properties interface
1178
+
1179
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
1180
+ }
1181
+
1182
+ class RROutputInfo extends GObject.Object {
1183
+ static $gtype: GObject.GType<RROutputInfo>;
1184
+
1185
+ // Constructors of CinnamonDesktop.RROutputInfo
1186
+
1187
+ constructor(properties?: Partial<RROutputInfo.ConstructorProps>, ...args: any[]);
1188
+
1189
+ _init(...args: any[]): void;
1190
+
1191
+ // Own methods of CinnamonDesktop.RROutputInfo
1192
+
1193
+ get_aspect_ratio(): number;
1194
+ get_display_name(): string;
1195
+ get_flags(doublescan: boolean, interlaced: boolean, vsync: boolean): void;
1196
+ get_geometry(): [number, number, number, number];
1197
+ get_name(): string;
1198
+ get_preferred_height(): number;
1199
+ get_preferred_width(): number;
1200
+ get_primary(): boolean;
1201
+ get_product(): number;
1202
+ get_refresh_rate(): number;
1203
+ get_refresh_rate_f(): number;
1204
+ get_rotation(): RRRotation;
1205
+ get_scale(): number;
1206
+ get_serial(): number;
1207
+ get_vendor(): string[];
1208
+ is_active(): boolean;
1209
+ is_connected(): boolean;
1210
+ set_active(active: boolean): void;
1211
+ set_flags(doublescan: boolean, interlaced: boolean, vsync: boolean): void;
1212
+ set_geometry(x: number, y: number, width: number, height: number): void;
1213
+ set_primary(primary: boolean): void;
1214
+ set_refresh_rate(rate: number): void;
1215
+ set_refresh_rate_f(rate: number): void;
1216
+ set_rotation(rotation: RRRotation): void;
1217
+ set_scale(scale: number): void;
1218
+ }
1219
+
1220
+ module RRScreen {
1221
+ // Signal callback interfaces
1222
+
1223
+ interface Changed {
1224
+ (): void;
1225
+ }
1226
+
1227
+ interface OutputConnected {
1228
+ (output?: any | null): void;
1229
+ }
1230
+
1231
+ interface OutputDisconnected {
1232
+ (output?: any | null): void;
1233
+ }
1234
+
1235
+ // Constructor properties interface
1236
+
1237
+ interface ConstructorProps extends GObject.Object.ConstructorProps, Gio.Initable.ConstructorProps {
1238
+ gdk_screen: Gdk.Screen;
1239
+ gdkScreen: Gdk.Screen;
1240
+ }
1241
+ }
1242
+
1243
+ class RRScreen extends GObject.Object implements Gio.Initable {
1244
+ static $gtype: GObject.GType<RRScreen>;
1245
+
1246
+ // Own properties of CinnamonDesktop.RRScreen
1247
+
1248
+ get gdk_screen(): Gdk.Screen;
1249
+ get gdkScreen(): Gdk.Screen;
1250
+
1251
+ // Constructors of CinnamonDesktop.RRScreen
1252
+
1253
+ constructor(properties?: Partial<RRScreen.ConstructorProps>, ...args: any[]);
1254
+
1255
+ _init(...args: any[]): void;
1256
+
1257
+ static ['new'](screen: Gdk.Screen): RRScreen;
1258
+
1259
+ // Own signals of CinnamonDesktop.RRScreen
1260
+
1261
+ connect(id: string, callback: (...args: any[]) => any): number;
1262
+ connect_after(id: string, callback: (...args: any[]) => any): number;
1263
+ emit(id: string, ...args: any[]): void;
1264
+ connect(signal: 'changed', callback: (_source: this) => void): number;
1265
+ connect_after(signal: 'changed', callback: (_source: this) => void): number;
1266
+ emit(signal: 'changed'): void;
1267
+ connect(signal: 'output-connected', callback: (_source: this, output: any | null) => void): number;
1268
+ connect_after(signal: 'output-connected', callback: (_source: this, output: any | null) => void): number;
1269
+ emit(signal: 'output-connected', output?: any | null): void;
1270
+ connect(signal: 'output-disconnected', callback: (_source: this, output: any | null) => void): number;
1271
+ connect_after(signal: 'output-disconnected', callback: (_source: this, output: any | null) => void): number;
1272
+ emit(signal: 'output-disconnected', output?: any | null): void;
1273
+
1274
+ // Own methods of CinnamonDesktop.RRScreen
1275
+
1276
+ calculate_best_global_scale(index: number): number;
1277
+ calculate_supported_scales(width: number, height: number, n_supported_scales: number): number;
1278
+ create_clone_modes(): RRMode;
1279
+ get_crtc_by_id(id: number): RRCrtc;
1280
+ get_dpms_mode(mode: RRDpmsMode): boolean;
1281
+ get_global_scale(): number;
1282
+ get_global_scale_setting(): number;
1283
+ get_output_by_id(id: number): RROutput;
1284
+ get_output_by_name(name: string): RROutput;
1285
+ /**
1286
+ * Get the ranges of the screen
1287
+ */
1288
+ get_ranges(): [number, number, number, number];
1289
+ /**
1290
+ * Queries the two timestamps that the X RANDR extension maintains. The X
1291
+ * server will prevent change requests for stale configurations, those whose
1292
+ * timestamp is not equal to that of the latest request for configuration. The
1293
+ * X server will also prevent change requests that have an older timestamp to
1294
+ * the latest change request.
1295
+ */
1296
+ get_timestamps(): [number, number];
1297
+ get_use_upscaling(): boolean;
1298
+ /**
1299
+ * List available XRandR clone modes
1300
+ */
1301
+ list_clone_modes(): RRMode[];
1302
+ /**
1303
+ * List all CRTCs
1304
+ */
1305
+ list_crtcs(): RRCrtc[];
1306
+ /**
1307
+ * List available XRandR modes
1308
+ */
1309
+ list_modes(): RRMode[];
1310
+ /**
1311
+ * List all outputs
1312
+ */
1313
+ list_outputs(): RROutput[];
1314
+ /**
1315
+ * Refreshes the screen configuration, and calls the screen's callback if it
1316
+ * exists and if the screen's configuration changed.
1317
+ * @returns TRUE if the screen's configuration changed; otherwise, the function returns FALSE and a NULL error if the configuration didn't change, or FALSE and a non-NULL error if there was an error while refreshing the configuration.
1318
+ */
1319
+ refresh(): boolean;
1320
+ /**
1321
+ * This method also disables the DPMS timeouts.
1322
+ * @param mode
1323
+ */
1324
+ set_dpms_mode(mode: RRDpmsMode): boolean;
1325
+ set_global_scale_setting(scale_factor: number): void;
1326
+ set_primary_output(output: RROutput): void;
1327
+ set_size(width: number, height: number, mm_width: number, mm_height: number): void;
1328
+
1329
+ // Inherited methods
1330
+ /**
1331
+ * Initializes the object implementing the interface.
1332
+ *
1333
+ * This method is intended for language bindings. If writing in C,
1334
+ * g_initable_new() should typically be used instead.
1335
+ *
1336
+ * The object must be initialized before any real use after initial
1337
+ * construction, either with this function or g_async_initable_init_async().
1338
+ *
1339
+ * Implementations may also support cancellation. If `cancellable` is not %NULL,
1340
+ * then initialization can be cancelled by triggering the cancellable object
1341
+ * from another thread. If the operation was cancelled, the error
1342
+ * %G_IO_ERROR_CANCELLED will be returned. If `cancellable` is not %NULL and
1343
+ * the object doesn't support cancellable initialization the error
1344
+ * %G_IO_ERROR_NOT_SUPPORTED will be returned.
1345
+ *
1346
+ * If the object is not initialized, or initialization returns with an
1347
+ * error, then all operations on the object except g_object_ref() and
1348
+ * g_object_unref() are considered to be invalid, and have undefined
1349
+ * behaviour. See the [introduction][ginitable] for more details.
1350
+ *
1351
+ * Callers should not assume that a class which implements #GInitable can be
1352
+ * initialized multiple times, unless the class explicitly documents itself as
1353
+ * supporting this. Generally, a class’ implementation of init() can assume
1354
+ * (and assert) that it will only be called once. Previously, this documentation
1355
+ * recommended all #GInitable implementations should be idempotent; that
1356
+ * recommendation was relaxed in GLib 2.54.
1357
+ *
1358
+ * If a class explicitly supports being initialized multiple times, it is
1359
+ * recommended that the method is idempotent: multiple calls with the same
1360
+ * arguments should return the same results. Only the first call initializes
1361
+ * the object; further calls return the result of the first call.
1362
+ *
1363
+ * One reason why a class might need to support idempotent initialization is if
1364
+ * it is designed to be used via the singleton pattern, with a
1365
+ * #GObjectClass.constructor that sometimes returns an existing instance.
1366
+ * In this pattern, a caller would expect to be able to call g_initable_init()
1367
+ * on the result of g_object_new(), regardless of whether it is in fact a new
1368
+ * instance.
1369
+ * @param cancellable optional #GCancellable object, %NULL to ignore.
1370
+ * @returns %TRUE if successful. If an error has occurred, this function will return %FALSE and set @error appropriately if present.
1371
+ */
1372
+ init(cancellable?: Gio.Cancellable | null): boolean;
1373
+ /**
1374
+ * Initializes the object implementing the interface.
1375
+ *
1376
+ * This method is intended for language bindings. If writing in C,
1377
+ * g_initable_new() should typically be used instead.
1378
+ *
1379
+ * The object must be initialized before any real use after initial
1380
+ * construction, either with this function or g_async_initable_init_async().
1381
+ *
1382
+ * Implementations may also support cancellation. If `cancellable` is not %NULL,
1383
+ * then initialization can be cancelled by triggering the cancellable object
1384
+ * from another thread. If the operation was cancelled, the error
1385
+ * %G_IO_ERROR_CANCELLED will be returned. If `cancellable` is not %NULL and
1386
+ * the object doesn't support cancellable initialization the error
1387
+ * %G_IO_ERROR_NOT_SUPPORTED will be returned.
1388
+ *
1389
+ * If the object is not initialized, or initialization returns with an
1390
+ * error, then all operations on the object except g_object_ref() and
1391
+ * g_object_unref() are considered to be invalid, and have undefined
1392
+ * behaviour. See the [introduction][ginitable] for more details.
1393
+ *
1394
+ * Callers should not assume that a class which implements #GInitable can be
1395
+ * initialized multiple times, unless the class explicitly documents itself as
1396
+ * supporting this. Generally, a class’ implementation of init() can assume
1397
+ * (and assert) that it will only be called once. Previously, this documentation
1398
+ * recommended all #GInitable implementations should be idempotent; that
1399
+ * recommendation was relaxed in GLib 2.54.
1400
+ *
1401
+ * If a class explicitly supports being initialized multiple times, it is
1402
+ * recommended that the method is idempotent: multiple calls with the same
1403
+ * arguments should return the same results. Only the first call initializes
1404
+ * the object; further calls return the result of the first call.
1405
+ *
1406
+ * One reason why a class might need to support idempotent initialization is if
1407
+ * it is designed to be used via the singleton pattern, with a
1408
+ * #GObjectClass.constructor that sometimes returns an existing instance.
1409
+ * In this pattern, a caller would expect to be able to call g_initable_init()
1410
+ * on the result of g_object_new(), regardless of whether it is in fact a new
1411
+ * instance.
1412
+ * @param cancellable optional #GCancellable object, %NULL to ignore.
1413
+ */
1414
+ vfunc_init(cancellable?: Gio.Cancellable | null): boolean;
1415
+ /**
1416
+ * Creates a binding between `source_property` on `source` and `target_property`
1417
+ * on `target`.
1418
+ *
1419
+ * Whenever the `source_property` is changed the `target_property` is
1420
+ * updated using the same value. For instance:
1421
+ *
1422
+ *
1423
+ * ```c
1424
+ * g_object_bind_property (action, "active", widget, "sensitive", 0);
1425
+ * ```
1426
+ *
1427
+ *
1428
+ * Will result in the "sensitive" property of the widget #GObject instance to be
1429
+ * updated with the same value of the "active" property of the action #GObject
1430
+ * instance.
1431
+ *
1432
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
1433
+ * if `target_property` on `target` changes then the `source_property` on `source`
1434
+ * will be updated as well.
1435
+ *
1436
+ * The binding will automatically be removed when either the `source` or the
1437
+ * `target` instances are finalized. To remove the binding without affecting the
1438
+ * `source` and the `target` you can just call g_object_unref() on the returned
1439
+ * #GBinding instance.
1440
+ *
1441
+ * Removing the binding by calling g_object_unref() on it must only be done if
1442
+ * the binding, `source` and `target` are only used from a single thread and it
1443
+ * is clear that both `source` and `target` outlive the binding. Especially it
1444
+ * is not safe to rely on this if the binding, `source` or `target` can be
1445
+ * finalized from different threads. Keep another reference to the binding and
1446
+ * use g_binding_unbind() instead to be on the safe side.
1447
+ *
1448
+ * A #GObject can have multiple bindings.
1449
+ * @param source_property the property on @source to bind
1450
+ * @param target the target #GObject
1451
+ * @param target_property the property on @target to bind
1452
+ * @param flags flags to pass to #GBinding
1453
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
1454
+ */
1455
+ bind_property(
1456
+ source_property: string,
1457
+ target: GObject.Object,
1458
+ target_property: string,
1459
+ flags: GObject.BindingFlags,
1460
+ ): GObject.Binding;
1461
+ /**
1462
+ * Complete version of g_object_bind_property().
1463
+ *
1464
+ * Creates a binding between `source_property` on `source` and `target_property`
1465
+ * on `target,` allowing you to set the transformation functions to be used by
1466
+ * the binding.
1467
+ *
1468
+ * If `flags` contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
1469
+ * if `target_property` on `target` changes then the `source_property` on `source`
1470
+ * will be updated as well. The `transform_from` function is only used in case
1471
+ * of bidirectional bindings, otherwise it will be ignored
1472
+ *
1473
+ * The binding will automatically be removed when either the `source` or the
1474
+ * `target` instances are finalized. This will release the reference that is
1475
+ * being held on the #GBinding instance; if you want to hold on to the
1476
+ * #GBinding instance, you will need to hold a reference to it.
1477
+ *
1478
+ * To remove the binding, call g_binding_unbind().
1479
+ *
1480
+ * A #GObject can have multiple bindings.
1481
+ *
1482
+ * The same `user_data` parameter will be used for both `transform_to`
1483
+ * and `transform_from` transformation functions; the `notify` function will
1484
+ * be called once, when the binding is removed. If you need different data
1485
+ * for each transformation function, please use
1486
+ * g_object_bind_property_with_closures() instead.
1487
+ * @param source_property the property on @source to bind
1488
+ * @param target the target #GObject
1489
+ * @param target_property the property on @target to bind
1490
+ * @param flags flags to pass to #GBinding
1491
+ * @param transform_to the transformation function from the @source to the @target, or %NULL to use the default
1492
+ * @param transform_from the transformation function from the @target to the @source, or %NULL to use the default
1493
+ * @param notify a function to call when disposing the binding, to free resources used by the transformation functions, or %NULL if not required
1494
+ * @returns the #GBinding instance representing the binding between the two #GObject instances. The binding is released whenever the #GBinding reference count reaches zero.
1495
+ */
1496
+ bind_property_full(
1497
+ source_property: string,
1498
+ target: GObject.Object,
1499
+ target_property: string,
1500
+ flags: GObject.BindingFlags,
1501
+ transform_to?: GObject.BindingTransformFunc | null,
1502
+ transform_from?: GObject.BindingTransformFunc | null,
1503
+ notify?: GLib.DestroyNotify | null,
1504
+ ): GObject.Binding;
1505
+ // Conflicted with GObject.Object.bind_property_full
1506
+ bind_property_full(...args: never[]): any;
1507
+ /**
1508
+ * This function is intended for #GObject implementations to re-enforce
1509
+ * a [floating][floating-ref] object reference. Doing this is seldom
1510
+ * required: all #GInitiallyUnowneds are created with a floating reference
1511
+ * which usually just needs to be sunken by calling g_object_ref_sink().
1512
+ */
1513
+ force_floating(): void;
1514
+ /**
1515
+ * Increases the freeze count on `object`. If the freeze count is
1516
+ * non-zero, the emission of "notify" signals on `object` is
1517
+ * stopped. The signals are queued until the freeze count is decreased
1518
+ * to zero. Duplicate notifications are squashed so that at most one
1519
+ * #GObject::notify signal is emitted for each property modified while the
1520
+ * object is frozen.
1521
+ *
1522
+ * This is necessary for accessors that modify multiple properties to prevent
1523
+ * premature notification while the object is still being modified.
1524
+ */
1525
+ freeze_notify(): void;
1526
+ /**
1527
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
1528
+ * @param key name of the key for that association
1529
+ * @returns the data if found, or %NULL if no such data exists.
1530
+ */
1531
+ get_data(key: string): any | null;
1532
+ get_property(property_name: string): any;
1533
+ /**
1534
+ * This function gets back user data pointers stored via
1535
+ * g_object_set_qdata().
1536
+ * @param quark A #GQuark, naming the user data pointer
1537
+ * @returns The user data pointer set, or %NULL
1538
+ */
1539
+ get_qdata(quark: GLib.Quark): any | null;
1540
+ /**
1541
+ * Gets `n_properties` properties for an `object`.
1542
+ * Obtained properties will be set to `values`. All properties must be valid.
1543
+ * Warnings will be emitted and undefined behaviour may result if invalid
1544
+ * properties are passed in.
1545
+ * @param names the names of each property to get
1546
+ * @param values the values of each property to get
1547
+ */
1548
+ getv(names: string[], values: (GObject.Value | any)[]): void;
1549
+ /**
1550
+ * Checks whether `object` has a [floating][floating-ref] reference.
1551
+ * @returns %TRUE if @object has a floating reference
1552
+ */
1553
+ is_floating(): boolean;
1554
+ /**
1555
+ * Emits a "notify" signal for the property `property_name` on `object`.
1556
+ *
1557
+ * When possible, eg. when signaling a property change from within the class
1558
+ * that registered the property, you should use g_object_notify_by_pspec()
1559
+ * instead.
1560
+ *
1561
+ * Note that emission of the notify signal may be blocked with
1562
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
1563
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
1564
+ * called.
1565
+ * @param property_name the name of a property installed on the class of @object.
1566
+ */
1567
+ notify(property_name: string): void;
1568
+ /**
1569
+ * Emits a "notify" signal for the property specified by `pspec` on `object`.
1570
+ *
1571
+ * This function omits the property name lookup, hence it is faster than
1572
+ * g_object_notify().
1573
+ *
1574
+ * One way to avoid using g_object_notify() from within the
1575
+ * class that registered the properties, and using g_object_notify_by_pspec()
1576
+ * instead, is to store the GParamSpec used with
1577
+ * g_object_class_install_property() inside a static array, e.g.:
1578
+ *
1579
+ *
1580
+ * ```c
1581
+ * typedef enum
1582
+ * {
1583
+ * PROP_FOO = 1,
1584
+ * PROP_LAST
1585
+ * } MyObjectProperty;
1586
+ *
1587
+ * static GParamSpec *properties[PROP_LAST];
1588
+ *
1589
+ * static void
1590
+ * my_object_class_init (MyObjectClass *klass)
1591
+ * {
1592
+ * properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
1593
+ * 0, 100,
1594
+ * 50,
1595
+ * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
1596
+ * g_object_class_install_property (gobject_class,
1597
+ * PROP_FOO,
1598
+ * properties[PROP_FOO]);
1599
+ * }
1600
+ * ```
1601
+ *
1602
+ *
1603
+ * and then notify a change on the "foo" property with:
1604
+ *
1605
+ *
1606
+ * ```c
1607
+ * g_object_notify_by_pspec (self, properties[PROP_FOO]);
1608
+ * ```
1609
+ *
1610
+ * @param pspec the #GParamSpec of a property installed on the class of @object.
1611
+ */
1612
+ notify_by_pspec(pspec: GObject.ParamSpec): void;
1613
+ /**
1614
+ * Increases the reference count of `object`.
1615
+ *
1616
+ * Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
1617
+ * of `object` will be propagated to the return type (using the GCC typeof()
1618
+ * extension), so any casting the caller needs to do on the return type must be
1619
+ * explicit.
1620
+ * @returns the same @object
1621
+ */
1622
+ ref(): GObject.Object;
1623
+ /**
1624
+ * Increase the reference count of `object,` and possibly remove the
1625
+ * [floating][floating-ref] reference, if `object` has a floating reference.
1626
+ *
1627
+ * In other words, if the object is floating, then this call "assumes
1628
+ * ownership" of the floating reference, converting it to a normal
1629
+ * reference by clearing the floating flag while leaving the reference
1630
+ * count unchanged. If the object is not floating, then this call
1631
+ * adds a new normal reference increasing the reference count by one.
1632
+ *
1633
+ * Since GLib 2.56, the type of `object` will be propagated to the return type
1634
+ * under the same conditions as for g_object_ref().
1635
+ * @returns @object
1636
+ */
1637
+ ref_sink(): GObject.Object;
1638
+ /**
1639
+ * Releases all references to other objects. This can be used to break
1640
+ * reference cycles.
1641
+ *
1642
+ * This function should only be called from object system implementations.
1643
+ */
1644
+ run_dispose(): void;
1645
+ /**
1646
+ * Each object carries around a table of associations from
1647
+ * strings to pointers. This function lets you set an association.
1648
+ *
1649
+ * If the object already had an association with that name,
1650
+ * the old association will be destroyed.
1651
+ *
1652
+ * Internally, the `key` is converted to a #GQuark using g_quark_from_string().
1653
+ * This means a copy of `key` is kept permanently (even after `object` has been
1654
+ * finalized) — so it is recommended to only use a small, bounded set of values
1655
+ * for `key` in your program, to avoid the #GQuark storage growing unbounded.
1656
+ * @param key name of the key
1657
+ * @param data data to associate with that key
1658
+ */
1659
+ set_data(key: string, data?: any | null): void;
1660
+ set_property(property_name: string, value: any): void;
1661
+ /**
1662
+ * Remove a specified datum from the object's data associations,
1663
+ * without invoking the association's destroy handler.
1664
+ * @param key name of the key
1665
+ * @returns the data if found, or %NULL if no such data exists.
1666
+ */
1667
+ steal_data(key: string): any | null;
1668
+ /**
1669
+ * This function gets back user data pointers stored via
1670
+ * g_object_set_qdata() and removes the `data` from object
1671
+ * without invoking its destroy() function (if any was
1672
+ * set).
1673
+ * Usually, calling this function is only required to update
1674
+ * user data pointers with a destroy notifier, for example:
1675
+ *
1676
+ * ```c
1677
+ * void
1678
+ * object_add_to_user_list (GObject *object,
1679
+ * const gchar *new_string)
1680
+ * {
1681
+ * // the quark, naming the object data
1682
+ * GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
1683
+ * // retrieve the old string list
1684
+ * GList *list = g_object_steal_qdata (object, quark_string_list);
1685
+ *
1686
+ * // prepend new string
1687
+ * list = g_list_prepend (list, g_strdup (new_string));
1688
+ * // this changed 'list', so we need to set it again
1689
+ * g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
1690
+ * }
1691
+ * static void
1692
+ * free_string_list (gpointer data)
1693
+ * {
1694
+ * GList *node, *list = data;
1695
+ *
1696
+ * for (node = list; node; node = node->next)
1697
+ * g_free (node->data);
1698
+ * g_list_free (list);
1699
+ * }
1700
+ * ```
1701
+ *
1702
+ * Using g_object_get_qdata() in the above example, instead of
1703
+ * g_object_steal_qdata() would have left the destroy function set,
1704
+ * and thus the partial string list would have been freed upon
1705
+ * g_object_set_qdata_full().
1706
+ * @param quark A #GQuark, naming the user data pointer
1707
+ * @returns The user data pointer set, or %NULL
1708
+ */
1709
+ steal_qdata(quark: GLib.Quark): any | null;
1710
+ /**
1711
+ * Reverts the effect of a previous call to
1712
+ * g_object_freeze_notify(). The freeze count is decreased on `object`
1713
+ * and when it reaches zero, queued "notify" signals are emitted.
1714
+ *
1715
+ * Duplicate notifications for each property are squashed so that at most one
1716
+ * #GObject::notify signal is emitted for each property, in the reverse order
1717
+ * in which they have been queued.
1718
+ *
1719
+ * It is an error to call this function when the freeze count is zero.
1720
+ */
1721
+ thaw_notify(): void;
1722
+ /**
1723
+ * Decreases the reference count of `object`. When its reference count
1724
+ * drops to 0, the object is finalized (i.e. its memory is freed).
1725
+ *
1726
+ * If the pointer to the #GObject may be reused in future (for example, if it is
1727
+ * an instance variable of another object), it is recommended to clear the
1728
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
1729
+ * invalid #GObject instance. Use g_clear_object() for this.
1730
+ */
1731
+ unref(): void;
1732
+ /**
1733
+ * This function essentially limits the life time of the `closure` to
1734
+ * the life time of the object. That is, when the object is finalized,
1735
+ * the `closure` is invalidated by calling g_closure_invalidate() on
1736
+ * it, in order to prevent invocations of the closure with a finalized
1737
+ * (nonexisting) object. Also, g_object_ref() and g_object_unref() are
1738
+ * added as marshal guards to the `closure,` to ensure that an extra
1739
+ * reference count is held on `object` during invocation of the
1740
+ * `closure`. Usually, this function will be called on closures that
1741
+ * use this `object` as closure data.
1742
+ * @param closure #GClosure to watch
1743
+ */
1744
+ watch_closure(closure: GObject.Closure): void;
1745
+ vfunc_constructed(): void;
1746
+ vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: GObject.ParamSpec): void;
1747
+ vfunc_dispose(): void;
1748
+ vfunc_finalize(): void;
1749
+ vfunc_get_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
1750
+ /**
1751
+ * Emits a "notify" signal for the property `property_name` on `object`.
1752
+ *
1753
+ * When possible, eg. when signaling a property change from within the class
1754
+ * that registered the property, you should use g_object_notify_by_pspec()
1755
+ * instead.
1756
+ *
1757
+ * Note that emission of the notify signal may be blocked with
1758
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
1759
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
1760
+ * called.
1761
+ * @param pspec
1762
+ */
1763
+ vfunc_notify(pspec: GObject.ParamSpec): void;
1764
+ vfunc_set_property(property_id: number, value: GObject.Value | any, pspec: GObject.ParamSpec): void;
1765
+ disconnect(id: number): void;
1766
+ set(properties: { [key: string]: any }): void;
1767
+ block_signal_handler(id: number): any;
1768
+ unblock_signal_handler(id: number): any;
1769
+ stop_emission_by_name(detailedName: string): any;
1770
+ }
1771
+
1772
+ module WallClock {
1773
+ // Constructor properties interface
1774
+
1775
+ interface ConstructorProps extends GObject.Object.ConstructorProps {
1776
+ clock: string;
1777
+ format_string: string;
1778
+ formatString: string;
1779
+ }
1780
+ }
1781
+
1782
+ class WallClock extends GObject.Object {
1783
+ static $gtype: GObject.GType<WallClock>;
1784
+
1785
+ // Own properties of CinnamonDesktop.WallClock
1786
+
1787
+ /**
1788
+ * A formatted string representing the current clock display.
1789
+ */
1790
+ get clock(): string;
1791
+ /**
1792
+ * If not NULL, the wall clock will format the time/date according to
1793
+ * this format string. If the format string is invalid, the default string
1794
+ * will be used instead.
1795
+ */
1796
+ get format_string(): string;
1797
+ set format_string(val: string);
1798
+ /**
1799
+ * If not NULL, the wall clock will format the time/date according to
1800
+ * this format string. If the format string is invalid, the default string
1801
+ * will be used instead.
1802
+ */
1803
+ get formatString(): string;
1804
+ set formatString(val: string);
1805
+
1806
+ // Own fields of CinnamonDesktop.WallClock
1807
+
1808
+ parent_object: GObject.Object;
1809
+
1810
+ // Constructors of CinnamonDesktop.WallClock
1811
+
1812
+ constructor(properties?: Partial<WallClock.ConstructorProps>, ...args: any[]);
1813
+
1814
+ _init(...args: any[]): void;
1815
+
1816
+ static ['new'](): WallClock;
1817
+
1818
+ // Own static methods of CinnamonDesktop.WallClock
1819
+
1820
+ /**
1821
+ * Returns the translation of the format string according to
1822
+ * the LC_TIME locale.
1823
+ * @param gettext_domain
1824
+ * @param format_string
1825
+ */
1826
+ static lctime_format(gettext_domain?: string | null, format_string?: string | null): string;
1827
+
1828
+ // Own methods of CinnamonDesktop.WallClock
1829
+
1830
+ /**
1831
+ * Returns a formatted date and time based on either default format
1832
+ * settings, or via a custom-set format string.
1833
+ *
1834
+ * The returned string should be ready to be set on a label.
1835
+ * @returns The formatted date/time string.
1836
+ */
1837
+ get_clock(): string;
1838
+ /**
1839
+ * Returns a formatted date and time based on the provided format string.
1840
+ * The returned string should be ready to be set on a label.
1841
+ * @param format_string
1842
+ * @returns The formatted date/time string, or NULL if there was a problem with the format string.
1843
+ */
1844
+ get_clock_for_format(format_string: string): string;
1845
+ /**
1846
+ * Returns the current date-only format based on current locale
1847
+ * defaults and clock settings.
1848
+ * @returns The default date format string.
1849
+ */
1850
+ get_default_date_format(): string;
1851
+ /**
1852
+ * Returns the current time-only format based on current locale
1853
+ * defaults and clock settings.
1854
+ * @returns The default time format string.
1855
+ */
1856
+ get_default_time_format(): string;
1857
+ /**
1858
+ * Sets the wall clock to use the provided format string for any
1859
+ * subsequent updates. Passing NULL will un-set any custom format,
1860
+ * and rely on a default locale format.
1861
+ *
1862
+ * Any invalid format string passed will cause it to be ignored,
1863
+ * and the default locale format used instead.
1864
+ * @param format_string
1865
+ * @returns Whether or not the format string was valid and accepted.
1866
+ */
1867
+ set_format_string(format_string?: string | null): boolean;
1868
+ }
1869
+
1870
+ module XkbInfo {
1871
+ // Constructor properties interface
1872
+
1873
+ interface ConstructorProps extends GObject.Object.ConstructorProps {}
1874
+ }
1875
+
1876
+ class XkbInfo extends GObject.Object {
1877
+ static $gtype: GObject.GType<XkbInfo>;
1878
+
1879
+ // Own fields of CinnamonDesktop.XkbInfo
1880
+
1881
+ parent_object: GObject.Object;
1882
+
1883
+ // Constructors of CinnamonDesktop.XkbInfo
1884
+
1885
+ constructor(properties?: Partial<XkbInfo.ConstructorProps>, ...args: any[]);
1886
+
1887
+ _init(...args: any[]): void;
1888
+
1889
+ static ['new'](): XkbInfo;
1890
+
1891
+ // Own methods of CinnamonDesktop.XkbInfo
1892
+
1893
+ description_for_option(group_id: string, id: string): string;
1894
+ /**
1895
+ * Returns a list of all layout identifiers we know about.
1896
+ * @returns the list of layout names. The caller takes ownership of the #GList but not of the strings themselves, those are internally allocated and must not be modified.
1897
+ */
1898
+ get_all_layouts(): string[];
1899
+ /**
1900
+ * Returns a list of all option group identifiers we know about.
1901
+ * @returns the list of option group ids. The caller takes ownership of the #GList but not of the strings themselves, those are internally allocated and must not be modified.
1902
+ */
1903
+ get_all_option_groups(): string[];
1904
+ /**
1905
+ * Retrieves information about a layout. Both `display_name` and
1906
+ * `short_name` are suitable to show in UIs and might be localized if
1907
+ * translations are available.
1908
+ *
1909
+ * Some layouts don't provide a short name (2 or 3 letters) or don't
1910
+ * specify a XKB variant, in those cases `short_name` or `xkb_variant`
1911
+ * are empty strings, i.e. "".
1912
+ *
1913
+ * If the given layout doesn't exist the return value is %FALSE and
1914
+ * all the (out) parameters are set to %NULL.
1915
+ * @param id layout's identifier about which to retrieve the info
1916
+ * @returns %TRUE if the layout exists or %FALSE otherwise.
1917
+ */
1918
+ get_layout_info(id: string): [boolean, string, string, string, string];
1919
+ /**
1920
+ * Retrieves the layout that better fits `language`. It also fetches
1921
+ * information about that layout like gnome_xkb_info_get_layout_info().
1922
+ *
1923
+ * If a layout can't be found the return value is %FALSE and all the
1924
+ * (out) parameters are set to %NULL.
1925
+ * @param language an ISO 639 code
1926
+ * @returns %TRUE if a layout exists or %FALSE otherwise.
1927
+ */
1928
+ get_layout_info_for_language(language: string): [boolean, string, string, string, string, string];
1929
+ /**
1930
+ * Returns a list of all option identifiers we know about for group
1931
+ * `group_id`.
1932
+ * @param group_id group's identifier about which to retrieve the options
1933
+ * @returns the list of option ids. The caller takes ownership of the #GList but not of the strings themselves, those are internally allocated and must not be modified.
1934
+ */
1935
+ get_options_for_group(group_id: string): string[];
1936
+ }
1937
+
1938
+ type BGClass = typeof BG;
1939
+ type BGCrossfadeClass = typeof BGCrossfade;
1940
+ abstract class BGCrossfadePrivate {
1941
+ static $gtype: GObject.GType<BGCrossfadePrivate>;
1942
+
1943
+ // Constructors of CinnamonDesktop.BGCrossfadePrivate
1944
+
1945
+ _init(...args: any[]): void;
1946
+ }
1947
+
1948
+ type DesktopThumbnailFactoryClass = typeof DesktopThumbnailFactory;
1949
+ abstract class DesktopThumbnailFactoryPrivate {
1950
+ static $gtype: GObject.GType<DesktopThumbnailFactoryPrivate>;
1951
+
1952
+ // Constructors of CinnamonDesktop.DesktopThumbnailFactoryPrivate
1953
+
1954
+ _init(...args: any[]): void;
1955
+ }
1956
+
1957
+ type IdleMonitorClass = typeof IdleMonitor;
1958
+ abstract class IdleMonitorPrivate {
1959
+ static $gtype: GObject.GType<IdleMonitorPrivate>;
1960
+
1961
+ // Constructors of CinnamonDesktop.IdleMonitorPrivate
1962
+
1963
+ _init(...args: any[]): void;
1964
+ }
1965
+
1966
+ type PnpIdsClass = typeof PnpIds;
1967
+ abstract class PnpIdsPrivate {
1968
+ static $gtype: GObject.GType<PnpIdsPrivate>;
1969
+
1970
+ // Constructors of CinnamonDesktop.PnpIdsPrivate
1971
+
1972
+ _init(...args: any[]): void;
1973
+ }
1974
+
1975
+ type RRConfigClass = typeof RRConfig;
1976
+ abstract class RRConfigPrivate {
1977
+ static $gtype: GObject.GType<RRConfigPrivate>;
1978
+
1979
+ // Constructors of CinnamonDesktop.RRConfigPrivate
1980
+
1981
+ _init(...args: any[]): void;
1982
+ }
1983
+
1984
+ abstract class RRCrtc {
1985
+ static $gtype: GObject.GType<RRCrtc>;
1986
+
1987
+ // Constructors of CinnamonDesktop.RRCrtc
1988
+
1989
+ _init(...args: any[]): void;
1990
+
1991
+ // Own methods of CinnamonDesktop.RRCrtc
1992
+
1993
+ can_drive_output(output: RROutput): boolean;
1994
+ get_current_mode(): RRMode;
1995
+ get_current_rotation(): RRRotation;
1996
+ get_gamma(size: number, red: number, green: number, blue: number): boolean;
1997
+ get_id(): number;
1998
+ get_position(x: number, y: number): void;
1999
+ get_rotations(): RRRotation;
2000
+ get_scale(): number;
2001
+ set_config_with_time(
2002
+ timestamp: number,
2003
+ x: number,
2004
+ y: number,
2005
+ mode: RRMode,
2006
+ rotation: RRRotation,
2007
+ outputs: RROutput,
2008
+ n_outputs: number,
2009
+ scale: number,
2010
+ global_scale: number,
2011
+ ): boolean;
2012
+ set_gamma(size: number, red: number, green: number, blue: number): void;
2013
+ supports_rotation(rotation: RRRotation): boolean;
2014
+ }
2015
+
2016
+ type RRLabelerClass = typeof RRLabeler;
2017
+ abstract class RRLabelerPrivate {
2018
+ static $gtype: GObject.GType<RRLabelerPrivate>;
2019
+
2020
+ // Constructors of CinnamonDesktop.RRLabelerPrivate
2021
+
2022
+ _init(...args: any[]): void;
2023
+ }
2024
+
2025
+ abstract class RRMode {
2026
+ static $gtype: GObject.GType<RRMode>;
2027
+
2028
+ // Constructors of CinnamonDesktop.RRMode
2029
+
2030
+ _init(...args: any[]): void;
2031
+
2032
+ // Own methods of CinnamonDesktop.RRMode
2033
+
2034
+ get_flags(doublescan: boolean, interlaced: boolean, vsync: boolean): void;
2035
+ get_freq(): number;
2036
+ get_freq_f(): number;
2037
+ get_height(): number;
2038
+ get_id(): number;
2039
+ get_width(): number;
2040
+ }
2041
+
2042
+ abstract class RROutput {
2043
+ static $gtype: GObject.GType<RROutput>;
2044
+
2045
+ // Constructors of CinnamonDesktop.RROutput
2046
+
2047
+ _init(...args: any[]): void;
2048
+
2049
+ // Own methods of CinnamonDesktop.RROutput
2050
+
2051
+ can_clone(clone: RROutput): boolean;
2052
+ get_backlight(): number;
2053
+ get_backlight_max(): number;
2054
+ get_backlight_min(): number;
2055
+ get_connector_type(): string;
2056
+ get_crtc(): RRCrtc;
2057
+ get_current_mode(): RRMode;
2058
+ get_edid_data(size: number): number;
2059
+ get_height_mm(): number;
2060
+ get_id(): number;
2061
+ get_ids_from_edid(vendor: string, product: number, serial: number): boolean;
2062
+ get_is_primary(): boolean;
2063
+ get_name(): string;
2064
+ get_position(x: number, y: number): void;
2065
+ get_possible_crtcs(): RRCrtc;
2066
+ get_preferred_mode(): RRMode;
2067
+ get_size_inches(): number;
2068
+ get_width_mm(): number;
2069
+ is_connected(): boolean;
2070
+ is_laptop(): boolean;
2071
+ list_modes(): RRMode;
2072
+ set_backlight(value: number): boolean;
2073
+ supports_mode(mode: RRMode): boolean;
2074
+ }
2075
+
2076
+ type RROutputInfoClass = typeof RROutputInfo;
2077
+ abstract class RROutputInfoPrivate {
2078
+ static $gtype: GObject.GType<RROutputInfoPrivate>;
2079
+
2080
+ // Constructors of CinnamonDesktop.RROutputInfoPrivate
2081
+
2082
+ _init(...args: any[]): void;
2083
+ }
2084
+
2085
+ type RRScreenClass = typeof RRScreen;
2086
+ abstract class RRScreenPrivate {
2087
+ static $gtype: GObject.GType<RRScreenPrivate>;
2088
+
2089
+ // Constructors of CinnamonDesktop.RRScreenPrivate
2090
+
2091
+ _init(...args: any[]): void;
2092
+ }
2093
+
2094
+ type WallClockClass = typeof WallClock;
2095
+ abstract class WallClockPrivate {
2096
+ static $gtype: GObject.GType<WallClockPrivate>;
2097
+
2098
+ // Constructors of CinnamonDesktop.WallClockPrivate
2099
+
2100
+ _init(...args: any[]): void;
2101
+ }
2102
+
2103
+ type XkbInfoClass = typeof XkbInfo;
2104
+ abstract class XkbInfoPrivate {
2105
+ static $gtype: GObject.GType<XkbInfoPrivate>;
2106
+
2107
+ // Constructors of CinnamonDesktop.XkbInfoPrivate
2108
+
2109
+ _init(...args: any[]): void;
2110
+ }
2111
+
2112
+ /**
2113
+ * Name of the imported GIR library
2114
+ * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188
2115
+ */
2116
+ const __name__: string;
2117
+ /**
2118
+ * Version of the imported GIR library
2119
+ * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189
2120
+ */
2121
+ const __version__: string;
2122
+ }
2123
+
2124
+ export default CinnamonDesktop;
2125
+ // END