# Instalacja i użycie

> Źródło: repo ArikuTermiweestyleXfce/README.md — edytuj w repo, nie tutaj.

# ArikuTermiweestyleXfce

A terminal-style **XFCE theme** with a green **flame trail** behind the mouse pointer, in the look of
[ariku.pl](https://ariku.pl): dark grey windows (VS Code Dark Modern greys, easy on the eyes), thin green
frames with a faint glow, window headers like terminal panels (`secret.sh  [-] ●`), Fira Code.

<p align="center"><img src="docs/screenshot.png" width="460" alt="AnvilTerminal theme: window with typical widgets"></p>

*`preview.py` window: headers, entries, combo box, check box, switch, progress bar, list, buttons.*

## What's inside

- **`theme/AnvilTerminal`**: GTK 3 + xfwm4 theme (window frames, buttons, title bar, XFCE panel, Whisker menu,
  Thunar, desktop icons, LightDM GTK greeter). Generated by `theme/build.mjs`; the prebuilt copy is committed,
  and CI checks it matches the generator.
- **Flame trail** (`flame-trail/ariku-flame-trail.py`): green fire particles behind the pointer, in a transparent
  always-on-top window that **lets every click through**. It redraws only where particles are, sleeps while the
  pointer is still and switches off while a game runs (Steam/Proton, Lutris, Heroic/Wine, gamescope --
  even windowed or alt-tabbed) or a fullscreen window (video) has focus. Emergency stop: **Super+Escape**.

## Requirements

Arch Linux, XFCE on X11 with the xfwm4 compositor (the installer turns it on).

```sh
sudo pacman -S --needed python python-gobject python-cairo gtk3 xorg-xprop xfconf ttf-fira-code ttf-jetbrains-mono
```

## Install

User-local, no sudo:

```sh
git clone https://github.com/arikukaenbyou/ArikuTermiweestyleXfce.git
cd ArikuTermiweestyleXfce
./install.sh              # theme + fonts + flame trail (autostart), saves your current settings first
./install.sh --no-trail   # theme only
./install.sh --revert     # restore the saved settings, remove the trail
```

`python3 preview.py` opens a window with typical widgets to look at the theme.
`tests/check_live.sh` checks a running desktop: theme applied, trail running and click-through (also after a
forced hide/show), and it never moves the mouse.

## Why the click-through detail matters

The trail is a full-screen, always-on-top window. Its empty input shape has to be set on the GTK **widget** and
re-applied after every show. Set only once on the `GdkWindow`, GTK resets it after the hide/show around fullscreen
apps, and from then on the window swallows every click on the desktop. The tests guard exactly this.

## Development

```sh
node theme/build.mjs theme                 # regenerate theme/AnvilTerminal after editing build.mjs
python -m unittest discover -s tests       # theme up to date, xfwm4 parts present, XPMs valid, scripts parse
```

## Licence

MIT, see [LICENSE](LICENSE).

---

## Po polsku

**ArikuTermiweestyleXfce** to motyw XFCE w stylu terminala z ariku.pl i zielony ślad płomienia za kursorem.
Okna są ciemnoszare (odcienie VS Code Dark Modern, łagodne dla oczu), mają cienkie zielone ramki z poświatą,
nagłówki jak panele terminala i czcionkę Fira Code.

- **Instalacja:** `./install.sh` bez sudo. Najpierw zapisuje Twoje obecne ustawienia, a `./install.sh --revert`
  je przywraca. Sam motyw bez śladu płomienia: `./install.sh --no-trail`.
- **Ślad płomienia** przepuszcza kliknięcia i wyłącza się, gdy działa gra (także w oknie i po Alt+Tab) albo film na pełnym ekranie.
  Awaryjne wyłączenie: **Super+Escape**.
- **Sprawdzenie na żywo:** `tests/check_live.sh`, bez ruszania myszką.