Konfiguration

Eine Textdatei, die beim Speichern sofort greift

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üsselWerteBedeutung
gaps_inZahlAbstand zwischen zwei Fenstern in Punkten
gaps_outZahlAbstand zum Bildschirmrand
layoutdwindle master master-left master-right centered scrolling gridStartlayout – alle sieben erklärt
workspace_count1 – 20Anzahl der virtuellen Arbeitsflächen
focus_follows_mousetrue / falseFokus folgt dem Mauszeiger
hide_strategyoffscreen / minimizeWie Fenster inaktiver Arbeitsflächen versteckt werden
ignore_appsListeApps, die Kachelwerk grundsätzlich nicht anfasst
remote_controltrue / falseBefehle über kachelwerk://-Adressen annehmen – Fernsteuerung. Vorgabe: an
mcp_servertrue / falseMCP-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üsselWerteBedeutung
active_border_color#RRGGBBFarbe des fokussierten Fensters
inactive_border_color#RRGGBBFarbe der übrigen
roundingZahlEckenradius des Rahmens
show_focus_ringtrue / falseFokusrahmen ü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