Konfiguration und Einrichtung

Focus Pack einrichten

Alles, was der Einrichtungsassistent beim ersten Start fragt, ausführlich erklärt, dazu die Teile, die in den Einstellungen und auf der Kommandozeile wohnen. Jeder Abschnitt steht für sich, also spring dorthin, was du brauchst.

Schnellstart

Der erste Start öffnet den Einrichtungsassistenten: sieben Schritte unter einem Sonnenstrahlen-Hintergrund mit Sykes. Er erklärt, was die App tut, und fragt dann, wer mit dir fokussiert, welche Tags du griffbereit haben willst, deinen Sitzungsrhythmus, die nötigen Berechtigungen und wie Nicht stören eingeschaltet werden soll. Alles, was er speichert, lässt sich später in den Einstellungen ändern, und der Assistent selbst öffnet sich jederzeit wieder aus den Einstellungen.

  1. Wähle deine Begleiter. Bruno der Bär ist immer dabei. Hake die Spezialisten für die Skills ab, in denen du fokussierst; weitere kannst du später adoptieren.
  2. Lege ein paar Tags bereit. „Thesis“, „Rust“, „Kundenprojekt“. Tags tragen das Detail, Skills den Begleiter.
  3. Stelle den Rhythmus ein. Standardlänge, Pausenlänge und ein Tagesziel in Minuten. Das Tagesziel bestimmt deine Serie.
  4. Erteile Berechtigungen für Mitteilungen, Wecker und, auf dem iPhone, den Fokus-Status.
  5. Wähle eine Nicht-stören-Strategie (unten). Nur Timer reicht für den Anfang.

Nicht stören

iOS bietet Apps keine öffentliche Schnittstelle, um einen Fokus einzuschalten. Focus Pack bietet drei Strategien unter Einstellungen → Fokus-Strategie; der Mac kümmert sich bei allen dreien selbst um seinen Fokus.

Kurzbefehle

Die App führt einen Kurzbefehl aus, der dir gehört, und übergibt die Sitzungslänge in Minuten als Eingabe. Der Kurzbefehl setzt Nicht stören bis zum Ende der Sitzung, sodass das System es von selbst wieder ausschaltet, auch wenn die App geschlossen ist.

  1. Öffne Kurzbefehle und lege einen neuen Kurzbefehl namens Focus On an.
  2. Füge Datum anpassen hinzu: Kurzbefehl-Eingabe Minuten zu Aktuelles Datum addieren.
  3. Füge Fokus festlegen hinzu: Nicht stören einschalten bis zum angepassten Datum.
  4. Optional: erstelle Focus Off mit einer einzigen Aktion Fokus festlegen → Nicht stören → Aus. Er läuft, wenn du eine Sitzung vorzeitig beendest.
  5. Wähle in Focus Pack Kurzbefehle und tippe beide Namen genau so ein, wie sie in der Kurzbefehle-App stehen.

Fokus-Filter

Die andere Richtung: Ein Fokus, der dir gehört, startet die Sitzung. Focus Pack bringt einen Fokus-Filter mit; füge ihn einem eigenen Fokus hinzu, und das System ruft ihn auf, wenn dieser Fokus ein- (Sitzung starten) und ausgeschaltet wird (Sitzung beenden). Der Filter löst auf jedem Apple-Gerät aus, das den Fokus teilt, also startet die Sitzung auch auf Mac und iPad.

  1. Gehe zu Einstellungen → Fokus und lege einen eigenen Fokus an, zum Beispiel „Deep Work“.
  2. Scrolle zu Fokusfilter, tippe auf Filter hinzufügen und wähle Focus Pack.
  3. Wähle Skill und Länge, die die Sitzung bekommen soll, wenn dieser Fokus eingeschaltet wird.
  4. Wähle in Focus Pack Fokus-Filter als Strategie.

Nur Timer

Keinerlei Fokus-Interaktion. Countdown, Wecker und Begleiter funktionieren überall weiter.

