//  _        ___                                      ___ _
// | |      / __)_                                   / __|_)
// | | ____| |__| |_ _ _ _ ____      ____ ___  ____ | |__ _  ____    ____ ___  ____
// | |/ _  )  __)  _) | | |    \    / ___) _ \|  _ \|  __) |/ _  |  / ___) _ \|  _ \
// | ( (/ /| |  | |_| | | | | | |  ( (__| |_| | | | | |  | ( ( | |_| |  | |_| | | | |
// |_|\____)_|   \___)____|_|_|_|   \____)___/|_| |_|_|  |_|\_|| (_)_|   \___/|_| |_|
// A WindowManager for Adventurers                         (____/
// For info about configuration please visit https://github.com/leftwm/leftwm/wiki

#![enable(implicit_some)]
(
    modkey: "Mod4",
    mousekey: "Mod4",
    workspaces: [],
    tags: [
        " dev ",
        " www ",
        " sys ",
        " doc ",
        " vbox ",
        " chat ",
        " mus ",
        " vid ",
        " gfx ",
    ],
    max_window_width: None,
    layouts: [
        MainAndVertStack,
        MainAndHorizontalStack,
        MainAndDeck,
        GridHorizontal,
        EvenHorizontal,
        EvenVertical,
        Fibonacci,
        LeftMain,
        CenterMain,
        CenterMainBalanced,
        CenterMainFluid,
        Monocle,
        RightWiderLeftStack,
        LeftWiderRightStack,
    ],
    layout_mode: Workspace,
    insert_behavior: Bottom,
    scratchpad: [
        (name: "Alacritty", value: "alacritty", x: 860, y: 390, height: 300, width: 200),
    ],
    window_rules: [],
    disable_current_tag_swap: false,
    disable_tile_drag: false,
    disable_window_snap: true,
    focus_behaviour: Sloppy,
    focus_new_windows: true,
    sloppy_mouse_follows_focus: true,
    keybind: [
        (command: Execute, value: "dmenu_run", modifier: ["modkey", "Shift"], key: "Return"),
        (command: Execute, value: "alacritty", modifier: ["modkey"], key: "Return"),
        (command: CloseWindow, value: "", modifier: ["modkey", "Shift"], key: "c"),
        (command: SoftReload, value: "", modifier: ["modkey", "Shift"], key: "r"),
        (command: Execute, value: "pkill leftwm", modifier: ["modkey", "Shift"], key: "q"),
        (command: Execute, value: "slock", modifier: ["modkey", "Control"], key: "l"),
        (command: MoveToLastWorkspace, value: "", modifier: ["modkey", "Shift"], key: "w"),
        (command: SwapTags, value: "", modifier: ["modkey"], key: "w"),
        (command: MoveWindowDown, value: "", modifier: ["modkey", "Shift"], key: "k"),
        (command: MoveWindowUp, value: "", modifier: ["modkey", "Shift"], key: "j"),
        (command: MoveWindowTop, value: "", modifier: ["modkey", "Shift"], key: "m"),
        (command: FocusWindowDown, value: "", modifier: ["modkey"], key: "k"),
        (command: FocusWindowUp, value: "", modifier: ["modkey"], key: "j"),
        (command: NextLayout, value: "", modifier: ["modkey"], key: "Tab"),
        (command: PreviousLayout, value: "", modifier: ["modkey", "Shift"], key: "Tab"),
        (command: FocusWorkspaceNext, value: "", modifier: ["modkey"], key: "period"),
        (command: FocusWorkspacePrevious, value: "", modifier: ["modkey"], key: "comma"),
        (command: ToggleFullScreen, modifier: ["modkey"], key: "space"),
        (command: GotoTag, value: "1", modifier: ["modkey"], key: "1"),
        (command: GotoTag, value: "2", modifier: ["modkey"], key: "2"),
        (command: GotoTag, value: "3", modifier: ["modkey"], key: "3"),
        (command: GotoTag, value: "4", modifier: ["modkey"], key: "4"),
        (command: GotoTag, value: "5", modifier: ["modkey"], key: "5"),
        (command: GotoTag, value: "6", modifier: ["modkey"], key: "6"),
        (command: GotoTag, value: "7", modifier: ["modkey"], key: "7"),
        (command: GotoTag, value: "8", modifier: ["modkey"], key: "8"),
        (command: GotoTag, value: "9", modifier: ["modkey"], key: "9"),
        (command: MoveToTag, value: "1", modifier: ["modkey", "Shift"], key: "1"),
        (command: MoveToTag, value: "2", modifier: ["modkey", "Shift"], key: "2"),
        (command: MoveToTag, value: "3", modifier: ["modkey", "Shift"], key: "3"),
        (command: MoveToTag, value: "4", modifier: ["modkey", "Shift"], key: "4"),
        (command: MoveToTag, value: "5", modifier: ["modkey", "Shift"], key: "5"),
        (command: MoveToTag, value: "6", modifier: ["modkey", "Shift"], key: "6"),
        (command: MoveToTag, value: "7", modifier: ["modkey", "Shift"], key: "7"),
        (command: MoveToTag, value: "8", modifier: ["modkey", "Shift"], key: "8"),
        (command: MoveToTag, value: "9", modifier: ["modkey", "Shift"], key: "9"),
        (command: IncreaseMainWidth, value: "1", modifier: ["modkey", "Shift"], key: "l"),
        (command: DecreaseMainWidth, value: "1", modifier: ["modkey", "Shift"], key: "h"),
        (command: Execute, value: "emacsclient -c -a 'emacs'", modifier: ["modkey"], key: "e"),
    ],
    state_path: None,
)
