From ad41317b1a4a5292e9fc97854308870d2e1d97d1 Mon Sep 17 00:00:00 2001 From: Alexander Pieck Date: Mon, 1 Jul 2024 08:07:06 +0000 Subject: [PATCH] Add GlazeWM/config.yaml --- GlazeWM/config.yaml | 353 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 353 insertions(+) create mode 100644 GlazeWM/config.yaml diff --git a/GlazeWM/config.yaml b/GlazeWM/config.yaml new file mode 100644 index 0000000..3ab2b87 --- /dev/null +++ b/GlazeWM/config.yaml @@ -0,0 +1,353 @@ +general: + # Whether to automatically focus windows underneath the cursor. + focus_follows_cursor: true + + # Whether to jump the cursor between windows focused by the WM. + cursor_follows_focus: false + + # Whether to switch back and forth between the previously focused workspace + # when focusing the current workspace. + toggle_workspace_on_refocus: false + + # Whether to show floating windows as always on top. + show_floating_on_top: true + + # Amount to move floating windows by (eg. when using `alt+` on a floating window) + floating_window_move_amount: "5%" + + # Whether to center new floating windows. + center_new_floating_windows: true + + # *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: "unchanged" + +gaps: + # Gap between adjacent windows. + inner_gap: "3px" + + # Gap between windows and the screen edge. + outer_gap: "3px 6px 6px 6px" + +# 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: "28px" + position: "top" + font_weight: 600 + opacity: 0.9 + background: "#3a3d3799" + foreground: "#d2d2d2" + font_family: "JetBrainsMono Nerd Font" + font_size: "14px" + padding: "2px 4px" + offset_x: "8%" + offset_y: "4%" + border_radius: "6px" + component_separator: + label: "  " + # ─────────────────────────────────< left side components >───────────────────────────────── + components_left: + - 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:ss" + margin: "0 4px" + font_weight: 800 + # background: "#ffffff33" + - type: "workspaces" + focused_workspace_background: "#00000033" + focused_workspace_foreground: "#71b173" + focused_workspace_font_weight: 800 + displayed_workspace_background: "#00000033" + displayed_workspace_foreground: "#b17171" + default_workspace_background: "transparent" + font_weight: 600 + - type: "system tray" + margin: "4px 0" + label_expand_text: " " + label_collapse_text: " " + foreground: "#cfbc50" + label_font_weight: 800 + # ─────────────────────────────────< centered components >─────────────────────────────── + components_center: + - type: "window title" + label: " {window_title}" + foreground: "#b0b0b0" + # background: "#384032cc" + # ────────────────────────────────< right side components >────────────────────────────── + components_right: + - type: "tiling direction" + label_horizontal: "󰮸" + label_vertical: "󰮾" + background: "#ffffff33" + margin: "0 2px" + padding: "0 6px" + - type: "binding mode" + background: "#482424cc" + margin: "0 4px 0 0" + padding: "0 8px" + - type: "cpu" + label: " {percent_usage}%" + foreground: "#5087cf" + # How often this counter is refreshed. + refresh_interval_ms: 900 + font_weight: 800 + - type: "memory" + label: " {percent_usage}%" + foreground: "#cf5063" + font_weight: 800 + # How often this counter is refreshed. + refresh_interval_ms: 900 + - type: "battery" + label_draining: "󰂂 {battery_level}%" + label_power_saver: "󱃌 {battery_level}%" + label_charging: "󰂄 {battery_level}%" + foreground: "#1ea54c" + font_weight: 800 + refresh_interval_ms: 1800 + - type: "volume" + label_low: " {volume_level}%" + label_medium: " {volume_level}%" + label_high: " {volume_level}%" + label_mute: " {volume_level}%" + foreground: "#c6d27f" + - type: "network" + foreground: "#7edab4" + label_no_internet: "" + label_ethernet: "󰈀" + label_wifi_strength_0: "󰤫" + label_wifi_strength_25: "󰤟" + label_wifi_strength_50: "󰤢" + label_wifi_strength_75: "󰤥" + label_wifi_strength_100: "󰤨" + - type: "clock" + time_formatting: "󰸗 d.MMM ddd" + margin: "0 6px 0 0" + +workspaces: + - name: "0" + display_name: " " + bind_to_monitor: 1 + keep_alive: true + - name: "1" + display_name: " " + bind_to_monitor: 2 + keep_alive: true + - name: "2" + display_name: " " + bind_to_monitor: 1 + keep_alive: true + - name: "3" + display_name: "󱜠 " + bind_to_monitor: 2 + keep_alive: true + - name: "4" + display_name: "󰴢 " + bind_to_monitor: 2 + keep_alive: true + - name: "5" + display_name: "󰊻 " + bind_to_monitor: 2 + - name: "6" + bind_to_monitor: 2 + - name: "7" + - name: "8" + - name: "9" + +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/" + + - command: "ignore" + match_title: "/Eigenschaften*/" + - command: "ignore" + match_title: "/Eingabe*/" + + - command: "ignore" + match_title: "/001850464363*/" + + # Launches system dialogs as floating by default (eg. File Explorer save/open dialog). + - command: "set floating" + match_class_name: "#32770" + + # Do not manage picture-in-picture windows for browsers. Note that the default is for + # English; change `match_title` to the window's title if you use another language. + - command: "ignore" + match_title: "[Pp]icture.in.[Pp]icture" + match_class_name: "Chrome_WidgetWin_1|MozillaDialogClass" + + # 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: ["J", "Up"] + - command: "resize height -2%" + bindings: ["K", "Down"] + # Press enter/escape to return to default keybindings. + - command: "binding mode none" + bindings: ["Escape", "Enter", "Ctrl+C"] + +keybindings: + # Shift focus in a given direction. + - command: "focus left" + bindings: ["Alt+H"] + - command: "focus right" + bindings: ["Alt+L"] + - command: "focus up" + bindings: ["Alt+K"] + - command: "focus down" + bindings: ["Alt+J"] + + # Move focused window in a given direction. + - command: "move left" + bindings: ["Alt+Ctrl+H"] + - command: "move right" + bindings: ["Alt+Ctrl+L"] + - command: "move up" + bindings: ["Alt+Ctrl+K"] + - command: "move down" + bindings: ["Alt+Ctrl+J"] + + # Resize focused window by a percentage or pixel amount. + - command: "resize width -2%" + binding: "Alt+Shift+L" + - command: "resize width +2%" + binding: "Alt+Shift+H" + - command: "resize height +2%" + binding: "Alt+Shift+K" + - command: "resize height -2%" + binding: "Alt+Shift+J" + + # 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+Ctrl+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+F" + + # Change the focused window to be maximized / unmaximized. + - command: "toggle maximized" + binding: "Alt+Shift+F" + + # Minimize focused window. + - command: "set minimized" + binding: "Alt+M" + + # Close focused window. + - command: "close" + binding: "Alt+Q" + + # Kill GlazeWM process safely. + - command: "exit wm" + binding: "Alt+Shift+K" + + # 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 powershell.exe" + binding: "Alt+Enter" + + # Ubuntu shortcut + - command: "exec ubuntu2404.exe" + binding: "Alt+T" + + # Explorer shortcut + - command: "exec explorer.exe" + binding: "Alt+Shift+E" + - command: "exec files.exe" + binding: "Alt+E" + + # Browser shortcut + - command: "exec mercury.exe" + binding: "Alt+C" + + # Change focus to a workspace defined in `workspaces` config. + - command: "focus workspace 0" + binding: "Alt+0" + - 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" + + # 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 0", "focus workspace 0"] + binding: "Alt+Shift+0" + - 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"]