This commit is contained in:
pika 2025-02-17 21:34:54 +01:00
parent 07a64c5aa3
commit c80e2b1272
8 changed files with 0 additions and 359 deletions

View file

@ -0,0 +1,257 @@
general:
# Commands to run when the WM has started (e.g. to run a script or launch
# another application). Here we are running a batch script to start Zebar.
startup_commands: ['shell-exec --command %userprofile%/.glzr/zebar/start.bat']
# Whether to automatically focus windows underneath the cursor.
focus_follows_cursor: false
# Whether to switch back and forth between the previously focused
# workspace when focusing the current workspace.
toggle_workspace_on_refocus: false
cursor_jump:
# Whether to automatically move the cursor on the specified trigger.
enabled: true
# Trigger for cursor jump:
# - 'monitor_focus': Jump when focus changes between monitors.
# - 'window_focus': Jump when focus changes between windows.
trigger: 'monitor_focus'
gaps:
# Gap between adjacent windows.
inner_gap: '2px'
# # Gap between windows and the screen edge.
outer_gap:
top: '32px'
right: '4px'
bottom: '4px'
left: '4px'
window_effects:
# Visual effects to apply to the focused window.
focused_window:
# Highlight the window with a colored border.
# ** Exclusive to Windows 11 due to API limitations.
border:
enabled: false
color: '#0000ff'
# Visual effects to apply to non-focused windows.
other_windows:
border:
enabled: false
window_behavior:
# New windows are created in this state whenever possible.
# Allowed values: 'tiling', 'floating'.
initial_state: 'tiling'
# Sets the default options for when a new window is created. This also
# changes the defaults for when the state change commands, like
# `set-floating`, are used without any flags.
state_defaults:
floating:
# Whether to center floating windows by default.
centered: true
# Whether to show floating windows as always on top.
shown_on_top: true
fullscreen:
# Maximize the window if possible. If the window doesn't have a
# maximize button, then it'll be fullscreen'ed normally instead.
maximized: false
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:
- commands: ['ignore']
match:
# Ignores any Zebar windows.
- window_process: { equals: 'zebar' }
# Ignores picture-in-picture windows for browsers.
- window_title: { regex: '[Pp]icture.in.[Pp]icture' }
window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' }
binding_modes:
# When enabled, the focused window can be resized via arrow keys or HJKL.
- name: 'resize'
keybindings:
- commands: ['resize --width -2%']
bindings: ['h', 'left']
- commands: ['resize --width +2%']
bindings: ['l', 'right']
- commands: ['resize --height +2%']
bindings: ['k', 'up']
- commands: ['resize --height -2%']
bindings: ['j', 'down']
# Press enter/escape to return to default keybindings.
- commands: ['wm-disable-binding-mode --name resize']
bindings: ['escape', 'enter']
# When enabled, all keybindings are disabled except for alt+shift+p which
# returns to default keybindings.
- name: 'pause'
keybindings:
- commands: ['wm-disable-binding-mode --name pause']
bindings: ['alt+shift+p']
keybindings:
# Shift focus in a given direction.
- commands: ['focus --direction left']
bindings: ['alt+h', 'alt+left']
- commands: ['focus --direction right']
bindings: ['alt+l', 'alt+right']
- commands: ['focus --direction up']
bindings: ['alt+k', 'alt+up']
- commands: ['focus --direction down']
bindings: ['alt+j', 'alt+down']
# Move focused window in a given direction.
- commands: ['move --direction left']
bindings: ['alt+ctrl+h', 'alt+ctrl+left']
- commands: ['move --direction right']
bindings: ['alt+ctrl+l', 'alt+ctrl+right']
- commands: ['move --direction up']
bindings: ['alt+ctrl+k', 'alt+ctrl+up']
- commands: ['move --direction down']
bindings: ['alt+ctrl+j', 'alt+ctrl+down']
# Resize focused window by a percentage or pixel amount.
- commands: ['resize --width -2%']
bindings: ['alt+shift+h']
- commands: ['resize --width +2%']
bindings: ['alt+shift+l']
- commands: ['resize --height +2%']
bindings: ['alt+shift+k']
- commands: ['resize --height -2%']
bindings: ['alt+shift+j']
# ─< Change tiling direction. This determines where new tiling windows will >─────────────
# ─< be inserted. >───────────────────────────────────────────────────────────────────────
- commands: ['toggle-tiling-direction']
bindings: ['alt+v']
# ─< Change focus from tiling windows -> floating -> fullscreen. >────────────────────────
- commands: ['wm-cycle-focus']
bindings: ['alt+space']
# ─< Change the focused window to be tiling. >────────────────────────────────────────────
- commands: ['toggle-tiling']
bindings: ['alt+f']
# ─< Change the focused window to be fullscreen. >────────────────────────────────────────
- commands: ['toggle-fullscreen']
bindings: ['alt+shift+f']
# ─< Close focused window. >──────────────────────────────────────────────────────────────
- commands: ['close']
bindings: ['alt+q']
# ─< Kill GlazeWM process safely. >───────────────────────────────────────────────────────
- commands: ['wm-exit']
bindings: ['alt+shift+m']
# ─< Re-evaluate configuration file. >────────────────────────────────────────────────────
- commands: ['wm-reload-config']
bindings: ['alt+shift+r']
# ─< Redraw all windows. >────────────────────────────────────────────────────────────────
- commands: ['wm-redraw']
bindings: ['alt+shift+w']
# ─────────< Launch CMD terminal. Alternatively, use `shell-exec --command wt` or >─────────
# ────────< shell-exec --command %ProgramFiles%/Git/git-bash.exe` to start Windows >────────
# ─< Terminal and Git Bash respectively. >────────────────────────────────────────────────
- commands: ['shell-exec --command wt powershell']
bindings: ['alt+enter']
# ─< Ubuntu shortcut >────────────────────────────────────────────────────────────────────
- commands: ['shell-exec --command wt ubuntu2404.exe']
bindings: ['alt+t']
# ─< Explorer shortcut >──────────────────────────────────────────────────────────────────
- commands: ['shell-exec --command explorer.exe']
bindings: ['alt+e']
- commands: ['shell-exec --command files.exe']
bindings: ['alt+shift+e']
# ─< Thorium shortcut >───────────────────────────────────────────────────────────────────
- commands: ['shell-exec --command C:\Users\piecka\AppData\Local\Thorium\Application\thorium.exe']
bindings: ['alt+c']
# ─< Obsidian shortcut >──────────────────────────────────────────────────────────────────
- commands: ['shell-exec --command C:\Users\piecka\AppData\Local\Programs\obsidian\Obsidian.exe']
bindings: ['alt+o']
# Change focus to a workspace defined in `workspaces` config.
- commands: ['focus --workspace 1']
bindings: ['alt+1']
- commands: ['focus --workspace 2']
bindings: ['alt+2']
- commands: ['focus --workspace 3']
bindings: ['alt+3']
- commands: ['focus --workspace 4']
bindings: ['alt+4']
- commands: ['focus --workspace 5']
bindings: ['alt+5']
- commands: ['focus --workspace 6']
bindings: ['alt+6']
- commands: ['focus --workspace 7']
bindings: ['alt+7']
- commands: ['focus --workspace 8']
bindings: ['alt+8']
- commands: ['focus --workspace 9']
bindings: ['alt+9']
- commands: ['focus --workspace 0']
bindings: ['alt+0']
# Move focused window to a workspace defined in `workspaces` config.
- commands: ['move --workspace 1', 'focus --workspace 1']
bindings: ['alt+shift+1']
- commands: ['move --workspace 2', 'focus --workspace 2']
bindings: ['alt+shift+2']
- commands: ['move --workspace 3', 'focus --workspace 3']
bindings: ['alt+shift+3']
- commands: ['move --workspace 4', 'focus --workspace 4']
bindings: ['alt+shift+4']
- commands: ['move --workspace 5', 'focus --workspace 5']
bindings: ['alt+shift+5']
- commands: ['move --workspace 6', 'focus --workspace 6']
bindings: ['alt+shift+6']
- commands: ['move --workspace 7', 'focus --workspace 7']
bindings: ['alt+shift+7']
- commands: ['move --workspace 8', 'focus --workspace 8']
bindings: ['alt+shift+8']
- commands: ['move --workspace 9', 'focus --workspace 9']
bindings: ['alt+shift+9']
- commands: ['move --workspace 0', 'focus --workspace 0']
bindings: ['alt+shift+0']

