@gtkx/ffi 0.18.5 → 0.18.6

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.
Files changed (77) hide show
  1. package/dist/generated/adw/constants.d.ts +2 -2
  2. package/dist/generated/adw/constants.js +2 -2
  3. package/dist/generated/gdkwayland/index.d.ts +9 -0
  4. package/dist/generated/gdkwayland/index.d.ts.map +1 -0
  5. package/dist/generated/gdkwayland/index.js +9 -0
  6. package/dist/generated/gdkwayland/index.js.map +1 -0
  7. package/dist/generated/gdkwayland/wayland-device.d.ts +29 -0
  8. package/dist/generated/gdkwayland/wayland-device.d.ts.map +1 -0
  9. package/dist/generated/gdkwayland/wayland-device.js +81 -0
  10. package/dist/generated/gdkwayland/wayland-device.js.map +1 -0
  11. package/dist/generated/gdkwayland/wayland-display.d.ts +44 -0
  12. package/dist/generated/gdkwayland/wayland-display.d.ts.map +1 -0
  13. package/dist/generated/gdkwayland/wayland-display.js +161 -0
  14. package/dist/generated/gdkwayland/wayland-display.js.map +1 -0
  15. package/dist/generated/gdkwayland/wayland-gl-context.d.ts +8 -0
  16. package/dist/generated/gdkwayland/wayland-gl-context.d.ts.map +1 -0
  17. package/dist/generated/gdkwayland/wayland-gl-context.js +33 -0
  18. package/dist/generated/gdkwayland/wayland-gl-context.js.map +1 -0
  19. package/dist/generated/gdkwayland/wayland-monitor.d.ts +14 -0
  20. package/dist/generated/gdkwayland/wayland-monitor.d.ts.map +1 -0
  21. package/dist/generated/gdkwayland/wayland-monitor.js +39 -0
  22. package/dist/generated/gdkwayland/wayland-monitor.js.map +1 -0
  23. package/dist/generated/gdkwayland/wayland-popup.d.ts +49 -0
  24. package/dist/generated/gdkwayland/wayland-popup.d.ts.map +1 -0
  25. package/dist/generated/gdkwayland/wayland-popup.js +199 -0
  26. package/dist/generated/gdkwayland/wayland-popup.js.map +1 -0
  27. package/dist/generated/gdkwayland/wayland-seat.d.ts +14 -0
  28. package/dist/generated/gdkwayland/wayland-seat.d.ts.map +1 -0
  29. package/dist/generated/gdkwayland/wayland-seat.js +39 -0
  30. package/dist/generated/gdkwayland/wayland-seat.js.map +1 -0
  31. package/dist/generated/gdkwayland/wayland-surface.d.ts +16 -0
  32. package/dist/generated/gdkwayland/wayland-surface.d.ts.map +1 -0
  33. package/dist/generated/gdkwayland/wayland-surface.js +53 -0
  34. package/dist/generated/gdkwayland/wayland-surface.js.map +1 -0
  35. package/dist/generated/gdkwayland/wayland-toplevel.d.ts +252 -0
  36. package/dist/generated/gdkwayland/wayland-toplevel.d.ts.map +1 -0
  37. package/dist/generated/gdkwayland/wayland-toplevel.js +1022 -0
  38. package/dist/generated/gdkwayland/wayland-toplevel.js.map +1 -0
  39. package/dist/generated/gst/constants.d.ts +1 -1
  40. package/dist/generated/gst/constants.d.ts.map +1 -1
  41. package/dist/generated/gst/constants.js +1 -1
  42. package/dist/generated/gst/constants.js.map +1 -1
  43. package/dist/generated/gtk4layershell/functions.d.ts +18 -7
  44. package/dist/generated/gtk4layershell/functions.d.ts.map +1 -1
  45. package/dist/generated/gtk4layershell/functions.js +50 -5
  46. package/dist/generated/gtk4layershell/functions.js.map +1 -1
  47. package/dist/generated/gtk4sessionlock/functions.d.ts +3 -0
  48. package/dist/generated/gtk4sessionlock/functions.d.ts.map +1 -0
  49. package/dist/generated/gtk4sessionlock/functions.js +8 -0
  50. package/dist/generated/gtk4sessionlock/functions.js.map +1 -0
  51. package/dist/generated/gtk4sessionlock/index.d.ts +3 -0
  52. package/dist/generated/gtk4sessionlock/index.d.ts.map +1 -0
  53. package/dist/generated/gtk4sessionlock/index.js +3 -0
  54. package/dist/generated/gtk4sessionlock/index.js.map +1 -0
  55. package/dist/generated/gtk4sessionlock/instance.d.ts +36 -0
  56. package/dist/generated/gtk4sessionlock/instance.d.ts.map +1 -0
  57. package/dist/generated/gtk4sessionlock/instance.js +215 -0
  58. package/dist/generated/gtk4sessionlock/instance.js.map +1 -0
  59. package/dist/generated/vte/constants.d.ts +1 -1
  60. package/dist/generated/vte/constants.js +1 -1
  61. package/package.json +3 -3
  62. package/src/generated/adw/constants.ts +2 -2
  63. package/src/generated/gdkwayland/index.ts +8 -0
  64. package/src/generated/gdkwayland/wayland-device.ts +99 -0
  65. package/src/generated/gdkwayland/wayland-display.ts +197 -0
  66. package/src/generated/gdkwayland/wayland-gl-context.ts +39 -0
  67. package/src/generated/gdkwayland/wayland-monitor.ts +45 -0
  68. package/src/generated/gdkwayland/wayland-popup.ts +247 -0
  69. package/src/generated/gdkwayland/wayland-seat.ts +45 -0
  70. package/src/generated/gdkwayland/wayland-surface.ts +65 -0
  71. package/src/generated/gdkwayland/wayland-toplevel.ts +1260 -0
  72. package/src/generated/gst/constants.ts +1 -1
  73. package/src/generated/gtk4layershell/functions.ts +62 -8
  74. package/src/generated/gtk4sessionlock/functions.ts +8 -0
  75. package/src/generated/gtk4sessionlock/index.ts +2 -0
  76. package/src/generated/gtk4sessionlock/instance.ts +271 -0
  77. package/src/generated/vte/constants.ts +1 -1
