dotfiles/leftwm/config.ron

163 lines
12 KiB
Plaintext

// _ ___ ___ _
// | | / __)_ / __|_)
// | | ____| |__| |_ _ _ _ ____ ____ ___ ____ | |__ _ ____ ____ ___ ____
// | |/ _ ) __) _) | | | \ / ___) _ \| _ \| __) |/ _ | / ___) _ \| _ \
// | ( (/ /| | | |_| | | | | | | ( (__| |_| | | | | | | ( ( | |_| | | |_| | | | |
// |_|\____)_| \___)____|_|_|_| \____)___/|_| |_|_| |_|\_|| (_)_| \___/|_| |_|
// A WindowManager for Adventurers (____/
// For info about configuration please visit https://github.com/leftwm/leftwm/wiki
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
(
modkey: "Mod4",
mousekey: "Mod4",
workspaces: [],
tags: [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
],
max_window_width: None,
layouts: [
"EvenHorizontal",
"EvenVertical",
"Monocle",
"Grid",
"MainAndVertStack",
"MainAndHorizontalStack",
"RightMainAndVertStack",
"Fibonacci",
"Dwindle",
"MainAndDeck",
"CenterMain",
"CenterMainBalanced",
"CenterMainFluid",
],
layout_definitions: [
(name: "EvenHorizontal", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: Vertical), second_stack: None)),
(name: "EvenVertical", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: Horizontal), second_stack: None)),
(name: "Monocle", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: None), second_stack: None)),
(name: "Grid", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: Grid), second_stack: None)),
(name: "MainAndVertStack", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Horizontal), second_stack: None)),
(name: "MainAndHorizontalStack", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Vertical), second_stack: None)),
(name: "RightMainAndVertStack", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: South, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Horizontal), second_stack: None)),
(name: "Fibonacci", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Fibonacci), second_stack: None)),
(name: "Dwindle", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Dwindle), second_stack: None)),
(name: "MainAndDeck", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: None), stack: (flip: None, rotate: North, split: None), second_stack: None)),
(name: "CenterMain", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: None), second_stack: (flip: None, rotate: North, split: Horizontal))),
(name: "CenterMainBalanced", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Dwindle), second_stack: (flip: None, rotate: North, split: Dwindle))),
(name: "CenterMainFluid", flip: None, rotate: North, reserve: Reserve, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: None), second_stack: (flip: None, rotate: North, split: Horizontal))),
],
layout_mode: Tag,
insert_behavior: Bottom,
scratchpad: [
(name: "Alacritty", value: "alacritty -o window.opacity=0.8 -e ~/.config/bin/z", x: 0, y: 0, height: 1474, width: 2256),
// (name: "Alacritty", value: "/usr/bin/alacritty", x: 0, y: 0, height: 1474, width: 2256),
],
window_rules: [
// (window_title: ".*Zellij.*", spawn_fullscreen: true),
// (window_class: ".*Alacritty.*", spawn_fullscreen: true),
(window_class: ".*Alacritty.*", spawn_floating: true),
(window_class: "firefox", spawn_on_tag: 1),
(window_title: "Dino", spawn_on_tag: 2),
// kde stuff https://userbase.kde.org/Tutorials/Using_Other_Window_Managers_with_Plasma#Single_User:_Using_System_Settings
(window_title: "Desktop.*Plasma", spawn_floating: true),
(window_title: "plasma-desktop", spawn_floating: true),
(window_class: "yakuake", spawn_floating: true),
(window_class: "plasmashell", spawn_floating: true),
(window_class: "Plasma", spawn_floating: true),
(window_class: "krunner", spawn_floating: true),
(window_class: "Kmix", spawn_floating: true),
(window_class: "Klipper", spawn_floating: true),
(window_class: "Plasmoidviewer", spawn_floating: true),
(window_class: "(?i).*nextcloud.*", spawn_floating: true),
],
disable_current_tag_swap: false,
disable_tile_drag: false,
disable_window_snap: true,
focus_behaviour: Sloppy,
focus_new_windows: true,
single_window_border: true,
sloppy_mouse_follows_focus: true,
create_follows_cursor: None,
auto_derive_workspaces: true,
disable_cursor_reposition_on_resize: false,
keybind: [
(command: Execute, value: "pactl set-sink-volume @DEFAULT_SINK@ +10%", modifier: [], key: "XF86AudioRaiseVolume"),
(command: Execute, value: "pactl set-sink-volume @DEFAULT_SINK@ -10%", modifier: [], key: "XF86AudioLowerVolume"),
(command: Execute, value: "pactl set-sink-mute @DEFAULT_SINK@ toggle", modifier: [], key: "XF86AudioMute"),
(command: Execute, value: "pactl set-source-mute @DEFAULT_SOURCE@ toggle", modifier: [], key: "XF86AudioMicMute"),
// (command: Execute, value: "", modifier: [], key: ""),
(command: Execute, value: "toggle-touchpad.sh", modifier: ["modkey"], key: "F11"),
(command: Execute, value: "rofi -show run", modifier: ["modkey"], key: "space"),
// (command: Execute, value: "tdrop -ma -h '100%' alacritty -o window.opacity=0.8 -e ~/.config/bin/z", modifier: [], key: "F12"),
(command: ToggleScratchPad, value: "Alacritty", modifier: [], key: "F12"),
(command: CloseWindow, value: "", modifier: ["modkey"], key: "q"),
(command: HardReload, modifier: ["modkey", "Shift"], key: "b"),
(command: ToggleFullScreen, modifier: ["modkey"], key: "f"),
(command: ToggleFloating, modifier: ["modkey", "Control"], key: "f"),
(command: ToggleSticky, modifier: ["modkey"], key: "v"),
(command: Execute, value: "physlock -sm", modifier: ["modkey", "Control"], key: "l"),
(command: Execute, value: "systemctl reboot", modifier: ["modkey", "Control"], key: "r"),
(command: Execute, value: "systemctl poweroff", modifier: ["modkey", "Control"], key: "s"),
(command: Execute, value: "systemctl suspend", modifier: ["modkey", "Control"], key: "u"),
(command: Execute, value: "systemctl hybrid-sleep", modifier: ["modkey", "Control"], key: "h"),
// custom are above
(command: Execute, value: "dmenu_run", modifier: ["modkey"], key: "p"),
(command: Execute, value: "alacritty", modifier: ["modkey", "Shift"], key: "Return"),
// (command: CloseWindow, value: "", modifier: ["modkey", "Shift"], key: "q"),
(command: SoftReload, value: "", modifier: ["modkey", "Shift"], key: "r"),
(command: Execute, value: "loginctl kill-session $XDG_SESSION_ID", modifier: ["modkey", "Shift"], key: "x"),
// (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: MoveWindowUp, value: "", modifier: ["modkey", "Shift"], key: "k"),
(command: MoveWindowDown, value: "", modifier: ["modkey", "Shift"], key: "j"),
(command: MoveWindowTop, value: "", modifier: ["modkey"], key: "Return"),
(command: FocusWindowUp, value: "", modifier: ["modkey"], key: "k"),
(command: FocusWindowDown, value: "", modifier: ["modkey"], key: "j"),
(command: NextLayout, value: "", modifier: ["modkey", "Control"], key: "k"),
(command: PreviousLayout, value: "", modifier: ["modkey", "Control"], key: "j"),
(command: FocusWorkspaceNext, value: "", modifier: ["modkey"], key: "l"),
(command: FocusWorkspacePrevious, value: "", modifier: ["modkey"], key: "h"),
(command: MoveWindowUp, value: "", modifier: ["modkey", "Shift"], key: "Up"),
(command: MoveWindowDown, value: "", modifier: ["modkey", "Shift"], key: "Down"),
(command: FocusWindowUp, value: "", modifier: ["modkey"], key: "Up"),
(command: FocusWindowDown, value: "", modifier: ["modkey"], key: "Down"),
(command: NextLayout, value: "", modifier: ["modkey", "Control"], key: "Up"),
(command: PreviousLayout, value: "", modifier: ["modkey", "Control"], key: "Down"),
// (command: FocusWorkspaceNext, value: "", modifier: ["modkey"], key: "Right"),
// (command: FocusWorkspacePrevious, value: "", modifier: ["modkey"], key: "Left"),
(command: FocusNextTag, value: "", modifier: ["modkey"], key: "Right"),
(command: FocusPreviousTag, value: "", modifier: ["modkey"], key: "Left"),
(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"),
],
state_path: None,
)