View file

@ -0,0 +1,16 @@
2024-07-29T07:39:07.906249Z ERROR glazewm: general: missing field `cursor_jump` at line 3 column 3
2024-07-29T07:40:27.885579Z ERROR glazewm: gaps.outer_gap: invalid type: string "3px 6px 6px 6px", expected struct RectDelta at line 25 column 14
2024-07-29T07:43:25.730851Z ERROR glazewm: window_rules[1]: missing field `commands` at line 108 column 5
2024-07-29T07:44:44.287926Z ERROR glazewm: window_rules[1]: missing field `commands` at line 108 column 5
2024-07-29T07:46:03.820935Z ERROR glazewm: window_rules[0].match[1]: duplicate field `window_title` at line 105 column 9
2024-07-29T07:47:52.019865Z ERROR glazewm: window_rules[1].match[0]: data did not match any variant of untagged enum MatchType at line 110 column 9
2024-07-29T08:04:07.363754Z ERROR glazewm: keybindings[21]: missing field `bindings` at line 219 column 5
2024-07-29T08:04:22.245952Z ERROR glazewm: keybindings[21].commands: unrecognized subcommand
at line 219 column 15
2024-07-29T08:08:42.877239Z ERROR glazewm: keybindings[22].commands: unrecognized subcommand
at line 221 column 15
2024-07-29T08:11:12.167944Z ERROR glazewm: keybindings[23]: missing field `bindings` at line 223 column 5
2024-07-29T08:12:45.956980Z ERROR glazewm: keybindings[23].commands: unexpected argument found
at line 223 column 15
2024-07-29T08:13:57.395544Z ERROR glazewm::common::commands::shell_exec: err_message="Failed to execute 'START /B C:\\Users\\piecka\\AppData\\Local\\Thorium\\Application\\thorium.exe'.\n\nError: Der Vorgang wurde durch den Benutzer abgebrochen. (0x800704C7)"
2024-07-30T09:16:06.604833Z ERROR glazewm: Ungültiges Fensterhandle (0x80070578)