Berechtigungen

  • Mitteilungen: die Mitteilung zum Sitzungsende auf Mac und Watch sowie die zeitkritische, wenn der Wecker nicht klingeln kann.
  • Wecker (iPhone und iPad): Der Countdown ist ein Systemwecker. Er zeigt die Live-Aktivität auf dem Sperrbildschirm und in der Dynamic Island und klingelt auch im Lautlos-Modus.
  • Fokus-Status (iPhone): Die App sieht, ob bereits ein Fokus aktiv ist, damit eine gespiegelte Sitzung nicht gegen einen von dir gesetzten Fokus arbeitet.
  • Hintergrundaktualisierung: Stille Push-Nachrichten wecken die App, wenn sich eine Sitzung auf einem anderen Gerät ändert.

Jede davon lässt sich später unter Einstellungen → Berechtigungen erteilen; mehr wird nicht angefragt.

Sitzungsrhythmus

Drei Zahlen unter Einstellungen → Sitzungen. Das LCD auf dem Fokus-Tab zeigt die Standardlänge; die Voreinstellungstasten und die Tasten − / + setzen eigene Längen pro Sitzung.

Standardlänge25 MINGilt für Widgets, Siri und die Watch, sofern du nichts anderes wählst.
Pause5 MINDie zweite Taste des Weckers startet einen Pausen-Countdown.
Tagesziel120 MINEin Tag zählt für deine Serie, sobald dieses Ziel erreicht ist.

Fokussierte Minuten zählen. Ein durchgelaufener Countdown bringt 10 % extra; vorzeitiges Beenden behält die geschafften Minuten. Stimmung, Bauch und Energie sinken jede wache Stunde ein wenig und pausieren zwischen 23:00 und 07:00 Uhr.

Begleiter

Ein Begleiter ist im Rudel, sobald er adoptiert ist. Adoptiere im Einrichtungsassistenten, über den +-Chip auf dem Fokus- und dem Begleiter-Tab, über die leeren Höhlen auf dem Rudel-Bildschirm oder unter Einstellungen → Begleiter. Jeder Begleiter hat in den Einstellungen eine Seite, auf der du ihn umbenennen kannst.

Bruno · Deep Work Sykes · Programmieren Juniper · Lesen Ember · Lernen Birch · Schreiben Pebble · Kreatives Echo · Sprachen
  • Sitzungen, die vor der Adoption eines Spezialisten aufgezeichnet wurden, bleiben bei Bruno. Ein Neuzugang fängt frisch an.
  • Eine Sitzung, deren Spezialist nicht im Rudel ist, geht an Bruno. Nur Rudelmitglieder verdienen etwas.
  • Leckerlis kosten 2 Knochen (+30 Bauch), Spielzeit kostet 1 (+12 Stimmung). Du verdienst einen Knochen pro 5 fokussierte Minuten und eine Prämie für jeden Sticker.
  • Erreicht ein Skill Level 5, ersetzt das Zuhause seines Begleiters die Sonnenstrahlen. LCD-Paletten und alternative App-Symbole schaltest du unter Einstellungen → Belohnungen frei.

Tags

Tags sind freier Text an einer Sitzung, angeboten aus deiner Liste. Verwalte die Liste unter Einstellungen → Tags: hinzufügen, umbenennen, Symbol wählen, löschen. Insights schlüsselt den Fokus neben dem Skill auch nach Tag auf; Fokus ohne Tag erscheint als „Kein Tag“. Ein Tag-Wechsel in der Timeline nimmt die Erfahrung der Sitzung mit, weil Level aus der Historie berechnet werden.

Sync und Kopplung

