//! @page etc_config_plist etc/Config.plist
//! Compiled-in default configuration. See @ref config_file for details.
//! @include etc/Config.plist
// Base configuration for wlmaker: Keyboard and autostarted applications.
{
    Keyboard = {
        // Use system-wide configuration. See keyboard(5).
        XkbConfigurationFile = "/etc/default/keyboard";

        // Alternatively: Specify the keyboard properties directly.
        // XkbRMLVO = {
        //     Rules = "evdev";
        //     Model = "pc105";
        //     Layout = "us";
        //     Variant = "intl";
        //     Options = "";
        // };

        Repeat = {
            // Delay before initiating repeats, in milliseconds.
            Delay = 300;
            // Repeats per second.
            Rate = 25;
        };
    };
    // Configuration for XDG decoration protocol: Server or client-side?
    Decoration = {
        Mode = SuggestServer;
    };
    KeyBindings = {
        "Ctrl+Alt+Backspace" = Quit;

        "Ctrl+Alt+L" = LockScreen;
        "Logo+L" = LockScreen;

        "Ctrl+Alt+T" = LaunchTerminal;
        "Logo+Return" = LaunchTerminal;

        "Alt+Tab" = TaskNext;
        "Shift+Alt+ISO_Left_Tab" = TaskPrevious;

        "Ctrl+Alt+Left" = WorkspacePrevious;
        "Ctrl+Alt+Right" = WorkspaceNext;

        "Alt+Up" = WindowRaise;
        "Alt+Down" = WindowLower;
        "Alt+F10" = WindowToggleMaximized;
        "Ctrl+Shift+M" = WindowToggleMaximized;
        "Alt+F11" = WindowToggleFullscreen;
        "Ctrl+Shift+F" = WindowToggleFullscreen;
        "Alt+F4" = WindowClose;
        "Ctrl+Alt+Shift+Right" = WindowToNextWorkspace;
        "Ctrl+Alt+Shift+Left" = WindowToPreviousWorkspace;

        "F12" = RootMenu;
        "Ctrl+Escape" = RootMenu;

        // TODO(kaeser@gubbe.ch): Swap to Plus, Minus, once finding a way to
        // exclude the Shift-modifier well.
        "Ctrl+Shift+Page_Up" = OutputMagnify;
        "Ctrl+Shift+Page_Down" = OutputReduce;

        // TODO(kaeser@gubbe.ch): xkbcommon emits XF86Switch_VT_n for Fn only with
        // Ctrl+Alt presset. Means: Here, it should not need the modifiers to be
        // listed. Should determine how to handle that w/o modifiers.
        "Ctrl+Alt+XF86Switch_VT_1" = SwitchToVT1;
        "Ctrl+Alt+XF86Switch_VT_2" = SwitchToVT2;
        "Ctrl+Alt+XF86Switch_VT_3" = SwitchToVT3;
        "Ctrl+Alt+XF86Switch_VT_4" = SwitchToVT4;
        "Ctrl+Alt+XF86Switch_VT_5" = SwitchToVT5;
        "Ctrl+Alt+XF86Switch_VT_6" = SwitchToVT6;
        "Ctrl+Alt+XF86Switch_VT_7" = SwitchToVT7;
        "Ctrl+Alt+XF86Switch_VT_8" = SwitchToVT8;
        "Ctrl+Alt+XF86Switch_VT_9" = SwitchToVT9;
        "Ctrl+Alt+XF86Switch_VT_10" = SwitchToVT10;
        "Ctrl+Alt+XF86Switch_VT_11" = SwitchToVT11;
        "Ctrl+Alt+XF86Switch_VT_12" = SwitchToVT12;
    };
    HotCorner = {
        // Delay for the pointer occupying a corner before triggering 'Enter'.
        TriggerDelay = 500;
        // For each corner 'TopLeft', 'TopRight', 'BottomLeft' and 'BottomRight'
        // there are 'Enter' and 'Leave' events that can be bound to an action.
        TopLeftEnter = LockScreen;
        TopLeftLeave = None;
        TopRightEnter = InhibitLockBegin;
        TopRightLeave = InhibitLockEnd;
        BottomLeftEnter = None;
        BottomLeftLeave = None;
        BottomRightEnter = None;
        BottomRightLeave = None;
    };
    ScreenLock = {
        IdleSeconds = 300;
        Command = "/usr/bin/swaylock";
    };
    // Optional array: Commands to start once wlmaker is running.
    Autostart = (
        "/usr/bin/foot"
    );
    Outputs = (
        {
            Name = "*";
            Transformation = Normal;
            Scale = 1.0;
        },
    );
}