dotfiles-pub/windows/komorebi.ahk

213 lines
4 KiB
AutoHotkey

#SingleInstance Force
; You can generate a fresh version of this file with "komorebic ahk-library"
#Include %A_ScriptDir%\komorebic.lib.ahk
; https://github.com/LGUG2Z/komorebi/#generating-common-application-specific-configurations
#Include %A_ScriptDir%\komorebi.generated.ahk
; Default to minimizing windows when switching workspaces
WindowHidingBehaviour("hide")
; Set cross-monitor move behaviour to insert instead of swap
CrossMonitorMoveBehaviour("swap")
; Enable hot reloading of changes to this file
WatchConfiguration("enable")
; Ensure there is 1 workspace created on monitor 0
EnsureWorkspaces(0, 9)
; Configure the invisible border dimensions
InvisibleBorders(2,2,2,2)
MouseFollowsFocus("disable")
; Configure the 1st workspace
WorkspaceName(0, 0, "I")
WorkspaceName(0, 1, "II")
WorkspaceName(0, 2, "III")
WorkspaceName(0, 3, "IV")
WorkspaceName(0, 4, "V")
WorkspaceName(0, 5, "VI")
WorkspaceName(0, 6, "VII")
WorkspaceName(0, 7, "VIII")
WorkspaceName(0, 8, "IX")
WorkspacePadding(0, 0, 0)
WorkspacePadding(0, 1, 0)
WorkspacePadding(0, 2, 0)
WorkspacePadding(0, 3, 0)
WorkspacePadding(0, 4, 0)
WorkspacePadding(0, 5, 0)
WorkspacePadding(0, 6, 0)
WorkspacePadding(0, 7, 0)
WorkspacePadding(0, 8, 0)
ContainerPadding(0, 0, 8)
ContainerPadding(0, 1, 8)
ContainerPadding(0, 2, 8)
ContainerPadding(0, 3, 8)
ContainerPadding(0, 4, 8)
ContainerPadding(0, 5, 8)
ContainerPadding(0, 6, 8)
ContainerPadding(0, 7, 8)
ContainerPadding(0, 8, 8)
; Uncomment the next two lines if you want a visual border drawn around the focused window
; ActiveWindowBorderColour(66, 165, 245) ; this is a nice blue colour
; ActiveWindowBorder("enable")
; Allow komorebi to start managing windows
CompleteConfiguration()
; Change the focused window, Alt + Vim direction keys (HJKL)
;!h::
;Focus("left")
;return
;
;!j::
;Focus("down")
;return
;
;!k::
;Focus("up")
;return
;
;!l::
;Focus("right")
;return
#!q::
Stop()
return
#!r::
ReloadConfiguration()
return
; Move the focused window in a given direction, Alt + Shift + Vim direction keys (HJKL)
#+h::
Move("left")
return
#+j::
Move("down")
return
#+k::
Move("up")
return
#+l::
Move("right")
return
#+w::
Move("up")
return
#+a::
Move("left")
return
#+s::
Move("down")
return
#+d::
Move("right")
return
#1::
FocusWorkspace(0)
return
#2::
FocusWorkspace(1)
return
#3::
FocusWorkspace(2)
return
#4::
FocusWorkspace(3)
return
#5::
FocusWorkspace(4)
return
#6::
FocusWorkspace(5)
return
#7::
FocusWorkspace(6)
return
#8::
FocusWorkspace(7)
return
#9::
FocusWorkspace(8)
return
#+1::
SendToWorkspace(0)
return
#+2::
SendToWorkspace(1)
return
#+3::
SendToWorkspace(2)
return
#+4::
SendToWorkspace(3)
return
#+5::
SendToWorkspace(4)
return
#+6::
SendToWorkspace(5)
return
#+7::
SendToWorkspace(6)
return
#+8::
SendToWorkspace(7)
return
#+9::
SendToWorkspace(8)
return
#f::
ToggleFloat()
return
#t::
Manage()
return
#+t::
Unmanage()
return
#Enter::
Run, wezterm start
return
; There are many more commands that you can bind to whatever keys combinations you want!
;
; Have a look at the komorebic.lib.ahk file to see which arguments are required by different commands
;
; If you want more information about a command, you can run every komorebic command with "--help"
;
; For example, if you see this in komorebic.lib.ahk
;
; WorkspaceLayout(monitor, workspace, value) {
; Run, komorebic.exe workspace-layout %monitor% %workspace% %value%, , Hide
; }
;
; Just run "komorebic.exe workspace-layout --help" and you'll get all the information you need to use the command
;
; komorebic.exe-workspace-layout
; Set the layout for the specified workspace
;
; USAGE:
; komorebic.exe workspace-layout <MONITOR> <WORKSPACE> <VALUE>
;
; ARGS:
; <MONITOR> Monitor index (zero-indexed)
; <WORKSPACE> Workspace index on the specified monitor (zero-indexed)
; <VALUE> [possible values: bsp, columns, rows, vertical-stack, horizontal-stack, ultrawide-vertical-stack]
;
; OPTIONS:
; -h, --help Print help information