# Korin Timer

Korin Timer ist ein transparentes Linux-Overlay für Elsword. Es zeigt die
Cooldowns deiner Titel an und lässt sich komplett über globale Hotkeys
bedienen.

## Schnellstart

1. Öffne im Repository den Bereich **Releases** und lade
   `Korin-Timer.AppImage` herunter.
2. Mache die Datei ausführbar und starte sie:

   ```bash
   chmod +x Korin-Timer.AppImage
   ./Korin-Timer.AppImage
   ```

3. Beim ersten Start öffnen sich Overlay und Einstellungsfenster. Lege dort
   deine Titel, Hotkeys und Cooldowns an und klicke auf **Speichern**.

Die App benötigt Leserechte auf die Eingabegeräte, damit Hotkeys außerhalb
des Fensters funktionieren. Führe einmal aus und melde dich anschließend
vollständig ab und wieder an:

```bash
sudo usermod -aG input "$USER"
```

## Bedienung

- Drücke den Hotkey eines Titels, um seinen Cooldown zu starten.
- Optional kann ein Titel erst per Vor-Aktivierungs-Hotkey in den Standby
  wechseln. Erst der normale Hotkey startet dann den Cooldown.
- Mit **Neu triggerbar** startet derselbe Hotkey einen bereits laufenden
  Cooldown erneut.
- Im Dogma-Modus ist immer nur ein Titel gleichzeitig aktiv.
- Verschiebe das Overlay mit **Strg + Alt + linker Maustaste ziehen**.
  Die Position wird im aktiven Profil gespeichert.

Das Einstellungsfenster muss geöffnet bleiben: Sein Schließen beendet auch
das rahmenlose, klickdurchlässige Overlay.

## Profile

Jeder Charakter erhält ein eigenes Profil unter
`~/.config/titletimer/profiles/`. Über das Dropdown im Einstellungsfenster
kannst du Profile anlegen, duplizieren, umbenennen, wechseln und löschen.
Ein Wechsel übernimmt die neue Konfiguration sofort; nicht gespeicherte
Änderungen des vorherigen Profils gehen dabei verloren.

## Neues Release erstellen

Jeder Push auf `main` startet automatisch einen Gitea-Actions-Build. Nach
einem erfolgreichen Lauf:

1. Öffne **Actions** und den aktuellen erfolgreichen Build.
2. Lade das Artefakt `Korin-Timer.AppImage` herunter.
3. Öffne **Releases** → **New Release**.
4. Erstelle einen Tag, etwa `v0.1.0`, und hänge die AppImage-Datei an.
5. Veröffentliche das Release.

Das Actions-Artefakt wird nach 30 Tagen gelöscht; der Release-Anhang bleibt
verfügbar.

## Aus dem Quellcode starten

Für Entwicklung brauchst du GTK4, PyGObject, `evdev` und `python-xlib`.
Danach startest du die Anwendung aus dem Projektverzeichnis mit:

```bash
PYTHONPATH=src python3 -m titletimer
```

Nur das Einstellungsfenster öffnest du mit:

```bash
PYTHONPATH=src python3 -m titletimer --settings
```

## AppImage lokal bauen

Der CI-Workflow ist der empfohlene Buildweg. In einer Debian-artigen
Umgebung kann das AppImage auch lokal gebaut werden:

```bash
./packaging/build-appimage.sh
```

Das Ergebnis liegt anschließend unter `build/Korin-Timer.AppImage` und wird
nicht ins Repository eingecheckt.
