Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port some types to GNOME 46 #22

Merged
merged 6 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion packages/gnome-shell/src/extensions/global.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ declare global {
* Global shell object created by GNOME Shell on startup.
*
* @see https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/8a8539ee6766058b39d0a5c0961a08f76799f4da/js/ui/environment.js#L253
* @version 46
*/
const global: Shell.Global;

Expand All @@ -31,4 +32,4 @@ declare global {
*/
clamp(x: number, min: number, max: number): number;
}
}
}
3 changes: 3 additions & 0 deletions packages/gnome-shell/src/ui/extensionSystem.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ export namespace ExtensionManager {
}
}

/**
* @version 46
*/
export class ExtensionManager<
S extends Signals.SignalMap<S> = ExtensionManager.SignalMap
> extends Signals.EventEmitter<S> {
Expand Down
3 changes: 3 additions & 0 deletions packages/gnome-shell/src/ui/panel.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import type Meta from '@girs/meta-14';
import type { Button } from './panelMenu.js';
import type { DateMenuButton } from "./dateMenu.js";

/**
* @version 46
*/
export class Panel extends St.Widget {

statusArea: {
Expand Down
30 changes: 9 additions & 21 deletions packages/gnome-shell/src/ui/panelMenu.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,31 @@ import type St from '@girs/st-14';
import type { PopupMenu, PopupDummyMenu } from './popupMenu.js';

declare namespace ButtonBox {
interface ConstructorProperties {
style_class?: string;
x_expand: boolean;
y_expand: boolean;
}
interface ConstructorProperties extends St.Widget.ConstructorProperties { }
}

/**
* @version 46
*/
declare class ButtonBox extends St.Widget {
constructor(params?: ButtonBox.ConstructorProperties);
/** @hidden Defined to resolve version conflicts */
_init(params: St.Widget.ConstructorProperties): void;
_init(params: ButtonBox.ConstructorProperties): void;
container: St.Bin;
}


/**
* @version 46
*/
export class Button extends ButtonBox {
menu: PopupMenu /*| PopupDummyMenu*/;
menu: PopupMenu | PopupDummyMenu;

constructor(menuAlignment: number, nameText: string, dontCreateMenu?: boolean);

/** @hidden Defined to resolve version conflicts */
_init(params: St.Widget.ConstructorProperties): void;
/** @hidden Defined to resolve version conflicts */
_init(params?: ButtonBox.ConstructorProperties): void;
_init(menuAlignment: number, nameText: string, dontCreateMenu?: boolean): void;
setSensitive(sensitive: boolean): void;
setMenu(menu: PopupMenu | PopupDummyMenu): void;
}

/**
* SystemIndicator:
* This class manages one system indicator, which are the icons
* that you see at the top right. A system indicator is composed
* of an icon and a menu section, which will be composed into the
* aggregate menu.
*/
export class SystemIndicator extends St.BoxLayout {
constructor();
_init(): void;
}
53 changes: 49 additions & 4 deletions packages/gnome-shell/src/ui/popupMenu.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,22 @@ import type Meta from '@girs/meta-14';

import * as Signals from '../misc/signals.js';

/**
* @version 46
*/
export enum Ornament {
NONE = 0,
DOT = 1,
CHECK = 2,
HIDDEN = 3,
NO_DOT = 4
}

/**
* @version 46
*/
export function arrowIcon(side: St.Side): St.Icon;

declare namespace PopupBaseMenuItem {
export interface ConstructorProperties {
reactive?: boolean;
Expand All @@ -25,6 +34,9 @@ declare namespace PopupBaseMenuItem {
}
}

/**
* @version 46
*/
declare class PopupBaseMenuItem extends St.BoxLayout {
readonly actor: PopupBaseMenuItem;
active: boolean;
Expand Down Expand Up @@ -55,20 +67,29 @@ export namespace PopupMenuItem {
export interface ConstructorProperties extends PopupBaseMenuItem.ConstructorProperties {}
}

/**
* @version 46
*/
export class PopupMenuItem extends PopupBaseMenuItem {
constructor(text: string, params?: PopupMenuItem.ConstructorProperties);
override _init(text: string, params?: PopupMenuItem.ConstructorProperties): void;

readonly label: St.Label;
}

/**
* @version 46
*/
export class PopupSeparatorMenuItem extends PopupBaseMenuItem {
constructor(text?: string);
override _init(text?: string): void;

readonly label: St.Label;
}

/**
* @version 46
*/
export class Switch extends St.Bin {
state: boolean;
constructor(state: boolean);
Expand All @@ -94,6 +115,9 @@ export namespace PopupSwitchMenuItem {
export interface ConstructorProperties extends PopupBaseMenuItem.ConstructorProperties {}
}

/**
* @version 46
*/
export class PopupSwitchMenuItem extends PopupBaseMenuItem {
readonly state: boolean;

Expand All @@ -111,11 +135,15 @@ export namespace PopupImageMenuItem {
export interface ConstructorProperties extends PopupBaseMenuItem.ConstructorProperties {}
}

/**
* @version 46
*/
export class PopupImageMenuItem extends PopupBaseMenuItem {
constructor(text: string, icon: Gio.Icon, params?: PopupImageMenuItem.ConstructorProperties);
override _init(text: string, icon: Gio.Icon, params?: PopupImageMenuItem.ConstructorProperties): void;

setIcon(icon: Gio.Icon): void;
constructor(text: string, icon: Gio.Icon | string, params?: PopupImageMenuItem.ConstructorProperties);
override _init(text: string, icon: Gio.Icon | string, params?: PopupImageMenuItem.ConstructorProperties): void;

setIcon(icon: Gio.Icon | string): void;
}

export namespace PopupMenuBase {
Expand All @@ -129,6 +157,9 @@ export namespace PopupMenuBase {
PopupBaseMenuItem
}

/**
* @version 46
*/
export class PopupMenuBase<S extends Signals.SignalMap<S> = PopupMenuBase.SignalMap> extends Signals.EventEmitter<S> {
protected constructor(sourceActor: St.Widget, styleClass?: string);
readonly sourceActor: St.Widget;
Expand Down Expand Up @@ -158,6 +189,9 @@ export namespace PopupMenu {
interface SignalMap extends PopupMenuBase.SignalMap {}
}

/**
* @version 46
*/
export class PopupMenu<S extends Signals.SignalMap<S> = PopupMenu.SignalMap> extends PopupMenuBase<S> {
constructor(sourceActor: St.Widget, arrowAlignment: number, arrowSide: St.Side);

Expand All @@ -168,6 +202,9 @@ export class PopupMenu<S extends Signals.SignalMap<S> = PopupMenu.SignalMap> ext
destroy(): void;
}

/**
* @version 46
*/
export class PopupDummyMenu extends Signals.EventEmitter {
constructor(sourceActor: St.Widget);

Expand Down Expand Up @@ -208,6 +245,8 @@ export namespace PopupMenuSection {
* (you can add and remove items, you can destroy it, you
* can add it to another menu), but is completely transparent
* to the user
*
* @version 46
*/
export class PopupMenuSection<S extends Signals.SignalMap<S> = PopupMenuSection.SignalMap> extends PopupMenuBase<S>{
constructor();
Expand All @@ -216,6 +255,9 @@ export class PopupMenuSection<S extends Signals.SignalMap<S> = PopupMenuSection.
close(): void;
}

/**
* @version 46
*/
export class PopupSubMenuMenuItem extends PopupBaseMenuItem {
readonly menu: PopupSubMenu;

Expand All @@ -235,10 +277,13 @@ export namespace PopupMenuManager {
}
}

/**
* @version 46
*/
export class PopupMenuManager {
constructor(owner: any, grabParams?: PopupMenuManager.ConstructorProperties);

addMenu(menu: PopupMenuBase, position: number): void;
removeMenu(menu: PopupMenuBase): void;
ignoreRelease(): void;
}
}