Skip to main content

Window Required

Key name: Window
Element type: Dictionnary
Status: Required

Groups all the keys associated to the window configuration.

Keys

NameTypePossible valuesRequired
TitleString-
IsTitleBarHiddenBoolean-
MinimumSizeDictionary (Size)-
MaximumSizeDictionary (Size)-
MenuBarSizeDictionary (Size)-
IsClosableBoolean-
IsMovableBoolean-
IsResizableBoolean-
ScreenIndexInt-
AlwaysOnTopBoolean-
PositionDictionary (Window position)-
OnScreenStringSimple, BlurredBackground, FullScreen, MenuBarRequired
MenuBarIconPath PROString
AppIconPath PROString

Detail

Title

Type: String
Explanation: The title of the window in the title bar. If this key is omitted, no title is displayed in the title bar.

IsTitleBarHidden

Type: String
Explanation: If set to true, the title bar will be hidden. Default is false.

MinimumSize

Type: Dictionary (Size)
Explanation: The minimum size at which the window can be resized. Default is 600 x 800.

MaximumSize

Type: Dictionary (Size)
Explanation: The maximum size at which the window can be resized. Default is 768 x 1280.

Type: Dictionary (Size)
Explanation: The size of the window when using the MenuBar value for OnScreen key. Default is 600 x 800.

IsClosable

Type: Boolean
Explanation: If true the window can be closed by the user. Default is true.

IsMovable

Type: Boolean
Explanation: If true the window can be moved/dragged by the user. Default is true.

IsResizable

Type: Boolean
Explanation: If true the window wan be resized by the user (accordingly with the specified sizes). Default is true.

ScreenIndex

Type: Int
Explanation: Let you specify the index of the screen where the window should appear. If not specified, it’s the current screen that is chosen.

AlwaysOnTop

Type: Boolean
Explanation: If true, the window is always in the foreground. Default is false.

Position

Type: Dictionary of Window Position
Explanation: Let you specify where the window should appear.

Window Position

Let you specify a window position on the screen.

KeyTypePossible keysExplanationRequired
HorizontalStringLeft, Center, RightHorizontal positionRequired
VerticalStringTop, Center, BottomVertical positionRequired
Padding Number-Add padding to the side of the window. Default is 20.

OnScreen Required

Type: String
Explanation: Specify how the Octory window should appear on screen. When BlurredBackground or FullScreen are specified, the other keys in the Window dictionary are ignored, except for the MaximumSize, which is used to configure the window with BlurredBackground. For MenuBar option, see the MenuBarSlide.

Type: String
Explanation: Let you specify the icon to use for the menu bar icon.

tip

If you use a custom menu bar icon, use a vector format like PDF or SVG. The system automatically scales a vector-based interface icon for high-resolution displays, so you don’t need to provide high-resolution versions of it. In contrast, PNG — used for app icons and other images that include effects like shading, textures, and highlighting — doesn’t support scaling. You would have to create a PNG-based interface icon hoping it would display well in all scenarios. When using PNG, we recommend an icon with a height of 20 pixels.

AppIconPath PRO

Type: String
Explanation: Let you specify the icon to use for the dock icon. You can use an .icns file or any .png image following Apple icon guideline.

Command line

You can override the value for the OnScreen key in the plist by launching the app with an argument: -w or --window and the name of the OnScreen value you want. For example:

/path/to/Octory.app/Contents/MacOS/Octory -w MenuBar

or

/path/to/Octory.app/Contents/MacOS/Octory --window MenuBar

will set the app window as MenuBar no matter what is in the plist.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... -->
<key>Window</key>
<dict>
<key>OnScreen</key>
<string>Simple</string>
<key>IsMovable</key>
<false/>
<key>Position</key>
<dict>
<key>Horizontal</key>
<string>Center</string>
<key>Vertical</key>
<string>Center</center>
</dict>
</dict>
<!-- ... -->
</dict>
</plist>