// Type definitions for non-npm package OpenFin API 45.0 // Project: https://openfin.co/ // Definitions by: Chris Barker // Ricardo de Pena // Roma // Li Cui // Tomer Sharon // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.9 // based on v13.76.45.9 // see https://openfin.co/support/technical-faq/#what-do-the-numbers-in-the-runtime-version-mean /** * JavaScript API * The JavaScript API allows you to create an HTML/JavaScript application that has access to the native windowing environment, * can communicate with other applications and has access to sandboxed system-level features. * * API Ready * When using the OpenFin API, it is important to ensure that it has been fully loaded before making any API calls. To verify * that the API is in fact ready, be sure to make any API calls either from within the fin.desktop.main() method or explicitly * after it has returned. This avoids the situation of trying to access methods that are not yet fully injected. * * Overview * When running within the OpenFin Runtime your web applications have access to the "fin" namespace and all the modules within the API * without the need to include additional source files. You can treat the "fin" namespace as you would the "window", "navigator" or "document" objects. */ declare namespace fin { var Application: import('./_v2/api/application/application').default; var Clipboard: import('./_v2/api/clipboard/clipboard').default; var ExternalApplication: import('./_v2/api/external-application/external-application').default var ExternalWindow: import('./_v2/api/external-window/external-window').default; var Frame: import('./_v2/api/frame/frame').default; var GlobalHotkey: import('./_v2/api/global-hotkey/index').default; var InterApplicationBus: import('./_v2/api/interappbus/interappbus').default; var Notification: import('./_v2/api/notification/notification').default; var System: import('./_v2/api/system/system').default; var Window: import('./_v2/api/window/window').default; // v2 shapes type applicationLogInfo = import('./_v2/api/application/application').LogInfo; type ApplicationOption = import('./_v2/api/application/applicationOption').ApplicationOption; type ApplicationInfo = import('./_v2/api/system/application').ApplicationInfo; type AppAssetInfo = import('./_v2/api/system/download-asset').AppAssetInfo; type AppAssetRequest = import('./_v2/api/system/download-asset').AppAssetRequest; type AnchorType = import('./_v2/shapes').AnchorType type Bounds = import('./_v2/shapes').Bounds; type ClearCacheOption = import('./_v2/api/system/clearCacheOption').ClearCacheOption; type CookieInfo = import('./_v2/api/system/cookie').CookieInfo; type CookieOption = import('./_v2/api/system/cookie').CookieOption; type CrashReporterOption = import('./_v2/api/system/crashReporterOption').CrashReporterOption; type ContextMenuSettings = import('./_v2/shapes').ContextMenuSettings; type DownloadPreloadInfo = import('./_v2/api/system/download-preload').DownloadPreloadInfo; type DownloadPreloadOption = import('./_v2/api/system/download-preload').DownloadPreloadOption; type EntityInfo = import('./_v2/api/system/entity').EntityInfo; type ExternalApplicationInfo = import('./_v2/api/external-application/external-application').ExternalApplicationInfo; type ExternalProcessRequestType = import('./_v2/api/system/external-process').ExternalProcessRequestType; type ExternalProcessInfo = import('./_v2/api/system/external-process').ExternalProcessInfo; type FrameInfo = import('./_v2/api/window/window').FrameInfo; type HostSpecs = import('./_v2/api/system/host-specs').HostSpecs; type Identity = import('./_v2/identity').Identity; type LaunchInfo = import('./_v2/api/application/application').ApplicationInfo; type LogInfo = import('./_v2/api/system/log').LogInfo; type MonitorInfo = import('./_v2/api/system/monitor').MonitorInfo; type Opacity = import('./_v2/shapes').Opacity; type PointTopLeft = import('./_v2/api/system/point').PointTopLeft; type Position = import('./_v2/shapes').Position; type ProcessInfo = import('./_v2/api/system/process').ProcessInfo; type ProxyInfo = import('./_v2/api/system/proxy').ProxyInfo; type RegistryInfo = import('./_v2/api/system/registry-info').RegistryInfo; type RuntimeInfo = import('./_v2/api/system/runtime-info').RuntimeInfo; type RVMInfo = import('./_v2/api/system/rvm').RVMInfo; type RGB = import('./_v2/shapes').RGB; type RuntimeDownloadOptions = import('./_v2/api/system/download-asset').RuntimeDownloadOptions; type RuntimeDownloadProgress = import('./_v2/api/system/download-asset').RuntimeDownloadProgress; type ShortCutConfig = import('./_v2/api/application/application').ShortCutConfig; type SystemWindowInfo = import('./_v2/api/system/window').WindowInfo; type Size = import('./_v2/shapes').Size; type TrayInfo = import('./_v2/api/application/application').TrayInfo; type Transition = import('./_v2/shapes').Transition; type TransitionOptions = import('./_v2/shapes').TransitionOptions; type TransitionBase = import('./_v2/shapes').TransitionBase; type WindowDetail = import('./_v2/api/system/window').WindowDetail; type WindowOption = import('./_v2/api/window/windowOption').WindowOption; type WindowInfo = import('./_v2/api/window/window').WindowInfo; const desktop: OpenFinDesktop; interface OpenFinDesktop { main(f: () => any): void; Application: OpenFinApplicationStatic; ExternalApp: OpenFinExternalApplicationStatic; GlobalHotkey: OpenFinGlobalHotkey; InterApplicationBus: OpenFinInterApplicationBus; Notification: OpenFinNotificationStatic; System: OpenFinSystem; Window: OpenFinWindowStatic; ExternalWin: OpenFinExternalWindowStatic; Frame: OpenFinFrameStatic; } interface OpenFinApplicationStatic { /** * Creates a new Application. * An object representing an application. Allows the developer to create, execute, show/close an application as well as listen to application events. */ new ( options: ApplicationOption, callback?: (successObj: { httpResponseCode: number }) => void, errorCallback?: (reason: string, errorObj: NetworkErrorInfo) => void): OpenFinApplication; /** * Launches the given Application manifest. */ createFromManifest(manifestUrl: string, callback?: (app: OpenFinApplication) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Returns an Application object that represents an existing application. */ getCurrent(): OpenFinApplication; /** * Returns an Application object that represents an existing application. */ wrap(uuid: string): OpenFinApplication; } /** * Application * An object representing an application. Allows the developer to create, execute, show / close an application as well as listen to application events. */ interface OpenFinApplication { /** * Returns an instance of the main Window of the application */ getWindow(): OpenFinWindow; /** * Registers an event listener on the specified event. */ addEventListener( type: OpenFinApplicationEventType, listener: (event: ApplicationBaseEvent | TrayIconClickedEvent | WindowEvent | WindowAlertRequestedEvent | WindowAuthRequested | WindowNavigationRejectedEvent | WindowEndLoadEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Closes the application and any child windows created by the application. */ close(force?: boolean, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of wrapped fin.desktop.Windows for each of the application's child windows. */ getChildWindows(callback?: (children: OpenFinWindow[]) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of active window groups for all of the application's windows. Each group is represented as an array of wrapped fin.desktop.Windows. */ getGroups(callback?: (groups: OpenFinWindow[][]) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves information about the application. */ getInfo(callback?: (info: LaunchInfo) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves the JSON manifest that was used to create the application. Invokes the error callback if the application was not created from a manifest. */ getManifest(callback?: (manifest: any) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves UUID of the application that launches this application. Invokes the error callback if the application was created from a manifest. */ getParentUuid(callback?: (uuid: string) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves current configuration of application's shortcuts. */ getShortcuts(callback?: (config: ShortCutConfig) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves information about the system tray. */ getTrayIconInfo(callback?: (trayInfo: TrayInfo) => void, errorCallback?: (reason: string) => void): void; /** * Returns the current zoom level of the application. */ getZoomLevel(callback?: (level: number) => void, errorCallback?: (reason: string) => void): void; /** * Determines if the application is currently running. */ isRunning(callback?: (running: boolean) => void, errorCallback?: (reason: string) => void): void; /** * Registers a username and an app name for licensing purposes. */ registerUser(userName: string, appName: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Removes a previously registered event listener from the specified event. */ removeEventListener( type: OpenFinApplicationEventType, previouslyRegisteredListener: (event: ApplicationBaseEvent | TrayIconClickedEvent | WindowEvent | WindowAlertRequestedEvent | WindowAuthRequested | WindowNavigationRejectedEvent | WindowEndLoadEvent) => any, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Removes the application's icon from the tray. */ removeTrayIcon(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Restarts the application. */ restart(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Runs the application. When the application is created, run must be called. */ run(callback?: (successObj: SuccessObj) => void, errorCallback?: (reason: string, errorObj: NetworkErrorInfo) => void): void; /** * Tells the rvm to relaunch the main application once upon a complete shutdown */ scheduleRestart(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Sends a message to the RVM to upload the application's logs. On success, an object containing logId is returned. */ sendApplicationLog(callback?: (logInfo: applicationLogInfo) => void, errorCallback?: (reason: string) => void): void; /** * Sets an associated username with that app for Application Log Management use */ setAppLogUsername(username: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Sets new shortcut configuration for current application. * Application has to be launched with a manifest and has to have shortcut configuration (icon url, name, etc.) in its manifest to * be able to change shortcut states. */ setShortcuts(config: ShortCutConfig, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Adds a customizable icon in the system tray and notifies the application when clicked. */ setTrayIcon(iconUrl: string, listener: (clickInfo: TrayIconClickedEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Sets the zoom level of the application. The original size is 0 and each increment above or below represents zooming 20% * larger or smaller to default limits of 300% and 50% of original size, respectively. */ setZoomLevel(level: number, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Closes the application by terminating its process. */ terminate(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Waits for a hanging application. This method can be called in response to an application "not-responding" to allow the application * to continue and to generate another "not-responding" message after a certain period of time. */ wait(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * The Application's uuid */ uuid: string; } interface SuccessObj { httpResponseCode: number; } interface NetworkErrorInfo extends ErrorInfo { networkErrorCode: number; } interface ErrorInfo { stack: string; message: string; } /** * Clipboard * Clipboard API allows reading and writting to the clipboard in multiple formats. */ interface OpenFinClipboard { /** * Reads available formats for the clipboard type */ availableFormats(type: string | null, callback?: (formats: string[]) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Reads available formats for the clipboard type */ readHtml(type: string | null, callback?: (html: string) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Read the content of the clipboard as Rtf */ readRtf(type: string | null, callback?: (rtf: string) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Read the content of the clipboard as plain text */ readText(type: string | null, callback?: (text: string) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Writes data into the clipboard */ write(data: any, type: string | null, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Writes data into the clipboard as Html */ writeHtml(data: string, type: string | null, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Writes data into the clipboard as Rtf */ writeRtf(data: string, type: string | null, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Writes data into the clipboard as plain text */ writeText(data: string, type: string | null, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; } interface OpenFinExternalApplicationStatic { /** * Returns an External Application object that represents an existing external application. */ wrap(uuid: string): OpenFinExternalApplication; } /** * ExternalApplication * An object representing an application. Allows the developer to create, execute, show and close an application, as well as listen to application events. */ interface OpenFinExternalApplication { /** * Retrieves information about the application. */ getInfo(callback?: (info: ExternalApplicationInfo) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Registers an event listener on the specified event. */ addEventListener( type: OpenFinExternalApplicationEventType, listener: () => void, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Removes a previously registered event listener from the specified event. */ removeEventListener( type: OpenFinExternalApplicationEventType, listener: () => void, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; } /** * GlobalHotkey * The Global Hotkey allows the registration and unregistration of given hotkeys at the OS level, meaning a Window/Application will receive the events regardless of focused state. */ interface OpenFinGlobalHotkey { /** * Registers an event listener on the specified event. */ addEventListener( type: OpenFinGlobalHotkeyEventType, listener: (event: GlobalHotkeyEvent) => void, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Checks if a given hotkey has been registered */ isRegistered(hotkey: string, callback?: (registered: boolean) => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Registers a global hotkey with the operating system. */ register(hotkey: string, listener: () => void, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Removes a previously registered event listener from the specified event. */ removeEventListener( type: OpenFinGlobalHotkeyEventType, listener: (event: GlobalHotkeyEvent) => void, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Unregisters a global hotkey with the operating system. */ unregister(hotkey: string, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Unregisters all global hotkeys for the current application. */ unregisterAll(callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; } /** * InterApplicationBus * A messaging bus that allows for pub/sub messaging between different applications. */ interface OpenFinInterApplicationBus { /** * Adds a listener that gets called when applications subscribe to the current application's messages. */ addSubscribeListener(listener: (uuid: string, topic: string, name: string) => void): void; /** * Adds a listener that gets called when applications unsubscribe to the current application's messages. */ addUnsubscribeListener(listener: (uuid: string, topic: string, name: string) => void): void; /** * Removes a previously registered subscribe listener. */ removeSubscribeListener(listener: (uuid: string, topic: string, name: string) => void): void; /** * Removes a previously registered unsubscribe listener. */ removeUnsubscribeListener(listener: (uuid: string, topic: string, name: string) => void): void; /** * Publishes a message to all applications running on OpenFin Runtime that are subscribed to the specified topic. */ publish(topic: string, message: any, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Sends a message to a specific application on a specific topic. */ send(destinationUuid: string, name: string, topic: string, message: any, callback?: () => void, errorCallback?: (reason: string) => void): void; send(destinationUuid: string, topic: string, message: any, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Subscribes to messages from the specified application on the specified topic. If the subscription is for a uuid, [name], * topic combination that has already been published to upon subscription you will receive the last 20 missed messages in the order they were published. */ subscribe( senderUuid: string, name: string, topic: string, listener: (message: any, uuid: string, name: string) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; subscribe( senderUuid: string, topic: string, listener: (message: any, uuid: string, name: string) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Unsubscribes to messages from the specified application on the specified topic. */ unsubscribe( senderUuid: string, name: string, topic: string, listener: (message: any, uuid: string, name: string) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; unsubscribe( senderUuid: string, topic: string, listener: (message: any, uuid: string, name: string) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; } interface OpenFinNotificationStatic { /** * ctor */ new (options: NotificationOptions, callback?: () => void, errorCallback?: (reason: string, errorObj: NetworkErrorInfo) => void): OpenFinNotification; /** * Gets an instance of the current notification. For use within a notification window to close the window or send a message back to its parent application. */ getCurrent(): OpenFinNotification; } /** * Notification * Notification represents a window on OpenFin Runtime which is shown briefly to the user on the bottom-right corner of the primary monitor. * A notification is typically used to alert the user of some important event which requires their attention. * Notifications are a child or your application that are controlled by the runtime. */ interface OpenFinNotification { /** * Closes the notification. */ close(callback?: () => void): void; /** * Sends a message to the notification. */ sendMessage(message: any, callback?: () => void): void; /** * Sends a message from the notification to the application that created the notification. The message is handled by the notification's onMessage callback. */ sendMessageToApplication(message: any, callback?: () => void): void; } interface NotificationOptions { /** * A boolean that will force dismissal even if the mouse is hovering over the notification */ ignoreMouseOver?: boolean; /** * A message of any primitive or composite-primitive type to be passed to the notification upon creation. */ message?: any; /** * The timeout for displaying a notification.Can be in milliseconds or "never". */ timeout?: number | "never"; /** * The url of the notification */ url?: string; /** * A function that is called when a notification is clicked. */ onClick?(callback: () => void): void; /** * Invoked when the notification is closed via .close() method on the created notification instance * or the by the notification itself via fin.desktop.Notification.getCurrent().close(). * NOTE: this is not invoked when the notification is dismissed via a swipe. For the swipe dismissal callback see onDismiss */ onClose?(callback: () => void): void; /** * Invoked when a the notification is dismissed by swiping it off the screen to the right. NOTE: this is no fired on a programmatic close. */ onDismiss?(callback: () => void): void; /** * A function that is called when an error occurs.The reason for the error is passed as an argument. */ onError?(errorCallback: (reason: string, errorObj: NetworkErrorInfo) => void): void; /** * The onMessage function will respond to messages sent from notification.sendMessageToApplication. * The function is passed the message, which can be of any primitive or composite-primitive type. */ onMessage?(callback: (message: any) => void): void; /** * A function that is called when a notification is shown. */ onShow?(callback: (successObj: SuccessObj) => void): void; } /** * System * An object representing the core of OpenFin Runtime. * Allows the developer to perform system-level actions, such as accessing logs, viewing processes, clearing the cache and exiting the runtime. */ interface OpenFinSystem { Clipboard: OpenFinClipboard; /** * Registers an event listener on the specified event. */ addEventListener( type: OpenFinSystemEventType, listener: (event: SystemBaseEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Clears cached data containing window state/positions, * application resource files (images, HTML, JavaScript files), cookies, and items stored in the Local Storage. */ clearCache(options: ClearCacheOption, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Clears all cached data when OpenFin Runtime exits. */ deleteCacheOnExit(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Downloads the given application asset */ downloadAsset( assetObj: AppAssetInfo, progressListener?: (progress: { downloadedBytes: number, totalBytes: number }) => void, callback?: (successObj: { path: string }) => void, errorCallback?: (reason: string, errorObj: NetworkErrorInfo) => void): void; /** * Download preload scripts from given URLs */ downloadPreloadScripts(scripts: DownloadPreloadOption[], callback?: (downloadInfo: DownloadPreloadInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Downloads the given OpenFin Runtime. */ downloadRuntime(options: RuntimeDownloadOptions, onProgress?: (progress: RuntimeDownloadProgress) => void, onComplete?: () => void, errorCallback?: (reason: string) => void): void; /** * Exits the Runtime. */ exit(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Writes any unwritten cookies data to disk. */ flushCookieStore(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of data for all applications. */ getAllApplications(callback?: (applicationInfoList: ApplicationInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of data for all external applications. */ getAllExternalApplications(callback?: (applicationInfoList: ApplicationInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of data (name, ids, bounds) for all application windows. */ getAllWindows(callback?: (windowInfoList: SystemWindowInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Returns information about the app asset. */ getAppAssetInfo(options: AppAssetRequest, callback?: (appAssetInfo: AppAssetInfo) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves the command line argument string that started OpenFin Runtime. */ getCommandLineArguments(callback?: (args: string) => void, errorCallback?: (reason: string) => void): void; /** * Get additional info of cookies. */ getCookies(option: CookieOption, callback?: (info: CookieInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Get the current state of the crash reporter. */ getCrashReporterState(callback?: (state: CrashReporterOption) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves the configuration object that started the OpenFin Runtime. */ getDeviceId(callback?: (uuid: string) => void, errorCallback?: (reason: string) => void): void; /** * Returns a hex encoded hash of the mac address and the currently logged in user name */ getDeviceUserId(callback?: (id: string) => void, errorCallback?: (reason: string) => void): void; /** * Returns an Entity info object relating to the entity specified by the uuid and name passed in. The possible types are 'window', 'iframe', 'external connection' or 'unknown'. */ getEntityInfo(uuid: string, name: string, callback?: (info: EntityInfo) => void, errorCallback?: (reason: string) => void): void; /** * Gets the value of a given environment variable on the computer on which the runtime is installed. */ getEnvironmentVariable(envVar: string, callback?: (variable: string) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves currently focused window identity. */ getFocusedWindow(callback?: (focusedWindowIdentity: Identity) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves system information. */ getHostSpecs(callback?: (info: HostSpecs) => void, errorCallback?: (reason: string) => void): void; /** * * Returns an array of version numbers of the runtimes installed. Requires RVM 5.2+ */ getInstalledRuntimes(): Promise; /** * Retrieves the contents of the log with the specified filename. */ getLog(logFileName: string, callback?: (variable: string) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array containing information for each log file. */ getLogList(callback?: (logInfoList: LogInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Returns a unique identifier (UUID) provided by the machine. */ getMachineId(callback?: (uuid: string) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves the minimum (inclusive) logging level that is currently being written to the logs. */ getMinLogLevel(callback?: (logLevel: string) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an object that contains data about the about the monitor setup of the computer that the runtime is running on. */ getMonitorInfo(callback?: (monitorInfo: MonitorInfo) => void, errorCallback?: (reason: string) => void): void; /** * Returns the mouse in virtual screen coordinates (left, top). */ getMousePosition(callback?: (mousePosition: PointTopLeft) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of all of the runtime processes that are currently running. * Each element in the array is an object containing the uuid and the name of the application to which the process belongs. */ getProcessList(callback?: (processInfoList: ProcessInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves the Proxy settings. */ getProxySettings(callback?: (proxy: ProxyInfo) => void, errorCallback?: (reason: string) => void): void; /** * Returns information about the running Runtime in an object. */ getRuntimeInfo(callback?: (rvmInfo: RuntimeInfo) => void, errorCallback?: (reason: string) => void): void; /** * Returns information about the running RVM in an object. */ getRvmInfo(callback?: (rvmInfo: RVMInfo) => void, errorCallback?: (reason: string) => void): void; /** * Returns the version of the runtime. The version contains the major, minor, build and revision numbers. */ getVersion(callback?: (version: string) => void, errorCallback?: (reason: string) => void): void; /** * Runs an executable or batch file. */ launchExternalProcess(options: ExternalProcessRequestType, callback?: (payload: { uuid: string }) => void, errorCallback?: (reason: string) => void): void; /** * Writes the passed message into both the log file and the console. */ log(level: "debug" | "info" | "warn" | "error", message: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Monitors a running process. */ monitorExternalProcess(options: ExternalProcessInfo, callback?: (payload: { uuid: string }) => void, errorCallback?: (reason: string) => void): void; /** * Opens the passed URL in the default web browser. */ openUrlWithBrowser(url: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Opens the passed URL in the default web browser. */ readRegistryValue(rootKey: string, subkey: string, value: string, callback?: (info: RegistryInfo) => void, errorCallback?: (reason: string) => void): void; /** * This function call will register a unique id and produce a token. The token can be used to broker an external connection. */ registerExternalConnection( uuid: string, callback?: (detail: { /** * this will be unique each time */ token: string; /** * "remote-connection-uuid" */ uuid: string; }) => void, errorCallback?: (reason: string) => void): void; /** * Removes the process entry for the passed UUID obtained from a prior call of fin.desktop.System.launchExternalProcess(). */ releaseExternalProcess(processUuid: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Removes a previously registered event listener from the specified event. */ removeEventListener( type: OpenFinSystemEventType, listener: (event: SystemBaseEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Set the minimum log level above which logs will be written to the OpenFin log */ setMinLogLevel(logLevel: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Shows the Chrome Developer Tools for the specified window. */ showDeveloperTools(uuid: string, name: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Start the crash reporter for the browser process if not already running. * You can optionally specify `diagnosticMode` to have the logs sent to * OpenFin on runtime close */ startCrashReporter(options: CrashReporterOption, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Attempt to close an external process. The process will be terminated if it has not closed after the elapsed timeout in milliseconds. */ terminateExternalProcess( processUuid: string, timeout: number, killTree: boolean, callback?: (info: { result: "clean" | "terminated" | "failed" }) => void, errorCallback?: (reason: string) => void): void; /** * Update the OpenFin Runtime Proxy settings. */ updateProxySettings(type: string, address: string, port: number, callback?: () => void, errorCallback?: (reason: string) => void): void; } interface OpenFinWindowStatic { /** * Class: Window * * new Window(options, callbackopt, errorCallbackopt) * * Creates a new OpenFin Window * * A basic window that wraps a native HTML window. Provides more fine-grained control over the window state such as the ability to minimize, * maximize, restore, etc. By default a window does not show upon instantiation; instead the window's show() method must be invoked manually. * The new window appears in the same process as the parent window. * @param options - The options of the window * @param [callback] - Called if the window creation was successful * @param [callback.successObj] - httpResponseCode */ new ( options: WindowOption, callback?: (successObj: { httpResponseCode: number }) => void, errorCallback?: (reason: string, errorObj: NetworkErrorInfo) => void): OpenFinWindow; /** * Returns an instance of the current window. * @returns Current window */ getCurrent(): OpenFinWindow; /** * Returns a Window object that wraps an existing window. */ wrap(appUuid: string, windowName: string): OpenFinWindow; } /** * Window * A basic window that wraps a native HTML window. Provides more fine-grained control over the window state such as the ability to minimize, * maximize, restore, etc. By default a window does not show upon instantiation; instead the window's show() method must be invoked manually. * The new window appears in the same process as the parent window. */ interface OpenFinWindow { /** * uuid of the application that the window belongs to. */ uuid: string; /** * Name of window */ name: string; /** * Returns the native JavaScript "window" object for the window. This method can only be used by the parent application or the window itself, * otherwise it will return undefined. The same Single-Origin-Policy (SOP) rules apply for child windows created by window.open(url) in that the * contents of the window object are only accessible if the URL has the same origin as the invoking window. See example below. * Also, will not work with fin.desktop.Window objects created with fin.desktop.Window.wrap(). * @returns Native window */ getNativeWindow(): Window; /** * Gets the parent application. * @returns Parent application */ getParentApplication(): OpenFinApplication; /** * Gets the parent window. */ getParentWindow(): OpenFinWindow; /** * Registers an event listener on the specified event. */ addEventListener( type: OpenFinWindowEventType, listener: (event: WindowBaseEvent | WindowAuthRequestedEvent | WindowBoundsEvent | WindowExternalProcessStartedEvent | WindowExternalProcessExited | WindowGroupChangedEvent | WindowHiddenEvent | Window_NavigationRejectedEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Performs the specified window transitions */ animate(transitions: Transition, options: TransitionOptions, callback?: (event: any) => void, errorCallback?: (reason: string) => void): void; /** * Provides credentials to authentication requests */ authenticate(userName: string, password: string, callback?: () => void, errorCallback?: (reason: string, error: ErrorInfo) => void): void; /** * Removes focus from the window. */ blur(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Brings the window to the front of the OpenFin window stack. */ bringToFront(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Closes the window. * @param Close will be prevented from closing when force is false and 'close-requested' has been subscribed to for application's main window. */ close(force?: boolean, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Executes Javascript on the window, restricted to windows you own or windows owned by applications you have created. * @param code JavaScript code to be executed on the window. */ executeJavaScript(code: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Prevents a user from changing a window's size/position when using the window's frame. * 'disabled-frame-bounds-changing' is generated at the start of and during a user move/size operation. * 'disabled-frame-bounds-changed' is generated after a user move/size operation. * The events provide the bounds that would have been applied if the frame was enabled. * 'frame-disabled' is generated when an enabled frame becomes disabled. */ disableFrame(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Re-enables user changes to a window's size/position when using the window's frame. * 'disabled-frame-bounds-changing' is generated at the start of and during a user move/size operation. * 'disabled-frame-bounds-changed' is generated after a user move/size operation. * The events provide the bounds that would have been applied if the frame was enabled. * 'frame-enabled' is generated when a disabled frame has becomes enabled. */ enableFrame(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Flashes the window's frame and taskbar icon until the window is activated. */ flash(options?: any, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Gives focus to the window. */ focus(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array of frame info objects representing the main frame and any * iframes that are currently on the page. */ getAllFrames(callback?: (frames: FrameInfo[]) => void, errorCallback?: (reason: string) => void): void; /** * Gets the current bounds (top, left, width, height) of the window. */ getBounds(callback?: (bounds: Bounds) => void, errorCallback?: (reason: string) => void): void; /** * Retrieves an array containing wrapped fin.desktop.Windows that are grouped with this window. If a window is not in a group an empty array is returned. * Please note that calling window is included in the result array. */ getGroup(callback?: (group: OpenFinWindow[]) => void, errorCallback?: (reason: string) => void): void; /** * Gets an information object for the window. */ getInfo(callback?: (info: WindowInfo) => void, errorCallback?: (reason: string) => void): void; /** * Gets the current settings of the window. */ getOptions(callback?: (options: WindowOption) => void, errorCallback?: (reason: string) => void): void; /** * Gets a base64 encoded PNG snapshot of the window. */ getSnapshot(callback?: (base64Snapshot: string) => void, errorCallback?: (reason: string) => void): void; /** * Gets the current state ("minimized", "maximized", or "normal") of the window. */ getState(callback?: (state: "minimized" | "maximized" | "normal") => void, errorCallback?: (reason: string) => void): void; /** * Returns the zoom level of the window. */ getZoomLevel(callback?: (level: number) => void, errorCallback?: (reason: string) => void): void; /** * Hides the window. */ hide(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Determines if the window is currently showing. */ isShowing(callback?: (showing: boolean) => void, errorCallback?: (reason: string) => void): void; /** * Joins the same window group as the specified window. */ joinGroup(target: OpenFinWindow, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Leaves the current window group so that the window can be move independently of those in the group. */ leaveGroup(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Maximizes the window. */ maximize(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Merges the instance's window group with the same window group as the specified window */ mergeGroups(target: OpenFinWindow, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Minimizes the window. */ minimize(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Moves the window by a specified amount. */ moveBy(deltaLeft: number, deltaTop: number, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Moves the window to a specified location. */ moveTo(left: number, top: number, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Navigates the window to a specified URL. */ navigate(url: string, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Navigates the window back one page. */ navigateBack(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Navigates the window forward one page. */ navigateForward(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Reloads the window current page. */ reload(ignoreCacheopt?: boolean, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Removes a previously registered event listener from the specified event. */ removeEventListener( type: OpenFinWindowEventType, listener: (event: WindowBaseEvent | WindowAuthRequestedEvent | WindowBoundsEvent | WindowExternalProcessStartedEvent | WindowExternalProcessExited | WindowGroupChangedEvent | WindowHiddenEvent | Window_NavigationRejectedEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Resizes the window by a specified amount. */ resizeBy(deltaWidth: number, deltaHeight: number, anchor: AnchorType, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Resizes the window by a specified amount. */ resizeTo(width: number, height: number, anchor: AnchorType, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Restores the window to its normal state (i.e., unminimized, unmaximized). */ restore(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Will bring the window to the front of the entire stack and give it focus. */ setAsForeground(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Sets the window's size and position */ setBounds(left: number, top: number, width: number, height: number, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Sets the zoom level of the window. */ setZoomLevel(level: number, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Shows the window if it is hidden. * @param Show will be prevented from closing when force is false and 'show-requested' has been subscribed to for application's main window. */ show(force?: boolean, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Shows the window if it is hidden at the specified location. If the toggle parameter is set to true, the window will alternate between showing and hiding. */ showAt(left: number, top: number, force?: boolean, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Stops the taskbar icon from flashing. */ stopFlashing(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Stops any current navigation the window is performing. */ stopNavigation(callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Updates the window using the passed options */ updateOptions(options: WindowOption, callback?: () => void, errorCallback?: (reason: string) => void): void; } interface OpenFinExternalWindowStatic { /** * Returns an External Window object that wraps an existing window. */ wrap(appUuid: string, windowName: string): Promise; /** * Synchronously returns an External Window object that wraps an existing window. */ wrapSync(appUuid: string, windowName: string): OpenFinExternalWindow; } /** * Class: ExternalWindow * An ExternalWindow is an OpenFin object representing a window that belongs to a non-openfin application.
* While External Windows don't have the complete functionality of an OpenFin Window object, * they can be used to tap into any application that is currently running in the OS.
* External Windows are useful for grouping, moving and resizing non-openfin applications * as well as listening to events that are dispatched by these applications.
* They are also compatible with OpenFin's Layouts service to facilitate * a complete positional control over all running applications.
*/ interface OpenFinExternalWindow { /** * The external window's id */ uuid: string; /** * The external window's name */ name: string; /** * Brings the external window to the front of the window stack. * @return {Promise.} * @experimental */ /** * Registers an event listener on the specified event. */ addEventListener( type: OpenFinExternalWindowEventType, listener: (event: ExternalWindowBaseEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; bringToFront(): Promise; /** * Closes the external window. * @return {Promise.} * @experimental */ close(): Promise; /** * Prevents a user from changing an external window's size/position * when using the window's frame. * @return {Promise.} * @experimental */ disableUserMovement(): Promise; /** * Re-enables user changes to an external window's size/position * when using the window's frame. * @return {Promise.} * @experimental */ enableUserMovement(): Promise; /** * Flashes the external window’s frame and taskbar icon until stopFlashing is called. * @return {Promise.} * @experimental */ flash(): Promise; /** * Gives focus to the external window. * @return {Promise.} * @emits ExternalWindow#focused * @experimental */ focus(): Promise; /** * Gets the current bounds (top, left, etc.) of the external window. * @return {Promise.} * @experimental */ getBounds(): Promise; /** * Retrieves an array containing wrapped external windows that are grouped * with this external window. If a window is not in a group an empty array * is returned. * @return {Promise.>} * @experimental */ getGroup(): Promise>; /** * Gets an information object for the window. * @return {Promise.} * @experimental */ getInfo(): Promise; /** * Gets an external window's options. * @return {Promise.} * @experimental */ getOptions(): Promise; /** * Gets the current state ("minimized", "maximized", or "restored") of * the external window. * @return {Promise.} * @experimental */ getState(): Promise; /** * Hides the external window. * @return {Promise.} * @experimental */ hide(): Promise; /** * Determines if the external window is currently showing. * @return {Promise.} * @experimental */ isShowing(): Promise; /** * Joins the same window group as the specified window. * @param { _Window | ExternalWindow } target The window whose group is to be joined * @return {Promise.} * @experimental */ joinGroup(target: OpenFinExternalWindow | OpenFinWindow): Promise; /** * Leaves the current window group so that the window can be moved * independently of those in the group. * @return {Promise.} * @experimental */ leaveGroup(): Promise; /** * Maximizes the external window. * @return {Promise.} * @experimental */ maximize(): Promise; /** * Merges the instance's window group with the same window group as the specified window * @param { _Window | ExternalWindow } target The window whose group is to be merged with * @return {Promise.} * @experimental */ mergeGroups(target: OpenFinExternalWindow | OpenFinWindow): Promise; /** * Minimizes the external window. * @return {Promise.} * @experimental */ minimize(): Promise; /** * Moves the external window by a specified amount. * @param { number } deltaLeft The change in the left position of the window * @param { number } deltaTop The change in the top position of the window * @return {Promise.} * @experimental */ moveBy(deltaLeft: number, deltaTop: number): Promise; /** * Moves the external window to a specified location. * @param { number } left The left position of the window * @param { number } top The top position of the window * @return {Promise.} * @experimental */ moveTo(left: number, top: number): Promise; /** * Resizes the external window by a specified amount. * @param { number } deltaWidth The change in the width of the window * @param { number } deltaHeight The change in the height of the window * @param { AnchorType } anchor Specifies a corner to remain fixed during the resize. * Can take the values: "top-left", "top-right", "bottom-left", or "bottom-right". * If undefined, the default is "top-left". * @return {Promise.} * @experimental */ resizeBy(deltaWidth: number, deltaHeight: number, anchor: AnchorType): Promise; /** * Removes a previously registered event listener from the specified event. */ removeEventListener( type: OpenFinExternalWindowEventType, listener: (event: ExternalWindowBaseEvent) => void, callback?: () => void, errorCallback?: (reason: string) => void): void; /** * Resizes the external window to the specified dimensions. * @param { number } width The change in the width of the window * @param { number } height The change in the height of the window * @param { AnchorType } anchor Specifies a corner to remain fixed during the resize. * Can take the values: "top-left", "top-right", "bottom-left", or "bottom-right". * If undefined, the default is "top-left". * @return {Promise.} * @experimental */ resizeTo(width: number, height: number, anchor: AnchorType): Promise; /** * Restores the external window to its normal state (i.e. unminimized, unmaximized). * @return {Promise.} * @experimental */ restore(): Promise; /** * Will bring the external window to the front of the entire stack and * give it focus. * @return {Promise.} * @experimental */ setAsForeground(): Promise; /** * Sets the external window's size and position. * @property { Bounds } bounds * @return {Promise.} * @experimental */ setBounds(bounds: Bounds): Promise; /** * Shows the external window if it is hidden. * @return {Promise.} * @experimental */ show(): Promise; /** * Shows the external window, if it is hidden, at the specified location. * If the toggle parameter is set to true, the external window will * alternate between showing and hiding. * @param { number } left The left position of the window * @param { number } top The top position of the window * @return {Promise.} * @experimental */ showAt(left: number, top: number): Promise; /** * Stops the taskbar icon from flashing. * @return {Promise.} * @experimental */ stopFlashing(): Promise; /** * Updates the external window using the passed options * @param {*} options Changes an external window's options * @return {Promise.} * @experimental */ updateOptions(options: any): Promise; } interface OpenFinFrameStatic { wrap(uuid: string, name: string): OpenFinFrame; getCurrent(): OpenFinFrame; } interface OpenFinFrame { name: string; uuid: string; addEventListener(type: string, listener: () => void, callback?: () => void, errorCallback?: (reason: string) => void): void; getParentWindow(callback?: (entityInfo: EntityInfo) => void, errorCallback?: (reason: string) => void): void; getInfo(callback?: (entityInfo: EntityInfo) => void, errorCallback?: (reason: string) => void): void; removeEventListener(type: string, listener: () => void, callback?: () => void, errorCallback?: (reason: string) => void): void; } interface ApplicationBaseEvent { topic: string; type: OpenFinApplicationEventType; uuid: string; } interface TrayIconClickedEvent extends ApplicationBaseEvent { button: number; // 0 for left, 1 for middle, 2 for right monitorInfo: MonitorInfo; x: number; // the cursor x coordinate y: number; // the cursor y coordinate } interface WindowEvent extends ApplicationBaseEvent { name: string; } interface WindowAlertRequestedEvent extends WindowEvent { message: string; url: string; } interface WindowAuthRequested extends WindowEvent { authInfo: { host: string; isProxy: boolean; port: number; realm: string; scheme: string; }; } interface WindowNavigationRejectedEvent extends WindowEvent { sourceName: string; url: string; } interface WindowEndLoadEvent extends WindowEvent { documentName: string; isMain: boolean; } interface MonitorInfoChangedEvent extends MonitorInfo { topic: "system"; type: "monitor-info-changed"; } interface SystemBaseEvent { topic: string; type: OpenFinSystemEventType; uuid: string; } interface GlobalHotkeyEvent { topic: string; type: OpenFinGlobalHotkeyEventType; /** * The Identity that has just registered the hotkey */ identity: { name: string; uuid: string; parentFrame: string; entityType: string; }, hotkey: string; } interface DesktopIconClickedEvent { mouse: { /** * the left virtual screen coordinate of the mouse */ left: number, /** * the top virtual screen coordinate of the mouse */ top: number }; /** * the number of milliseconds that have elapsed since the system was started, */ tickCount: number; topic: "system"; type: "desktop-icon-clicked"; } interface IdleStateChangedEvent { /** * How long in milliseconds since the user has been idle. */ elapsedTime: number; /** * true when the user is idle,false when the user has returned; */ isIdle: boolean; topic: "system"; type: "idle-state-changed"; } interface WindowBaseEvent { /** * the name of the window */ name: string; /** * always window */ topic: "window"; /** * window event type */ type: OpenFinWindowEventType; /** * the UUID of the application the window belongs to */ uuid: string; } interface ExternalWindowBaseEvent { /** * the name of the window */ name: string; /** * always window */ topic: "external-window"; /** * window event type */ type: OpenFinExternalWindowEventType; /** * the UUID of the application the window belongs to */ uuid: string; } interface WindowAuthRequestedEvent extends WindowBaseEvent { authInfo: { host: string; isProxy: boolean; port: number; realm: string; scheme: string; }; } interface WindowBoundsEvent extends WindowBaseEvent { /** * describes what kind of change occurred. * 0 means a change in position. * 1 means a change in size. * 2 means a change in position and size. */ changeType: number; /** * true when pending changes have been applied to the window. */ deferred: boolean; /** * the new height of the window. */ height: number; /** * the left-most coordinate of the window. */ left: number; /** * the top-most coordinate of the window. */ top: number; type: "bounds-changed" | "bounds-changing" | "disabled-frame-bounds-changed" | "disabled-frame-bounds-changing"; /** * the new width of the window. */ width: number; } interface WindowExternalProcessStartedEvent extends WindowBaseEvent { /** * the process handle uuid */ processUuid: string; type: "external-process-started"; } interface WindowExternalProcessExited extends WindowBaseEvent { /** * the process exit code */ exitCode: number; /** * the process handle uuid */ processUuid: string; type: "external-process-exited"; } interface WindowGroupChangedEvent extends WindowBaseEvent { /** * Which group array the window that the event listener was registered on is included in: * 'source' The window is included in sourceGroup. * 'target' The window is included in targetGroup. * 'nothing' The window is not included in sourceGroup nor targetGroup. */ memberOf: "source" | "target" | "nothing"; /** * The reason this event was triggered. * 'leave' A window has left the group due to a leave or merge with group. * 'join' A window has joined the group. * 'merge' Two groups have been merged together. * 'disband' There are no other windows in the group. */ reason: "leave" | "join" | "merge" | "disband"; /** * All the windows in the group the sourceWindow originated from. */ sourceGroup: WindowOfGroupInfo[]; /** * The UUID of the application the sourceWindow belongs to The source window is the window in which (merge/join/leave)group(s) was called. */ sourceWindowAppUuid: string; /** * the name of the sourcewindow.The source window is the window in which(merge / join / leave) group(s) was called. */ sourceWindowName: string; /** * All the windows in the group the targetWindow orginated from */ targetGroup: WindowOfGroupInfo[]; /** * The UUID of the application the targetWindow belongs to. The target window is the window that was passed into (merge/join) group(s). */ targetWindowAppUuid: string; /** * The name of the targetWindow. The target window is the window that was passed into (merge/join) group(s). */ targetWindowName: string; type: "group-changed"; } interface WindowOfGroupInfo { /** * The UUID of the application this window entry belongs to. */ appUuid: string; /** * The name of this window entry. */ windowName: string; } interface WindowHiddenEvent extends WindowBaseEvent { /** * What action prompted the close. * The reasons are: "hide", "hide-on-close" */ reason: "hide" | "hide-on-close"; type: "hidden"; } interface Window_NavigationRejectedEvent { name: string; /** * source of navigation window name */ sourceName: string; topic: "navigation-rejected"; /** * Url that was not reached "http://blocked-content.url" */ url: string; /** * the UUID of the application the window belongs to. */ uuid: string; } interface SessionChangedEvent { /** * the action that triggered this event: */ reason: "lock" | "unlock" | "remote-connect" | "remote-disconnect" | "unknown"; topic: "system"; type: "session-changed"; } type OpenFinApplicationEventType = "closed" | "connected" | "crashed" | "initialized" | "manifest-changed" | "not-responding" | "out-of-memory" | "responding" | "run-requested" | "started" | "tray-icon-clicked" | "window-alert-requested" | "window-auth-requested" | "window-closed" | "window-created" | "window-end-load" | "window-navigation-rejected" | "window-show-requested" | "window-start-load"; type OpenFinExternalApplicationEventType = "connected" | "disconnected"; type OpenFinGlobalHotkeyEventType = "registered" | "unregistered"; type OpenFinSystemEventType = "application-closed" | "application-crashed" | "application-created" | "application-started" | "desktop-icon-clicked" | "idle-state-changed" | "monitor-info-changed" | "session-changed"; type OpenFinWindowEventType = "auth-requested" | "blurred" | "bounds-changed" | "bounds-changing" | "close-requested" | "closed" | "disabled-frame-bounds-changed" | "disabled-frame-bounds-changing" | "embedded" | "external-process-exited" | "external-process-started" | "focused" | "frame-disabled" | "frame-enabled" | "group-changed" | "hidden" | "initialized" | "maximized" | "minimized" | "navigation-rejected" | "restored" | "show-requested" | "shown"; type OpenFinExternalWindowEventType = 'begin-user-bounds-changing' | 'blurred' | 'bounds-changed' | 'bounds-changing' | 'closed' | 'closing' | 'disabled-movement-bounds-changed' | 'disabled-movement-bounds-changing' | 'end-user-bounds-changing' | 'focused' | 'group-changed' | 'hidden' | 'maximized' | 'minimized' | 'restored' | 'shown' | 'user-movement-disabled' | 'user-movement-enabled'; }