Skip to content

Commit 311b6f6

Browse files
authored
Merge pull request #23 from Totto16/fixes
Port some types to GNOME 46 + some additional types
2 parents 16261f8 + ff64e4b commit 311b6f6

File tree

5 files changed

+241
-50
lines changed

5 files changed

+241
-50
lines changed

packages/gnome-shell/package.json

+11
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,17 @@
490490
}
491491
},
492492
"./ui/layout/ambient": "./dist/ui/layout-ambient.d.ts",
493+
"./ui/lightbox": {
494+
"import": {
495+
"types": "./dist/ui/lightbox.d.ts",
496+
"default": "./dist/ui/lightbox.js"
497+
},
498+
"require": {
499+
"types": "./dist/ui/lightbox.d.ts",
500+
"default": "./dist/ui/lightbox.cjs"
501+
}
502+
},
503+
"./ui/lightbox/ambient": "./dist/ui/lightbox-ambient.d.ts",
493504
"./ui/main": {
494505
"import": {
495506
"types": "./dist/ui/main.d.ts",

packages/gnome-shell/src/ui/dialog.d.ts

+39-11
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ export interface ButtonInfo {
1111
default?: boolean;
1212
}
1313

14+
/**
15+
* @version 46
16+
*/
1417
export class Dialog extends St.Widget {
15-
1618
protected _parentActor: St.Widget;
1719
protected _dialog: St.BoxLayout;
1820
protected _initialKeyFocus: St.Widget;
@@ -24,40 +26,66 @@ export class Dialog extends St.Widget {
2426
public _init(parentActor: St.Widget, styleClass?: string | null): void;
2527
public makeInactive(): void;
2628
public vfunc_event(event: Clutter.Event): boolean;
27-
public addButton(buttonInfo: ButtonInfo): void;
29+
public addButton(buttonInfo: ButtonInfo): St.Button;
2830
public clearButtons(): void;
2931

3032
protected _createDialog(): void;
3133
protected _onDestroy(): void;
3234
protected _setInitialKeyFocus(actor: St.Widget): void;
3335
}
3436

37+
/**
38+
* @version 46
39+
*/
40+
export namespace MessageDialogContent {
41+
export interface ConstructorProperties extends St.BoxLayout.ConstructorProperties {
42+
title?: string;
43+
description?: string;
44+
}
45+
}
46+
/**
47+
* @version 46
48+
*/
3549
export class MessageDialogContent extends St.BoxLayout {
3650
public title: string;
3751
public description: string;
3852

39-
constructor(params: St.BoxLayout.ConstructorProperties);
40-
public _init(params: St.BoxLayout.ConstructorProperties): void;
53+
constructor(params: MessageDialogContent.ConstructorProperties);
54+
public _init(params: MessageDialogContent.ConstructorProperties): void;
4155

4256
protected _onDestroy(): void;
43-
protected _updateTitleStyle(): void;
57+
protected _updateTitleStyle(): void | false;
4458
}
4559

46-
export class ListSection extends St.BoxLayout {
60+
export interface ListSectionProps extends St.BoxLayout.ConstructorProperties {
61+
title?: string;
62+
}
4763

64+
/**
65+
* @version 46
66+
*/
67+
export class ListSection extends St.BoxLayout {
4868
protected _listScrollView: St.ScrollView;
4969
protected _title: St.Label;
5070

5171
public list: St.BoxLayout;
5272
public title: string;
5373
public label_actor: St.Label;
5474

55-
constructor(params: St.BoxLayout.ConstructorProperties);
56-
public _init(params: St.BoxLayout.ConstructorProperties): void;
75+
constructor(params: ListSectionProps);
76+
public _init(params: ListSectionProps): void;
5777
}
5878

59-
export class ListSectionItem extends St.BoxLayout {
79+
export interface ListSectionItemProps extends St.BoxLayout.ConstructorProperties {
80+
title?: string;
81+
description?: string;
82+
// note: iconActor hasn't: GObject.ParamFlags.CONSTRUCT, but might work anyways?
83+
}
6084

85+
/**
86+
* @version 46
87+
*/
88+
export class ListSectionItem extends St.BoxLayout {
6189
protected _iconActorBin: St.Bin;
6290
protected _title: St.Label;
6391

@@ -67,6 +95,6 @@ export class ListSectionItem extends St.BoxLayout {
6795

6896
constructor(params: { style_class?: string | null });
6997
/** @hidden Defined to resolve version conflicts */
70-
public _init(config?: St.BoxLayout.ConstructorProperties): void;
98+
public _init(config?: ListSectionItemProps): void;
7199
public _init(params: { style_class?: string | null }): void;
72-
}
100+
}

packages/gnome-shell/src/ui/layout.d.ts

+70-24
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,22 @@ export interface Geometry {
2020
width: number;
2121
height: number;
2222
}
23+
/**
24+
* @version 46
25+
*/
2326

24-
export class MonitorConstraint extends Clutter.Constraint {
27+
export namespace MonitorConstraint {
28+
export interface ConstructorProperties extends Clutter.Constraint.ConstructorProperties {
29+
primary?: boolean;
30+
index?: number;
31+
workArea?: boolean;
32+
}
33+
}
2534

35+
/**
36+
* @version 46
37+
*/
38+
export class MonitorConstraint extends Clutter.Constraint {
2639
protected _primary: boolean;
2740
protected _index: number;
2841
protected _workArea: boolean;
@@ -31,14 +44,17 @@ export class MonitorConstraint extends Clutter.Constraint {
3144
public index: number;
3245
public workArea: boolean;
3346

34-
constructor(props: Clutter.Constraint.ConstructorProperties);
35-
public _init(props: Clutter.Constraint.ConstructorProperties): void;
47+
constructor(props: MonitorConstraint.ConstructorProperties);
48+
public _init(props: MonitorConstraint.ConstructorProperties): void;
3649

50+
public vfunc_set_actor(actor: Clutter.Actor): void;
3751
public vfunc_update_allocation(actor: Clutter.Actor, actorBox: Clutter.ActorBox): void;
3852
}
3953

54+
/**
55+
* @version 46
56+
*/
4057
declare class Monitor {
41-
4258
public index: number;
4359
public geometryScale: number;
4460
public x: number;
@@ -50,6 +66,9 @@ declare class Monitor {
5066
constructor(index: number, geometry: Geometry, geometryScale: number);
5167
}
5268

69+
/**
70+
* @version 46
71+
*/
5372
declare class UiActor extends St.Widget {
5473
public constructor(props?: St.Widget.ConstructorProperties);
5574
public _init(props?: St.Widget.ConstructorProperties): void;
@@ -73,7 +92,6 @@ declare class ScreenTransition extends Clutter.Actor {
7392
* overview.
7493
*/
7594
declare class HotCorner extends Clutter.Actor {
76-
7795
protected _entered: boolean;
7896
protected _monitor: Monitor;
7997
protected _x: number;
@@ -97,13 +115,16 @@ declare class HotCorner extends Clutter.Actor {
97115
}
98116

99117
export class LayoutManager extends GObject.Object {
100-
101118
protected _rtl: boolean;
102119
protected _keyboardIndex: number;
103120
protected _rightPanelBarrier: Meta.Barrier | null;
104121
protected _inOverview: boolean;
105122
protected _updateRegionIdle: number;
106-
protected _trackedActors: { trackFullscreen: boolean; affectsStruts: boolean; affectsInputRegion: boolean; }[];
123+
protected _trackedActors: {
124+
trackFullscreen: boolean;
125+
affectsStruts: boolean;
126+
affectsInputRegion: boolean;
127+
}[];
107128
protected _keyboardHeightNotifyId: number;
108129
protected _backgroundGroup: Meta.BackgroundGroup;
109130
protected _interfaceSettings: Gio.Settings;
@@ -148,12 +169,12 @@ export class LayoutManager extends GObject.Object {
148169
* function before you show the menu to ensure it is at the right
149170
* position and has the right size.
150171
* @param x
151-
* @param y
152-
* @param width
153-
* @param height
172+
* @param y
173+
* @param width
174+
* @param height
154175
*/
155176
public setDummyCursorGeometry(x: number, y: number, width: number, height: number): void;
156-
177+
157178
/**
158179
* Adds `actor` to the chrome, and (unless `affectsInputRegion` in
159180
* `params` is `false`) extends the input region to include it.
@@ -173,27 +194,48 @@ export class LayoutManager extends GObject.Object {
173194
* @param actor An actor to add to the chrome
174195
* @param params Additional params
175196
*/
176-
public addChrome(actor: Clutter.Actor, params?: { affectsStruts?: boolean; affectsInputRegion?: boolean; trackFullscreen?: boolean; }): void;
197+
public addChrome(
198+
actor: Clutter.Actor,
199+
params?: {
200+
affectsStruts?: boolean;
201+
affectsInputRegion?: boolean;
202+
trackFullscreen?: boolean;
203+
}
204+
): void;
177205

178206
/**
179207
* Like {@link addChrome()}, but adds `actor` above all windows, including popups.
180208
* @param actor An actor to add to the chrome
181209
* @param params Additional params
182210
*/
183-
public addTopChrome(actor: Clutter.Actor, params?: { affectsStruts?: boolean; affectsInputRegion?: boolean; trackFullscreen?: boolean; }): void;
184-
211+
public addTopChrome(
212+
actor: Clutter.Actor,
213+
params?: {
214+
affectsStruts?: boolean;
215+
affectsInputRegion?: boolean;
216+
trackFullscreen?: boolean;
217+
}
218+
): void;
219+
185220
/**
186221
* Tells the chrome to track `actor`. This can be used to extend the
187222
* struts or input region to cover specific children.
188-
*
223+
*
189224
* `params` can have any of the same values as in {@link addChrome()},
190225
* though some possibilities don't make sense. By default, `actor` has
191226
* the same params as its chrome ancestor.
192-
*
227+
*
193228
* @param actor a descendant of the chrome to begin tracking
194229
* @param params parameters describing how to track `actor`
195230
*/
196-
public trackChrome(actor: Clutter.Actor, params?: { affectsStruts?: boolean; affectsInputRegion?: boolean; trackFullscreen?: boolean; }): void;
231+
public trackChrome(
232+
actor: Clutter.Actor,
233+
params?: {
234+
affectsStruts?: boolean;
235+
affectsInputRegion?: boolean;
236+
trackFullscreen?: boolean;
237+
}
238+
): void;
197239

198240
/**
199241
* Undoes the effect of {@link trackChrome()}
@@ -213,15 +255,14 @@ export class LayoutManager extends GObject.Object {
213255
/**
214256
* This call guarantees that we return some monitor to simplify usage of it
215257
* In practice all tracked actors should be visible on some monitor anyway
216-
* @param actor
258+
* @param actor
217259
*/
218-
public findIndexForActor(actor: Clutter.Actor): number
260+
public findIndexForActor(actor: Clutter.Actor): number;
219261

220-
public findMonitorForActor(actor: Clutter.Actor): Monitor | undefined
262+
public findMonitorForActor(actor: Clutter.Actor): Monitor | undefined;
221263

222264
public modalEnded(): void;
223265

224-
225266
protected _sessionUpdated(): void;
226267
protected _updateMonitors(): void;
227268
protected _updateHotCorners(): void;
@@ -259,7 +300,14 @@ export class LayoutManager extends GObject.Object {
259300
protected _startupAnimationSession(): void;
260301
protected _startupAnimationComplete(): void;
261302
protected _findActor(actor: Clutter.Actor): number;
262-
protected _trackActor(actor: Clutter.Actor, params?: { affectsStruts?: boolean; affectsInputRegion?: boolean; trackFullscreen?: boolean; }): void;
303+
protected _trackActor(
304+
actor: Clutter.Actor,
305+
params?: {
306+
affectsStruts?: boolean;
307+
affectsInputRegion?: boolean;
308+
trackFullscreen?: boolean;
309+
}
310+
): void;
263311
protected _untrackActor(actor: Clutter.Actor): void;
264312
protected _updateActorVisibility(actorData: any): void;
265313
protected _updateVisibility(): void;
@@ -270,7 +318,6 @@ export class LayoutManager extends GObject.Object {
270318
}
271319

272320
declare class PressureBarrier extends EventEmitter {
273-
274321
protected _threshold: number;
275322
protected _timeout: number;
276323
protected _actionMode: number;
@@ -298,4 +345,3 @@ declare class PressureBarrier extends EventEmitter {
298345
protected _trigger(): void;
299346
protected _onBarrierHit(barrier: Meta.Barrier, event: any): void;
300347
}
301-

0 commit comments

Comments
 (0)