UNPKG

@girs/gnome-shell

Version:

GJS TypeScript type definitions for GNOME Shell Extensions

191 lines (164 loc) 6.74 kB
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/appDisplay.js import type Gio from '@girs/gio-2.0'; import type St from '@girs/st-16'; import type Clutter from '@girs/clutter-16'; import { GridSearchResult } from './search.js'; import { IconGrid, BaseIcon } from './iconGrid.js'; import { DragMotionResult } from './dnd.js'; export class AppGrid extends IconGrid { indicatorsPadding: number; /** @hidden */ _init(params?: Partial<St.Viewport.ConstructorProps>): void; _init(layoutParams?: Partial<IconGrid.ConstructorProps>): void; _updatePadding(): void; } export abstract class BaseAppView extends St.Widget { // TODO: 'view-loaded' signal constructor(params?: Partial<St.Widget.ConstructorProps>); _init(params?: Partial<St.Widget.ConstructorProps>): void; _onDestroy(): void; _createGrid(): AppGrid; _onScroll(actor: St.Widget, event: Clutter.ScrollEvent): boolean; _swipeBegin(tracker: any, monitor: Clutter.EventSequence): void; _swipeUpdate(tracker: any, progress: number): void; _swipeEnd(tracker: any, duration: number, endProgress: number): void; _connectDnD(): void; _disconnectDnD(): void; _maybeMoveItem(dragEvent: Clutter.Event): void; _removeDelayedMove(): void; _resetDragPageSwitch(): void; _setupDragPageSwitchRepeat(direction: number): void; _dragMaybeSwitchPageImmediately(dragEvent: Clutter.Event): void; _maybeSetupDragPageSwitchInitialTimeout(dragEvent: Clutter.Event): void; _onDragBegin(): void; _onDragMotion(dragEvent: Clutter.Event): boolean; _onDragDrop(dropEvent: Clutter.Event): boolean; _onDragEnd(): void; _onDragCancelled(): void; _canAccept(source: any): boolean; _findBestPageToAppend(startPage?: number): number; _getLinearPosition(page: number, position: number): number; _addItem(item: any, page: number, position: number): void; _removeItem(item: any): void; _redisplay(): void; _compareItems(a: any, b: any): number; _selectAppInternal(id: string): void; _getDropTarget(x: number, y: number, source: any): [number, number, number]; _moveItem(item: any, newPage: number, newPosition: number): void; handleDragOver(source: any): DragMotionResult; acceptDrop(source: any): boolean; getItemPosition(item: any): [number, number]; getAllItems(): any[]; selectApp(id: string): void; animateSwitch(animationDirection: number): void; goToPage(pageNumber: number, animate: boolean): void; updateDragFocus(dragFocus: any): void; } export class AppDisplay extends BaseAppView { constructor(); _init(): void; _onDestroy(): void; _redisplay(): void; _savePages(): void; _ensureDefaultFolders(): void; _ensurePlaceholder(source: any): void; _removePlaceholder(): void; _getItemPosition(item: any): [number, number]; _compareItems(a: any, b: any): number; _loadApps(): void; _onScroll(actor: St.Widget, event: Clutter.ScrollEvent): boolean; _onKeyPressEvent(actor: St.Widget, event: Clutter.KeyEvent): boolean; _maybeMoveItem(dragEvent: Clutter.Event): void; /** @hidden */ _onDragBegin(): void; _onDragBegin(overview: any, source: any): void; _onDragMotion(dragEvent: Clutter.Event): boolean; _onDragEnd(): void; /** @hidden */ _onDragCancelled(): void; _onDragCancelled(overview: any, source: any): void; getAppInfos(): any[]; animateSwitch(animationDirection: number): void; goToPage(pageNumber: number, animate?: boolean): void; addFolderDialog(dialog: any): void; acceptDrop(source: any): boolean; createFolder(apps: any[]): boolean; } export class AppSearchProvider { constructor(); getResultMetas(apps: any[]): Promise<any[]>; filterResults(results: any[], maxNumber: number): any[]; getInitialResultSet(terms: string[], cancellable: Gio.Cancellable): Promise<any[]>; getSubsearchResultSet(previousResults: any[], terms: string[], cancellable: Gio.Cancellable): any[]; createResultObject(resultMeta: any): AppIcon | SystemActionIcon; } export class AppViewItem extends St.Button { readonly id: string; readonly app: any; constructor(params?: Partial<St.Button.ConstructorProps>); _init(params?: Partial<St.Button.ConstructorProps>, isDraggable?: boolean, expandTitleOnHover?: boolean): void; _onDestroy(): void; _updateMultiline(): void; _onHover(): void; _onDragBegin(): void; _onDragCancelled(): void; _onDragEnd(): void; _canAccept(source: any): boolean; _setHoveringByDnd(hovering: boolean): void; _onDragMotion(dragEvent: Clutter.Event): boolean; _withinLeeways(x: number): boolean; scaleIn(): void; scaleAndFade(): void; undoScaleAndFade(): void; handleDragOver(source: any, actor: St.Widget, x: number): DragMotionResult; acceptDrop(source: any, actor: St.Widget, x: number): boolean; cancelActions(): void; setForcedHighlight(highlight: boolean): void; } export namespace AppIcon { export interface ConstructorProps extends BaseIcon.ConstructorProps { isDraggable: boolean; expandTitleOnHover: boolean; } } export class AppIcon extends AppViewItem { app: any; icon: BaseIcon; _id: string; _name: string; _iconContainer: St.Widget; _folderPreviewId: number; constructor(app: any, iconParams?: AppIcon.ConstructorProps); /** @hidden */ _init(params?: Partial<St.Button.ConstructorProps>, isDraggable?: boolean, expandTitleOnHover?: boolean): void; _init(app: any, iconParams?: Partial<AppIcon.ConstructorProps>): void; _onDestroy(): void; _createIcon(iconSize: number): St.Widget; _removeMenuTimeout(): void; _setPopupTimeout(): void; _onKeyboardPopupMenu(): void; _onMenuPoppedDown(): void; _onMenuPoppedDown(button: St.Button): void; _showFolderPreview(): void; _hideFolderPreview(): void; _canAccept(source: any): boolean; _setHoveringByDnd(hovering: boolean): void; onDragBegin(): void; updateRunningStyle(): void; getId(): string; popupMenu(side?: St.Side): void; animateLaunch(): void; animateLaunchAtPos(x: number, y: number): void; shellWorkspaceLaunch(params?: { workspace: number; timestamp: number }): void; getDragActor(): St.Widget; /** * @returns The original actor that should align with the actor we show as the item is being dragged. */ getDragActorSource(): St.Widget; shouldShowTooltip(): boolean; acceptDrop(source: any, actor: St.Widget, x: number): boolean; cancelActions(): void; } export class SystemActionIcon extends GridSearchResult { activate(): void; }