| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module ws.mojom; |
| |
| // TODO(sky): consider moving these out of the WindowManager interface. At a |
| // minimum they should move to window_manager_constants.mojom. |
| interface WindowManager { |
| // WindowManager defines two sets of distinct properties. |
| // . Properties that are used at creation time only and not persisted. |
| // . Long lived properties. These properties may be changed at any time and |
| // are mapped to aura::Window properties. aura::PropertyConverter defines |
| // the mapping between the property defined here and the corresponding |
| // aura property. For properties defined in PropertyConverter any change to |
| // to the aura property is mapped to the property defined here and sent to |
| // all clients that know about the window (which is generally just the owner |
| // and the window-manager). |
| |
| // Properties used only during creation time. -------------------------------- |
| |
| // Whether the window should be initially focusable or not. Type: bool. |
| const string kFocusable_InitProperty = "init:focusable"; |
| |
| // Whether the window should be opaque. |
| const string kTranslucent_InitProperty = "init:translucent"; |
| |
| // Initial bounds to create the window at. If empty the WindowManager decides |
| // the initial bounds. Type: gfx::Rect. |
| const string kBounds_InitProperty = "init:bounds"; |
| |
| // The window manager will place the window in this container when the window |
| // is created. If not set a container is selected based on the window type. |
| // Type: int32_t. |
| const string kContainerId_InitProperty = "init:container_id"; |
| |
| // Disables the window manager from handling immersive fullscreen for the |
| // window. This is typically done if the client wants to handle immersive |
| // themselves. Type: bool. |
| const string kDisableImmersive_InitProperty = "init:disable_immersive"; |
| |
| // The id of the display (display::Display::id()) to create the window on. |
| // Type: int64. |
| const string kDisplayId_InitProperty = "init:display_id"; |
| |
| // Specifies that the system default caption and icon should not be rendered, |
| // and the client area should be equivalent to the window area. Type: bool |
| const string kRemoveStandardFrame_InitProperty = "init:remove-standard-frame"; |
| |
| // A flag controlling the window's presence on the mash shelf. Type: bool |
| const string kWindowIgnoredByShelf_InitProperty = |
| "init:window-ignored-by-shelf"; |
| |
| // The window type. This maps to aura::client::kWindowTypeKey as well as |
| // Window::type(). This mapping is only done for top-level windows that are |
| // created by the window manager at the request of a client. |
| // Type: mojom::WindowType (int32_t). |
| const string kWindowType_InitProperty = "init:window-type"; |
| |
| // End properties used only during creation time. ---------------------------- |
| |
| // Long lived properties. ---------------------------------------------------- |
| |
| // All primitive properties are transported as |
| // aura::PropertyConverter::PrimitiveType. |
| |
| // Whether the window is always on top. Maps to aura::client::kAlwaysOnTopKey. |
| // Type: bool. |
| const string kAlwaysOnTop_Property = "prop:always_on_top"; |
| |
| // A boolean determining whether animations are disabled for the window. |
| const string kAnimationsDisabled_Property = "prop:animations-disabled"; |
| |
| // The application icon; typically larger for shelf icons, etc. Type: SkBitmap |
| const string kAppIcon_Property = "prop:app-icon"; |
| |
| // The Android Java-style package name for an ARC++ window, such as |
| // "com.google.Photos". Type: mojom::String. |
| const string kArcPackageName_Property = "prop:arc-package-name"; |
| |
| // The modal parent of a child modal window. Type: window Id. |
| const string kChildModalParent_Property = "prop:child-modal-parent"; |
| |
| // Whether the window is trying to draw attention to itself (e.g. pulsing its |
| // shelf icon). Type: bool. |
| const string kDrawAttention_Property = "prop:draw-attention"; |
| |
| // Used to explicitly control whether a window appears in the most recently |
| // used list of windows. Maps to aura::client::kExcludeFromMruKey. Type: bool. |
| const string kExcludeFromMru_Property = "prop:exclude_from_mru"; |
| |
| // Used to control the appearance and enabled state of the frame back button. |
| // Type: ash::kFrameBackButtonState. |
| const string kFrameBackButtonState_Property = "prop:frame-back-button-state"; |
| |
| // Used to control the color of the window frame. Type: SkColor. |
| const string kFrameActiveColor_Property = "prop:frame-active-color"; |
| const string kFrameInactiveColor_Property = "prop:frame-inactive-color"; |
| |
| // If true, when a window is in in fullscreen mode, the user cannot reveal |
| // the top portion of the window through a touch / mouse gesture. |
| // Type: bool. |
| const string kImmersiveFullscreen_Property = "prop:immersive-fullscreen"; |
| |
| // The window's minimum size as defined by its content. Maps to |
| // aura::client::kMinimumSize_Property. Type: gfx::Size. |
| const string kMinimumSize_Property = "prop:minimum-size"; |
| |
| // Internal window name. Useful for debugging. Maps to aura::client::kNameKey. |
| // Type: mojom::String |
| const string kName_Property = "prop:name"; |
| |
| // If true (and the window is a panel), it's attached to its shelf item. |
| const string kPanelAttached_Property = "prop:panel-attached"; |
| |
| // The window's preferred size as defined by its content. Maps to |
| // aura::client::kPreferredSize_Property. Type: gfx::Size. |
| const string kPreferredSize_Property = "prop:preferred-size"; |
| |
| // If true the window manager renders the title area (including frame |
| // decorations) of the parent window in this window. This is only checked |
| // at the time the window is added to its parent, which must be a top level |
| // window (created by way of WindowTree::NewTopLevelWindow()). This is not |
| // mapped by default, it's up to the window manager (such as ash) to decide |
| // how to handle this. Type: bool. |
| const string kRenderParentTitleArea_Property = |
| "render-parent-non-client-area"; |
| |
| // The window's resize behavior. Maps to aura::client::kResizeBehaviorKey. |
| // Type: ResizeBehavior. |
| const string kResizeBehavior_Property = "prop:resize-behavior"; |
| |
| // Bounds the window is restored to. Maps to client::kRestoreBoundsKey. |
| // Type: gfx::Rect. |
| const string kRestoreBounds_Property = "prop:restore-bounds"; |
| |
| // See ShadowController for details. Type: int32_t. |
| const string kShadowElevation_Property = "prop:shadow-elevation"; |
| |
| // The serialized shelf id. Maps to ash::kShelfIDKey. Type: mojom::String. |
| const string kShelfID_Property = "prop:shelf-id"; |
| |
| // The type of item to be shown on the shelf for this window. Type: int |
| // A few ash::ShelfItemType values are supported; TYPE_UNKNOWN means no item. |
| const string kShelfItemType_Property = "prop:shelf-item-type"; |
| |
| // The window's show state. Maps to aura::client::kShowStateKey. |
| // Type: ShowState. |
| const string kShowState_Property = "prop:show-state"; |
| |
| // The window corner radius in DIPs. Maps to |
| // aura::client::kWindowCornerRadiusKey. Type: int. |
| const string kWindowCornerRadius_Property = "prop:window-corner-radius"; |
| |
| // The window icon; typically 16x16 for titlebars. Type: SkBitmap |
| const string kWindowIcon_Property = "prop:window-icon"; |
| |
| // The window's title. Maps to aura::client::kTitleKey. Type: mojom::String |
| const string kWindowTitle_Property = "prop:window-title"; |
| |
| // A boolean determining whether to show the window's title. |
| const string kWindowTitleShown_Property = "prop:window-title-shown"; |
| |
| // End long lived properties. ------------------------------------------------ |
| }; |