Die gesamte Einrichtung steht in einer einzigen Datei:
~/Library/Application Support/Kachelwerk/kachelwerk.conf
Sie wird beim ersten Start automatisch angelegt und ist vollständig auskommentiert – die Datei ist damit zugleich die Referenz. Öffnen über Menüleiste → Konfiguration → kachelwerk.conf öffnen.
Jedes Speichern wird sofort übernommen. Ein Neustart ist nie nötig. Fehlerhafte Zeilen werden übersprungen und mit Zeilennummer im Menü gemeldet – die App startet also nie wegen eines Tippfehlers nicht.
Weil alles in einer Textdatei steht, lässt sich die Einrichtung versionieren, kopieren und auf den nächsten Mac mitnehmen.
Der vollständige Aufbau
general {
gaps_in = 6 # Abstand zwischen Fenstern
gaps_out = 12 # Abstand zum Bildschirmrand
layout = dwindle # dwindle | master | master-left | master-right
# | centered | scrolling | grid
workspace_count = 10
focus_follows_mouse = false
hide_strategy = offscreen # offscreen | minimize
ignore_apps = System Settings, Finder
remote_control = true # Befehle über kachelwerk:// annehmen
mcp_server = false # MCP-Server für KI-Assistenten
}
dwindle {
preserve_split = false
split_bias = 1.0
}
master {
new_status = slave # master | slave | inherit
mfact = 0.55
orientation = left # left | top
always_center_master = false
pinned = false # Hauptfenster fixieren
}
scrolling {
column_width = 0.5
fullscreen_on_one_column = true
}
decoration {
active_border_color = #8AADF4
inactive_border_color = #494D64
rounding = 10
show_focus_ring = true
}
animations {
enabled = true
duration = 0.16
}
input {
mod_key = alt # cmd | ctrl | alt | shift, mit '+' kombinierbar
mouse_mod_key = alt
}
keybinds {
terminal = open -a Terminal
browser = open -a Safari
file_manager = open -a Finder
launcher = open -a Spotlight
editor = open -a TextEdit
music = open -a Music
}
displays {
dell-u2720q = master-left # ein Layout je Bildschirm
}
Die Blöcke im Einzelnen
general { }
| Schlüssel | Werte | Bedeutung |
|---|---|---|
gaps_in | Zahl | Abstand zwischen zwei Fenstern in Punkten |
gaps_out | Zahl | Abstand zum Bildschirmrand |
layout | dwindle master master-left master-right centered scrolling grid | Startlayout – alle sieben erklärt |
workspace_count | 1 – 20 | Anzahl der virtuellen Arbeitsflächen |
focus_follows_mouse | true / false | Fokus folgt dem Mauszeiger |
hide_strategy | offscreen / minimize | Wie Fenster inaktiver Arbeitsflächen versteckt werden |
ignore_apps | Liste | Apps, die Kachelwerk grundsätzlich nicht anfasst |
remote_control | true / false | Befehle über kachelwerk://-Adressen annehmen – Fernsteuerung. Vorgabe: an |
mcp_server | true / false | MCP-Server für KI-Assistenten – MCP-Server. Vorgabe: aus |
displays { }
Ein eigenes Layout je Bildschirm. Der Schlüssel ist der Bildschirmname in
Kleinbuchstaben mit Bindestrichen; am einfachsten trägt ihn
Menüleiste → Displays selbst ein. Ohne Eintrag folgt ein Bildschirm dem
Standard-Layout aus general { }.
decoration { }
Kachelwerk zeichnet keine Fensterrahmen – das macht der WindowServer und dafür gibt es keine API. Was hier steht, wirkt auf den Fokusrahmen, den Kachelwerk selbst darüberlegt.
| Schlüssel | Werte | Bedeutung |
|---|---|---|
active_border_color | #RRGGBB | Farbe des fokussierten Fensters |
inactive_border_color | #RRGGBB | Farbe der übrigen |
rounding | Zahl | Eckenradius des Rahmens |
show_focus_ring | true / false | Fokusrahmen überhaupt zeichnen |
input { }
Siehe Tastenkürzel → welche Taste ist SUPER.
keybinds { }
Legt fest, welches Programm ein Kürzel startet. So bleibt dieselbe Tastenbelegung nutzbar, egal welches Terminal oder welcher Browser bevorzugt wird.
Eigene Tastenkürzel
bind = SUPER, G, exec, open -a Ghostty
bindd = SUPER SHIFT, M, Mail öffnen, exec, open -a Mail
unbind = SUPER, C
Vollständige Beschreibung samt aller Dispatcher: Tastenkürzel.
Fensterregeln
windowrule = float, Calculator # startet schwebend
windowrule = tile, Preview # wird immer gekachelt
windowrule = ignore, Karabiner-Elements # wird nie angefasst
windowrule = master, iTerm2 # wird immer das Hauptfenster
windowrule = workspace, Mail, 4 # landet auf Arbeitsfläche 4
windowrule = center, Mail # weitere Fenster schweben mittig
Der zweite Wert ist ein Teilstring des App-Namens; Groß- und Kleinschreibung spielt keine Rolle.
center gilt für weitere Fenster eines Programms, das schon ein Fenster
hat – etwa das Fenster für eine neue E-Mail. Das erste Fenster wird wie gewohnt
gekachelt, und die Regel verträgt sich mit den anderen: workspace, Mail, 4
bestimmt weiter, wohin das Hauptfenster kommt.
Mehr dazu.
Ein kompaktes Beispiel
Ein vollständiger, alltagstauglicher Anfang – alles Übrige bleibt auf den Voreinstellungen:
general {
layout = centered
gaps_in = 8
gaps_out = 14
}
master {
always_center_master = true
}
input {
mod_key = alt
}
bind = SUPER, G, exec, open -a Ghostty
unbind = SUPER, P
windowrule = master, iTerm2
windowrule = float, Calculator
windowrule = center, Mail