View file

@ -0,0 +1,235 @@
# Yaml is white-space sensitive (use 2 spaces to indent).
###
# Define a new window with an id of 'bar'. This window can then be opened
# via the Zebar cli by running 'zebar open bar --args <ARGS...>'.
#
# Docs regarding window: https://some-future-docs-link.com
window/bar:
providers: ['self']
# Width of the window in physical pixels.
width: '{{ self.args.MONITOR_WIDTH }}'
# Height of the window in physical pixels.
height: '32'
# X-position of the window in physical pixels.
position_x: '{{ self.args.MONITOR_X }}'
# Y-position of the window in physical pixels.
position_y: '{{ self.args.MONITOR_Y }}'
# Whether to show the window above/below all others.
# Allowed values: 'always_on_top', 'always_on_bottom', 'normal'.
z_order: 'always_on_top'
# Whether the window should be shown in the taskbar.
shown_in_taskbar: false
# Whether the window should have resize handles.
resizable: false
# Styles to apply globally within the window. For example, we can use
# this to import the Nerdfonts icon font. Ref https://www.nerdfonts.com/cheat-sheet
# for a cheatsheet of available Nerdfonts icons.
global_styles: |
@import "https://www.nerdfonts.com/assets/css/webfont.css";
# CSS styles to apply to the root element within the window. Using CSS
# nesting, we can also target nested elements (e.g. below we set the
# color and margin-right of icons).
styles: |
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: center;
height: 100%;
color: rgb(255 255 255 / 90%);
# font-family: ui-monospace, monospace;
font-family: "VictorMono Nerd Font";
font-weight: 800;
font-size: 0.85rem;
padding: 4px 24px;
border-bottom: 1px solid rgb(255 255 255 / 5%);;
background: linear-gradient(rgb(0 0 0 / 90%), rgb(5 2 20 / 85%));
i {
color: rgb(115 130 175 / 95%);
margin-right: 7px;
}
group/left:
styles: |
display: flex;
align-items: center;
template/logo:
styles: |
margin-right: 20px;
template: |
<i class="nf nf-fa-windows"></i>
template/glazewm_workspaces:
styles: |
display: flex;
align-items: center;
.workspace {
background: rgb(255 255 255 / 5%);
margin-right: 4px;
padding: 4px 8px;
color: rgb(255 255 255 / 90%);
border: none;
border-radius: 2px;
cursor: pointer;
&.displayed {
background: rgb(255 255 255 / 15%);
}
&.focused,
&:hover {
background: rgb(75 115 255 / 50%);
}
}
providers: ['glazewm']
events:
- type: 'click'
fn_path: 'script.js#focusWorkspace'
selector: '.workspace'
template: |
@for (workspace of glazewm.currentWorkspaces) {
<button
class="workspace {{ workspace.hasFocus ? 'focused' : '' }} {{ workspace.isDisplayed ? 'displayed' : '' }}"
id="{{ workspace.name }}"
>
{{ workspace.displayName ?? workspace.name }}
</button>
}
group/center:
styles: |
justify-self: center;
template/clock:
providers: ['date']
# Available date tokens: https://moment.github.io/luxon/#/formatting?id=table-of-tokens
template: |
{{ date.toFormat(date.now, 'EEE d MMM t:ss') }}
group/right:
styles: |
justify-self: end;
display: flex;
.template {
margin-left: 20px;
}
template/glazewm_other:
providers: ['glazewm']
styles: |
.binding-mode,
.tiling-direction {
background: rgb(255 255 255 / 15%);
color: rgb(255 255 255 / 90%);
border-radius: 2px;
padding: 4px 6px;
margin: 0;
}
template: |
@for (bindingMode of glazewm.bindingModes) {
<span class="binding-mode">
{{ bindingMode.displayName ?? bindingMode.name }}
</span>
}
@if (glazewm.tilingDirection === 'horizontal') {
<i class="tiling-direction nf nf-md-swap_horizontal"></i>
} @else {
<i class="tiling-direction nf nf-md-swap_vertical"></i>
}
template/network:
providers: ['network']
template: |
<!-- Show icon based on signal strength. -->
@if (network.defaultInterface?.type === 'ethernet') {
<i class="nf nf-md-ethernet_cable"></i>
} @else if (network.defaultInterface?.type === 'wifi') {
@if (network.defaultGateway?.signalStrength >= 80) {<i class="nf nf-md-wifi_strength_4"></i>}
@else if (network.defaultGateway?.signalStrength >= 65) {<i class="nf nf-md-wifi_strength_3"></i>}
@else if (network.defaultGateway?.signalStrength >= 40) {<i class="nf nf-md-wifi_strength_2"></i>}
@else if (network.defaultGateway?.signalStrength >= 25) {<i class="nf nf-md-wifi_strength_1"></i>}
@else {<i class="nf nf-md-wifi_strength_outline"></i>}
{{ network.defaultGateway?.ssid }}
} @else {
<i class="nf nf-md-wifi_strength_off_outline"></i>
}
# template/ip:
# providers: ['ip']
# template: |
# <i class="nf-md-ip_network"></i>
# {{address}}
template/memory:
providers: ['memory']
template: |
<i class="nf nf-fae-chip"></i>
{{ Math.round(memory.usage) }}%
template/cpu:
providers: ['cpu']
styles: |
.high-usage {
color: #900029;
}
template: |
<i class="nf nf-oct-cpu"></i>
<!-- Change the text color if the CPU usage is high. -->
@if (cpu.usage > 85) {
<span class="high-usage">{{ Math.round(cpu.usage) }}%</span>
} @else {
<span>{{ Math.round(cpu.usage) }}%</span>
}
template/battery:
providers: ['battery']
styles: |
position: relative;
color: #13a243;
font-weight: 600;
.charging-icon {
color: #13a243;
font-weight: 600;
position: absolute;
font-size: 0.8rem;
left: 7px;
top: 2px;
}
template: |
<!-- Show icon for whether battery is charging. -->
@if (battery.isCharging) {<i class="nf-md-battery_charging"></i>}
<!-- Show icon for how much of the battery is charged. -->
@if (battery.chargePercent > 90) {<i class="nf-md-battery"></i>}
@else if (battery.chargePercent > 70) {<i class="nf-md-battery_70"></i>}
@else if (battery.chargePercent > 40) {<i class="nf-md-battery_40"></i>}
@else if (battery.chargePercent > 20) {<i class="nf-md-battery_20"></i>}
@else {<i class="nf-md-battery_outline"></i>}
{{ Math.round(battery.chargePercent) }}%
template/weather:
providers: ['weather']
template: |
@switch (weather.status) {
@case ('clear_day') {<i class="nf nf-weather-day_sunny"></i>}
@case ('clear_night') {<i class="nf nf-weather-night_clear"></i>}
@case ('cloudy_day') {<i class="nf nf-weather-day_cloudy"></i>}
@case ('cloudy_night') {<i class="nf nf-weather-night_alt_cloudy"></i>}
@case ('light_rain_day') {<i class="nf nf-weather-day_sprinkle"></i>}
@case ('light_rain_night') {<i class="nf nf-weather-night_alt_sprinkle"></i>}
@case ('heavy_rain_day') {<i class="nf nf-weather-day_rain"></i>}
@case ('heavy_rain_night') {<i class="nf nf-weather-night_alt_rain"></i>}
@case ('snow_day') {<i class="nf nf-weather-day_snow"></i>}
@case ('snow_night') {<i class="nf nf-weather-night_alt_snow"></i>}
@case ('thunder_day') {<i class="nf nf-weather-day_lightning"></i>}
@case ('thunder_night') {<i class="nf nf-weather-night_alt_lightning"></i>}
}
{{ weather.celsiusTemp }}°

View file

@ -0,0 +1,5 @@
export function focusWorkspace(event, context) {
console.log('Focus button clicked!', event, context);
const id = event.target.id;
context.providers.glazewm.focusWorkspace(id);
}

View file

@ -0,0 +1,5 @@
@echo off
@REM Start hidden powershell script, which runs `zebar open bar --args ...` for every monitor.
powershell -WindowStyle hidden -Command ^
$monitors = zebar monitors; ^
foreach ($monitor in $monitors) { Start-Process -WindowStyle Hidden -FilePath \"zebar\" -ArgumentList \"open bar --args $monitor\" };

View file

@ -1,5 +0,0 @@
## GlazeWM
[GlazeWM](https://github.com/glzr-io/glazewm) is an AWESOME tiling windowmanager for Windows. YES! Tiling! For Windows!
This is my config, feel free to use or change it to your needs. It has some pretty basic stuff, but I do think the bar looks great. Even tough v3 should be comming out soon, and then the bar completely changes.. But I try to update this repo.

View file

@ -1,353 +0,0 @@
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+<hjkl>` 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"]

View file

@ -1 +0,0 @@
START /B "" C:\Users\piecka\tools\GlazeWM.exe