@girs/meta-7 5.2.0 → 5.4.0

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.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  ![version](https://img.shields.io/npm/v/@girs/meta-7)
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/meta-7)
6
6
 
7
- GJS TypeScript type definitions for Meta-7, generated from library version 3.38.4 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.2.0.
7
+ GJS TypeScript type definitions for Meta-7, generated from library version 3.38.4 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.4.0.
8
8
 
9
9
  This package contains type declarations only. It ships no runtime code, so it adds
10
10
  nothing to your program and works with any bundler or none at all.
@@ -26,6 +26,7 @@ type packages.
26
26
  | `@girs/meta-7/ambient` | only the `gi://` module declarations |
27
27
  | `@girs/meta-7/import` | only the `imports.gi` declarations |
28
28
  | `@girs/meta-7/meta-7` | the namespace, without the side-effecting declarations |
29
+ | `@girs/meta-7/vocabulary` | GIR-derived widget data: settable properties, enum nicks, slot candidates |
29
30
 
30
31
  ## Three ways to import
31
32
 
@@ -67,6 +68,24 @@ GJS's global object works the same way, via `@girs/meta-7/import`:
67
68
  const Meta = imports.gi.Meta;
68
69
  ```
69
70
 
71
+ ## Widget vocabulary
72
+
73
+ `meta-7` declares widgets, so it also carries what the GIR says about them, as
74
+ types and as values a test can read:
75
+
76
+ ```ts
77
+ import type { Widgets, PropsOf } from '@girs/meta-7/vocabulary';
78
+ import { OWN_PROPS, ENUM_NICKS, PROVENANCE } from '@girs/meta-7/vocabulary';
79
+ ```
80
+
81
+ Properties are keyed the way GObject registered them, writable-only and optional, so they
82
+ match `g_object_set`, GtkBuilder XML and Blueprint. `PROVENANCE.libraryVersion` names the
83
+ library release this was generated from, which lets a check tell "newer than what is
84
+ installed" from "wrong".
85
+
86
+ This subpath answers what the GIR says, not what the installed library has. For the
87
+ second question, ask the library.
88
+
70
89
  ## Building
71
90
 
72
91
  The declarations need no build step. If you bundle, every bundler works, since there is
@@ -0,0 +1,557 @@
1
+ /**
2
+ * The GIR-derived widget VOCABULARY for Meta-7.
3
+ *
4
+ * GENERATED — do not edit. Provenance: Meta-7 — library 3.38.4 — dropped empty base(s): Atk.ImplementorIface
5
+ *
6
+ * 29 instantiable GTypes (of which 0 concrete widgets), 29 declarations, 29 enum nick unions, 0 slot candidates.
7
+ *
8
+ * Module-scoped exports only. There is no `JSX` namespace here, no tag spelling and
9
+ * no `on<Signal>` prop name: those are DIALECT, and every framework answers them
10
+ * differently. The shape to avoid is the GLOBAL AUGMENT — a `declare global` on
11
+ * `React.JSX` collides with every other library on a shared tag — while a
12
+ * module-scoped `JSX` behind a `jsxImportSource` does not. This package is used by
13
+ * projects that want nothing to do with JSX, so it emits neither; a consumer declaring
14
+ * a module-scoped namespace over these names is doing it right.
15
+ *
16
+ * Three things this is and `ConstructorProps` is not: WRITABLE-only (measured on
17
+ * Gtk-4.0, `ConstructorProps` offers 150 read-only properties across 68 classes as
18
+ * settable, and GTK's failure mode for writing one is exit 0), OPTIONAL, and keyed
19
+ * by the name GObject actually REGISTERED — the dashed spelling `g_object_set`,
20
+ * GtkBuilder XML and Blueprint all use.
21
+ *
22
+ * Signal handler types are not re-derived: `X.SignalSignatures`, which this package
23
+ * already emits for every class with the parent chain, every implemented interface
24
+ * and the `notify::` keys folded in, is what `Widgets[G]['signals']` points at.
25
+ */
26
+
27
+ import type Clutter from '@girs/clutter-7';
28
+ import type Meta from './meta-7.js';
29
+ import type { ClutterActorConstructOnly, ClutterActorProps, ClutterAnimatableConstructOnly, ClutterAnimatableProps, ClutterContainerConstructOnly, ClutterContainerProps, ClutterContentConstructOnly, ClutterContentProps, ClutterScriptableConstructOnly, ClutterScriptableProps, ClutterStageConstructOnly, ClutterStageProps } from '@girs/clutter-7/vocabulary';
30
+ import type { GAppLaunchContextConstructOnly, GAppLaunchContextProps } from '@girs/gio-2.0/vocabulary';
31
+ import type { GInitiallyUnownedConstructOnly, GInitiallyUnownedProps, GObjectConstructOnly, GObjectProps } from '@girs/gobject-2.0/vocabulary';
32
+
33
+ // ---------------------------------------------------------------------------
34
+ // Enum nicks — the string vocabulary GObject registered, from GIR's `glib:nick`.
35
+ //
36
+ // Not derived from the member name. Substituting underscores for dashes is not a law:
37
+ // some nicks keep an underscore the substitution would have replaced, and only the
38
+ // attribute knows which. Gtk-4.0 and Adw-1 contradict no derivation at all, which is
39
+ // how a derived nick passes review and breaks elsewhere.
40
+ // Re-measure with `scripts/check-nick-derivation.mjs` in ts-for-gir.
41
+ // ---------------------------------------------------------------------------
42
+
43
+ export type MetaButtonFunctionNick = 'menu' | 'minimize' | 'maximize' | 'close' | 'last';
44
+ export type MetaCloseDialogResponseNick = 'wait' | 'force-close';
45
+ export type MetaCompEffectNick = 'create' | 'unminimize' | 'destroy' | 'minimize' | 'none';
46
+ export type MetaCursorNick = 'none' | 'default' | 'north-resize' | 'south-resize' | 'west-resize' | 'east-resize' | 'se-resize' | 'sw-resize' | 'ne-resize' | 'nw-resize' | 'move-or-resize-window' | 'busy' | 'dnd-in-drag' | 'dnd-move' | 'dnd-copy' | 'dnd-unsupported-target' | 'pointing-hand' | 'crosshair' | 'ibeam' | 'blank' | 'last';
47
+ export type MetaDisplayCornerNick = 'topleft' | 'topright' | 'bottomleft' | 'bottomright';
48
+ export type MetaDisplayDirectionNick = 'up' | 'down' | 'left' | 'right';
49
+ export type MetaEdgeTypeNick = 'window' | 'monitor' | 'screen';
50
+ export type MetaExitCodeNick = 'success' | 'error';
51
+ export type MetaFrameTypeNick = 'normal' | 'dialog' | 'modal-dialog' | 'utility' | 'menu' | 'border' | 'attached' | 'last';
52
+ export type MetaGrabOpNick = 'none' | 'window-base' | 'compositor' | 'wayland-popup' | 'frame-button' | 'moving' | 'resizing-nw' | 'resizing-n' | 'resizing-ne' | 'resizing-e' | 'resizing-sw' | 'resizing-s' | 'resizing-se' | 'resizing-w' | 'keyboard-moving' | 'keyboard-resizing-unknown' | 'keyboard-resizing-nw' | 'keyboard-resizing-n' | 'keyboard-resizing-ne' | 'keyboard-resizing-e' | 'keyboard-resizing-sw' | 'keyboard-resizing-s' | 'keyboard-resizing-se' | 'keyboard-resizing-w';
53
+ export type MetaGravityNick = 'none' | 'north-west' | 'north' | 'north-east' | 'west' | 'center' | 'east' | 'south-west' | 'south' | 'south-east' | 'static';
54
+ export type MetaInhibitShortcutsDialogResponseNick = 'allow' | 'deny';
55
+ export type MetaKeyBindingActionNick = 'none' | 'workspace-1' | 'workspace-2' | 'workspace-3' | 'workspace-4' | 'workspace-5' | 'workspace-6' | 'workspace-7' | 'workspace-8' | 'workspace-9' | 'workspace-10' | 'workspace-11' | 'workspace-12' | 'workspace-left' | 'workspace-right' | 'workspace-up' | 'workspace-down' | 'workspace-last' | 'switch-applications' | 'switch-applications-backward' | 'switch-group' | 'switch-group-backward' | 'switch-windows' | 'switch-windows-backward' | 'switch-panels' | 'switch-panels-backward' | 'cycle-group' | 'cycle-group-backward' | 'cycle-windows' | 'cycle-windows-backward' | 'cycle-panels' | 'cycle-panels-backward' | 'show-desktop' | 'panel-main-menu' | 'panel-run-dialog' | 'toggle-recording' | 'set-spew-mark' | 'activate-window-menu' | 'toggle-fullscreen' | 'toggle-maximized' | 'toggle-tiled-left' | 'toggle-tiled-right' | 'toggle-above' | 'maximize' | 'unmaximize' | 'toggle-shaded' | 'minimize' | 'close' | 'begin-move' | 'begin-resize' | 'toggle-on-all-workspaces' | 'move-to-workspace-1' | 'move-to-workspace-2' | 'move-to-workspace-3' | 'move-to-workspace-4' | 'move-to-workspace-5' | 'move-to-workspace-6' | 'move-to-workspace-7' | 'move-to-workspace-8' | 'move-to-workspace-9' | 'move-to-workspace-10' | 'move-to-workspace-11' | 'move-to-workspace-12' | 'move-to-workspace-left' | 'move-to-workspace-right' | 'move-to-workspace-up' | 'move-to-workspace-down' | 'move-to-workspace-last' | 'move-to-monitor-left' | 'move-to-monitor-right' | 'move-to-monitor-up' | 'move-to-monitor-down' | 'raise-or-lower' | 'raise' | 'lower' | 'maximize-vertically' | 'maximize-horizontally' | 'move-to-corner-nw' | 'move-to-corner-ne' | 'move-to-corner-sw' | 'move-to-corner-se' | 'move-to-side-n' | 'move-to-side-s' | 'move-to-side-e' | 'move-to-side-w' | 'move-to-center' | 'overlay-key' | 'locate-pointer-key' | 'iso-next-group' | 'always-on-top' | 'switch-monitor' | 'rotate-monitor' | 'last';
56
+ export type MetaLaterTypeNick = 'resize' | 'calc-showing' | 'check-fullscreen' | 'sync-stack' | 'before-redraw' | 'idle';
57
+ export type MetaLocaleDirectionNick = 'ltr' | 'rtl';
58
+ export type MetaMonitorSwitchConfigTypeNick = 'all-mirror' | 'all-linear' | 'external' | 'builtin' | 'unknown';
59
+ export type MetaMotionDirectionNick = 'up' | 'down' | 'left' | 'right' | 'up-left' | 'up-right' | 'down-left' | 'down-right';
60
+ export type MetaPadActionTypeNick = 'button' | 'ring' | 'strip';
61
+ export type MetaPreferenceNick = 'mouse-button-mods' | 'focus-mode' | 'focus-new-windows' | 'attach-modal-dialogs' | 'raise-on-click' | 'action-double-click-titlebar' | 'action-middle-click-titlebar' | 'action-right-click-titlebar' | 'auto-raise' | 'auto-raise-delay' | 'focus-change-on-pointer-rest' | 'titlebar-font' | 'num-workspaces' | 'dynamic-workspaces' | 'keybindings' | 'disable-workarounds' | 'button-layout' | 'workspace-names' | 'visual-bell' | 'audible-bell' | 'visual-bell-type' | 'gnome-accessibility' | 'gnome-animations' | 'cursor-theme' | 'cursor-size' | 'resize-with-right-button' | 'edge-tiling' | 'force-fullscreen' | 'workspaces-only-on-primary' | 'draggable-border-width' | 'auto-maximize' | 'center-new-windows' | 'drag-threshold' | 'locate-pointer' | 'check-alive-timeout';
62
+ export type MetaSelectionTypeNick = 'selection-primary' | 'selection-clipboard' | 'selection-dnd' | 'n-selection-types';
63
+ export type MetaShadowModeNick = 'auto' | 'forced-off' | 'forced-on';
64
+ export type MetaSideNick = 'left' | 'right' | 'top' | 'bottom';
65
+ export type MetaSizeChangeNick = 'maximize' | 'unmaximize' | 'fullscreen' | 'unfullscreen';
66
+ export type MetaStackLayerNick = 'desktop' | 'bottom' | 'normal' | 'top' | 'dock' | 'override-redirect' | 'last';
67
+ export type MetaTabListNick = 'normal' | 'docks' | 'group' | 'normal-all';
68
+ export type MetaTabShowTypeNick = 'icon' | 'instantly';
69
+ export type MetaWindowClientTypeNick = 'wayland' | 'x11';
70
+ export type MetaWindowMenuTypeNick = 'wm' | 'app';
71
+ export type MetaWindowTypeNick = 'normal' | 'desktop' | 'dock' | 'dialog' | 'modal-dialog' | 'toolbar' | 'menu' | 'utility' | 'splashscreen' | 'dropdown-menu' | 'popup-menu' | 'tooltip' | 'notification' | 'combo' | 'dnd' | 'override-other';
72
+
73
+ // ---------------------------------------------------------------------------
74
+ // Property surfaces — one interface per GIR DECLARATION, mirroring GIR's own
75
+ // inheritance rather than flattening per widget.
76
+ //
77
+ // The interfaces are load-bearing, not tidiness: `GtkBox` declares four properties
78
+ // of its own and `orientation` is not among them — it lives on `Gtk.Orientable`,
79
+ // because GObject installs interface properties on the implementor at runtime while
80
+ // GIR keeps them once, on the interface.
81
+ // ---------------------------------------------------------------------------
82
+
83
+ /** This class handles tracking and painting the root window background. */
84
+ export interface MetaBackgroundProps extends GObjectProps {
85
+ 'meta-display'?: Meta.Display;
86
+ }
87
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
88
+ export type MetaBackgroundConstructOnly = GObjectConstructOnly | 'meta-display';
89
+
90
+ /** This class handles tracking and painting the root window background. */
91
+ export interface MetaBackgroundActorProps extends ClutterActorProps, ClutterAnimatableProps, ClutterContainerProps, ClutterScriptableProps {
92
+ 'meta-display'?: Meta.Display;
93
+ monitor?: number;
94
+ }
95
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
96
+ export type MetaBackgroundActorConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly | ClutterContainerConstructOnly | ClutterScriptableConstructOnly | 'meta-display' | 'monitor';
97
+
98
+ /** This class handles tracking and painting the root window background. */
99
+ export interface MetaBackgroundContentProps extends GObjectProps, ClutterContentProps {
100
+ background?: Meta.Background;
101
+ brightness?: number;
102
+ gradient?: boolean;
103
+ 'gradient-height'?: number;
104
+ 'gradient-max-darkness'?: number;
105
+ 'meta-display'?: Meta.Display;
106
+ monitor?: number;
107
+ vignette?: boolean;
108
+ 'vignette-sharpness'?: number;
109
+ }
110
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
111
+ export type MetaBackgroundContentConstructOnly = GObjectConstructOnly | ClutterContentConstructOnly | 'meta-display' | 'monitor';
112
+
113
+ export interface MetaBackgroundGroupProps extends ClutterActorProps, ClutterAnimatableProps, ClutterContainerProps, ClutterScriptableProps {
114
+ }
115
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
116
+ export type MetaBackgroundGroupConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly | ClutterContainerConstructOnly | ClutterScriptableConstructOnly;
117
+
118
+ /** #MetaBackgroundImage is an object that represents a loaded or loading background image. */
119
+ export interface MetaBackgroundImageProps extends GObjectProps {
120
+ }
121
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
122
+ export type MetaBackgroundImageConstructOnly = GObjectConstructOnly;
123
+
124
+ /** #MetaBackgroundImageCache caches loading of textures for backgrounds; there's actually nothing background specific about it, other than it is tuned to work well for large images as typically are used… */
125
+ export interface MetaBackgroundImageCacheProps extends GObjectProps {
126
+ }
127
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
128
+ export type MetaBackgroundImageCacheConstructOnly = GObjectConstructOnly;
129
+
130
+ /** The <structname>MetaBarrier</structname> structure contains only private data and should be accessed using the provided API */
131
+ export interface MetaBarrierProps extends GObjectProps {
132
+ directions?: number;
133
+ display?: Meta.Display;
134
+ x1?: number;
135
+ x2?: number;
136
+ y1?: number;
137
+ y2?: number;
138
+ }
139
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
140
+ export type MetaBarrierConstructOnly = GObjectConstructOnly | 'directions' | 'display' | 'x1' | 'x2' | 'y1' | 'y2';
141
+
142
+ export interface MetaCursorTrackerProps extends GObjectProps {
143
+ backend?: Meta.Backend;
144
+ }
145
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
146
+ export type MetaCursorTrackerConstructOnly = GObjectConstructOnly | 'backend';
147
+
148
+ export interface MetaDisplayProps extends GObjectProps {
149
+ }
150
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
151
+ export type MetaDisplayConstructOnly = GObjectConstructOnly;
152
+
153
+ export interface MetaDndProps extends GObjectProps {
154
+ }
155
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
156
+ export type MetaDndConstructOnly = GObjectConstructOnly;
157
+
158
+ export interface MetaIdleMonitorProps extends GObjectProps {
159
+ /** The device to listen to idletime on. */
160
+ device?: Clutter.InputDevice;
161
+ }
162
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
163
+ export type MetaIdleMonitorConstructOnly = GObjectConstructOnly | 'device';
164
+
165
+ export interface MetaLaunchContextProps extends GAppLaunchContextProps {
166
+ display?: Meta.Display;
167
+ timestamp?: number;
168
+ workspace?: Meta.Workspace;
169
+ }
170
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
171
+ export type MetaLaunchContextConstructOnly = GAppLaunchContextConstructOnly | 'display';
172
+
173
+ export interface MetaMonitorManagerProps extends GObjectProps {
174
+ backend?: Meta.Backend;
175
+ }
176
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
177
+ export type MetaMonitorManagerConstructOnly = GObjectConstructOnly | 'backend';
178
+
179
+ export interface MetaRemoteAccessControllerProps extends GObjectProps {
180
+ }
181
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
182
+ export type MetaRemoteAccessControllerConstructOnly = GObjectConstructOnly;
183
+
184
+ export interface MetaRemoteAccessHandleProps extends GObjectProps {
185
+ 'is-recording'?: boolean;
186
+ }
187
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
188
+ export type MetaRemoteAccessHandleConstructOnly = GObjectConstructOnly | 'is-recording';
189
+
190
+ export interface MetaSelectionProps extends GObjectProps {
191
+ }
192
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
193
+ export type MetaSelectionConstructOnly = GObjectConstructOnly;
194
+
195
+ export interface MetaSelectionSourceProps extends GObjectProps {
196
+ }
197
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
198
+ export type MetaSelectionSourceConstructOnly = GObjectConstructOnly;
199
+
200
+ export interface MetaSelectionSourceMemoryProps extends MetaSelectionSourceProps {
201
+ }
202
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
203
+ export type MetaSelectionSourceMemoryConstructOnly = MetaSelectionSourceConstructOnly;
204
+
205
+ /** #MetaShadowFactory is used to create window shadows. */
206
+ export interface MetaShadowFactoryProps extends GObjectProps {
207
+ }
208
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
209
+ export type MetaShadowFactoryConstructOnly = GObjectConstructOnly;
210
+
211
+ export interface MetaShapedTextureProps extends GObjectProps, ClutterContentProps {
212
+ }
213
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
214
+ export type MetaShapedTextureConstructOnly = GObjectConstructOnly | ClutterContentConstructOnly;
215
+
216
+ export interface MetaSoundPlayerProps extends GObjectProps {
217
+ }
218
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
219
+ export type MetaSoundPlayerConstructOnly = GObjectConstructOnly;
220
+
221
+ export interface MetaStageProps extends ClutterStageProps, ClutterAnimatableProps, ClutterContainerProps, ClutterScriptableProps {
222
+ }
223
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
224
+ export type MetaStageConstructOnly = ClutterStageConstructOnly | ClutterAnimatableConstructOnly | ClutterContainerConstructOnly | ClutterScriptableConstructOnly;
225
+
226
+ export interface MetaStartupNotificationProps extends GObjectProps {
227
+ display?: Meta.Display;
228
+ }
229
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
230
+ export type MetaStartupNotificationConstructOnly = GObjectConstructOnly | 'display';
231
+
232
+ export interface MetaStartupSequenceProps extends GObjectProps {
233
+ 'application-id'?: string;
234
+ 'icon-name'?: string;
235
+ id?: string;
236
+ name?: string;
237
+ timestamp?: bigint | number;
238
+ wmclass?: string;
239
+ workspace?: number;
240
+ }
241
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
242
+ export type MetaStartupSequenceConstructOnly = GObjectConstructOnly | 'application-id' | 'icon-name' | 'id' | 'name' | 'timestamp' | 'wmclass' | 'workspace';
243
+
244
+ export interface MetaWaylandClientProps extends GObjectProps {
245
+ }
246
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
247
+ export type MetaWaylandClientConstructOnly = GObjectConstructOnly;
248
+
249
+ export interface MetaWindowGroupProps extends ClutterActorProps, ClutterAnimatableProps, ClutterContainerProps, ClutterScriptableProps {
250
+ }
251
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
252
+ export type MetaWindowGroupConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly | ClutterContainerConstructOnly | ClutterScriptableConstructOnly;
253
+
254
+ export interface MetaWorkspaceProps extends GObjectProps {
255
+ }
256
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
257
+ export type MetaWorkspaceConstructOnly = GObjectConstructOnly;
258
+
259
+ export interface MetaWorkspaceManagerProps extends GObjectProps {
260
+ }
261
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
262
+ export type MetaWorkspaceManagerConstructOnly = GObjectConstructOnly;
263
+
264
+ export interface MetaX11DisplayProps extends GObjectProps {
265
+ }
266
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
267
+ export type MetaX11DisplayConstructOnly = GObjectConstructOnly;
268
+
269
+ // ---------------------------------------------------------------------------
270
+ // The GType-keyed widget map.
271
+ //
272
+ // Keyed by GType because that is also the GtkBuilder XML key and the typelib key. A
273
+ // consumer maps GTypes to tags in ITS convention — kebab for JSX intrinsics, Pascal
274
+ // for a Vue `GlobalComponents`, the class itself for a renderer whose element type
275
+ // is the class. None of those is baked in here.
276
+ //
277
+ // `slotCandidates` is a candidate list and never an answer: derived from methods
278
+ // taking exactly one widget argument. The GIR cannot tell adoption from reference —
279
+ // `set_title_widget` parents its argument and `set_activatable_widget` does not, and
280
+ // both are `void f(GtkWidget*)` at `transfer-ownership="none"`. Curation decides;
281
+ // this is what notices when a release adds a candidate.
282
+ // ---------------------------------------------------------------------------
283
+
284
+ export interface Widgets {
285
+
286
+ }
287
+
288
+ /**
289
+ * Every GType this namespace can create AND put on screen. A consumer derives its own
290
+ * tag map. For everything a UI file can instantiate — layout managers, event
291
+ * controllers, cell renderers, `GtkSizeGroup` — read `DECLS` below.
292
+ */
293
+ export type WidgetGType = keyof Widgets;
294
+
295
+ // ---------------------------------------------------------------------------
296
+ // Child holders — the same shape, for objects that CARRY a widget without being one.
297
+ //
298
+ // `GtkListItem`, `GtkListHeader`, `GtkColumnViewCell` and `AdwToggle` descend from
299
+ // `GObject.Object` and hold a widget through `set_child`/`get_child`. A renderer places
300
+ // them exactly like a container, so they belong in the vocabulary; a check asking "is
301
+ // this a widget" must still be able to say no. Hence a sibling table rather than four
302
+ // more rows in `Widgets`: concatenate them when you mean both.
303
+ // ---------------------------------------------------------------------------
304
+
305
+ export interface ChildHolders {
306
+
307
+ }
308
+
309
+ /** Every GType this namespace holds a child in without it being a widget. */
310
+ export type ChildHolderGType = keyof ChildHolders;
311
+
312
+ /** The writable, optional, GObject-keyed property surface of one GType. */
313
+ export type PropsOf<G extends WidgetGType> = Widgets[G]['props'];
314
+
315
+ /** The signal table this package already emits, reached by GType. */
316
+ export type SignalsOf<G extends WidgetGType> = Widgets[G]['signals'];
317
+
318
+ /** The instance type — what a `ref`-shaped prop should infer. */
319
+ export type InstanceOf<G extends WidgetGType> = Widgets[G]['class'];
320
+
321
+ /** Property names that can only be set at construction. */
322
+ export type ConstructOnlyOf<G extends WidgetGType> = Widgets[G]['constructOnly'];
323
+
324
+ /** Candidate child slots — see the note above; curation decides. */
325
+ export type SlotCandidatesOf<G extends WidgetGType> = keyof Widgets[G]['slotCandidates'];
326
+
327
+ /**
328
+ * The same facts as runtime data, for a consumer that CHECKS them.
329
+ *
330
+ * Types are erased, so a spec that asks the installed GTK whether every property
331
+ * here is a writable ParamSpec, every signal resolvable by `GObject.signal_lookup`
332
+ * and every nick resolvable through an enum lookup cannot read the interfaces
333
+ * above. Emitted headlessly with no GTK present, which is exactly why the checking
334
+ * belongs to the consumer and the DATA belongs here.
335
+ */
336
+ export const PROVENANCE: {
337
+ readonly namespace: string;
338
+ readonly version: string;
339
+ /** The version the LIBRARY states, or null where it states none. Never the namespace's. */
340
+ readonly libraryVersion: string | null;
341
+ readonly childHolders: number;
342
+ readonly droppedBases: readonly string[];
343
+ readonly inlinedBases: readonly string[];
344
+ /** `<decl>.<prop>` for every property printed `never` because TypeScript has no value for it. */
345
+ readonly unsettableProps: readonly string[];
346
+ /**
347
+ * `<decl>.<prop>: <Ns>.<Name>` for every property printed `never` because the model
348
+ * could not resolve its type across a namespace boundary — two independently released
349
+ * GIRs disagreeing, which is what the main emitter answers `never` for as well.
350
+ */
351
+ readonly unresolvedProps: readonly string[];
352
+ /**
353
+ * `c:identifier-prefixes` from the GIR, verbatim and in order — `['G']` for Gio.
354
+ *
355
+ * The C prefix a type REFERENCE needs: resolving `Gio.Icon` means producing `GIcon`,
356
+ * and nothing else in this package states that `Gio` spells itself `G`. Carried rather
357
+ * than derived because GIR carries it, and a derivation over the `DECLS` keys is wrong
358
+ * wherever the C prefix is not a prefix of the type NAMES: gdkx11-4.0 and gdkwayland-4.0
359
+ * both state `Gdk` while every key they declare begins `GdkX11`/`GdkWayland`.
360
+ *
361
+ * Empty where the GIR states none — 17 of the 627 emitting namespaces — because
362
+ * inventing the namespace name there is a confident wrong answer in place of a missing
363
+ * one. A LIST because 20 of them state more than one, which no single string expresses.
364
+ */
365
+ readonly identifierPrefixes: readonly string[];
366
+ /**
367
+ * Sibling vocabularies this one's DECLARATIONS come from, as import specifiers.
368
+ *
369
+ * A chain link with no `OWN_PROPS` row is ambiguous on its own — `GtkSeparator` has no
370
+ * settable property, `GApplication` has its properties in another package — and this
371
+ * list is what tells the two apart. Enum and bitfield NUMBERS are not here: those are
372
+ * carried in this file, because a `PROP_ENUMS` row naming a foreign GType gives a
373
+ * consumer nothing to load and a `.ui` file using the property never names its owner.
374
+ */
375
+ readonly requiredVocabularies: readonly string[];
376
+ };
377
+
378
+ /** Declaration GType -> its own settable properties, as GObject registered them. */
379
+ export const OWN_PROPS: Readonly<Record<string, readonly string[]>>;
380
+
381
+ /**
382
+ * Declaration GType -> the signals it registers itself, never its parents'.
383
+ *
384
+ * Keyed like `OWN_PROPS`, so both are read at every link of a `DECLS` chain. An
385
+ * abstract base has no `Widgets` row and still owns signals — `GtkWidget` owns 13.
386
+ */
387
+ export const OWN_SIGNALS: Readonly<Record<string, readonly string[]>>;
388
+
389
+ /**
390
+ * Instantiable GType -> every declaration its members come from, self first.
391
+ *
392
+ * The key set is what a UI description file can NAME: every registered, non-abstract
393
+ * class this namespace declares. GtkBuilder resolves a `<object class="…">` through
394
+ * `g_type_from_name`, which knows nothing about widgets, so this is wider than
395
+ * `Widgets` by design — `GtkSizeGroup`, `GtkTextTag`, every `GtkEventController`
396
+ * and every `GtkCellRenderer` are here and are not widgets.
397
+ *
398
+ * `Widgets` and `CHILD_HOLDERS` are the narrower questions and answer them unchanged.
399
+ */
400
+ export const DECLS: Readonly<Record<string, readonly string[]>>;
401
+
402
+ /** The GTypes in `DECLS` that hold a widget without being one — see `ChildHolders`. */
403
+ export const CHILD_HOLDERS: readonly string[];
404
+
405
+ /** Enum GType -> the nicks this surface offers. */
406
+ export const ENUM_NICKS: Readonly<Record<string, readonly string[]>>;
407
+
408
+ /**
409
+ * `<enum GType>.<nick>` -> the integer GObject registers for it, from GIR's `value`.
410
+ *
411
+ * Position in `ENUM_NICKS` is NOT this number. Counting is wrong on 6 of the 137 enums a
412
+ * GTK 4 vocabulary carries -- 112 in Gtk-4.0 and 25 in Adw-1: `GtkResponseType` runs -1 to -11, `GtkTextWindowType` starts
413
+ * at 1, `GtkOrdering` and `GtkConstraintRelation` are -1/0/1, `GtkAlign` has two names
414
+ * on one value, and `GtkConstraintStrength.required` is 1001001000 where counting says 0.
415
+ *
416
+ * Read from the same GIR as the nicks, deliberately. A consumer reading the numbers off an
417
+ * installed typelib instead has two provenances for one table, and then cannot tell a
418
+ * missing number from a host older than the vocabulary.
419
+ */
420
+ export const ENUM_VALUES: Readonly<Record<string, number>>;
421
+
422
+ /**
423
+ * The `<enum GType>.<nick>` entries GIR marks `deprecated="1"`.
424
+ *
425
+ * Two names on one value is how GObject spells an alias -- `GTK_ALIGN_BASELINE` and
426
+ * `GTK_ALIGN_BASELINE_FILL` are both 4, and both keep a `ENUM_VALUES` entry. The pairing
427
+ * is visible in the numbers; which name is the old one is not, and this is that fact --
428
+ * where GIR states it. It usually does not: 4 registered-enum members across the 718 GIRs
429
+ * carry the attribute, and 179 of the 182 value-sharing pairs carry it on neither half, so
430
+ * absence from this list means GIR is silent, not that the nick is the current one.
431
+ */
432
+ export const ENUM_DEPRECATED: readonly string[];
433
+
434
+ /**
435
+ * `<enum GType>.<nick>` -> the raw GIR `value` no number could be read from.
436
+ *
437
+ * The declared remainder, so that every nick in `ENUM_NICKS` is in `ENUM_VALUES` or in
438
+ * here and a drop cannot be silent. Two shapes reach it: a symbolic or absent value (Vala
439
+ * writes `(null)`, a char enum writes a letter) and an integer past
440
+ * `Number.MAX_SAFE_INTEGER`, where a literal would lose precision and stop being the
441
+ * GIR's number. Empty for Gtk, Adw, GLib and Gio.
442
+ */
443
+ export const ENUM_VALUES_UNREADABLE: Readonly<Record<string, string>>;
444
+
445
+ /**
446
+ * `<bitfield GType>.<nick>` -> the integer GObject registers for that one member.
447
+ *
448
+ * `ENUM_NICKS` carries no bitfield, because GObject cannot resolve a nick SET; that says
449
+ * nothing about a single member's number, and the number is what a host without GI needs.
450
+ * 23 settable properties in Gtk-4.0 and Adw-1 are bitfield-typed and are declared bare
451
+ * `number` -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`, `AdwTabView:shortcuts`,
452
+ * `GtkDropTarget:actions` among them. Counting is worst here: 119 of the 156 Gtk-4.0
453
+ * bitfield members this vocabulary carries disagree with their declaration position,
454
+ * against 29 of 672 enumeration members.
455
+ *
456
+ * Combine with `|` as GObject does. There is no nick table to pair this with, so a name
457
+ * here is resolvable and a SET still is not.
458
+ */
459
+ export const FLAG_VALUES: Readonly<Record<string, number>>;
460
+
461
+ /** `<bitfield GType>.<nick>` -> the raw GIR `value` no number could be read from. */
462
+ export const FLAG_VALUES_UNREADABLE: Readonly<Record<string, string>>;
463
+
464
+ /**
465
+ * `<declaration GType>.<property>` -> the GType of that property's enum or bitfield.
466
+ *
467
+ * The join the value tables need and nothing else here carries. A host with no GI has a
468
+ * property name and a nick and needs a number; `ENUM_VALUES` is keyed by ENUM GType, and
469
+ * only this says which enum a property is. Keyed by DECLARATION like `OWN_PROPS`, so it is
470
+ * read at every link of a `DECLS` chain — `orientation` belongs to `GtkOrientable`, not
471
+ * to the `GtkBox` a caller starts from.
472
+ *
473
+ * Present only where the property's OWN type is the enum: an array of them, or a union that
474
+ * merely mentions one, would be an entry a consumer resolves wrongly.
475
+ *
476
+ * The GType named here is not always one THIS module gives numbers for. A nick vocabulary is
477
+ * emitted once, by the namespace that owns the enum, so `AdwComboRow.search-match-mode` names
478
+ * `GtkStringFilterMatchMode` and its rows are in `@girs/gtk-4.0/vocabulary` — 83 of the 909
479
+ * entries in a full run resolve only with the owner's vocabulary loaded beside this one. An
480
+ * owner with no vocabulary of its own (Gdk, Pango) is inlined here instead, so every entry
481
+ * resolves against SOME module.
482
+ */
483
+ export const PROP_ENUMS: Readonly<Record<string, string>>;
484
+
485
+ /**
486
+ * `<declaration GType>.<property>` -> the GType of that property's own type.
487
+ *
488
+ * `PROP_ENUMS` one case wider, and separate on purpose: that table promises the GType it names
489
+ * has NUMBERS, and this one promises only that the GType is the property's. A host inferring a
490
+ * type from a property — the middle of an uncast lookup chain, an uncast closure's return type —
491
+ * reads this one; a host resolving a nick to a number reads that one.
492
+ *
493
+ * Absent means no GType can be stated, not that the property is scalar: `gchararray` is carried
494
+ * like any other, so absence is readable as "unknown".
495
+ */
496
+ export const PROP_TYPES: Readonly<Record<string, string>>;
497
+
498
+ /**
499
+ * The kinds of value a GTK accessible property, relation or state takes.
500
+ *
501
+ * `enum` is the one that needs a second lookup: `ARIA_VALUE_ENUMS` names the enum GType,
502
+ * and `ENUM_NICKS` and `ENUM_VALUES` answer from there.
503
+ */
504
+ export type AriaValueType = 'string' | 'integer' | 'double' | 'boolean' | 'reference' | 'enum';
505
+
506
+ /**
507
+ * `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
508
+ *
509
+ * The one table in this file that is not a fact about a ParamSpec. A GtkBuilder or
510
+ * Blueprint `accessibility { … }` block is typed by GTK's ARIA table, not by the widget,
511
+ * and the two disagree where it costs most: `orientation` is settable on a `GtkLabel`
512
+ * that implements no `GtkOrientable`, and `checked` is a `GtkAccessibleTristate`, so
513
+ * `checked: true` is the number 1 rather than a boolean. Typing those slots from the
514
+ * widget's properties gets both wrong and raises nothing.
515
+ *
516
+ * Keyed like `ENUM_VALUES` because the ARIA names ARE enum members — of
517
+ * `GtkAccessibleProperty`, `GtkAccessibleRelation` and `GtkAccessibleState` — so
518
+ * `ENUM_NICKS` already lists them and one key parser reads both.
519
+ *
520
+ * Read from each member's own GIR documentation. `gtk_accessible_property_init_value()`
521
+ * is the C half of this table and is not introspectable; the doc sentence is, and states
522
+ * the type for 52 of the 53 members in gtk4 4.23.3. Complete or absent, never partial: a
523
+ * member the generator cannot answer for fails the build and names itself.
524
+ */
525
+ export const ARIA_VALUE_TYPES: Readonly<Record<string, AriaValueType>>;
526
+
527
+ /**
528
+ * The same keys, for the `'enum'` rows only -> the GType of that enum.
529
+ *
530
+ * A table of its own for the reason `PROP_ENUMS` is one: folded in, the values of
531
+ * `ARIA_VALUE_TYPES` would be six reserved words mixed with arbitrary GTypes and telling
532
+ * them apart would be the consumer's problem. Apart, `ARIA_VALUE_TYPES[k] === 'enum'` is
533
+ * the whole test and `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
534
+ */
535
+ export const ARIA_VALUE_ENUMS: Readonly<Record<string, string>>;
536
+
537
+ /** Widget GType -> slot name -> the method that may adopt a child there. */
538
+ export const SLOT_CANDIDATES: Readonly<Record<string, Readonly<Record<string, string>>>>;
539
+
540
+ /**
541
+ * `Type`, `Type.property` and `Type::signal` -> the release that introduced it.
542
+ *
543
+ * What keeps a runtime cross-check honest across a version gap without an
544
+ * allowlist: a name the installed library lacks is a defect UNLESS the version
545
+ * here is newer than the one running.
546
+ *
547
+ * ALL THREE key shapes, because that test only works for the names it covers. A
548
+ * property-only map leaves a consumer no way to explain a missing SIGNAL, which is
549
+ * a correct vocabulary reported as 18 defects; a member-only map leaves it no way to
550
+ * explain a missing CLASS, and that one fails as a bare
551
+ * `TypeError: can't access property "$gtype", ctor() is undefined` that does not
552
+ * even name the GType.
553
+ *
554
+ * A key is present only where the GIR states a version — sparse by nature (`version`
555
+ * sits on 29 of the 301 classes and interfaces in Gtk-4.0), never inferred.
556
+ */
557
+ export const SINCE: Readonly<Record<string, string>>;