commit a91c2dd264c3092b8c9e36e06f6007e7bf3cab0d Author: Mans Ziesel Date: Thu Jan 11 15:24:21 2024 +0100 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..0312280 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +### Glazewm config +This is my [GlazeWM](https://github.com/glzr-io/glazewm) config for windows + diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..94efc92 --- /dev/null +++ b/config.yaml @@ -0,0 +1,267 @@ +general: + # Whether to automatically focus windows underneath the cursor. + focus_follows_cursor: false + + # Whether to jump the cursor between windows focused by the WM. + cursor_follow_focus: true + + # Whether to switch back and forth between the previously focused workspace + # when focusing the current workspace. + toggle_workspace_on_refocus: true + + # Whether to show floating windows as always on top. + show_floating_on_top: false + + # Amount to move floating windows by (eg. when using `alt+` on a floating window) + floating_window_move_amount: "5%" + + # *Strongly* recommended to set to 'false'. Whether to globally enable/disable + # window transition animations (on minimize, close, etc). Set to 'unchanged' + # to make no setting changes. + window_animations: "false" + +gaps: + # Gap between adjacent windows. + inner_gap: "10px" + + # Gap between windows and the screen edge. + outer_gap: "10px" + +# Highlight active/inactive windows with a colored border. +# ** Exclusive to Windows 11 due to API limitations. +focus_borders: + active: + enabled: true + color: "#0000ff" + + inactive: + enabled: false + color: "#ff0000" + +bar: + height: "30px" + position: "bottom" + opacity: 1.0 + background: "#20242cc4" + foreground: "#ffffff" + font_family: "Segoe UI" + font_size: "13px" + padding: "4px 6px" + offset_x: "0" + offset_y: "0" + border_radius: "0" + components_left: + - type: "workspaces" + focused_workspace_background: "#ffffff33" + displayed_workspace_background: "#00000033" + default_workspace_background: "transparent" + components_center: + - type: "window title" + components_right: + - type: "system tray" + - type: "tiling direction" + label_horizontal: "⮂" + label_vertical: "⮁" + background: "#ffffff33" + margin: "0 4px" + padding: "0 8px" + - type: "binding mode" + background: "#ffffff33" + margin: "0 4px 0 0" + padding: "0 8px" + - type: "clock" + # Documentation on formatting date/time string: + # https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings + time_formatting: "hh:mm tt ddd MMM d" + +workspaces: + - name: "1" + bind_to_monitor: 2 + - name: "2" + bind_to_monitor: 2 + - name: "3" + bind_to_monitor: 2 + - name: "4" + bind_to_monitor: 2 + - name: "5" + bind_to_monitor: 2 + - name: "6" + bind_to_monitor: 1 + - name: "7" + bind_to_monitor: 1 + - name: "8" + bind_to_monitor: 1 + - name: "9" + bind_to_monitor: 1 + - name: "10" + bind_to_monitor: 1 + +window_rules: + # Task Manager requires admin privileges to manage and should be ignored unless running + # the WM as admin. + - command: "ignore" + match_process_name: "/Taskmgr|ScreenClippingHost/" + + # Launches system dialogs as floating by default (eg. File Explorer save/open dialog). + - command: "set floating" + match_class_name: "#32770" + + # Some applications (eg. Steam) have borders that extend past the normal border size. + - command: "resize borders 0px -7px -7px -7px" + match_process_name: "steam" + +binding_modes: + - name: "resize" + keybindings: + # Resize focused window by a percentage or pixel amount. + - command: "resize width -2%" + bindings: ["H", "Left"] + - command: "resize width +2%" + bindings: ["L", "Right"] + - command: "resize height +2%" + bindings: ["K", "Up"] + - command: "resize height -2%" + bindings: ["J", "Down"] + # Press enter/escape to return to default keybindings. + - command: "binding mode none" + bindings: ["Escape", "Enter"] + +keybindings: + # Shift focus in a given direction. + - command: "focus left" + bindings: ["Alt+H", "Alt+Left"] + - command: "focus right" + bindings: ["Alt+L", "Alt+Right"] + - command: "focus up" + bindings: ["Alt+K", "Alt+Up"] + - command: "focus down" + bindings: ["Alt+J", "Alt+Down"] + + # Move focused window in a given direction. + - command: "move left" + bindings: ["Alt+Shift+H", "Alt+Shift+Left"] + - command: "move right" + bindings: ["Alt+Shift+L", "Alt+Shift+Right"] + - command: "move up" + bindings: ["Alt+Shift+K", "Alt+Shift+Up"] + - command: "move down" + bindings: ["Alt+Shift+J", "Alt+Shift+Down"] + + # Resize focused window by a percentage or pixel amount. + - command: "resize width -2%" + binding: "Alt+U" + - command: "resize width +2%" + binding: "Alt+P" + - command: "resize height +2%" + binding: "Alt+O" + - command: "resize height -2%" + binding: "Alt+I" + + # As an alternative to the resize keybindings above, resize mode enables resizing via + # HJKL or arrow keys. The binding mode is defined above with the name "resize". + - command: "binding mode resize" + binding: "Alt+R" + + # Change tiling direction. This determines where new tiling windows will be inserted. + - command: "tiling direction toggle" + binding: "Alt+V" + + # Change focus between floating / tiling windows. + - command: "focus mode toggle" + binding: "Alt+Space" + + # Change the focused window to be floating / tiling. + - command: "toggle floating" + binding: "Alt+Shift+Space" + + # Change the focused window to be maximized / unmaximized. + - command: "toggle maximized" + binding: "Alt+X" + + # Minimize focused window. + - command: "set minimized" + binding: "Alt+M" + + # Close focused window. + - command: "close" + binding: "Alt+Shift+Q" + + # Kill GlazeWM process safely. + - command: "exit wm" + binding: "Alt+Shift+E" + + # Re-evaluate configuration file. + - command: "reload config" + binding: "Alt+Shift+R" + + # Launch CMD terminal (alternatively `exec wt` or `exec %ProgramFiles%/Git/git-bash.exe` + # to start Windows Terminal and Git Bash respectively. + - command: "exec wt" + binding: "Alt+Enter" + + - command: "exec open mziesel.nl" + binding: "Alt+W" + + # Focus the workspace that last had focus. + - command: "focus workspace recent" + binding: "Alt+Y" + + # Focus the next/previous workspace defined in `workspaces` config. + - command: "focus workspace next" + binding: "Alt+T" + - command: "focus workspace prev" + binding: "Alt+Shift+T" + + # Change focus to a workspace defined in `workspaces` config. + - command: "focus workspace 1" + binding: "Alt+1" + - command: "focus workspace 2" + binding: "Alt+2" + - command: "focus workspace 3" + binding: "Alt+3" + - command: "focus workspace 4" + binding: "Alt+4" + - command: "focus workspace 5" + binding: "Alt+5" + - command: "focus workspace 6" + binding: "Alt+6" + - command: "focus workspace 7" + binding: "Alt+7" + - command: "focus workspace 8" + binding: "Alt+8" + - command: "focus workspace 9" + binding: "Alt+9" + - command: "focus workspace 10" + binding: "Alt+0" + + # Move focused workspace to a monitor in a given direction. + - command: "move workspace left" + binding: "Alt+A" + - command: "move workspace right" + binding: "Alt+F" + - command: "move workspace up" + binding: "Alt+D" + - command: "move workspace down" + binding: "Alt+S" + + # Move focused window to a workspace defined in `workspaces` config. + - commands: ["move to workspace 1", "focus workspace 1"] + binding: "Alt+Shift+1" + - commands: ["move to workspace 2", "focus workspace 2"] + binding: "Alt+Shift+2" + - commands: ["move to workspace 3", "focus workspace 3"] + binding: "Alt+Shift+3" + - commands: ["move to workspace 4", "focus workspace 4"] + binding: "Alt+Shift+4" + - commands: ["move to workspace 5", "focus workspace 5"] + binding: "Alt+Shift+5" + - commands: ["move to workspace 6", "focus workspace 6"] + binding: "Alt+Shift+6" + - commands: ["move to workspace 7", "focus workspace 7"] + binding: "Alt+Shift+7" + - commands: ["move to workspace 8", "focus workspace 8"] + binding: "Alt+Shift+8" + - commands: ["move to workspace 9", "focus workspace 9"] + bindings: ["Alt+Shift+9"] + - commands: ["move to workspace 10", "focus workspace 10"] + bindings: ["Alt+Shift+0"]