#![enable(implicit_some)]
(
    modkey: "Mod4",
    mousekey: "Mod4",
    workspaces: [
      (
        output: "DP-4",
        y: 0,
        x: 0,
        height: 1080,
        width: 1920,
      ),
      (
        output: "HDMI-0",
        y: 0,
        x: 1920,
        height: 1080,
        width: 1920,
      )
    ],
    tags: [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
    ],
    max_window_width: None,
    layouts: [
        MainAndVertStack,
        Fibonacci,
        Monocle,
        LeftWiderRightStack,
    ],
    layout_mode: Workspace,
    insert_behavior: Bottom,
    scratchpad: [
      (name: "Qalc", value: "alacritty -e qalc -t", x: 760, y: 415, height: 250, width: 400),
    ],
    window_rules: [],
    disable_current_tag_swap: true,
    disable_tile_drag: false,
    disable_window_snap: true,
    focus_behaviour: Sloppy,
    focus_new_windows: true,
    single_window_border: true,
    sloppy_mouse_follows_focus: true,
    auto_derive_workspaces: true,
    keybind: [
        (command: Execute, value: "rofi -show drun", modifier: ["modkey"], key: "d"),
        (command: Execute, value: "rofi -show ssh", modifier: ["modkey"], key: "s"),
        (command: Execute, value: "alacritty", modifier: ["modkey"], key: "Return"),
        (command: Execute, value: "chromium", modifier: ["modkey"], key: "b"),
        (command: Execute, value: "playerctl play-pause", modifier: ["modkey"], key: "u"),
        (command: CloseWindow, value: "", modifier: ["modkey", "Shift"], key: "q"),
        (command: SoftReload, value: "", modifier: ["modkey", "Shift"], key: "x"),
        (command: Execute, value: "betterlockscreen --lock", modifier: ["modkey", "Shift"], key: "l"),
        (command: Execute, value: "emacs", modifier: ["modkey", "Shift"], key: "e"),
        (command: Execute, value: "flameshot gui", modifier: ["modkey"], key: "Print"),
        (command: MoveToLastWorkspace, value: "", modifier: ["modkey", "Shift"], key: "w"),
        (command: SwapTags, value: "", modifier: ["modkey"], key: "w"),

        (command: MoveWindowUp, value: "", modifier: ["modkey", "Shift"], key: "k"),
        (command: MoveWindowDown, value: "", modifier: ["modkey", "Shift"], key: "j"),
        (command: MoveWindowTop, value: "", modifier: ["modkey", "Shift"], key: "Return"),

        (command: FocusWorkspaceNext, value: "", modifier: ["modkey"], key: "e"),
        (command: FocusWorkspacePrevious, value: "", modifier: ["modkey"], key: "q"),
        (command: FocusWindowUp, value: "", modifier: ["modkey"], key: "k"),
        (command: FocusWindowDown, value: "", modifier: ["modkey"], key: "j"),

        (command: IncreaseMainWidth, value: "2", modifier: ["modkey"], key: "l"),
        (command: DecreaseMainWidth, value: "2", modifier: ["modkey"], key: "h"),

        (command: NextLayout, value: "", modifier: ["modkey", "Control"], key: "k"),
        (command: PreviousLayout, value: "", modifier: ["modkey", "Control"], key: "j"),

        (command: ToggleScratchPad, value: "Qalc", modifier: ["modkey"], key: "c"),
        (command: ToggleFloating, modifier: ["modkey"], key: "f"),
        (command: ToggleFullScreen, modifier: ["modkey", "Shift"], key: "f"),

        (command: SetLayout, value: "Monocle", modifier: ["modkey"], key: "m"),
        (command: SetLayout, value: "MainAndVertStack", modifier: ["modkey"], key: "t"),
        (command: SetLayout, value: "LeftWiderRightStack", modifier: ["modkey", "Shift"], key: "t"),

        (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"),
    ],
)
