Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ryzhpolsos/redeye/llms.txt
Use this file to discover all available pages before exploring further.
IShellWindow represents a top-level shell window managed by RedEye. Each window declared in the layout XML is backed by an IShellWindow implementation. The interface exposes the full lifecycle — initialization, visibility, icon and title management, and event registration — and provides access to the window’s configuration via ShellWindowConfig.
IShellWindow interface
IShellWindow lives in RedEye.Core and extends both IComponent and IWidgetContainer.
InitWindow
Initializes the window according to its currentShellWindowConfig. Creates the underlying Win32 window with the configured type, border style, size, and position. Must be called before any other visibility method.
ShowWindow
Makes the window visible synchronously on the UI thread.ShowWindowAsync
Makes the window visible by posting the show request to the message queue. Use this when you need to trigger visibility from a background thread or from inside an event handler without blocking.HideWindow
Hides the window without destroying it. The window remains initialized and can be shown again withShowWindow().
CloseWindow
Closes the window. IfAllowRealClose is false in the window’s config, the window is hidden rather than destroyed.
Use
AllowRealClose = true in ShellWindowConfig only when you intend the window to be permanently destroyed on close. For toggleable panels and overlays, leave it at the default false.ToggleWindow
Toggles visibility — shows the window if it is hidden, hides it if it is visible.GetHwnd
Returns the native Win32 window handle (HWND) as an IntPtr. Use this when calling Win32 API functions directly, such as SetWindowPos or SendMessage.
IntPtr: the HWND, or IntPtr.Zero before InitWindow() is called.
GetTitle
Returns the current window title string.GetIcon
Returns the current window icon as aSystem.Drawing.Icon.
SetIcon
Replaces the window icon.A
System.Drawing.Icon instance. The icon is applied to both the window chrome and the taskbar button.SetTitle
Updates the window title.The new title string to display in the window’s title bar (when a border style that shows one is active).
GetConfig
Returns the currentShellWindowConfig for this window.
ShellWindowConfig: the active configuration snapshot.
SetConfig
Replaces the window’s configuration. Typically followed byInitWindow() to apply the new settings.
The new configuration to apply. All fields take effect on the next
InitWindow() call.RegisterEventHandler
Registers a callback for a named window event. Common event names mirror Win32 window messages, e.g."Shown", "Hidden", "Closed".
The event name to subscribe to.
The callback invoked when the event fires.
ShellWindowConfig class
ShellWindowConfig is a plain data class that describes every configurable aspect of a shell window. Pass an instance to SetConfig() before calling InitWindow().
Unique identifier for this window. Used to reference the window from other parts of the config and from plugin code via
IShellWindowManager.Controls the Win32 window style and z-order. See
ShellWindowType below.Controls the window border style. See
ShellWindowBorderType below.When
true, the window background is set to the transparency key color, making it click-through in the transparent areas. Requires AllowTransparency = true.Window title text. Visible only with border types that include a title bar.
Left edge of the window in screen coordinates.
Top edge of the window in screen coordinates.
Width of the window in pixels.
Height of the window in pixels.
When
true, the window is shown automatically after InitWindow() completes.Enables or disables the minimize button in the window chrome.
Enables or disables the maximize button in the window chrome.
When
false, the close button in the title bar is disabled.When
false, CloseWindow() hides the window instead of destroying it. Set to true only for windows that should be permanently destroyed on close.When
true, the window sizes itself to fit its contents.Foreground color as an HTML color string, e.g.
"#ffffff". Applied to text elements inside the window.Background color as an HTML color string. Has no effect when
IsTransparent is true.Padding inside the window’s client area, in the format accepted by
ParseHelper.ParsePadding, e.g. "4" or "4,8,4,8".Window opacity from
0.0 (fully transparent) to 1.0 (fully opaque). Requires AllowTransparency = true.Must be
true for Opacity and IsTransparent to have any effect.Path to an icon file (
.ico) relative to the application directory. Applied via SetIcon() during initialization.ShellWindowType enum
Controls the Win32 extended window styles and z-order behavior.| Value | Description |
|---|---|
Normal | Standard overlapped window. Participates in normal z-order. |
Shell | Registered as a Win32 shell window. Sits above the desktop and below normal windows. |
Top | Always stays above normal windows but below TopMost windows. |
TopMost | Always stays above all other windows, including Top windows. |
Background | Sits below the desktop wallpaper layer. Useful for desktop widget backgrounds. |
ShellWindowBorderType enum
Controls theFormBorderStyle of the underlying Windows Form.
| Value | Description |
|---|---|
None | No border or title bar. Suitable for frameless overlay panels. |
Normal | Standard resizable border with title bar. |
FixedDialog | Fixed-size border styled like a dialog box. |
FixedSingle | Fixed-size single-line border, no maximize button. |
FixedToolWindow | Compact title bar without minimize/maximize; stays off the taskbar. |
SizableToolWindow | Resizable tool window border; stays off the taskbar. |
Usage examples
Toggling a window from a plugin
Creating and initializing a window at runtime
Subscribing to window events
Related
Shell windows
How to declare and configure windows in RWML layout markup.
IShellWidget
The interface implemented by every widget that lives inside a shell window.