# hyprshot-native – Nutzung

`hyprshot-native` ist ein kleines natives Screenshot-Tool für Hyprland/Wayland. Es erstellt PNG-Screenshots des aktuell fokussierten Monitors und speichert sie automatisch im Screenshot-Ordner.

## Grundaufruf

```bash
hyprshot-native [--delay 0|3|5|10] [--select] [--cursor] [--output-dir DIR]
```

Ohne weitere Optionen wartet das Tool standardmäßig 3 Sekunden, nimmt den aktuell fokussierten Monitor auf und schreibt den Dateipfad des erzeugten PNGs nach `stdout`.

## Optionen

| Option | Kurzform | Beschreibung |
|---|---:|---|
| `--delay 0|3|5|10` | `-d` | Verzögerung vor dem Screenshot. Erlaubt sind nur `0`, `3`, `5` und `10` Sekunden. Standard: `3`. |
| `--select` | `-s` | Startet eine Bereichsauswahl per Maus. Nur der markierte Bereich wird aufgenommen. |
| `--cursor` | `-c` | Nimmt den Mauszeiger im Screenshot mit auf. |
| `--output-dir DIR` | `-o` | Basisordner für die Ausgabe. Der Screenshot wird darunter in `Screenshots/` gespeichert. |
| `--help` | `-h` | Zeigt die Hilfe an. |

## Speicherort und Dateiname

Standardmäßig wird der Screenshot in folgendem Ziel gespeichert:

```text
<Bilderordner>/Screenshots/Screenshot_YYYY-MM-DD_HH-MM-SS.png
```

Der Bilderordner wird über `xdg-user-dir PICTURES` ermittelt. Falls das nicht funktioniert, verwendet das Tool zuerst `~/Bilder`, falls vorhanden, sonst `~/Pictures`.

Mit `--output-dir` kann ein anderer Basisordner gesetzt werden:

```bash
hyprshot-native --output-dir "$HOME/tmp"
```

Ergebnis:

```text
$HOME/tmp/Screenshots/Screenshot_YYYY-MM-DD_HH-MM-SS.png
```

## Beispiele

### Screenshot nach 3 Sekunden

```bash
hyprshot-native
```

### Screenshot sofort aufnehmen

```bash
hyprshot-native --delay 0
```

### Screenshot mit Mauszeiger

```bash
hyprshot-native --cursor
```

### Bereich auswählen

```bash
hyprshot-native --select
```

Nach dem Start mit gedrückter linker Maustaste einen Bereich aufziehen und loslassen. Ist die Auswahl zu klein oder wird sie abgebrochen, beendet sich das Tool mit einem Fehler.

### Bereich auswählen und Cursor aufnehmen

```bash
hyprshot-native --select --cursor
```

### Screenshot nach 10 Sekunden in anderem Ordner speichern

```bash
hyprshot-native --delay 10 --output-dir "$HOME/Downloads"
```

## Rückgabe und Fehlerverhalten

Bei Erfolg gibt das Tool den vollständigen Pfad zur erzeugten PNG-Datei aus:

```text
/home/user/Pictures/Screenshots/Screenshot_2026-05-17_14-30-00.png
```

Bei Fehlern schreibt es eine Meldung mit dem Präfix `hyprshot:` nach `stderr` und beendet sich mit einem Fehlercode. Typische Ursachen sind:

- keine Wayland-Verbindung
- fehlende Wayland-Globals wie `wl_shm`, `wl_compositor` oder `zwlr_screencopy_manager_v1`
- kein fokussierter Hyprland-Monitor über `hyprctl monitors -j` ermittelbar
- Bereichsauswahl nicht möglich, weil Layer-Shell oder Seat fehlen
- ungültiger Delay-Wert

## Hinweise

- Das Tool nimmt immer den aktuell fokussierten Hyprland-Monitor auf.
- Die Bereichsauswahl bezieht sich auf diesen fokussierten Monitor.
- Screenshots werden als PNG geschrieben.
- Die erlaubten Delay-Werte sind bewusst eingeschränkt: `0`, `3`, `5`, `10`.


# Integration in Hyprland

# Print: Screenshot
bind = , Print, exec, $HOME/neue_projekte/hyprtile-shotter/hyprtile-shotter --delay 0

# Ctrl + Print: Screenshot mit Auswahl
bind = Control_L, Print, exec, $HOME/neue_projekte/hyprtile-shotter/hyprtile-shotter --delay 0 --select