# Darkmatter

A near-black GTK 3 / GTK 4 and xfwm4 theme, built from the [Darkmatter color scheme](https://github.com/stevedylandev/darkmatter-nvim).

>[!WARNING]
>This project is still a work in progress with minimal support for XFCE. Further support and ports can be requested in the issues, PR's welcome. 

![screenshot 1](screenshot-1.png)
![screenshot 2](screenshot-2.png)

## Install

Prebuilt stylesheets are checked in, so no build step is required:

```sh
git clone https://github.com/stevedylandev/darkmatter-linux.git
cd darkmatter-linux
sh src/install.sh   # copies into ~/.themes/Darkmatter (+ -hdpi/-xhdpi variants)
```

Then select `Darkmatter` as your GTK theme and window manager theme, e.g.:

```sh
gsettings set org.gnome.desktop.interface gtk-theme Darkmatter   # GTK
xfwm4-tweaks-settings                                            # or via xfce4-appearance-settings / xfwm4-settings
```

`install.sh` only ships the GTK 3/4 stylesheets and xfwm4 decorations. Dunst and Rofi aren't app themes with a single install location, so copy them where each app looks for config:

```sh
cp dunst/dunstrc ~/.config/dunst/dunstrc
cp rofi/darkmatter.rasi ~/.config/rofi/darkmatter.rasi
```

## Palette

| Role | Color | Source |
| --- | --- | --- |
| Shadow / rim | `#060506` | derived |
| Headerbars, panels, window frame | `#121113` | scheme `background` |
| Window background | `#121113` | scheme `background` |
| Sidebars, troughs | `#171618` | derived |
| Entries, views, cards | `#1c1b1d` | derived |
| Hover | `#222222` | scheme `selection_bg` |
| Borders | `#2b2b2b` | derived |
| Strong borders | `#333333` | scheme bright black |
| Disabled text | `#888888` | scheme ansi 4 |
| Secondary text | `#999999` / `#aaaaaa` | scheme ansi 5–6 |
| Near-foreground | `#c1c1c1` | scheme ansi 7 |
| Foreground | `#ffffff` | scheme `foreground` |
| Success | `#5f8787` | scheme ansi 1 |
| Warning | `#fbcb97` | scheme ansi 2 |
| **Accent** | `#e78a53` | scheme ansi 3 |
| Error, destructive | `#e75353` | derived |


**Icons are untouched.** `index.theme` still names Nordic's `Zafiro-icons`;
pick an icon theme and change that line.

## Supported ports

| Port | Notes |
| --- | --- |
| GTK 3 | Full stylesheet, incl. app-specific styling below |
| GTK 4 | Full stylesheet, incl. app-specific styling below |
| xfwm4 | Window decorations, with `hdpi` and `xhdpi` variants |
| Dunst | Notification daemon (`dunst/dunstrc`) |
| Rofi | Launcher theme (`rofi/darkmatter.rasi`) |

App-specific styling is layered on top of the base GTK 3/4 stylesheets for:

- Budgie (panel/Raven)
- Caja (MATE Files)
- Geary
- GNOME Shell / Nautilus
- LightDM GTK greeter
- MATE (OSD)
- Nemo
- Pantheon / Gala (elementary OS)
- Rnote (GTK 4 only)
- Terminator (GTK 3 only)
- Thunar
- Unity
- Xfce (panel)

## Building

Needs `sassc` and `librsvg`:

```sh
doas apk add sassc librsvg      # or your distro's equivalent

sh src/build.sh          # compile the stylesheets
sh src/render-xfwm4.sh   # re-render the window decorations
sh src/install.sh        # copy into ~/.themes
```


## Acknowledgements

Main structure and inspiration forked from [Nordic](https://github.com/EliverLara/Nordic)

Color scheme: [darkmatter-nvim](https://github.com/stevedylandev/darkmatter-nvim)

## License

GPL-3.0, inherited from Nordic. See `LICENSE`.
