diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8e787c5..473d111 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to gtheme are documented here. The format follows
[Keep a Changelog](https://keepachangelog.com/); versions follow semver.
-## v2.0.0 (unreleased) โ the rebuild
+## v2.0.0 (26 August 2026) โ the rebuild
gtheme was a command-line tool. It is now an app: a GTK4/libadwaita window for
GNOME, written for someone whose first Linux computer is the one in front of
@@ -123,6 +123,18 @@ tag; nothing from it is lost, and the state it wrote is never touched.
- Packaging is pure `pyproject.toml` plus a `PKGBUILD` and an `install.sh`; no
meson, and no `curl | bash` anywhere in the project.
+### Documentation
+
+- README rewritten as a landing page for someone who has never used Linux or
+ GitHub: a one-line description and a screenshot first, scannable lists of what
+ the app changes and why it is safe to try, numbered install steps, and a "your
+ first five minutes" walkthrough. The fifteen-page tour and the questions
+ people ask are folded into collapsible sections so the page can be read in a
+ minute or explored in ten.
+- Uninstalling now documents `./install.sh --uninstall` rather than asking you
+ to delete files by hand, and the page ends with where to get help
+ (Discussions, issues, the glossary, the start-here guide).
+
## [Unreleased] (v1)
- **Shared render templates: readable text on accent fills.** The GTK accent
diff --git a/GLOSSARY.md b/GLOSSARY.md
index a1532b1..ddf0653 100644
--- a/GLOSSARY.md
+++ b/GLOSSARY.md
@@ -113,7 +113,7 @@ how to build and install one program. gtheme ships one, so on Arch you can
install it as a proper package that `pacman -R` removes cleanly.
If none of those words apply to you, use
-[the easy way](README.md#the-easy-way) instead.
+[the easy way](README.md#the-easy-way-recommended) instead.
### dconf
diff --git a/README.md b/README.md
index ee3bda6..7384d27 100644
--- a/README.md
+++ b/README.md
@@ -1,148 +1,174 @@
-# gtheme
-
-**Change how your desktop looks โ safely.**
+
-
-
-
+

-
-
-
-
-
+# gtheme
----
+### Change how your desktop looks โ safely.
-## ๐ Something looks wrong? Put it back
+Wallpaper, colours, icons, pointer, text, the top bar and add-ons โ
+in **one window**, explained in **plain words**, with an **Undo button that always works**.
-Three ways, from easiest to most stubborn. Any one of them is enough.
+

+

+

+

-1. **In the app** โ press **Ctrl+Z**, or click **Undo last change** at the top
- of the window. Or open **Undo & Restore Points** in the list on the left and
- pick the moment you want back, including *Before gtheme* โ how your desktop
- looked before this app ever ran.
-2. **The app won't open, but the desktop works** โ open a terminal window
- (hold **Ctrl**, **Alt** and press **T**; if that does nothing,
- [docs/start-here.md](docs/start-here.md) shows another way) and type:
+

- ```sh
- gtheme rescue
- ```
+
- That puts every setting and file gtheme touched back the way it was, and
- switches off every add-on gtheme switched on. It needs no window, no mouse,
- and no graphics at all.
-3. **The screen is unusable โ no bar, no windows, nothing responds** โ hold
- **Ctrl** and **Alt** and press **F3**. You get a black screen with a text
- prompt. Type your username, press Enter, type your password (nothing appears
- as you type โ that is normal), press Enter, then type `gtheme rescue` and
- press Enter. When it says it is done, hold **Ctrl** and **Alt** and press
- **F2** to get back to your desktop โ on some systems it is **F1** instead,
- and trying both is harmless. Then log out and back in.
+> [!TIP]
+> **Changed something and want it back?** Press **Ctrl+Z** in the app, or type
+> `gtheme rescue` in a terminal window. Nothing gtheme does is permanent โ
+> [all three ways back are here](#i-changed-something-and-i-want-it-back).
-You do not have to reinstall anything, and nothing is deleted by any of the
-three.
+**Contents** ยท
+[What is it?](#what-is-it) ยท
+[What it changes](#what-it-can-change) ยท
+[Why it's safe](#why-its-safe-to-try) ยท
+[Install](#install) ยท
+[First five minutes](#your-first-five-minutes) ยท
+[Tour](#a-tour-of-the-app) ยท
+[Undo](#i-changed-something-and-i-want-it-back) ยท
+[Questions](#questions-people-ask) ยท
+[Uninstall](#removing-gtheme) ยท
+[Help](#getting-help)
---
-## What is this?
+## What is it?
-gtheme is an app for the GNOME desktop that changes how your computer looks โ
-the background picture, the colours, the icons, the mouse pointer, the text,
-the bar across the top, and the small extras GNOME calls add-ons.
+gtheme is an app for the GNOME desktop that changes how your computer looks: the
+background picture, the colours, the icons, the mouse pointer, the text, the bar
+across the top, and the small extras GNOME calls **add-ons**.
Today those things live in four different apps, three of which talk to you in
-words you would have to look up, and none of which can put anything back. This
-one puts them in a single window, explains every switch in a sentence, and
-saves how your desktop looked before it changes anything.
+words you would have to look up, and none of which can put anything back. gtheme
+puts them in a single window, explains every switch in a sentence, and saves how
+your desktop looked *before* it changes anything.
-If you have used Windows or a Mac and this is your first Linux computer: you
-are the person this was written for. Nothing here needs the command line, and
-nothing here can be broken so badly that the **Undo** button cannot fix it.
+**This was written for you if:**
-## Contents
+- This is your first Linux computer, and you came from Windows or a Mac.
+- You would like a nicer-looking desktop but you are afraid of breaking it.
+- You do not want to open a terminal, edit a config file, or learn what
+ "gsettings" means. You never have to.
+- You cannot find where a setting lives. **Ctrl+F** searches every setting in
+ the app, in the words you would actually use โ try "taskbar" or "dark mode".
-- [Put it back](#-something-looks-wrong-put-it-back)
-- [What is this?](#what-is-this)
-- [What you need](#what-you-need)
-- [Install](#install)
-- [The first time you open it](#the-first-time-you-open-it)
-- [What's in the app](#whats-in-the-app)
-- [Questions people ask](#questions-people-ask)
-- [Words you might not know](GLOSSARY.md)
-- [For people who want to help](#for-people-who-want-to-help)
+**You do not need:** an account, an internet connection (except to browse for new
+add-ons), an administrator password, or any knowledge of Linux or GitHub.
-## What you need
+## What it can change
| | |
|---|---|
-| **A GNOME desktop, version 49 or 50** | This is the desktop Fedora, Ubuntu and Arch ship by default. If your screen has a bar across the very top with a clock in the middle, that is probably GNOME. gtheme checks when it starts and says so plainly if it is somewhere else โ it never half-works. |
-| **libadwaita 1.9 or newer** | One of the building blocks GNOME itself is made of. GNOME 49 and 50 both include it; there is nothing separate to install. On an older GNOME the window will not open, and gtheme tells you that instead of misbehaving. |
-| **Python 3.11 or newer** | Already on every desktop Linux system in use today. |
-| **About 60 MB of disk space** | Three quarters of that is the pictures the four built-in Looks use. |
+| **Wallpaper** | A different picture for your light look and your dark look โ GNOME's own picker ties those together, gtheme does not. |
+| **Colours & style** | Light or dark as two tiles you *look at*, and the highlight colour as nine coloured dots. |
+| **Icons & pointer** | Icon sets shown as rows of their own real icons, not names in a dropdown. |
+| **Fonts & text** | Every choice shown in the lettering it is about, plus text size and sharpness. |
+| **Top bar & overview** | What the clock shows, the battery percentage, the top-left corner shortcut. |
+| **Windows & desktops** | Where the close and minimise buttons go, how many desktops you have, and every keyboard shortcut. |
+| **Add-ons** | Browse, install and switch on GNOME extensions โ each with a sentence saying what it actually does. |
+| **Terminal colours** | Give your terminal and its prompt the same colours as the rest of your desktop. |
+| **Night light, sound, power** | Warmer colours in the evening, the sounds your desktop plays, when the screen sleeps. |
+| **Whole "Looks"** | Change all of the above at once. Four are built in โ HYPERCLASS, MAGMA, NETRUNNER and NIGHTBLOOM โ and you can save your own desktop as a Look and share it. |
-gtheme does **not** need an internet connection to change anything on your
-computer. It only goes online if you ask it to look for new add-ons or new
-Looks, and it says so when it does.
+Anything the other pages did not cover lands on a **More Settings** page
+automatically, so nothing on your desktop is hidden from you.
+
+## Why it's safe to try
+
+This is the part that makes gtheme different from every other GNOME
+customisation tool, so it is worth thirty seconds of your time:
+
+- **Everything is saved first.** Before the first byte moves, gtheme records
+ exactly what was there. Even a power cut halfway through leaves a complete
+ record of what had changed by then.
+- **One click puts it back.** **Ctrl+Z** undoes the last change, from anywhere in
+ the app.
+- **"Before gtheme" is kept forever.** The very first thing gtheme ever saw on
+ your computer is never overwritten and never deleted, however many Looks you
+ try afterwards. A year later, it still means *before gtheme*.
+- **Nothing happens that you haven't seen.** Every Look tells you what it is
+ about to change, in your words, before it changes it.
+- **Changes are all-or-nothing.** If any step fails, the whole thing is rolled
+ back. You are never left with a half-changed desktop.
+- **Looks cannot run programs.** A Look is a list of settings, not code โ see
+ [SECURITY.md](SECURITY.md).
+- **Nothing is sent anywhere.** No account, no server, no telemetry.
+
+**The honest limit:** a badly-behaved *add-on* โ third-party code published by
+someone else โ can still misbehave, whether you install it through gtheme,
+through GNOME's own app, or from a website. gtheme's answer is that it always
+knows which add-ons it switched on, so one command switches them all off again.
## Install
-Pick the row that sounds like you.
+Takes about five minutes. You do not need an administrator password.
+
+
+First, check your computer can run it (click to open)
-| You | Go to |
+
+
+| You need | How to tell |
|---|---|
-| "I have no idea what any of this means." | [The easy way](#the-easy-way) |
-| "I use Arch Linux / CachyOS / EndeavourOS." | [The Arch way](#the-arch-way) |
-| "I want to work on gtheme itself." | [CONTRIBUTING.md](CONTRIBUTING.md) |
+| **A GNOME desktop, version 49 or 50** | Open your **Settings** app โ **System โ About**. It prints the GNOME version there. This is the desktop Fedora, Ubuntu and Arch ship by default: if your screen has a bar across the very top with a clock in the middle, it is probably GNOME. |
+| **libadwaita 1.9 or newer** | One of the building blocks GNOME itself is made of. GNOME 49 and 50 both include it โ there is nothing separate to install. |
+| **Python 3.11 or newer** | Already on every desktop Linux system in use today. |
+| **About 60 MB of disk space** | Three quarters of that is the pictures the four built-in Looks use. |
-There is deliberately no "paste this one line into a terminal and it downloads
-and runs a script" command anywhere in this project. That is a popular way to
-install things and a bad habit to teach: it asks you to run code you have not
-seen, from a web address you cannot check, as a matter of routine. The steps
-below let you look at what you downloaded first.
+You do not have to check any of this by hand. gtheme checks when it starts and
+says so plainly if something is missing โ it never half-works.
-### The easy way
+
+
+### The easy way (recommended)
**1. Download it.**
-Open in your web browser. Click the
-green **Code** button near the top right, then click **Download ZIP**. Your
-browser saves it to your **Downloads** folder.
+Open in your web browser. Click the green
+**Code** button near the top right, then **Download ZIP**. Your browser saves it
+to your **Downloads** folder.
**2. Unpack it.**
Open your **Files** app, go to **Downloads**, right-click `gtheme-main.zip` and
choose **Extract Here**. A folder called `gtheme-main` appears next to it.
-**3. Look inside if you like.**
-Everything gtheme installs is in that folder, in plain text you can read. The
-file `install.sh` is the one the next step runs, and it is short enough to read
-in a couple of minutes.
+**3. Open a terminal in that folder.**
+Right-click the `gtheme-main` folder and choose **Open in Terminal**. A window
+with a text prompt appears. This is the only time you will need it.
+
+> No **Open in Terminal** in the menu? [docs/start-here.md](docs/start-here.md#opening-a-terminal)
+> shows two other ways, and explains how to copy and paste into a terminal.
-**4. Run the installer.**
-Right-click the `gtheme-main` folder and choose **Open in Terminal**. (No such
-menu entry? [docs/start-here.md](docs/start-here.md#opening-a-terminal) shows
-two other ways.) A window with a text prompt opens. Type this and press
-**Enter**:
+**4. Run the installer.** Type this and press **Enter**:
```sh
./install.sh
```
-It checks that the pieces it needs are present, sets itself up in its own
-private corner of that folder so it cannot disturb anything else on your
-system, and adds **Gtheme** to your list of applications. It prints what it is
-doing as it goes. If something is missing it stops and tells you the exact
-command to install it โ it never installs system packages behind your back.
+It checks that the pieces it needs are present, sets itself up in its own private
+corner of that folder so it cannot disturb anything else, and adds **Gtheme** to
+your list of applications. It prints what it is doing as it goes. If something is
+missing it stops and tells you the exact command to install it โ it never
+installs system packages behind your back.
**5. Open it.**
-Press the **Super** key (the one with the Windows logo on most keyboards),
-type `gtheme`, and press **Enter**.
+Press the **Super** key (the one with the Windows logo on most keyboards), type
+`gtheme`, and press **Enter**.
+
+> [!NOTE]
+> Keep the `gtheme-main` folder where it is โ the app runs from it. If **Gtheme**
+> is not in your app list yet, log out and back in.
-To remove it later, see [Can I remove it?](#can-i-remove-it) below.
+
+The Arch way โ Arch, CachyOS, EndeavourOS
-### The Arch way
+
-The folder contains a `PKGBUILD`, so on Arch and its relatives:
+The folder contains a `PKGBUILD`, so:
```sh
git clone https://github.com/blyatiful1/gtheme
@@ -151,52 +177,85 @@ makepkg -si
```
That builds a normal package and installs it with `pacman`, which means
-`pacman -R gtheme` removes it completely later. Dependencies are declared in
-the `PKGBUILD`; `makepkg -s` pulls them in.
+`pacman -R gtheme` removes it completely later. Dependencies are declared in the
+`PKGBUILD`; `makepkg -s` pulls them in.
+
+
+
+
+I want to work on gtheme itself
+
+
+
+See [CONTRIBUTING.md](CONTRIBUTING.md) โ it covers the development environment,
+the test tiers and how to run them.
+
+
-## The first time you open it
+
+Why there is no "paste this one line into a terminal" command
-The first time โ and only the first time โ gtheme shows four short cards.
+
-1. **Change how your desktop looks.** What the app is for.
-2. **You can always go back.** The important one: *before anything changes,
- gtheme saves how your desktop looks right now. One click puts it back.*
-3. **Two ways to work.** Pick a whole look at once, or change one thing at a
- time from the list down the side.
-4. **Save how it looks now.** One button, and it does a real thing: it saves
- your desktop exactly as it is at this moment, so you have somewhere to
- return to before you have changed anything at all.
+You will see a lot of projects tell you to paste a single line that downloads and
+runs a script from the internet. It is popular, and it is a bad habit to teach:
+it asks you to run code you have not seen, from an address you cannot check, as a
+matter of routine.
-You can skip it, and you can bring it back any time from the **โฐ** menu at the
-top of the window โ **Show the introduction again**.
+The steps above let you look at what you downloaded first. Everything gtheme
+installs is in that folder, in plain text you can read, and `install.sh` is short
+enough to read in a couple of minutes.
-Two things worth knowing from the start:
+
-- **Ctrl+F searches everything** โ every setting, every explanation, every
- Look, every add-on, in the words you would actually use. Type "taskbar",
- "make text bigger" or "dark mode" and it takes you to the row and flashes it.
- You never have to learn where things live.
-- **Ctrl+Z undoes the last change**, from anywhere in the app.
+## Your first five minutes
-## What's in the app
+The first time you open it โ and only the first time โ gtheme shows four short
+cards. The last one has a button that does a real thing: it saves your desktop
+exactly as it is right now, so you have somewhere to return to before you have
+changed anything at all. **Press it.**
-Fifteen pages, in four groups down the left-hand side. Every screenshot below
-is the real app, photographed by the test suite on the run that shipped this
+Then try this:
+
+1. Open **Looks** in the list on the left and click one of the four built-in
+ Looks. It will *ask* before it changes anything, and tell you exactly what it
+ is about to change.
+2. Look at your new desktop.
+3. Don't like it? Press **Ctrl+Z**.
+
+Two shortcuts worth learning on day one:
+
+- **Ctrl+F** searches everything โ every setting, every explanation, every Look,
+ every add-on, in the words you would actually use. Type "taskbar", "make text
+ bigger" or "dark mode" and it takes you straight to the row and flashes it. You
+ never have to learn where things live.
+- **Ctrl+Z** undoes the last change, from anywhere in the app.
+
+You can bring the introduction back any time from the **โฐ** menu โ **Show the
+introduction again**.
+
+## A tour of the app
+
+Fifteen pages in four groups down the left-hand side. Every screenshot below is
+the real app, photographed by the test suite on the run that shipped this
version โ not a mock-up.
-### Welcome
+
+Welcome โ Home and Looks
-#### Home
+
+
+### Home

Reads your desktop back to you in plain words: which Look is on, light or dark,
-your highlight colour, your icons, your pointer, your text, how many add-ons
-are switched on, and a picture of your background. Nothing here is a control โ
-it is the page that answers "what have I actually got?", which no other GNOME
-app can tell you. The two safety buttons live here too.
+your highlight colour, your icons, your pointer, your text, how many add-ons are
+switched on, and a picture of your background. Nothing here is a control โ it is
+the page that answers "what have I actually got?", which no other GNOME app can
+tell you. The two safety buttons live here too.
-#### Looks
+### Looks

@@ -204,20 +263,23 @@ A Look changes your background, colours, icons, text and add-ons all at once.
Four are built in โ HYPERCLASS, MAGMA, NETRUNNER and NIGHTBLOOM โ and **Get
more** lists what the community has published.
-Clicking one does not apply it. It opens a dialog that says, in your words,
-what is about to change ("Wallpaper, highlight colour, icons, and 3 add-ons").
-Only then does it run, as one all-or-nothing operation: if any part of it
-fails, the whole thing is rolled back and you are told what happened. A saved
-moment is taken automatically first, and the message afterwards has an **Undo**
-button in it.
+Clicking one does not apply it. It opens a dialog that says, in your words, what
+is about to change ("Wallpaper, highlight colour, icons, and 3 add-ons"). Only
+then does it run, as one all-or-nothing operation. A saved moment is taken
+automatically first, and the message afterwards has an **Undo** button in it.
You can also save your own desktop as a Look and share it. gtheme scans what it
captured for anything private โ your username in a file location, a key some
add-on stored โ and shows you what it found before you send it anywhere.
-### Change one thing
+
+
+
+Change one thing โ wallpaper, colours, icons, fonts, top bar, windows, add-ons, terminal
+
+
-#### Wallpaper
+### Wallpaper

@@ -227,104 +289,105 @@ have a completely different picture in the evening. Pictures that change during
the day are labelled as such. You can add your own โ gtheme copies it somewhere
safe rather than pointing at a file you might later move.
-#### Colours & Style
+### Colours & Style

Light or dark as two tiles you look at, not a switch you read. The highlight
-colour as nine coloured dots โ the control *is* the preview. GNOME offers
-exactly those nine and no way to add a tenth, and the page says so out loud
-rather than leaving you hunting for a colour wheel that does not exist.
+colour as nine coloured dots โ the control *is* the preview. GNOME offers exactly
+those nine and no way to add a tenth, and the page says so out loud rather than
+leaving you hunting for a colour wheel that does not exist.
-The light/dark tile writes two settings at once, together or not at all. That
-is the classic split-brain bug โ a dark desktop full of blinding white
-windows โ and it is impossible here by construction.
+The light/dark tile writes two settings at once, together or not at all. That is
+the classic split-brain bug โ a dark desktop full of blinding white windows โ and
+it is impossible here by construction.
Also here: the style for the insides of windows, the style for the bar at the
top, stronger colours for readability, and less on-screen movement.
-#### Icons & Pointer
+### Icons & Pointer

Icon sets are shown as a row of their own actual icons. A name in a dropdown
-tells you nothing about what you are about to get. Pointer styles are tiles
-with a size choice; the page admits that a pointer cannot be drawn from inside
-an app, and that most computers have exactly one installed, rather than looking
-broken and saying nothing.
+tells you nothing about what you are about to get. Pointer styles are tiles with
+a size choice; the page admits that a pointer cannot be drawn from inside an app,
+and that most computers have exactly one installed, rather than looking broken
+and saying nothing.
-#### Fonts & Text
+### Fonts & Text

Every choice is shown in the lettering it is about. Text size, and a "text
-sharpness" choice with three samples โ Softer, Balanced, Sharper โ instead of
-the two words GNOME uses that read like physics. Two settings here do nothing
-until a second setting is changed first; gtheme writes both, in one operation,
-and tells you it is doing it rather than leaving you with a control that
-visibly moves and changes nothing.
+sharpness" choice with three samples โ Softer, Balanced, Sharper โ instead of the
+two words GNOME uses that read like physics. Two settings here do nothing until a
+second setting is changed first; gtheme writes both, in one operation, and tells
+you it is doing it rather than leaving you with a control that visibly moves and
+changes nothing.
-#### Top Bar & Overview
+### Top Bar & Overview

-The bar across the top and the view you get when you press Super: what the
-clock shows, whether the weekday and the battery percentage appear, the
-top-left corner shortcut, and the style of the bar itself.
+The bar across the top and the view you get when you press Super: what the clock
+shows, whether the weekday and the battery percentage appear, the top-left corner
+shortcut, and the style of the bar itself.
-That last one needs a GNOME add-on switched on. When it is off, the page does
-not say "user-theme extension not enabled" and leave you to search the web โ
-it says what you cannot do and offers the button that fixes it.
+That last one needs a GNOME add-on switched on. When it is off, the page does not
+say "user-theme extension not enabled" and leave you to search the web โ it says
+what you cannot do and offers the button that fixes it.
-#### Windows & Desktops
+### Windows & Desktops

-Where the close/minimise/maximise buttons go, what double-clicking a window's
-top bar does, how windows take focus, and how many desktops you have. Every
-keyboard shortcut the desktop itself watches for is here too, in two collapsed
-groups โ 175 of them, which is why they are folded away rather than dumped in
-a list.
+Where the close/minimise/maximise buttons go, what double-clicking a window's top
+bar does, how windows take focus, and how many desktops you have. Every keyboard
+shortcut the desktop itself watches for is here too, in two collapsed groups โ
+175 of them, which is why they are folded away rather than dumped in a list.
-#### Add-ons
+### Add-ons

Add-ons are small extras that add features to your desktop. Three views:
-**Installed** with a switch each, **Discover** to search the online library,
-and **Updates**.
+**Installed** with a switch each, **Discover** to search the online library, and
+**Updates**.
- Every add-on gets a sentence saying what it does, in plain words. Their
internal identifiers are never shown anywhere in gtheme.
- Twenty-four popular add-ons have a hand-written settings panel, so their
- options are explained the same way everything else in the app is. The rest
- get an honest generic panel labelled "these settings come from the add-on
- author".
+ options are explained the same way everything else in the app is. The rest get
+ an honest generic panel labelled "these settings come from the add-on author".
- Add-ons that fight each other (two docks, two clipboard managers) are offered
as either/or, with an offer to switch the other one off.
-- Combinations known to break things carry a warning that says what will
- happen to you, not what will happen internally.
-- Installing goes through GNOME's own confirmation box โ gtheme never installs
- an add-on behind it.
+- Combinations known to break things carry a warning that says what will happen
+ to you, not what will happen internally.
+- Installing goes through GNOME's own confirmation box โ gtheme never installs an
+ add-on behind it.
-#### Terminal
+### Terminal

-If you use a terminal, gtheme can give it, its prompt and its little status
-tools the same colours as your Look. One card per program that is *actually
-installed* โ a list of eight with seven greyed out is a list of things you
-cannot do.
+If you use a terminal, gtheme can give it, its prompt and its little status tools
+the same colours as your Look. One card per program that is *actually installed*
+โ a list of eight with seven greyed out is a list of things you cannot do.
+
+Each card says honestly when you will see the change: some terminals update while
+you watch, some within a second, some only when you open a new window. And if a
+program's settings are being managed by some other tool, gtheme refuses to write,
+says so, and offers to take over โ a deliberate act, and an undoable one.
+
+
-Each card says honestly when you will see the change: some terminals update
-while you watch, some within a second, some only when you open a new window.
-And if a program's settings are being managed by some other tool, gtheme
-refuses to write, says so, and offers to take over โ a deliberate act, and an
-undoable one.
+
+System โ night light, sound, power, and everything else
-### System
+
-#### Night Light & Timing
+### Night Light & Timing

@@ -332,170 +395,247 @@ Warmer colours in the evening, on the sun's schedule or on yours. GNOME stores
those times as fractions of an hour โ `20.25` โ so the page shows you "Set to
8:15 pm" underneath and follows the slider as it moves.
-#### Sound
+### Sound

Which set of short sounds your desktop plays, whether it plays them at all, and
whether it beeps.
-#### Power & Screen
+### Power & Screen

-When the screen dims, when it turns off, when the computer sleeps, and whether
-it asks for a password afterwards. Grouped by the question you are actually
-asking, not by which part of GNOME happens to own the setting. It warns you
-about one combination people pick by accident and then find maddening: screen
-off after a minute, lock immediately.
+When the screen dims, when it turns off, when the computer sleeps, and whether it
+asks for a password afterwards. Grouped by the question you are actually asking,
+not by which part of GNOME happens to own the setting. It warns you about one
+combination people pick by accident and then find maddening: screen off after a
+minute, lock immediately.
-#### More Settings
+### More Settings

Everything the fourteen other pages did not put a hand-written row on. It is
-generated, not written: every setting a GNOME 50 desktop has is accounted for
-in a list the test suite checks, and anything with no home lands here
-automatically, described in the system's own words and clearly labelled as
-such.
+generated, not written: every setting a GNOME 50 desktop has is accounted for in
+a list the test suite checks, and anything with no home lands here automatically,
+described in the system's own words and clearly labelled as such.
This is what makes "nothing was left out" a fact rather than a claim. If gtheme
can see a setting, you can find it.
-### Safety
+
-#### Undo & Restore Points
+
+Safety โ Undo & Restore Points
+
+

-The page that makes the rest of the app safe to touch, and the one thing no
-other GNOME customisation tool has.
+The page that makes the rest of the app safe to touch, and the one thing no other
+GNOME customisation tool has.
-A **saved moment** is how your whole desktop looked at one point in time. One
-is taken automatically before anything changes, you can take one whenever you
-like, and going back to one puts the background, the colours, the text and the
-add-ons back the way they were. They are dated in words โ "My desktop, 25
-August" โ never in a timestamp.
+A **saved moment** is how your whole desktop looked at one point in time. One is
+taken automatically before anything changes, you can take one whenever you like,
+and going back to one puts the background, the colours, the text and the add-ons
+back the way they were. They are dated in words โ "My desktop, 25 August" โ never
+in a timestamp.
-At the bottom, on its own, sits **Before gtheme**: how this computer looked
-before this app ever ran. That one is never deleted and never pruned.
+At the bottom, on its own, sits **Before gtheme**: how this computer looked before
+this app ever ran. That one is never deleted and never pruned.
-## Questions people ask
+
-### Will this break my desktop?
+## I changed something and I want it back
-Not permanently, and it is designed so that it cannot.
+Three ways, from easiest to most stubborn. **Any one of them is enough**, you do
+not have to reinstall anything, and none of them deletes a thing.
-- **Nothing is applied that you have not seen first.** Every Look shows you
- what it is about to change, in your words, before it changes it.
-- **Everything is saved first.** Before the first byte moves, gtheme records
- exactly what was there. That recording is written as it goes, so even a power
- cut halfway through leaves a complete record of what had changed by then.
-- **Changes are all-or-nothing.** If any step of applying a Look fails, the
- whole thing is rolled back. gtheme never leaves you with a half-changed
- desktop.
-- **The first record is never overwritten.** The first time gtheme touches
- anything it writes down what was there and never writes over that, however
- many Looks you try afterwards. "Before gtheme" still means before gtheme, a
- year later.
-- **Looks cannot run programs.** See [SECURITY.md](SECURITY.md).
-
-The honest limits: a badly-behaved *add-on* โ third-party code, published by
-someone else, that GNOME loads into your desktop โ can still misbehave, and
-that is true whether you install it through gtheme, through GNOME's own app, or
-from a website. gtheme's answer is that it always knows which add-ons it
-switched on, so `gtheme rescue` can switch them all back off without the
-desktop's help.
-
-### Can I remove it?
-
-Yes, and it leaves nothing behind.
-
-Before you uninstall, open **Undo & Restore Points** and go back to **Before
-gtheme**. That returns every setting and file gtheme ever touched to its
-original state. (You can also do it from a terminal with `gtheme rescue`.)
+### 1. The app opens
-Then:
+Press **Ctrl+Z**, or click **Undo last change** at the top of the window. Or open
+**Undo & Restore Points** in the list on the left and pick the moment you want
+back โ including *Before gtheme*, how your desktop looked before this app ever
+ran.
-- **Installed the easy way** โ everything gtheme put on your computer is the
- folder you unpacked, plus two entries it added outside it: `~/.local/bin/gtheme`
- (what makes the `gtheme` command work) and a `Gtheme` entry under
- `~/.local/share/applications` (what makes it appear in your app list). Delete
- the folder and those two, and it is gone.
-- **Installed with `makepkg -si`** โ `sudo pacman -R gtheme`.
+### 2. The app won't open, but the desktop works
-gtheme's own saved moments live in `~/.local/state/gtheme/v2` and are yours to
-delete once you no longer want them.
+Open a terminal window (hold **Ctrl**, **Alt** and press **T**; if that does
+nothing, [docs/start-here.md](docs/start-here.md) shows another way) and type:
-### Why does an add-on need me to log out?
+```sh
+gtheme rescue
+```
-Because of how GNOME itself works, and gtheme will not pretend otherwise.
+That puts every setting and file gtheme touched back the way it was, and switches
+off every add-on gtheme switched on. It needs no window, no mouse, and no
+graphics at all.
-Your desktop looks for add-ons in its folders **once**, when it starts. An
-add-on that arrives after that is invisible to it โ there is no way to make it
-look again. This is not a gtheme limitation; it was measured directly against
-GNOME 50 and the test suite still checks it on every full run, so that if a
-future GNOME changes it, gtheme notices.
+### 3. The screen is unusable โ no bar, no windows, nothing responds
-So there are two cases and gtheme tells you which one you are in:
+Hold **Ctrl** and **Alt** and press **F3**. You get a black screen with a text
+prompt.
-- An add-on already on your computer can be switched on right now. "It's on."
-- An add-on gtheme has just downloaded usually starts working immediately,
- because GNOME's own installer loads it for you. When it cannot, gtheme says
- "it starts working after you log out and back in" โ and means it.
+1. Type your username and press **Enter**.
+2. Type your password and press **Enter**. Nothing appears as you type โ that is
+ normal.
+3. Type `gtheme rescue` and press **Enter**.
+4. When it says it is done, hold **Ctrl** and **Alt** and press **F2** to get back
+ to your desktop. On some systems it is **F1** instead, and trying both is
+ harmless.
+5. Log out and back in.
+
+## Questions people ask
+
+
+Will this break my desktop?
+
+
+
+Not permanently, and it is designed so that it cannot. Every change is recorded
+before it happens, every Look shows you what it will change before it changes it,
+and a failed step rolls the whole thing back. The full list of guarantees is in
+[Why it's safe to try](#why-its-safe-to-try) above, and the one honest limit โ
+badly-behaved third-party add-ons โ is at the end of it.
+
+
+
+
+Do I need to know anything about Linux, the terminal, or GitHub?
+
+
+
+No. You need a terminal exactly once, to run the installer, and step 3 of
+[the easy way](#the-easy-way-recommended) shows you how to open
+one by right-clicking a folder. After that the app is a window like any other.
-Those two sentences differ by one clause and by the entire question of whether
-the app is telling you the truth.
+If a word in this README is unfamiliar, [GLOSSARY.md](GLOSSARY.md) explains it,
+and [docs/start-here.md](docs/start-here.md) covers what a Linux system is, how to
+open a terminal, and how to copy and paste into one.
-### Does it send anything anywhere?
+
+
+
+Does it send anything anywhere?
+
+
No. gtheme has no account, no server and no telemetry. It talks to the internet
-in exactly two situations, both of which you start: searching the add-on
-library at extensions.gnome.org, and fetching the list of community Looks โ
-which is one public file published with gtheme's own code, because there is no server
-to run.
+in exactly two situations, both of which you start: searching the add-on library
+at extensions.gnome.org, and fetching the list of community Looks โ which is one
+public file published with gtheme's own code, because there is no server to run.
If you publish a Look, gtheme scans it first for anything private and shows you
what it found before you share it.
-### Why is something greyed out?
+
+
+
+Why does an add-on need me to log out?
+
+
+
+Because of how GNOME itself works, and gtheme will not pretend otherwise.
+
+Your desktop looks for add-ons in its folders **once**, when it starts. An add-on
+that arrives after that is invisible to it โ there is no way to make it look
+again. This is not a gtheme limitation; it was measured directly against GNOME 50
+and the test suite still checks it on every full run, so that if a future GNOME
+changes it, gtheme notices.
+
+So there are two cases and gtheme tells you which one you are in:
+
+- An add-on already on your computer can be switched on right now. "It's on."
+- An add-on gtheme has just downloaded usually starts working immediately,
+ because GNOME's own installer loads it for you. When it cannot, gtheme says "it
+ starts working after you log out and back in" โ and means it.
+
+
+
+
+Why is something greyed out?
+
+
Because it would not do anything, and gtheme would rather tell you than let you
-press it. Every greyed-out control carries the reason: the add-on that owns it
-is switched off, the program is not installed, or another setting has to change
+press it. Every greyed-out control carries the reason: the add-on that owns it is
+switched off, the program is not installed, or another setting has to change
first.
-### Can I use it on Ubuntu or Fedora?
+
+
+
+Can I use it on Ubuntu or Fedora?
+
+
-If it is running GNOME 49 or 50, yes. To find out, open your **Settings** app
-and look at **System โ About** โ it prints the GNOME version there.
+If it is running GNOME 49 or 50, yes. To find out, open your **Settings** app and
+look at **System โ About** โ it prints the GNOME version there.
-Older releases ship an older libadwaita than gtheme needs. On one of those,
-gtheme shows a screen saying so and changes nothing, rather than opening a
-window that half-works. gtheme was built and tested on Arch; the easy-way
-installer is written to work anywhere and says exactly what is missing if it
-does not.
+Older releases ship an older libadwaita than gtheme needs. On one of those, gtheme
+shows a screen saying so and changes nothing, rather than opening a window that
+half-works. gtheme was built and tested on Arch; the easy-way installer is written
+to work anywhere and says exactly what is missing if it does not.
-### Where did the old command-line gtheme go?
+
+
+
+Where did the old command-line gtheme go?
+
+
Nowhere. v1 is preserved in full on the
[`legacy-v1`](https://github.com/blyatiful1/gtheme/tree/legacy-v1) branch and at
-the [`v1-final`](https://github.com/blyatiful1/gtheme/releases/tag/v1-final)
-tag. See [CHANGELOG.md](CHANGELOG.md) for what changed and why.
+the [`v1-final`](https://github.com/blyatiful1/gtheme/releases/tag/v1-final) tag.
+See [CHANGELOG.md](CHANGELOG.md) for what changed and why.
+
+
+
+## Removing gtheme
+
+It leaves nothing behind.
-## For people who want to help
+**First, put your desktop back.** Open **Undo & Restore Points** and go back to
+**Before gtheme**. That returns every setting and file gtheme ever touched to its
+original state. (From a terminal: `gtheme rescue`.)
-- **New to all of this?** [docs/start-here.md](docs/start-here.md) โ what a
- Linux system is, how to open a terminal, and how to copy and paste into one.
+Then:
+
+- **Installed the easy way** โ open a terminal in the `gtheme-main` folder and
+ run `./install.sh --uninstall`. That removes the `gtheme` command and the entry
+ in your app list; delete the folder itself and it is gone. If your desktop is
+ still using a Look, the installer stops and says so rather than stranding you
+ without the app that can put it back.
+- **Installed with `makepkg -si`** โ `sudo pacman -R gtheme`.
+
+gtheme's own saved moments live in `~/.local/state/gtheme/v2` and are yours to
+delete once you no longer want them.
+
+## Getting help
+
+- **A question, or you want to show off your desktop?**
+ [Discussions](https://github.com/blyatiful1/gtheme/discussions) โ no question is
+ too basic there.
+- **Something is broken?**
+ [Open an issue](https://github.com/blyatiful1/gtheme/issues/new/choose). Say
+ what you clicked and what happened; you do not need to know why.
- **A word you do not know?** [GLOSSARY.md](GLOSSARY.md).
-- **Want to add a Look, an add-on panel, or a setting?**
- [CONTRIBUTING.md](CONTRIBUTING.md). Most contributions are data files, not
- code.
-- **Writing a Look?** [docs/preset-format.md](docs/preset-format.md).
-- **Want to know how it works inside?**
- [docs/architecture.md](docs/architecture.md) and
- [docs/testing.md](docs/testing.md).
-- **Found a security problem?** [SECURITY.md](SECURITY.md).
+- **Never used Linux before?** [docs/start-here.md](docs/start-here.md).
+- **Found a security problem?** [SECURITY.md](SECURITY.md) โ please do not open a
+ public issue for it.
+
+## Helping out
+
+You do not have to be a programmer. **Most contributions are data files, not
+code**: a Look, a plain-English description for an add-on, a setting that needs a
+better sentence.
+
+- [CONTRIBUTING.md](CONTRIBUTING.md) โ how to add a Look, an add-on panel or a
+ setting, and how to run the tests.
+- [docs/preset-format.md](docs/preset-format.md) โ writing a Look.
+- [docs/architecture.md](docs/architecture.md) and
+ [docs/testing.md](docs/testing.md) โ how it works inside.
## Licence
diff --git a/data/io.github.blyatiful1.Gtheme.metainfo.xml b/data/io.github.blyatiful1.Gtheme.metainfo.xml
index c82e195..f35af03 100644
--- a/data/io.github.blyatiful1.Gtheme.metainfo.xml
+++ b/data/io.github.blyatiful1.Gtheme.metainfo.xml
@@ -109,7 +109,7 @@
-
+
The v2 rebuild: gtheme becomes a graphical app.
diff --git a/src/gtheme/__init__.py b/src/gtheme/__init__.py
index a91ccbc..7b37369 100644
--- a/src/gtheme/__init__.py
+++ b/src/gtheme/__init__.py
@@ -4,7 +4,7 @@
via ``[tool.hatch.version]``, and the app surfaces it in the About dialog.
"""
-__version__ = "2.0.0.dev0"
+__version__ = "2.0.0"
#: Reverse-DNS application id. This exact string is used in three places that
#: must agree or the shell will not group the window with its launcher: