Optional
acceleratorEnable keyboard shortcuts for devtools, zoom, reload, and reload ignoring cache.
Optional
aiOptional
alphaTurns anything of matching RGB value transparent.
Caveats:
Optional
alwaysAlways position the window at the top of the window stack.
Optional
apiConfigurations for API injection.
Optional
applicationOptional
aspectThe aspect ratio of width to height to enforce for the window. If this value is equal to or less than zero, an aspect ratio will not be enforced.
Optional
autoplayAutoplay policy to apply to content in the window, can be
no-user-gesture-required
, user-gesture-required
,
document-user-activation-required
. Defaults to no-user-gesture-required
.
Optional
autoAutomatically show the window when it is created.
Optional
backgroundThe window’s backfill color as a hexadecimal value. Not to be confused with the content background color
(document.body.style.backgroundColor
),
this color briefly fills a window’s (a) content area before its content is loaded as well as (b) newly exposed
areas when growing a window. Setting
this value to the anticipated content background color can help improve user experience.
Default is white.
Optional
backgroundDetermines whether WebContents will throttle animations and timers when the page becomes backgrounded. This also affects the Page Visibility API.
When true
, the page is throttled whether it is hidden or not.
Optional
chromium{@inheritDoc ChromiumPolicies}
Optional
closeSetting this to false would keep the Window alive even if all its Views were closed.
This is meant for advanced users and should be used with caution.
Limitations - Once a Layout has been emptied out of all views it's not usable anymore, and certain API calls will fail.
Use layout.replace
to create a fresh Layout instance in case you want to populate it with Views again.
NOTE: - This option is ignored in non-Platforms apps.
Optional
contentConfigures how new content (e,g, from window.open
or a link) is opened.
Optional
contentRestrict navigation to URLs that match an allowed pattern. In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited. See here for more details.
Optional
contentRestrict redirects to URLs that match an allowed pattern. In the lack of an allowlist, redirects to URLs that match a denied pattern would be prohibited. See here for more details.
Optional
contextSuperseded by contextMenuOptions, which offers a larger feature-set and cleaner syntax.
Show the context menu when right-clicking on the window. Gives access to the devtools for the window.
Optional
contextConfigure the context menu when right-clicking on a window.
Optional
contextSuperseded by contextMenuOptions, which offers a larger feature-set and cleaner syntax.
Configure the context menu when right-clicking on a window.
Optional
cornerDefines and applies rounded corners for a frameless window. NOTE: On macOS corner is not ellipse but circle rounded by the average of height and width.
Optional
customA field that the user can use to attach serializable data that will be saved when Platform#getSnapshot Platform.getSnapshot is called. If a window in a Platform is trying to update or retrieve its own context, it can use the Platform.setWindowContext and Platform.getWindowContext calls. When omitted, inherits from the parent application. As opposed to customData, this is meant for frequent updates and sharing with other contexts.
This Example shows a window sharing context to all it's views.
By executing the code here in the correct context, the view will have global broadcastContext
and addContextListener
methods available.
The window will synchronize context between views such that calling broadcastContext
in any of the views will invoke any listeners added with addContextListener
in all attached views.
const me = fin.Window.getCurrentSync();
me.on('options-changed', async (event) => {
if (event.diff.customContext) {
const myViews = await me.getCurrentViews();
const customContext = event.diff.customContext.newVal;
myViews.forEach(v => {
v.updateOptions({customContext});
});
}
})
const me = fin.View.getCurrentSync();
const broadcastContext = async (customContext) => {
const myWindow = await me.getCurrentWindow()
await myWindow.updateOptions({customContext})
};
const addContextListener = async (listener) => {
await me.on('options-changed', (event) => {
if (event.diff.customContext) {
listener(event.diff.customContext.newVal);
}
});
}
Optional
customA field that the user can attach serializable data to be ferried around with the window options. When omitted, inherits from the parent application.
Optional
customCustom headers for requests sent by the window.
Optional
defaultCenters the window in the primary monitor. This option overrides defaultLeft
and defaultTop
. When saveWindowState
is true
,
this value will be ignored for subsequent launches in favor of the cached value.
NOTE: On macOS defaultCenter is somewhat above center vertically.
Optional
defaultThe default height of the window. When saveWindowState
is true
, this value will be ignored for subsequent launches
in favor of the cached value.
Optional
defaultThe default left position of the window. When saveWindowState
is true
, this value will be ignored for subsequent
launches in favor of the cached value.
Optional
defaultThe default top position of the window. When saveWindowState
is true
, this value will be ignored for subsequent
launches in favor of the cached value.
Optional
defaultThe default width of the window. When saveWindowState
is true
, this value will be ignored for subsequent
launches in favor of the cached value.
Optional
Experimental
disableWhen set to true, will prevent setting the -webkit-app-region
and app-region
css properties on the window.
These css properties are used to enable dragging of a frameless window.
Optional
downloadControls the styling and behavior of the window download shelf.
Optional
excludeControl which options to ignore when creating a Platform Window.
Optional
experimentalOptional
fdc3Optional
frameOptional
heightOptional
hideHides the window instead of closing it when the close button is pressed.
Optional
hotkeysDefines the hotkeys that will be emitted as a hotkey
event on the window.
Within Platform, OpenFin also implements a set of pre-defined actions called
keyboard commands
that can be assigned to a specific hotkey in the platform manifest.
This example shows the example of using the hotkeys
option on Windows/Views and the corresponding hotkey
event emitted when a specified hotkey is pressed.
const myMagicWindow = await fin.Window.create({
name: 'magicWin',
hotkeys: [
{
keys: 'Ctrl+M',
}
]
});
myMagicWindow.on('hotkey', (hotkeyEvent) => {
console.log(`A hotkey was pressed in the magic window!: ${JSON.stringify(hotkeyEvent)}`);
});
After the following change, the hotkey
event will no longer be emitted when Ctrl+M is pressed:
const currentHotkeys = (await myMagicWindow.getOptions()).hotkeys;
const newHotkeys = currentHotkeys.filter(hotkey => hotkey.keys !== 'Ctrl+M');
myMagicWindow.updateOptions({
hotkeys: newHotkeys
});
Optional
iconThe icon to display on the taskbar.
Optional
ignoreIgnores the cached state of the window.
Defaults the opposite value of saveWindowState
to maintain backwards compatibility.
Optional
includeInclude window in snapshots returned by Platform.getSnapshot(). Turning this off may be desirable when dealing with inherently temporary windows whose state shouldn't be preserved, such as modals, menus, or popups.
Optional
inheritanceControls whether an option is inherited from the parent application. The option is set as part of the window options for the parent application in either the Manifest.startup_app or Manifest.platform properties in the manifest or in ApplicationOptions.mainWindowOptions when calling Application.ApplicationModule.start Application.start. Use { [option]: false } to disable a specific [option]. All inheritable properties will be inherited by default if omitted.
Optional
interopOptional
layoutOptional
Experimental
layoutThe collection of layouts to load when the window is created. When launching multiple layouts, manage the lifecycle via fin.Platform.Layout.create()/destroy() methods.
Optional
maxThe maximum height of a window. Will default to the OS defined value if set to -1.
Optional
maximizableAllows the window to be maximized.
Optional
maxThe maximum width of a window. Will default to the OS defined value if set to -1.
Optional
minThe minimum height of the window.
Optional
minimizableAllows the window to be minimized.
Optional
minThe minimum width of the window.
Optional
modalParent identity of a modal window. It will create a modal child window when this option is set.
Optional
nameThe name of the window.
Optional
opacityA flag that specifies how transparent the window will be.
Changing opacity doesn't work on Windows 7 without Aero so setting this value will have no effect there.
This value is clamped between 0.0
and 1.0
.
In software composition mode, the runtime flag --allow-unsafe-compositing is required.
Optional
permissionsAPI permissions for code running in the window.
Optional
preloadScripts that run before page load. When omitted, inherits from the parent application.
Optional
processString tag that attempts to group like-tagged renderers together. However, there is no guarantee that a different affinity value will create a different process, under the hood Chromium can enforce its own process management under certain circumstances.
Optional
reasonOptional
resizableA flag to allow the user to resize the window.
Optional
resizeDefines a region in pixels that will respond to user mouse interaction for resizing a frameless window.
Optional
roundedControls whether frameless window should have rounded corners. Default is false for Windows and true for MacOS. Setting this property to false will prevent the window from being fullscreenable on macOS. On Windows versions older than Windows 11 Build 22000 this property has no effect, and frameless windows will not have rounded corners.
Optional
saveCaches the location of the window.
Note: this option is ignored in Platforms as it would cause inconsistent Platform#applySnapshot applySnapshot behavior.
Optional
shadowDisplays a shadow on frameless windows.
shadow
and cornerRounding
are mutually exclusive.
On Windows 7, Aero theme is required.
Optional
showPlatforms Only. If true, will show background images in the layout when the Views are hidden. This occurs when the window is resizing or a tab is being dragged within the layout.
Optional
showShows the window's icon in the taskbar.
In Windows, setting showTaskbarIcon
to false will cause the window to display on all virtual desktops.
In order to prevent this while keeping showTaskbarIcon
false, pass the identity of the parent via the
modalParentIdentity
(see WindowCreationOptions). This is useful for popups managed by
Window._Window.showPopupWindow.
Optional
smallMakes this window a frameless window that can be created and resized to less than 41x36 px (width x height).
Note: Caveats of small windows are no Aero Snap and drag to/from maximize.
Windows 10: Requires maximizable
to be false. Resizing with the mouse is only possible down to 38x39 px.
Optional
stateThe visible state of the window on creation. One of:
"maximized"
"minimized"
"normal"
Optional
taskbarOptional
taskbarSpecify a taskbar group for the window. Can be shared across applications.
If omitted from a main window, defaults to app's uuid (fin.Application.getCurrentSync().identity.uuid
).
Use platform.defaultWindowOptions.taskbarIconGroup
to set a default for platform applications.
If omitted, defaults to app's uuid (fin.Application.getCurrentSync().identity.uuid
).
Optional
throttling{@inheritDoc WindowThrottling}
Optional
updateOptional
urlThe URL of the window
Optional
uuidThe uuid
of the application, unique within the set of all Application
s running in OpenFin Runtime.
If omitted, defaults to the uuid
of the application spawning the window.
If given, must match the uuid
of the application spawning the window.
In other words, the application's uuid
is the only acceptable value, but is the default, so there's
really no need to provide it.
Optional
viewsWhen closeOnLastViewRemoved
is set to true, determines which views prevent closing the window.
Defaults to all
. You may want to switch this to layout
if using View closeBehavior: 'hide'.
NOTE: - This option is ignored in non-Platforms apps.
Optional
viewPlatform Windows Only. Controls behavior for showing views when they are being resized by the user.
Optional
waitWhen set to true
, the window will not appear until the window
object's load
event fires.
When set to false
, the window will appear immediately without waiting for content to be loaded.
Optional
widthWorkspacePlatform specific window options. These options will not work unless a workspace platform has been initialized.
For internal usage. Defaults to 'browser' when Browser is enabled when the WorkspacePlatform is initialized. In order to use
non-Browser layout windows ('platform' windows) in a Browser-enabled workspace platform, set windowType to platform
. In that instance, the other properties
in the workspacePlatform object are not relevant.
Optional
xOptional
y
Request for creating a browser window.