diff --git a/packages/gnome-shell/src/ui/appDisplay.d.ts b/packages/gnome-shell/src/ui/appDisplay.d.ts index 72e9dc7..4c989b7 100644 --- a/packages/gnome-shell/src/ui/appDisplay.d.ts +++ b/packages/gnome-shell/src/ui/appDisplay.d.ts @@ -117,7 +117,13 @@ export abstract class BaseAppView extends St.Widget { _onDestroy(): void; _createGrid(): AppGrid; - _onScroll(actor: St.ScrollView, event: Clutter.ScrollEvent): boolean; + /** + * Handles the `scroll` signal of the page's scroll controller. GNOME 51 + * replaced the old `(actor, event)` handler with these arguments. + * + * @version 51 + */ + _onScroll(controller: Clutter.ScrollController, sprite: Clutter.Sprite, source: Clutter.ScrollSource, dx: number, dy: number): void; _swipeBegin(tracker: any, monitor: Clutter.EventSequence): void; _swipeUpdate(tracker: any, progress: number): void; _swipeEnd(tracker: any, duration: number, endProgress: number): void; @@ -226,8 +232,13 @@ export class AppDisplay extends BaseAppView { _getItemPosition(item: AppViewItem): [number, number]; _compareItems(a: AppViewItem, b: AppViewItem): number; _loadApps(): AppViewItem[]; - _onScroll(actor: St.ScrollView, event: Clutter.ScrollEvent): boolean; - _onKeyPressEvent(actor: St.Widget, event: Clutter.KeyEvent): boolean; + /** + * Handles the `scroll` signal of the page's scroll controller. GNOME 51 + * replaced the old `(actor, event)` handler with these arguments. + * + * @version 51 + */ + _onScroll(controller: Clutter.ScrollController, sprite: Clutter.Sprite, source: Clutter.ScrollSource, dx: number, dy: number): void; _maybeMoveItem(dragEvent: DragEvent): void; /** @hidden */ _onDragBegin(): void; diff --git a/packages/gnome-shell/src/ui/appFavorites.d.ts b/packages/gnome-shell/src/ui/appFavorites.d.ts index 035dd6e..2cf54b2 100644 --- a/packages/gnome-shell/src/ui/appFavorites.d.ts +++ b/packages/gnome-shell/src/ui/appFavorites.d.ts @@ -9,7 +9,6 @@ declare class AppFavorites extends EventEmitter { constructor(); - _onFavsChanged(): void; _getIds(): string[]; _addFavorite(appId: string, pos: number): void; _removeFavorite(appId: string): void; diff --git a/packages/gnome-shell/src/ui/boxpointer.d.ts b/packages/gnome-shell/src/ui/boxpointer.d.ts index 77663f2..c9decb5 100644 --- a/packages/gnome-shell/src/ui/boxpointer.d.ts +++ b/packages/gnome-shell/src/ui/boxpointer.d.ts @@ -27,8 +27,8 @@ export class BoxPointer extends St.Widget { _border: St.DrawingArea; _arrowAlignment: number; _sourceAlignment: number; - _muteKeys: boolean; - _muteInput: boolean; + _muteKeys: Clutter.KeyController; + _muteInput: Clutter.ClickGesture; _sourceActor: Clutter.Actor | null; _sourceExtents: ReturnType; _workArea: ReturnType; @@ -51,8 +51,6 @@ export class BoxPointer extends St.Widget { */ _init(arrowSide: St.Side, binProperties?: Partial): void; - vfunc_captured_event(event: Clutter.Event): boolean; - vfunc_get_preferred_width(forHeight: number): [number, number]; vfunc_get_preferred_height(forWidth: number): [number, number]; diff --git a/packages/gnome-shell/src/ui/calendar.d.ts b/packages/gnome-shell/src/ui/calendar.d.ts index 36adb73..ed73ed3 100644 --- a/packages/gnome-shell/src/ui/calendar.d.ts +++ b/packages/gnome-shell/src/ui/calendar.d.ts @@ -5,7 +5,6 @@ import type Gio from '@girs/gio-2.0'; import type St from '@girs/st-51'; import type Clutter from '@girs/clutter-51'; -import type { Switch } from './popupMenu.js'; import type { MessageView } from './messageList.js'; declare function sameYear(dateA: Date, dateB: Date): boolean; @@ -154,7 +153,13 @@ export class Calendar extends St.Widget { updateTimeZone(): void; - vfunc_scroll_event(event: Clutter.ScrollEvent): boolean; + /** + * Handles the `scroll` signal of the calendar's scroll controller, which + * flips to the previous or next month. + * + * @version 51 + */ + _onScroll(controller: Clutter.ScrollController, sprite: Clutter.Sprite, source: Clutter.ScrollSource, dx: number, dy: number): void; _buildHeader(): void; _onPrevMonthButtonClicked(): void; @@ -174,17 +179,6 @@ declare class Placeholder extends St.BoxLayout { _init(): void; } -declare class DoNotDisturbSwitch extends Switch { - _settings: Gio.Settings; - - constructor(); - /** @hidden */ - override _init(config?: Partial): void; - /** @hidden */ - override _init(state: boolean): void; - _init(): void; -} - /** * @see https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/calendar.js#L799 * @version 48 @@ -193,8 +187,6 @@ declare class DoNotDisturbSwitch extends Switch { export class CalendarMessageList extends St.Widget { _placeholder: Placeholder; _scrollView: St.ScrollView; - _dndSwitch: DoNotDisturbSwitch; - _dndButton: St.Button; _clearButton: St.Button; _messageView: MessageView; diff --git a/packages/gnome-shell/src/ui/dialog.d.ts b/packages/gnome-shell/src/ui/dialog.d.ts index 0890f39..9b3ed9e 100644 --- a/packages/gnome-shell/src/ui/dialog.d.ts +++ b/packages/gnome-shell/src/ui/dialog.d.ts @@ -30,7 +30,6 @@ export class Dialog extends St.Widget { _init(parentActor: St.Widget, styleClass?: string | null): void; makeInactive(): void; - vfunc_event(event: Clutter.Event): boolean; addButton(buttonInfo: ButtonInfo): St.Button; clearButtons(): void; diff --git a/packages/gnome-shell/src/ui/layout.d.ts b/packages/gnome-shell/src/ui/layout.d.ts index 6d7ce32..a2bff0c 100644 --- a/packages/gnome-shell/src/ui/layout.d.ts +++ b/packages/gnome-shell/src/ui/layout.d.ts @@ -112,7 +112,6 @@ declare class ScreenTransition extends Clutter.Actor { * @version 48 */ declare class HotCorner extends Clutter.Actor { - _entered: boolean; _monitor: Monitor; _x: number; _y: number; @@ -126,13 +125,9 @@ declare class HotCorner extends Clutter.Actor { setBarrierSize(size: number): void; handleDragOver(source: any, actor: any, x: number, y: number, time: number): DragMotionResult; - vfunc_leave_event(event: Clutter.Event): boolean; - _setupFallbackCornerIfNeeded(layoutManager: LayoutManager): void; _onDestroy(): void; _toggleOverview(): void; - _onCornerEntered(): void; - _onCornerLeft(actor: Clutter.Actor, event: Clutter.Event): void; } /** @@ -159,7 +154,6 @@ export class LayoutManager extends GObject.Object { _keyboardHeightNotifyId: number; _backgroundGroup: Meta.BackgroundGroup; _interfaceSettings: Gio.Settings; - _pendingLoadBackground: boolean; _systemBackground: SystemBackground; readonly _startingUp: boolean; diff --git a/packages/gnome-shell/src/ui/messageList.d.ts b/packages/gnome-shell/src/ui/messageList.d.ts index d2aafd4..9baef89 100644 --- a/packages/gnome-shell/src/ui/messageList.d.ts +++ b/packages/gnome-shell/src/ui/messageList.d.ts @@ -19,10 +19,21 @@ export class URLHighlighter extends St.Label { _init(params?: Partial): void; _init(text?: string, lineWrap?: boolean, allowMarkup?: boolean): void; - vfunc_button_press_event(buttonEvent: Clutter.ButtonEvent): boolean; - vfunc_button_release_event(buttonEvent: Clutter.ButtonEvent): boolean; - vfunc_motion_event(motionEvent: Clutter.MotionEvent): boolean; - vfunc_leave_event(crossingEvent: Clutter.CrossingEvent): boolean; + /** + * Handles the `motion` signal of the label's motion controller, which sets + * the pointer cursor over a URL. + * + * @version 51 + */ + _onMotion(controller: Clutter.MotionController, sprite: Clutter.Sprite, x: number, y: number): void; + + /** + * Handles the `leave` signal of the same controller and restores the + * default cursor. + * + * @version 51 + */ + _onLeave(): void; setMarkup(text?: string, allowMarkup?: boolean): void; _highlightUrls(): void; @@ -117,7 +128,13 @@ export class Message extends St.Button { canClose(): boolean; - vfunc_key_press_event(keyEvent: Clutter.KeyEvent): boolean; + /** + * Closes the message if its notification allows it. The BackSpace and + * Delete key bindings call this. + * + * @version 51 + */ + _closeIfAllowed(): void; } /** @@ -133,16 +150,11 @@ export class NotificationMessage extends Message { vfunc_clicked(): void; canClose(): boolean; - - _getIcon(): St.Icon; - _onUpdated(n: Notification, _clear?: boolean): void; } declare class MediaMessage extends Message { _player: MprisPlayer; _icon: St.Icon; - _secondaryBin: St.Bin; - _closeButton: St.Button; _prevButton: St.Button; _playPauseButton: St.Button; _nextButton: St.Button; diff --git a/packages/gnome-shell/src/ui/messageTray.d.ts b/packages/gnome-shell/src/ui/messageTray.d.ts index 6579d76..d1f8a01 100644 --- a/packages/gnome-shell/src/ui/messageTray.d.ts +++ b/packages/gnome-shell/src/ui/messageTray.d.ts @@ -340,13 +340,11 @@ export class MessageTray extends St.Widget { _onDragBegin(): void; _onDragEnd(): void; - _onNotificationKeyRelease(actor: St.Widget, event: Clutter.Event): boolean; _expireNotification(): void; _addSource(source: Source): void; _removeSource(source: Source): void; _onSourceEnableChanged(policy: NotificationPolicy, source: Source): void; _onNotificationRemoved(source: Source, notification: Notification): void; - _onNotificationShow(_source: Source, notification: Notification): void; _resetNotificationLeftTimeout(): void; _onNotificationHoverChanged(): void; _onStatusChanged(status: PresenceStatus): void; diff --git a/packages/gnome-shell/src/ui/modalDialog.d.ts b/packages/gnome-shell/src/ui/modalDialog.d.ts index 158e38e..9fa247f 100644 --- a/packages/gnome-shell/src/ui/modalDialog.d.ts +++ b/packages/gnome-shell/src/ui/modalDialog.d.ts @@ -80,7 +80,6 @@ export class ModalDialog extends St.Widget { _fadeOutDialog(timestamp: number): void; vfunc_key_press_event(event: Clutter.Event): boolean; - vfunc_captured_event(event: Clutter.Event): boolean; clearButtons(): void; setButtons(buttons: ButtonInfo[]): void; diff --git a/packages/gnome-shell/src/ui/popupMenu.d.ts b/packages/gnome-shell/src/ui/popupMenu.d.ts index 0f67532..6772560 100644 --- a/packages/gnome-shell/src/ui/popupMenu.d.ts +++ b/packages/gnome-shell/src/ui/popupMenu.d.ts @@ -141,9 +141,7 @@ export class Switch extends St.Widget { _startDragging(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; override vfunc_motion_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; override vfunc_button_release_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; - _touchDragging(actor: Clutter.Actor, event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; _endDragging(): typeof Clutter.EVENT_PROPAGATE; - _motionEvent(actor: Clutter.Actor, event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; // General signal handler methods connect(sigName: string, callback: (...args: any[]) => void): number; diff --git a/packages/gnome-shell/src/ui/search.d.ts b/packages/gnome-shell/src/ui/search.d.ts index 60473a6..c80fd4b 100644 --- a/packages/gnome-shell/src/ui/search.d.ts +++ b/packages/gnome-shell/src/ui/search.d.ts @@ -2,6 +2,7 @@ import type St from '@girs/st-51'; import type Clutter from '@girs/clutter-51'; +import type GObject from '@girs/gobject-2.0'; import { AppSearchProvider } from './appDisplay.js'; @@ -16,6 +17,30 @@ export interface MetaInfo { clipboardText?: string; } +export namespace SearchEntry { + export interface SignalSignatures extends St.Entry.SignalSignatures { + 'activate-new-instance': () => void; + } +} + +/** + * The overview's search entry. Ctrl+Enter emits `activate-new-instance` rather + * than activating the selected result. + * + * @version 51 + */ +export class SearchEntry extends St.Entry { + $signals: SearchEntry.SignalSignatures; + + // Signal handler methods + connect(signal: K, callback: GObject.SignalCallback): number; + connect_after(signal: K, callback: GObject.SignalCallback): number; + + // Generic signal handler methods + connect(signal: string, callback: (...args: any[]) => any): number; + connect_after(signal: string, callback: (...args: any[]) => any): number; +} + export class MaxWidthBox extends St.BoxLayout {} export class SearchResult extends St.Button { @@ -125,7 +150,6 @@ export class SearchResultsView extends St.BoxLayout { _doProviderSearch(provider: AppSearchProvider, previousResults: any[]): Promise; _doSearch(): void; _onSearchTimeout(): void; - _onPan(action: any): void; _focusChildChanged(provider: AppSearchProvider): void; _ensureProviderDisplay(provider: AppSearchProvider): void; _clearDisplay(): void; diff --git a/packages/gnome-shell/src/ui/slider.d.ts b/packages/gnome-shell/src/ui/slider.d.ts index 9df137d..f6cd235 100644 --- a/packages/gnome-shell/src/ui/slider.d.ts +++ b/packages/gnome-shell/src/ui/slider.d.ts @@ -20,66 +20,36 @@ export class Slider extends BarLevel.BarLevel { vfunc_repaint(): void; /** - * Handles button press events, initiating dragging. - * @param event The Clutter button press event. - * @returns The event propagation status. + * Moves the value by the given number of scroll steps. + * @param nSteps The number of steps, negative to move towards the start. + * @returns Whether the value changed. */ - vfunc_button_press_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; + step(nSteps: number): boolean; /** - * Starts dragging the slider. - * @param event The Clutter event initiating the drag. - * @returns The event propagation status. + * Handles the `scroll` signal of the smooth, horizontal scroll controller. + * The slider adds a second, discrete controller for the vertical axis, and + * that one has its own inline handler, so only `dx` arrives here. + * + * @version 51 */ - startDragging(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; + _onScroll(controller: Clutter.ScrollController, sprite: Clutter.Sprite, source: Clutter.ScrollSource, dx: number): void; /** - * Ends dragging the slider. - * @returns The event propagation status. + * Moves the handle a tenth of the range towards the left edge. The Left key + * binding calls it. + * + * @version 51 */ - _endDragging(): typeof Clutter.EVENT_PROPAGATE; + _moveLeft(): void; /** - * Handles button release events. - * @returns The event propagation status. + * Moves the handle a tenth of the range towards the right edge. The Right + * key binding calls it. + * + * @version 51 */ - vfunc_button_release_event(): typeof Clutter.EVENT_PROPAGATE; - - /** - * Handles touch events for the slider. - * @param event The Clutter touch event. - * @returns The event propagation status. - */ - vfunc_touch_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; - - /** - * Scrolls the slider. - * @param event The Clutter scroll event. - * @returns The event propagation status. - */ - scroll(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; - - /** - * Handles scroll events for the slider. - * @param event The Clutter scroll event. - * @returns The event propagation status. - */ - vfunc_scroll_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; - - /** - * Handles motion events during dragging. - * @param actor The actor receiving the motion event. - * @param event The Clutter motion event. - * @returns The event propagation status. - */ - _motionEvent(actor: Clutter.Actor, event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; - - /** - * Handles key press events for the slider. - * @param event The Clutter key press event. - * @returns The event propagation status. - */ - vfunc_key_press_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE; + _moveRight(): void; /** * Moves the handle of the slider to a new position based on the given coordinates. diff --git a/packages/gnome-shell/src/ui/status/backlight.d.ts b/packages/gnome-shell/src/ui/status/backlight.d.ts index 3d37c2e..c864721 100644 --- a/packages/gnome-shell/src/ui/status/backlight.d.ts +++ b/packages/gnome-shell/src/ui/status/backlight.d.ts @@ -1,3 +1,4 @@ +import Clutter from '@girs/clutter-51'; import St from '@girs/st-51'; import Gio from '@girs/gio-2.0'; @@ -29,6 +30,14 @@ export declare class SliderItem extends PopupMenu.PopupBaseMenuItem { * Sets the value of the slider. */ set value(value: number); + + /** + * Forwards focus navigation to the slider, so Left and Right reach the + * slider's own key bindings. + * + * @version 51 + */ + vfunc_navigate_focus(from: Clutter.Actor | null, direction: St.DirectionType): boolean; } /** diff --git a/packages/gnome-shell/src/ui/status/volume.d.ts b/packages/gnome-shell/src/ui/status/volume.d.ts index b7bde12..ff1167e 100644 --- a/packages/gnome-shell/src/ui/status/volume.d.ts +++ b/packages/gnome-shell/src/ui/status/volume.d.ts @@ -105,12 +105,21 @@ export declare class VolumeIndicator extends SystemIndicator { _input: InputStreamSlider; /** - * Handle scroll events for volume adjustment. + * Handles the indicator's scroll controller. The base class throws + * `GObject.NotImplementedError`; subclasses pick the stream to adjust. + * + * @version 51 + */ + _onScroll(source: Clutter.ScrollSource, dx: number, dy: number): void; + + /** + * Steps the given stream slider and shows its OSD. * @param item The StreamSlider item. - * @param event The Clutter scroll event. - * @returns Clutter.EVENT_STOP or Clutter.EVENT_PROPAGATE + * @param delta The scroll delta along the slider's axis. + * + * @version 51 */ - _handleScrollEvent(item: StreamSlider, event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE | typeof Clutter.EVENT_STOP; + _handleScroll(item: StreamSlider, delta: number): void; } /** diff --git a/packages/gnome-shell/src/ui/switcherPopup.d.ts b/packages/gnome-shell/src/ui/switcherPopup.d.ts index e71eb37..f575742 100644 --- a/packages/gnome-shell/src/ui/switcherPopup.d.ts +++ b/packages/gnome-shell/src/ui/switcherPopup.d.ts @@ -23,15 +23,29 @@ export abstract class SwitcherPopup extends St.Widget { _keyPressHandler(_keysym: any, _action: any): typeof Clutter.EVENT_PROPAGATE | typeof Clutter.EVENT_STOP; - vfunc_key_press_event(keyEvent: Clutter.KeyEvent): typeof Clutter.EVENT_PROPAGATE | typeof Clutter.EVENT_STOP; - - vfunc_key_release_event(keyEvent: Clutter.KeyEvent): typeof Clutter.EVENT_PROPAGATE | typeof Clutter.EVENT_STOP; - - vfunc_button_press_event(): typeof Clutter.EVENT_PROPAGATE | typeof Clutter.EVENT_STOP; + /** + * Handles the `key-press` signal of the popup's key controller. + * + * @version 51 + */ + _onKeyPress(controller: Clutter.KeyController): boolean; + + /** + * Handles the `modifier-change` signal, which finishes the switch once the + * held modifier goes up. + * + * @version 51 + */ + _onModifierChange(controller: Clutter.KeyController): void; _scrollHandler(direction: any): void; - vfunc_scroll_event(scrollEvent: any /* Clutter.ScrollEvent */): typeof Clutter.EVENT_PROPAGATE | typeof Clutter.EVENT_STOP; + /** + * Handles the `scroll` signal of the popup's scroll controller. + * + * @version 51 + */ + _onScroll(controller: Clutter.ScrollController, sprite: Clutter.Sprite, source: Clutter.ScrollSource, dx: number, dy: number): void; _itemActivatedHandler(n: number): void; diff --git a/packages/gnome-shell/src/ui/userWidget.d.ts b/packages/gnome-shell/src/ui/userWidget.d.ts index 6786ffe..643c88b 100644 --- a/packages/gnome-shell/src/ui/userWidget.d.ts +++ b/packages/gnome-shell/src/ui/userWidget.d.ts @@ -2,4 +2,18 @@ import type St from '@girs/st-51'; -export class UserWidget extends St.BoxLayout {} +export class UserWidget extends St.BoxLayout { + /** + * Hides the avatar and leaves the user name in place. + * + * @version 51 + */ + hideAvatar(): void; + + /** + * Shows the avatar again. + * + * @version 51 + */ + showAvatar(): void; +}