@girs/gnome-shell
Version:
GJS TypeScript type definitions for GNOME Shell Extensions
120 lines (99 loc) • 2.82 kB
TypeScript
/**
* Type definitions for the Remote Access feature in GNOME's UI status.
* @see https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/status/remoteAccess.js
*/
import Clutter from '@girs/clutter-16';
import St from '@girs/st-16';
import * as PanelMenu from '../panelMenu.js';
import { SystemIndicator } from '../quickSettings.js';
/**
* Minimum amount of time the shared indicator is visible (in microseconds).
*/
declare const MIN_SHARED_INDICATOR_VISIBLE_TIME_US: number;
/**
* Class representing the Remote Access Applet.
*/
export declare class RemoteAccessApplet extends SystemIndicator {
private _handles: Set<any>;
private _indicator: any;
/**
* Initialize a new Remote Access Applet.
*/
_init(): void;
/**
* Determine if recording is in progress.
*/
private _isRecording(): boolean;
/**
* Synchronize the applet's visibility.
*/
private _sync(): void;
/**
* Handle the stop event for a recording handle.
*/
private _onStopped(handle: any): void;
/**
* Handle a new recording handle.
*/
private _onNewHandle(handle: any): void;
}
/**
* Class representing the Screen Recording Indicator.
*/
export declare class ScreenRecordingIndicator extends PanelMenu.ButtonBox {
private _box: St.BoxLayout;
private _label: St.Label;
private _icon: St.Icon;
private _timeoutId: number;
private _secondsPassed: number;
/**
* Initialize a new Screen Recording Indicator.
*/
_init(): void;
/**
* Override the default event handling.
*/
vfunc_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE;
/**
* Update the label displaying recording time.
*/
private _updateLabel(): void;
/**
* Handle changes in screencast progress.
*/
private _onScreencastInProgressChanged(): void;
}
/**
* Class representing the Screen Sharing Indicator.
*/
export declare class ScreenSharingIndicator extends PanelMenu.ButtonBox {
private _box: St.BoxLayout;
private _controller: any;
private _handles: Set<any>;
private _hideIndicatorId?: number;
private _visibleTimeUs?: number;
/**
* Initialize a new Screen Sharing Indicator.
*/
_init(): void;
/**
* Handle a new screen sharing handle.
*/
private _onNewHandle(handle: any): void;
/**
* Override the default event handling.
*/
vfunc_event(event: Clutter.Event): typeof Clutter.EVENT_PROPAGATE;
/**
* Stop all ongoing screen sharing sessions.
*/
private _stopSharing(): void;
/**
* Hide the screen sharing indicator.
*/
private _hideIndicator(): boolean;
/**
* Synchronize the visibility of the indicator.
*/
private _sync(): void;
}