@@ -0,0 +1,1022 @@
1
+ import { isInstantiating, setInstantiating } from "../../lifecycle.js";
2
+ import { call } from "../../native.js";
3
+ import { getNativeObject, registerNativeClass, registerNativeObject } from "../../registry.js";
4
+ import { WaylandSurface } from "./wayland-surface.js";
5
+ import * as GObject from "../gobject/index.js";
6
+ import * as Gdk from "../gdk/index.js";
7
+ /**
8
+ * The Wayland implementation of `GdkToplevel`.
9
+ *
10
+ * Beyond the {@link Gdk.Toplevel} API, the Wayland implementation
11
+ * has API to set up cross-process parent-child relationships between
12
+ * surfaces with {@link GdkWayland.WaylandToplevel.export_handle} and
13
+ * {@link GdkWayland.WaylandToplevel.set_transient_for_exported}.
14
+ */
15
+ export class WaylandToplevel extends WaylandSurface {
16
+ static glibTypeName = "GdkWaylandToplevel";
17
+ static objectType = "gobject";
18
+ constructor() {
19
+ if (!isInstantiating) {
20
+ setInstantiating(true);
21
+ // @ts-ignore
22
+ super();
23
+ setInstantiating(false);
24
+ const gtype = call("libgtk-4.so.1", "gdk_wayland_toplevel_get_type", [], {
25
+ type: "int",
26
+ size: 64,
27
+ unsigned: true,
28
+ });
29
+ this.handle = call("libgobject-2.0.so.0", "g_object_new", [
30
+ { type: { type: "int", size: 64, unsigned: true }, value: gtype, optional: false },
31
+ { type: { type: "null" }, value: null, optional: false },
32
+ ], { type: "gobject", ownership: "full" });
33
+ registerNativeObject(this);
34
+ }
35
+ else {
36
+ // @ts-ignore
37
+ super();
38
+ }
39
+ }
40
+ /**
41
+ * Destroy a handle that was obtained with gdk_wayland_toplevel_export_handle().
42
+ *
43
+ * Note that this API depends on an unstable Wayland protocol,
44
+ * and thus may require changes in the future.
45
+ */
46
+ dropExportedHandle(handle) {
47
+ call("libgtk-4.so.1", "gdk_wayland_toplevel_drop_exported_handle", [
48
+ {
49
+ type: {
50
+ type: "gobject",
51
+ ownership: "borrowed",
52
+ },
53
+ value: this.handle,
54
+ },
55
+ {
56
+ type: {
57
+ type: "string",
58
+ ownership: "borrowed",
59
+ },
60
+ value: handle,
61
+ },
62
+ ], {
63
+ type: "undefined",
64
+ });
65
+ }
66
+ /** Sets the application id on a `GdkToplevel`. */
67
+ setApplicationId(applicationId) {
68
+ call("libgtk-4.so.1", "gdk_wayland_toplevel_set_application_id", [
69
+ {
70
+ type: {
71
+ type: "gobject",
72
+ ownership: "borrowed",
73
+ },
74
+ value: this.handle,
75
+ },
76
+ {
77
+ type: {
78
+ type: "string",
79
+ ownership: "borrowed",
80
+ },
81
+ value: applicationId,
82
+ },
83
+ ], {
84
+ type: "undefined",
85
+ });
86
+ }
87
+ /**
88
+ * Marks `toplevel` as transient for the surface to which the given
89
+ * `parent_handle_str` refers.
90
+ *
91
+ * Typically, the handle will originate from a
92
+ * {@link GdkWayland.WaylandToplevel.export_handle} call in another process.
93
+ *
94
+ * Note that this API depends on an unstable Wayland protocol,
95
+ * and thus may require changes in the future.
96
+ */
97
+ setTransientForExported(parentHandleStr) {
98
+ return call("libgtk-4.so.1", "gdk_wayland_toplevel_set_transient_for_exported", [
99
+ {
100
+ type: {
101
+ type: "gobject",
102
+ ownership: "borrowed",
103
+ },
104
+ value: this.handle,
105
+ },
106
+ {
107
+ type: {
108
+ type: "string",
109
+ ownership: "borrowed",
110
+ },
111
+ value: parentHandleStr,
112
+ },
113
+ ], {
114
+ type: "boolean",
115
+ });
116
+ }
117
+ /**
118
+ * Destroys the handle that was obtained with
119
+ * gdk_wayland_toplevel_export_handle().
120
+ *
121
+ * It is an error to call this function on a surface that
122
+ * does not have a handle.
123
+ *
124
+ * Since 4.12, this function does nothing. Use
125
+ * {@link GdkWayland.WaylandToplevel.drop_exported_handle} instead to drop a
126
+ * handle that was obtained with {@link GdkWayland.WaylandToplevel.export_handle}.
127
+ *
128
+ * Note that this API depends on an unstable Wayland protocol,
129
+ * and thus may require changes in the future.
130
+ */
131
+ unexportHandle() {
132
+ call("libgtk-4.so.1", "gdk_wayland_toplevel_unexport_handle", [
133
+ {
134
+ type: {
135
+ type: "gobject",
136
+ ownership: "borrowed",
137
+ },
138
+ value: this.handle,
139
+ },
140
+ ], {
141
+ type: "undefined",
142
+ });
143
+ }
144
+ /**
145
+ * Begins an interactive move operation.
146
+ *
147
+ * You might use this function to implement draggable titlebars.
148
+ */
149
+ beginMove(device, button, x, y, timestamp) {
150
+ call("libgtk-4.so.1", "gdk_toplevel_begin_move", [
151
+ {
152
+ type: {
153
+ type: "gobject",
154
+ ownership: "borrowed",
155
+ },
156
+ value: this.handle,
157
+ },
158
+ {
159
+ type: {
160
+ type: "gobject",
161
+ ownership: "borrowed",
162
+ },
163
+ value: device.handle,
164
+ },
165
+ {
166
+ type: {
167
+ type: "int",
168
+ size: 32,
169
+ unsigned: false,
170
+ },
171
+ value: button,
172
+ },
173
+ {
174
+ type: {
175
+ type: "float",
176
+ size: 64,
177
+ },
178
+ value: x,
179
+ },
180
+ {
181
+ type: {
182
+ type: "float",
183
+ size: 64,
184
+ },
185
+ value: y,
186
+ },
187
+ {
188
+ type: {
189
+ type: "int",
190
+ size: 32,
191
+ unsigned: true,
192
+ },
193
+ value: timestamp,
194
+ },
195
+ ], {
196
+ type: "undefined",
197
+ });
198
+ }
199
+ /**
200
+ * Begins an interactive resize operation.
201
+ *
202
+ * You might use this function to implement a “window resize grip.”
203
+ */
204
+ beginResize(edge, button, x, y, timestamp, device) {
205
+ call("libgtk-4.so.1", "gdk_toplevel_begin_resize", [
206
+ {
207
+ type: {
208
+ type: "gobject",
209
+ ownership: "borrowed",
210
+ },
211
+ value: this.handle,
212
+ },
213
+ {
214
+ type: {
215
+ type: "int",
216
+ size: 32,
217
+ unsigned: false,
218
+ library: "libgtk-4.so.1",
219
+ getTypeFn: "gdk_surface_edge_get_type",
220
+ },
221
+ value: edge,
222
+ },
223
+ {
224
+ type: {
225
+ type: "gobject",
226
+ ownership: "borrowed",
227
+ },
228
+ value: device?.handle,
229
+ optional: true,
230
+ },
231
+ {
232
+ type: {
233
+ type: "int",
234
+ size: 32,
235
+ unsigned: false,
236
+ },
237
+ value: button,
238
+ },
239
+ {
240
+ type: {
241
+ type: "float",
242
+ size: 64,
243
+ },
244
+ value: x,
245
+ },
246
+ {
247
+ type: {
248
+ type: "float",
249
+ size: 64,
250
+ },
251
+ value: y,
252
+ },
253
+ {
254
+ type: {
255
+ type: "int",
256
+ size: 32,
257
+ unsigned: true,
258
+ },
259
+ value: timestamp,
260
+ },
261
+ ], {
262
+ type: "undefined",
263
+ });
264
+ }
265
+ /**
266
+ * Sets keyboard focus to `surface`.
267
+ *
268
+ * In most cases, gtk_window_present_with_time()
269
+ * should be used on a GtkWindow, rather than
270
+ * calling this function.
271
+ */
272
+ focus(timestamp) {
273
+ call("libgtk-4.so.1", "gdk_toplevel_focus", [
274
+ {
275
+ type: {
276
+ type: "gobject",
277
+ ownership: "borrowed",
278
+ },
279
+ value: this.handle,
280
+ },
281
+ {
282
+ type: {
283
+ type: "int",
284
+ size: 32,
285
+ unsigned: true,
286
+ },
287
+ value: timestamp,
288
+ },
289
+ ], {
290
+ type: "undefined",
291
+ });
292
+ }
293
+ /** The capabilities that are available for this toplevel. */
294
+ getCapabilities() {
295
+ return call("libgtk-4.so.1", "gdk_toplevel_get_capabilities", [
296
+ {
297
+ type: {
298
+ type: "gobject",
299
+ ownership: "borrowed",
300
+ },
301
+ value: this.handle,
302
+ },
303
+ ], {
304
+ type: "int",
305
+ size: 32,
306
+ unsigned: true,
307
+ library: "libgtk-4.so.1",
308
+ getTypeFn: "gdk_toplevel_capabilities_get_type",
309
+ });
310
+ }
311
+ /**
312
+ * Returns the gravity that is used when changing the toplevel
313
+ * size programmatically.
314
+ */
315
+ getGravity() {
316
+ return call("libgtk-4.so.1", "gdk_toplevel_get_gravity", [
317
+ {
318
+ type: {
319
+ type: "gobject",
320
+ ownership: "borrowed",
321
+ },
322
+ value: this.handle,
323
+ },
324
+ ], {
325
+ type: "int",
326
+ size: 32,
327
+ unsigned: false,
328
+ library: "libgtk-4.so.1",
329
+ getTypeFn: "gdk_gravity_get_type",
330
+ });
331
+ }
332
+ /**
333
+ * Gets the bitwise or of the currently active surface state flags,
334
+ * from the `GdkToplevelState` enumeration.
335
+ */
336
+ getState() {
337
+ return call("libgtk-4.so.1", "gdk_toplevel_get_state", [
338
+ {
339
+ type: {
340
+ type: "gobject",
341
+ ownership: "borrowed",
342
+ },
343
+ value: this.handle,
344
+ },
345
+ ], {
346
+ type: "int",
347
+ size: 32,
348
+ unsigned: true,
349
+ library: "libgtk-4.so.1",
350
+ getTypeFn: "gdk_toplevel_state_get_type",
351
+ });
352
+ }
353
+ /**
354
+ * Requests that the `toplevel` inhibit the system shortcuts.
355
+ *
356
+ * This is asking the desktop environment/windowing system to let all
357
+ * keyboard events reach the surface, as long as it is focused, instead
358
+ * of triggering system actions.
359
+ *
360
+ * If granted, the rerouting remains active until the default shortcuts
361
+ * processing is restored with {@link Gdk.Toplevel.restore_system_shortcuts},
362
+ * or the request is revoked by the desktop environment, windowing system
363
+ * or the user.
364
+ *
365
+ * A typical use case for this API is remote desktop or virtual machine
366
+ * viewers which need to inhibit the default system keyboard shortcuts
367
+ * so that the remote session or virtual host gets those instead of the
368
+ * local environment.
369
+ *
370
+ * The windowing system or desktop environment may ask the user to grant
371
+ * or deny the request or even choose to ignore the request entirely.
372
+ *
373
+ * The caller can be notified whenever the request is granted or revoked
374
+ * by listening to the {@link Gdk.Toplevel.shortcuts-inhibited} property.
375
+ */
376
+ inhibitSystemShortcuts(event) {
377
+ call("libgtk-4.so.1", "gdk_toplevel_inhibit_system_shortcuts", [
378
+ {
379
+ type: {
380
+ type: "gobject",
381
+ ownership: "borrowed",
382
+ },
383
+ value: this.handle,
384
+ },
385
+ {
386
+ type: {
387
+ type: "fundamental",
388
+ ownership: "borrowed",
389
+ library: "libgtk-4.so.1",
390
+ refFn: "gdk_event_ref",
391
+ unrefFn: "gdk_event_unref",
392
+ },
393
+ value: event?.handle,
394
+ optional: true,
395
+ },
396
+ ], {
397
+ type: "undefined",
398
+ });
399
+ }
400
+ /**
401
+ * Asks to lower the `toplevel` below other windows.
402
+ *
403
+ * The windowing system may choose to ignore the request.
404
+ */
405
+ lower() {
406
+ return call("libgtk-4.so.1", "gdk_toplevel_lower", [
407
+ {
408
+ type: {
409
+ type: "gobject",
410
+ ownership: "borrowed",
411
+ },
412
+ value: this.handle,
413
+ },
414
+ ], {
415
+ type: "boolean",
416
+ });
417
+ }
418
+ /**
419
+ * Asks to minimize the `toplevel`.
420
+ *
421
+ * The windowing system may choose to ignore the request.
422
+ */
423
+ minimize() {
424
+ return call("libgtk-4.so.1", "gdk_toplevel_minimize", [
425
+ {
426
+ type: {
427
+ type: "gobject",
428
+ ownership: "borrowed",
429
+ },
430
+ value: this.handle,
431
+ },
432
+ ], {
433
+ type: "boolean",
434
+ });
435
+ }
436
+ /**
437
+ * Present `toplevel` after having processed the `GdkToplevelLayout` rules.
438
+ *
439
+ * If the toplevel was previously not showing, it will be showed,
440
+ * otherwise it will change layout according to `layout`.
441
+ *
442
+ * GDK may emit the {@link Gdk.Toplevel.:compute-size} signal to let
443
+ * the user of this toplevel compute the preferred size of the toplevel
444
+ * surface.
445
+ *
446
+ * Presenting is asynchronous and the specified layout parameters are not
447
+ * guaranteed to be respected.
448
+ */
449
+ present(layout) {
450
+ call("libgtk-4.so.1", "gdk_toplevel_present", [
451
+ {
452
+ type: {
453
+ type: "gobject",
454
+ ownership: "borrowed",
455
+ },
456
+ value: this.handle,
457
+ },
458
+ {
459
+ type: {
460
+ type: "boxed",
461
+ ownership: "borrowed",
462
+ innerType: "GdkToplevelLayout",
463
+ library: "libgtk-4.so.1",
464
+ getTypeFn: "gdk_toplevel_layout_get_type",
465
+ },
466
+ value: layout.handle,
467
+ },
468
+ ], {
469
+ type: "undefined",
470
+ });
471
+ }
472
+ /**
473
+ * Restore default system keyboard shortcuts which were previously
474
+ * inhibited.
475
+ *
476
+ * This undoes the effect of {@link Gdk.Toplevel.inhibit_system_shortcuts}.
477
+ */
478
+ restoreSystemShortcuts() {
479
+ call("libgtk-4.so.1", "gdk_toplevel_restore_system_shortcuts", [
480
+ {
481
+ type: {
482
+ type: "gobject",
483
+ ownership: "borrowed",
484
+ },
485
+ value: this.handle,
486
+ },
487
+ ], {
488
+ type: "undefined",
489
+ });
490
+ }
491
+ /**
492
+ * Sets the toplevel to be decorated.
493
+ *
494
+ * Setting `decorated` to %FALSE hints the desktop environment
495
+ * that the surface has its own, client-side decorations and
496
+ * does not need to have window decorations added.
497
+ */
498
+ setDecorated(decorated) {
499
+ call("libgtk-4.so.1", "gdk_toplevel_set_decorated", [
500
+ {
501
+ type: {
502
+ type: "gobject",
503
+ ownership: "borrowed",
504
+ },
505
+ value: this.handle,
506
+ },
507
+ {
508
+ type: {
509
+ type: "boolean",
510
+ },
511
+ value: decorated,
512
+ },
513
+ ], {
514
+ type: "undefined",
515
+ });
516
+ }
517
+ /**
518
+ * Sets the toplevel to be deletable.
519
+ *
520
+ * Setting `deletable` to %TRUE hints the desktop environment
521
+ * that it should offer the user a way to close the surface.
522
+ */
523
+ setDeletable(deletable) {
524
+ call("libgtk-4.so.1", "gdk_toplevel_set_deletable", [
525
+ {
526
+ type: {
527
+ type: "gobject",
528
+ ownership: "borrowed",
529
+ },
530
+ value: this.handle,
531
+ },
532
+ {
533
+ type: {
534
+ type: "boolean",
535
+ },
536
+ value: deletable,
537
+ },
538
+ ], {
539
+ type: "undefined",
540
+ });
541
+ }
542
+ /**
543
+ * Sets the gravity that is used when changing the toplevel
544
+ * size programmatically.
545
+ */
546
+ setGravity(gravity) {
547
+ call("libgtk-4.so.1", "gdk_toplevel_set_gravity", [
548
+ {
549
+ type: {
550
+ type: "gobject",
551
+ ownership: "borrowed",
552
+ },
553
+ value: this.handle,
554
+ },
555
+ {
556
+ type: {
557
+ type: "int",
558
+ size: 32,
559
+ unsigned: false,
560
+ library: "libgtk-4.so.1",
561
+ getTypeFn: "gdk_gravity_get_type",
562
+ },
563
+ value: gravity,
564
+ },
565
+ ], {
566
+ type: "undefined",
567
+ });
568
+ }
569
+ /**
570
+ * Sets a list of icons for the surface.
571
+ *
572
+ * One of these will be used to represent the surface in iconic form.
573
+ * The icon may be shown in window lists or task bars. Which icon
574
+ * size is shown depends on the window manager. The window manager
575
+ * can scale the icon but setting several size icons can give better
576
+ * image quality.
577
+ *
578
+ * Note that some platforms don't support surface icons.
579
+ */
580
+ setIconList(surfaces) {
581
+ call("libgtk-4.so.1", "gdk_toplevel_set_icon_list", [
582
+ {
583
+ type: {
584
+ type: "gobject",
585
+ ownership: "borrowed",
586
+ },
587
+ value: this.handle,
588
+ },
589
+ {
590
+ type: {
591
+ type: "array",
592
+ itemType: {
593
+ type: "gobject",
594
+ ownership: "borrowed",
595
+ },
596
+ kind: "glist",
597
+ ownership: "borrowed",
598
+ },
599
+ value: surfaces.map((item) => item.handle),
600
+ },
601
+ ], {
602
+ type: "undefined",
603
+ });
604
+ }
605
+ /**
606
+ * Sets the toplevel to be modal.
607
+ *
608
+ * The application can use this hint to tell the
609
+ * window manager that a certain surface has modal
610
+ * behaviour. The window manager can use this information
611
+ * to handle modal surfaces in a special way.
612
+ *
613
+ * You should only use this on surfaces for which you have
614
+ * previously called {@link Gdk.Toplevel.set_transient_for}.
615
+ */
616
+ setModal(modal) {
617
+ call("libgtk-4.so.1", "gdk_toplevel_set_modal", [
618
+ {
619
+ type: {
620
+ type: "gobject",
621
+ ownership: "borrowed",
622
+ },
623
+ value: this.handle,
624
+ },
625
+ {
626
+ type: {
627
+ type: "boolean",
628
+ },
629
+ value: modal,
630
+ },
631
+ ], {
632
+ type: "undefined",
633
+ });
634
+ }
635
+ /**
636
+ * Sets the startup notification ID.
637
+ *
638
+ * When using GTK, typically you should use
639
+ * gtk_window_set_startup_id()
640
+ * instead of this low-level function.
641
+ */
642
+ setStartupId(startupId) {
643
+ call("libgtk-4.so.1", "gdk_toplevel_set_startup_id", [
644
+ {
645
+ type: {
646
+ type: "gobject",
647
+ ownership: "borrowed",
648
+ },
649
+ value: this.handle,
650
+ },
651
+ {
652
+ type: {
653
+ type: "string",
654
+ ownership: "borrowed",
655
+ },
656
+ value: startupId,
657
+ },
658
+ ], {
659
+ type: "undefined",
660
+ });
661
+ }
662
+ /**
663
+ * Sets the title of a toplevel surface.
664
+ *
665
+ * The title maybe be displayed in the titlebar,
666
+ * in lists of windows, etc.
667
+ */
668
+ setTitle(title) {
669
+ call("libgtk-4.so.1", "gdk_toplevel_set_title", [
670
+ {
671
+ type: {
672
+ type: "gobject",
673
+ ownership: "borrowed",
674
+ },
675
+ value: this.handle,
676
+ },
677
+ {
678
+ type: {
679
+ type: "string",
680
+ ownership: "borrowed",
681
+ },
682
+ value: title,
683
+ },
684
+ ], {
685
+ type: "undefined",
686
+ });
687
+ }
688
+ /**
689
+ * Sets a transient-for parent.
690
+ *
691
+ * Indicates to the window manager that `surface` is a transient
692
+ * dialog associated with the application surface `parent`. This
693
+ * allows the window manager to do things like center `surface`
694
+ * on `parent` and keep `surface` above `parent`.
695
+ *
696
+ * See gtk_window_set_transient_for()
697
+ * if you’re using GtkWindow.
698
+ */
699
+ setTransientFor(parent) {
700
+ call("libgtk-4.so.1", "gdk_toplevel_set_transient_for", [
701
+ {
702
+ type: {
703
+ type: "gobject",
704
+ ownership: "borrowed",
705
+ },
706
+ value: this.handle,
707
+ },
708
+ {
709
+ type: {
710
+ type: "gobject",
711
+ ownership: "borrowed",
712
+ },
713
+ value: parent.handle,
714
+ },
715
+ ], {
716
+ type: "undefined",
717
+ });
718
+ }
719
+ /**
720
+ * Asks the windowing system to show the window menu.
721
+ *
722
+ * The window menu is the menu shown when right-clicking the titlebar
723
+ * on traditional windows managed by the window manager. This is useful
724
+ * for windows using client-side decorations, activating it with a
725
+ * right-click on the window decorations.
726
+ */
727
+ showWindowMenu(event) {
728
+ return call("libgtk-4.so.1", "gdk_toplevel_show_window_menu", [
729
+ {
730
+ type: {
731
+ type: "gobject",
732
+ ownership: "borrowed",
733
+ },
734
+ value: this.handle,
735
+ },
736
+ {
737
+ type: {
738
+ type: "fundamental",
739
+ ownership: "borrowed",
740
+ library: "libgtk-4.so.1",
741
+ refFn: "gdk_event_ref",
742
+ unrefFn: "gdk_event_unref",
743
+ },
744
+ value: event.handle,
745
+ },
746
+ ], {
747
+ type: "boolean",
748
+ });
749
+ }
750
+ /**
751
+ * Returns whether the desktop environment supports
752
+ * tiled window states.
753
+ */
754
+ supportsEdgeConstraints() {
755
+ return call("libgtk-4.so.1", "gdk_toplevel_supports_edge_constraints", [
756
+ {
757
+ type: {
758
+ type: "gobject",
759
+ ownership: "borrowed",
760
+ },
761
+ value: this.handle,
762
+ },
763
+ ], {
764
+ type: "boolean",
765
+ });
766
+ }
767
+ /** Performs a title bar gesture. */
768
+ titlebarGesture(gesture) {
769
+ return call("libgtk-4.so.1", "gdk_toplevel_titlebar_gesture", [
770
+ {
771
+ type: {
772
+ type: "gobject",
773
+ ownership: "borrowed",
774
+ },
775
+ value: this.handle,
776
+ },
777
+ {
778
+ type: {
779
+ type: "int",
780
+ size: 32,
781
+ unsigned: false,
782
+ library: "libgtk-4.so.1",
783
+ getTypeFn: "gdk_titlebar_gesture_get_type",
784
+ },
785
+ value: gesture,
786
+ },
787
+ ], {
788
+ type: "boolean",
789
+ });
790
+ }
791
+ /**
792
+ * Connects a handler to a signal on this WaylandToplevel.
793
+ *
794
+ * @param signal - The signal name to connect to
795
+ * @param handler - Callback function invoked when signal is emitted
796
+ * @param after - If true, handler is called after default handler
797
+ * @returns Connection ID for disconnecting
798
+ */
799
+ connect(signal, handler, after = false) {
800
+ switch (signal) {
801
+ case "compute-size": {
802
+ const wrappedHandler = (...args) => {
803
+ return handler(getNativeObject(args[0]), getNativeObject(args[1], Gdk.ToplevelSize));
804
+ };
805
+ return call("libgtk-4.so.1", "g_signal_connect_closure", [
806
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
807
+ { type: { type: "string", ownership: "borrowed" }, value: signal },
808
+ {
809
+ type: {
810
+ type: "callback",
811
+ argTypes: [
812
+ { type: "gobject", ownership: "borrowed" },
813
+ {
814
+ type: "boxed",
815
+ ownership: "borrowed",
816
+ innerType: "GdkToplevelSize",
817
+ library: "libgtk-4.so.1",
818
+ getTypeFn: "gdk_toplevel_size_get_type",
819
+ },
820
+ ],
821
+ returnType: {
822
+ type: "undefined",
823
+ },
824
+ kind: "closure",
825
+ },
826
+ value: wrappedHandler,
827
+ },
828
+ { type: { type: "boolean" }, value: after },
829
+ ], { type: "int", size: 64, unsigned: true });
830
+ }
831
+ default:
832
+ return super.connect(signal, handler, after);
833
+ }
834
+ }
835
+ /** Gets Whether the window manager should add decorations. */
836
+ getDecorated() {
837
+ const gvalue = new GObject.Value();
838
+ gvalue.init(GObject.typeFromName("gboolean"));
839
+ call("libgobject-2.0.so.0", "g_object_get_property", [
840
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
841
+ { type: { type: "string", ownership: "borrowed" }, value: "decorated" },
842
+ {
843
+ type: {
844
+ type: "boxed",
845
+ ownership: "borrowed",
846
+ innerType: "GValue",
847
+ library: "libgobject-2.0.so.0",
848
+ getTypeFn: "g_value_get_type",
849
+ },
850
+ value: gvalue.handle,
851
+ },
852
+ ], { type: "undefined" });
853
+ return gvalue.getBoolean();
854
+ }
855
+ /** Gets Whether the window manager should allow to close the surface. */
856
+ getDeletable() {
857
+ const gvalue = new GObject.Value();
858
+ gvalue.init(GObject.typeFromName("gboolean"));
859
+ call("libgobject-2.0.so.0", "g_object_get_property", [
860
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
861
+ { type: { type: "string", ownership: "borrowed" }, value: "deletable" },
862
+ {
863
+ type: {
864
+ type: "boxed",
865
+ ownership: "borrowed",
866
+ innerType: "GValue",
867
+ library: "libgobject-2.0.so.0",
868
+ getTypeFn: "g_value_get_type",
869
+ },
870
+ value: gvalue.handle,
871
+ },
872
+ ], { type: "undefined" });
873
+ return gvalue.getBoolean();
874
+ }
875
+ /** Gets The fullscreen mode of the surface. */
876
+ getFullscreenMode() {
877
+ const gvalue = new GObject.Value();
878
+ gvalue.init(GObject.typeFromName("gint"));
879
+ call("libgobject-2.0.so.0", "g_object_get_property", [
880
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
881
+ { type: { type: "string", ownership: "borrowed" }, value: "fullscreen-mode" },
882
+ {
883
+ type: {
884
+ type: "boxed",
885
+ ownership: "borrowed",
886
+ innerType: "GValue",
887
+ library: "libgobject-2.0.so.0",
888
+ getTypeFn: "g_value_get_type",
889
+ },
890
+ value: gvalue.handle,
891
+ },
892
+ ], { type: "undefined" });
893
+ return gvalue.getEnum();
894
+ }
895
+ /** Gets Whether the surface is modal. */
896
+ getModal() {
897
+ const gvalue = new GObject.Value();
898
+ gvalue.init(GObject.typeFromName("gboolean"));
899
+ call("libgobject-2.0.so.0", "g_object_get_property", [
900
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
901
+ { type: { type: "string", ownership: "borrowed" }, value: "modal" },
902
+ {
903
+ type: {
904
+ type: "boxed",
905
+ ownership: "borrowed",
906
+ innerType: "GValue",
907
+ library: "libgobject-2.0.so.0",
908
+ getTypeFn: "g_value_get_type",
909
+ },
910
+ value: gvalue.handle,
911
+ },
912
+ ], { type: "undefined" });
913
+ return gvalue.getBoolean();
914
+ }
915
+ /** Gets Whether the surface should inhibit keyboard shortcuts. */
916
+ getShortcutsInhibited() {
917
+ const gvalue = new GObject.Value();
918
+ gvalue.init(GObject.typeFromName("gboolean"));
919
+ call("libgobject-2.0.so.0", "g_object_get_property", [
920
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
921
+ { type: { type: "string", ownership: "borrowed" }, value: "shortcuts-inhibited" },
922
+ {
923
+ type: {
924
+ type: "boxed",
925
+ ownership: "borrowed",
926
+ innerType: "GValue",
927
+ library: "libgobject-2.0.so.0",
928
+ getTypeFn: "g_value_get_type",
929
+ },
930
+ value: gvalue.handle,
931
+ },
932
+ ], { type: "undefined" });
933
+ return gvalue.getBoolean();
934
+ }
935
+ /**
936
+ * Gets The startup ID of the surface.
937
+ *
938
+ * See {@link Gdk.AppLaunchContext} for more information about
939
+ * startup feedback.
940
+ */
941
+ getStartupId() {
942
+ const gvalue = new GObject.Value();
943
+ gvalue.init(GObject.typeFromName("gchararray"));
944
+ call("libgobject-2.0.so.0", "g_object_get_property", [
945
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
946
+ { type: { type: "string", ownership: "borrowed" }, value: "startup-id" },
947
+ {
948
+ type: {
949
+ type: "boxed",
950
+ ownership: "borrowed",
951
+ innerType: "GValue",
952
+ library: "libgobject-2.0.so.0",
953
+ getTypeFn: "g_value_get_type",
954
+ },
955
+ value: gvalue.handle,
956
+ },
957
+ ], { type: "undefined" });
958
+ return gvalue.getString();
959
+ }
960
+ /** Gets The title of the surface. */
961
+ getTitle() {
962
+ const gvalue = new GObject.Value();
963
+ gvalue.init(GObject.typeFromName("gchararray"));
964
+ call("libgobject-2.0.so.0", "g_object_get_property", [
965
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
966
+ { type: { type: "string", ownership: "borrowed" }, value: "title" },
967
+ {
968
+ type: {
969
+ type: "boxed",
970
+ ownership: "borrowed",
971
+ innerType: "GValue",
972
+ library: "libgobject-2.0.so.0",
973
+ getTypeFn: "g_value_get_type",
974
+ },
975
+ value: gvalue.handle,
976
+ },
977
+ ], { type: "undefined" });
978
+ return gvalue.getString();
979
+ }
980
+ /** Gets The transient parent of the surface. */
981
+ getTransientFor() {
982
+ const gvalue = new GObject.Value();
983
+ gvalue.init(GObject.typeFromName("GObject"));
984
+ call("libgobject-2.0.so.0", "g_object_get_property", [
985
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
986
+ { type: { type: "string", ownership: "borrowed" }, value: "transient-for" },
987
+ {
988
+ type: {
989
+ type: "boxed",
990
+ ownership: "borrowed",
991
+ innerType: "GValue",
992
+ library: "libgobject-2.0.so.0",
993
+ getTypeFn: "g_value_get_type",
994
+ },
995
+ value: gvalue.handle,
996
+ },
997
+ ], { type: "undefined" });
998
+ return gvalue.getObject();
999
+ }
1000
+ /** Sets The fullscreen mode of the surface. */
1001
+ setFullscreenMode(value) {
1002
+ const gvalue = new GObject.Value();
1003
+ gvalue.init(GObject.typeFromName("gint"));
1004
+ gvalue.setInt(value);
1005
+ call("libgobject-2.0.so.0", "g_object_set_property", [
1006
+ { type: { type: "gobject", ownership: "borrowed" }, value: this.handle },
1007
+ { type: { type: "string", ownership: "borrowed" }, value: "fullscreen-mode" },
1008
+ {
1009
+ type: {
1010
+ type: "boxed",
1011
+ ownership: "borrowed",
1012
+ innerType: "GValue",
1013
+ library: "libgobject-2.0.so.0",
1014
+ getTypeFn: "g_value_get_type",
1015
+ },
1016
+ value: gvalue.handle,
1017
+ },
1018
+ ], { type: "undefined" });
1019
+ }
1020
+ }
1021
+ registerNativeClass(WaylandToplevel);
1022
+ //# sourceMappingURL=wayland-toplevel.js.map