Skip to content

Window configuration

WindowOptions properties

The defaults below come from the admin console’s built-in defaultOptions. Properties without a “Default” have no fixed value before merge; the final result depends on what you pass or leave undefined.

PropertyTypeRequiredDefaultDescription
widthnumberSee notes800If omitted, width/height merge with the defaults to 800 × 600.
heightnumberSee notes600Same as above.
belowGroupstring | nullNo''Parent window name for subordinate windows; sub-windows follow parent modal/close behavior. Passing null explicitly in createSubWin skips subordinate handling (see cloudWindow).
groupstringNoPeer resource group key for maxCount, sendEventToGroup, groupOpened/groupClosed, etc.
maxCountnumberNoMax windows in the same group; when exceeded, the oldest is replaced via active instead of creating a new one.
indexnumberNo1Stacking index (used for top-most, getMaxTop, etc.).
animbooleanNotrueTransitions for minimize/restore/maximize/size changes.
shadowboolean | stringNotruetrue for default shadow; or a custom CSS shadow string.
hideTitlebooleanNofalseHide the title area.
skipTaskbarbooleanNofalseIf true, excluded from taskbar aggregation (barUpdate).
dataanyNoData passed when opening/activating; desktop active may also deliver data.
xnumberNoInitial x; combined with center, group offsets, etc. (see calcPosition, negative values supported).
ynumberNoInitial y.
minWidthnumberNo0Minimum width; 0 often means no limit.
minHeightnumberNo0Minimum height.
maxWidthnumberNoMaximum width; also used when maximizing.
maxHeightnumberNoMaximum height.
headConfigHeadConfigNo{ height: 40 }Title bar height and Mac/Win control strip placement.
sandboxboolean | string[]Nofalseiframe sandbox.
allowboolean | string[]Notrueiframe allow.
titlestringNo'cloudWindow'Window title.
iconLazyIconNo''Icon URL string or object with src/loading/error.
showIconbooleanNotrueWhether to show the icon.
framebooleanNotrueUse built-in title chrome; set false when using registerHeader.
modalbooleanNofalseModal: blocks other areas; without belowGroup uses global veil, with parent uses parent chain.
minimizablebooleanNotrueAllow minimize.
maximizablebooleanNotrueAllow maximize.
resizablebooleanNotrueAllow resize by drag.
alwaysOnTopbooleanNofalseAlways on top.
colorstringNoPrimary color for title and buttons.
blurColorstringNoColor when unfocused.
backgroundstringNo'#fff'Window background.
transparentbooleanNofalseTransparent background.
helpstringNoundefinedHelp URL; undefined hides help entry.
controlAreabooleanNotrueTop draggable strip; if false, implement drag yourself (e.g. registerHeader).
centerbooleanNotrueCenter on first layout (still stacks with anti-overlap logic).
closablebooleanNotrueAllow close.
hideOnCloseboolean | numberNofalseFake close (hide/keep alive); true keeps it cached, and number hides it and reclaims it after the given number of seconds.
movablebooleanNotrueAllow dragging the window.
radiusnumberNo12Corner radius in px.
showbooleanNotrueVisible after create; if false, show later via cloudWindowMgr.show() or activation.

Types

LazyIcon

ts
type LazyIcon =
  | string
  | {
      src: string
      loading?: string
      error?: string
    }

HeadConfig

Title layout when using the built-in frame chrome.

ts
interface HeadConfig {
  height: number    // Header height, default 40
  macX?: number     // Mac traffic-light region x
  macY?: number     // Mac traffic-light region y
  winY?: number     // Windows control region y (no separate x)
}

Additional notes

  • Creating a window still also requires name and url; they are not part of the WindowOptions fields listed here.
  • hideOnClose has three modes: false for real close, true for hide-and-keep-alive, and number for hide then auto-reclaim after the given number of seconds.
  • At runtime, show: false only really takes effect for hideOnClose windows; ordinary windows ignore hide updates from the host config path.
  • parentNode only controls the host mount position; it does not enter the window-side runtime config snapshot, and createSubWin() actively ignores it.
  • safeArea mentioned in related behavior notes refers to the host-wide cloudWindowMgr.safeArea configuration, not a per-window field.