# desktop-mode/1.1.12/assets/icons/README.md

OpenStation: Desktop Windows, Dock &amp; Virtual Desktops for WP Admin, version 1.1.12. 43 lines.

- Page: https://pluginprobe.com/plugins/desktop-mode/1.1.12/code/assets/icons/README.md
- Raw: https://pluginprobe.com/plugins/desktop-mode/1.1.12/raw/assets/icons/README.md
- Modified: 2026-08-21T13:22:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/desktop-mode/1.1.12/code/assets/icons/README.md#L10-L20`.

```markdown
# OpenStation icons

The eleven icons that are ours. Everything else the shell uses comes from
WordPress: Core owns the verbs (save, search, trash, settings), OpenStation
owns the nouns, the vocabulary that exists because this is a desktop and
wp-admin is not.

These are registered as the `openstation` collection in
[`includes/wp-icon-registry.php`](../../includes/wp-icon-registry.php) and can
be rendered anywhere with `wp_get_icon( 'openstation/window' )` on WordPress
7.1 or newer.

## Do not edit these by hand

They are generated. The drawings live in the brand repository as 1.5 monoline
strokes; these are the outlines of those strokes, expanded to filled paths.

That is not a style choice. WordPress sanitises registered icon markup through
`wp_kses` and keeps only `<svg>`, `<path>` and `<polygon>`, with no `stroke`
attribute on any of them, so a monoline icon registered as drawn loses its
stroke and renders as a solid blob. Expanding the stroke into a filled outline
is what survives, and it looks identical: SVG scales stroke geometry with the
shape either way.

Two consequences worth knowing before editing anything here:

- Every path carries `fill="currentColor"`. `wp_get_icon()` adds no fill, and a
  path without one paints black instead of following text color.
- There is no `<title>`. It would be stripped. The accessible name comes from
  the `label` passed to `wp_register_icon()`, or from the button around it.

## Not what the shell draws

The desktop renders the same eleven from `src/ui/icons/`, and those are the
monoline originals rather than these outlines. Nothing inside our own shadow
roots passes through `wp_kses`, so there is no reason to hand the shell a
flattened copy. Both are generated from the same brand sources, so they cannot
drift; if you need an icon in TypeScript, import it from `src/ui/icons`.

## License

GPL-2.0-or-later, like the rest of the plugin.

```