Apple-Geräte bleiben über iCloud von allein synchron. Das Einschalten von Einstellungen → Sync legt zusätzlich ein anonymes Konto auf dem Focus-Pack-Server an, der die Brücke zu Linux schlägt und die laufende Sitzung zwischen Geräten trägt. Gespeichert werden nur abgeschlossene Sitzungen, Begleiter, Sticker und die Live-Sitzung; nichts identifiziert dich.

  1. Schalte auf iPhone oder Mac Einstellungen → Sync ein. Das Gerät registriert sich mit App Attest.
  2. Tippe auf Weiteres Gerät koppeln. Ein kurzlebiger Code erscheint, etwa ABCD-1234.
  3. Wähle auf dem anderen Gerät Mit Code beitreten (Apple) oder führe focus login ABCD-1234 aus (Linux).
  4. Prüfe gekoppelte Geräte unter Einstellungen → Sync → Geräte und entferne, was du nicht mehr nutzt.

Konflikte löst die jeweils neueste Änderung pro Zeile; Löschungen reisen als Tombstones; ein Sticker behält sein frühestes Freischaltdatum. Ein Schreibzugriff auf eine veraltete Revision der Live-Sitzung wird abgelehnt und eingearbeitet, sodass zwei Geräte nie um einen Countdown streiten können.

Linux-CLI

focus ist ein Kommandozeilen-Client für Linux, gebaut für Omarchy und andere Arch-Installationen. Er hält seine Daten als JSON-Dateien in den XDG-Verzeichnissen, synchronisiert nach jedem Befehl, liefert ein Waybar-Modul und bringt einen kleinen Daemon mit, der am Ende benachrichtigt und Mitteilungen stummschaltet.

Installation

  1. Installiere Swift 6: yay -S swift-bin oder swiftly.
  2. Führe das Installationsskript aus dem Ordner Clients/focus-cli aus. Es baut ein Release-Binary nach ~/.local/bin/focus, aktiviert die User-Unit focus-daemon und gibt den Waybar-Schnipsel aus.
  3. Koppeln: Einstellungen → Sync → Weiteres Gerät koppeln auf dem Telefon, dann focus login ABCD-1234.
./omarchy/install.sh
focus login ABCD-1234
focus start 45 -s coding --label "Rust"

Befehle

focus start [min] [-s skill] [--label tag]Sitzung in einem Skill deines Rudels starten.
focus pause / focus resume / focus stopSitzung steuern, auch eine, die auf einem anderen Gerät gestartet wurde.
focus toggleJe nach Zustand starten, pausieren, fortsetzen oder bestätigen. Waybar-Klick.
focus status [--waybar] [--json]Restzeit, Skill, Tag, heutiger Fokus, Begleiter.
focus stats [--range week|month|year|all]Summen, Serie, Aufschlüsselung nach Skill und Tag.
focus skills / focus use <skill>Das Rudel mit Leveln; Standard-Skill setzen.
focus pet [-s skill] [feed|play]Nach einem Begleiter sehen, ihn füttern oder mit ihm spielen.
focus achievements [--all]Das Stickerbuch.
focus sync / focus devicesSenden und holen; Geräte auflisten oder entfernen.

Skills werden per Kennung (coding), Name (programming) oder Begleitername (sykes) akzeptiert, Groß- und Kleinschreibung spielt keine Rolle.

Konfiguration

~/.config/focuspack/config.json enthält Server, Konto, Vorgaben und den Nicht-stören-Hook:

{
  "activeSkill": "coding",
  "defaultMinutes": 25,
  "breakMinutes": 5,
  "dailyGoalMinutes": 120,
  "dnd": "mako",
  "dndStartCommand": "dunstctl set-paused true",
  "dndEndCommand": "dunstctl set-paused false",
  "icons": { "idle": "", "running": "", "paused": "", "done": "" }
}
dndMAKOFügt makos Modus do-not-disturb für eigene und gespiegelte Sitzungen hinzu. none schaltet es ab.
dndHOOKSFührt dndStartCommand und dndEndCommand über /bin/sh -c aus.
iconsGLYPHSWaybar-Zeichen pro Zustand. Die Vorgaben nutzen Nerd-Font-Symbole, die Omarchy mitbringt.

