Skip to main content

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.

RedEye’s configuration system is entirely file-based: every shell behavior, window layout, hotkey binding, and visual theme is controlled by a set of XML files on disk. There is no GUI settings panel — you edit the files directly, then restart the shell to apply your changes. This design makes configuration reproducible, version-controllable, and straightforward to share or deploy across machines.

Root file: config.xml

The entry point for all configuration is config.xml in the RedEye application directory. When RedEye starts, it parses this file first and follows every <import> directive it encounters to build a complete configuration tree in memory.
<?xml version="1.0" encoding="UTF-8"?>
<config>
    <!-- Import core config -->
    <import from="config/core.xml"/>
    <import from="config/ui/theme.xml"/>

    <layout>
        <variables>
            <!-- Layout-level variables -->
            <set name="taskbar.margin" value="20"/>
        </variables>

        <!-- Import UI components -->
        <import from="config/workArea.xml"/>
        <import from="config/ui/desktop.xml"/>
        <import from="config/ui/startMenu.xml"/>
        <import from="config/ui/taskbar.xml"/>
    </layout>

    <import from="config/keyBindings.xml"/>
</config>

What each import does

Import pathPurpose
config/core.xmlCore shell behavior: Explorer integration, window manager, transparency key
config/ui/theme.xmlShared color, font, and spacing variables used everywhere
config/workArea.xmlCalls setWorkArea(...) to reserve screen space below the taskbar
config/ui/desktop.xmlCreates the background window with the wallpaper image
config/ui/startMenu.xmlCreates the start menu popup window
config/ui/taskbar.xmlCreates the taskbar window with the app list and tray
config/ui/configUtil.xmlCreates the configuration utility window
config/ui/shutdownOptions.xmlCreates the shutdown/lock/logoff dialog window
config/keyBindings.xmlRegisters global keyboard shortcuts

Directory structure

redeye/
└── config.xml                    ← root entry point
└── config/
    ├── core.xml                  ← shell behavior settings
    ├── keyBindings.xml           ← hotkeys
    ├── workArea.xml              ← work area bounds
    └── ui/
        ├── theme.xml             ← color and font variables
        ├── desktop.xml           ← desktop window
        ├── startMenu.xml         ← start menu window
        ├── taskbar.xml           ← taskbar window
        ├── tray.xml              ← system tray area
        ├── startButton.xml       ← start button widget
        ├── configUtil.xml        ← config utility window
        ├── shutdownOptions.xml   ← shutdown dialog
        └── style/
            ├── themedWindow.xml  ← reusable themed window attribute list
            └── flatButton.xml    ← reusable flat button attribute list

Core settings (core.xml)

The <core> block controls foundational shell behaviors.
<core>
    <explorerIntegration>
        <enable>true</enable>
        <timeout>2000</timeout>
    </explorerIntegration>
    <windowManager>
        <enable>false</enable>
    </windowManager>
    <ui>
        <transparencyKey>#ff00ff</transparencyKey>
    </ui>
</core>

explorerIntegration

FieldTypeDefaultDescription
enablebooltrueLaunches a hidden explorer.exe process on startup so shell integrations (file associations, COM objects, etc.) remain functional
timeoutint (ms)2000How long RedEye waits for Explorer to initialize before continuing startup

windowManager

FieldTypeDefaultDescription
enableboolfalseEnables RedEye’s experimental window manager, which tracks and manages all open application windows

ui.transparencyKey

The hex color used as the transparency chroma key for shell windows that have allowTransparency="true". Any pixel painted in this exact color will be rendered fully transparent. The default value #ff00ff (magenta) is chosen because it rarely appears in real UI content.
Do not use #ff00ff as an intentional UI color anywhere in your layout if transparency is enabled — those pixels will appear invisible at runtime.

Applying configuration changes

RedEye does not hot-reload configuration. After editing any config file you must restart the shell. The built-in expression function shell.restart() terminates the current process and immediately relaunches redeye.exe, so you can wire it to a button or hotkey:
<button text="Restart shell" onClick="shell.restart()"/>
<hotkey keys="Win+Ctrl+R" action="shell.restart()"/>
The restart is implemented by spawning a cmd.exe command that kills the current process by PID and then starts a fresh instance from the same directory.
During development, bind shell.restart() to a convenient hotkey so you can iterate on your layout without reaching for the mouse.

Explore the configuration system

Layout Markup (RWML)

The full reference for the XML markup language used to define windows and widgets.

Variables

How to define, reference, and compute variables across config files.

Hotkeys

Binding global keyboard shortcuts to shell actions and programs.

Built-in Widgets

The panel, image, label, button, and other widgets you can place inside windows.

Build docs developers (and LLMs) love