Dateien

  • ~/.config/focuspack/config.json Server, Tokens, Vorgaben, Zeichen
  • ~/.local/share/focuspack/history.json abgeschlossene Sitzungen
  • ~/.local/share/focuspack/companions.json ein Begleiter pro Skill
  • ~/.local/share/focuspack/achievements.json verdiente Sticker
  • ~/.local/state/focuspack/session.json die laufende Sitzung, fehlt im Leerlauf

Waybar

Füge das Modul in ~/.config/waybar/config.jsonc ein und trage "custom/focus" unter modules-right ein. focus waybar-config gibt denselben Schnipsel aus.

"custom/focus": {
    "exec": "focus status --waybar",
    "return-type": "json",
    "interval": 1,
    "on-click": "focus toggle",
    "on-click-right": "focus stop",
    "format": "{}",
    "tooltip": true
}

Neu laden mit omarchy-restart-waybar. Das Modul setzt die CSS-Klassen idle, running, paused und done:

#custom-focus.running { color: #f0a94a; }
#custom-focus.paused  { color: #a996e6; }

Eine auf dem iPhone gestartete Sitzung erscheint über den Long-Poll des Daemons innerhalb einer Sekunde in der Leiste. Der Tooltip verrät, wo sie gestartet wurde; ein Klick pausiert sie überall.

Kurzbefehle und Siri

Zwei App Intents stehen Kurzbefehlen und Siri zur Verfügung: Fokus-Sitzung starten (Skill, Länge und Tag als Parameter) und Fokus-Sitzung beenden. Nutze sie in Automationen, etwa um eine Deep-Work-Sitzung zu starten, sobald du dich mit dem WLAN am Schreibtisch verbindest, oder sag „Starte eine Lesesitzung in Focus Pack“.

  • Das Widget Fokus-Timer startet deine Standardsitzung mit einem Tipp.
  • Von einem Intent gestartete Sitzungen verhalten sich wie alle anderen: Sie besitzen die Sitzung und synchronisieren überallhin.
  • Das URL-Schema focuspack:// öffnet die App aus anderen Werkzeugen.

Widgets und Komplikationen

Home-Bildschirm und Schreibtisch

  • Fokus-Timer (mittel): mit einem Tipp starten.
  • Fokuszeit, Serie, Serienwoche.
  • Begleiter: der aktive Begleiter und seine Stimmung.
  • Skills: Rudel-Level und Top-Skills.

Sperrbildschirm und Watch

  • Sperrbildschirm-Widgets für Fokuszeit und Serie.
  • Watch-Komplikationen: Fokus-Countdown oder heutiger Fokus (rund, rechteckig, inline, Ecke).
  • Dein Begleiter im Smart Stack.

Widgets lesen dieselbe Datenbank wie die App und aktualisieren sich, sobald eine Sitzung endet.

Fehlersuche

Nicht stören wurde nicht eingeschaltet.
Prüfe die Strategie unter Einstellungen → Fokus-Strategie. Bei Kurzbefehlen müssen die Namen genau übereinstimmen und der Kurzbefehl eine Aktion „Fokus festlegen“ enthalten. Beim Fokus-Filter muss Focus Pack unter den Filtern des Fokus stehen.
Der Wecker hat nicht geklingelt.
Wecker brauchen die Wecker-Berechtigung und gibt es nur auf iPhone und iPad. Auf dem Mac markiert eine zeitkritische Mitteilung mit Ton das Ende.
Mein Mac zeigt eine Sitzung, die ich nicht gestartet habe.
Das ist der Spiegel einer Sitzung, die auf einem anderen Gerät läuft. Pausiere oder beende sie von jedem Gerät aus; wer sie beendet, schreibt den Eintrag.
Level unterscheiden sich zwischen Geräten.
Führe einen Sync aus. Level werden aus der Historie berechnet; stimmen die Historien überein, stimmen die Level.
Der Simulator kann nicht koppeln.
Der Simulator kann kein App Attest. Lass ihn mit einem Code beitreten, der auf einem echten Gerät erzeugt wurde.