Skip to content

Commit ac84292

Browse files
committed
Add remote control docs and extend CLI reference
New docs/remote-control.md covering IPC protocol, all editor commands, headless CLI commands, JSON output, socket details, and AI integration examples. Extended docs/cli.md with all 25 new command flags. Added link from README.md documentation table.
1 parent d718768 commit ac84292

6 files changed

Lines changed: 718 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ wails build
124124
| [Custom Templates](docs/custom-templates.md) | Add support for your apps |
125125
| [Custom Apps](docs/custom-apps.md) | Per-app template system |
126126
| [File System](docs/filesystem.md) | Where Aether stores files |
127+
| [Remote Control](docs/remote-control.md) | IPC commands and AI integration |
127128
| [Standalone](docs/standalone.md) | Using Aether without Omarchy |
128129
| [Troubleshooting](docs/troubleshooting.md) | Common issues |
129130

docs/cli.md

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,268 @@ Aether launches `aether-wp` automatically when you apply a theme with an animate
282282

283283
When applying a static wallpaper, Aether automatically kills any running `aether-wp` process and falls back to `swaybg`.
284284

285+
## Color Utilities
286+
287+
Standalone commands for working with colors. No running GUI needed.
288+
289+
### Color Info
290+
291+
Show all representations of a hex color:
292+
293+
```bash
294+
aether --color-info "#7cd480"
295+
aether --color-info "#7cd480" --json
296+
```
297+
298+
### Color Convert
299+
300+
Convert a color between formats:
301+
302+
```bash
303+
aether --color-convert "#7cd480" --to rgb
304+
aether --color-convert "#7cd480" --to hsl
305+
aether --color-convert "#7cd480" --to oklab
306+
aether --color-convert "#7cd480" --to oklch
307+
```
308+
309+
### Contrast
310+
311+
Check WCAG contrast ratio between two colors:
312+
313+
```bash
314+
aether --contrast "#0a180a" "#a5baa7"
315+
```
316+
317+
Returns the ratio and AA/AAA pass/fail for normal and large text.
318+
319+
### Adjust Color
320+
321+
Apply the 12-step adjustment pipeline to a single color:
322+
323+
```bash
324+
aether --adjust-color "#7cd480" --vibrance 20 --saturation -10
325+
```
326+
327+
Supports all adjustment flags: `--vibrance`, `--saturation`, `--contrast`, `--brightness`, `--shadows`, `--highlights`, `--hue-shift`, `--temperature`, `--tint`, `--gamma`, `--black-point`, `--white-point`.
328+
329+
### Darken / Lighten
330+
331+
```bash
332+
aether --darken "#7cd480" 70 # 0 = black, 100 = unchanged
333+
aether --lighten "#7cd480" 20 # 0 = unchanged, 100 = white
334+
```
335+
336+
## Palette Operations
337+
338+
### Extract Palette
339+
340+
Extract a 16-color palette from a wallpaper without applying it (read-only):
341+
342+
```bash
343+
aether --extract-palette ~/wallpaper.jpg
344+
aether --extract-palette ~/wallpaper.jpg --extract-mode pastel --light-mode --json
345+
```
346+
347+
### Palette from Color
348+
349+
Generate a full 16-color ANSI palette from a single base color:
350+
351+
```bash
352+
aether --palette-from-color "#7cd480"
353+
```
354+
355+
### Gradient
356+
357+
Generate a color gradient between two colors:
358+
359+
```bash
360+
aether --gradient "#0a180a" "#bed3c0"
361+
aether --gradient "#0a180a" "#bed3c0" --steps 8
362+
```
363+
364+
Defaults to 16 steps. Use `--steps` for a custom count.
365+
366+
### Adjust Palette
367+
368+
Apply adjustments to an entire palette (JSON array or blueprint name):
369+
370+
```bash
371+
aether --adjust-palette '["#0a180a","#a8ad42","#7cd480"]' --vibrance 20
372+
aether --adjust-palette "Nord" --temperature 15
373+
```
374+
375+
### Palette Info
376+
377+
Analyze a palette for contrast, dark/light detection, and monochrome detection:
378+
379+
```bash
380+
aether --palette-info '["#0a180a","#a8ad42","#7cd480","#a0c877","#53ba97","#7cc094","#8fd7b0","#a5baa7","#39513c","#a8ad42","#7cd480","#a0c877","#53ba97","#7cc094","#8fd7b0","#bed3c0"]'
381+
aether --palette-info "Nord" --json
382+
```
383+
384+
## Blueprint Management
385+
386+
### Show Blueprint
387+
388+
Display full details of a saved blueprint:
389+
390+
```bash
391+
aether --show-blueprint "Nord"
392+
aether --show-blueprint "Nord" --json
393+
```
394+
395+
### Delete Blueprint
396+
397+
```bash
398+
aether --delete-blueprint "Old Theme"
399+
```
400+
401+
### Export Blueprint
402+
403+
Export a blueprint to a JSON file:
404+
405+
```bash
406+
aether --export-blueprint "Nord"
407+
aether --export-blueprint "Nord" --output ~/themes/nord.json
408+
```
409+
410+
## Inspection
411+
412+
### List Apps
413+
414+
List all applications that Aether can generate themes for:
415+
416+
```bash
417+
aether --list-apps
418+
aether --list-apps --json
419+
```
420+
421+
### List Modes
422+
423+
List available extraction modes with descriptions:
424+
425+
```bash
426+
aether --list-modes
427+
```
428+
429+
### Show Variables
430+
431+
Show all template variables that would be generated for a source (wallpaper or blueprint):
432+
433+
```bash
434+
aether --show-variables ~/wallpaper.jpg
435+
aether --show-variables "Nord" --json
436+
```
437+
438+
### Current Theme
439+
440+
Show the currently applied theme colors (reads from `~/.config/aether/theme/colors.toml`):
441+
442+
```bash
443+
aether --current-theme
444+
aether --current-theme --json
445+
```
446+
447+
### Preview Template
448+
449+
Preview the rendered output of a specific app template:
450+
451+
```bash
452+
aether --preview-template kitty ~/wallpaper.jpg
453+
aether --preview-template alacritty "Nord" --json
454+
```
455+
456+
## Wallpapers
457+
458+
### Search Wallhaven
459+
460+
Search wallhaven.cc from the command line:
461+
462+
```bash
463+
aether --search-wallhaven "dark forest"
464+
aether --search-wallhaven "mountains" --sorting relevance --purity 100 --page 2 --json
465+
```
466+
467+
**Options:**
468+
469+
| Option | Description |
470+
|--------|-------------|
471+
| `--categories` | Filter categories (default "111" = all) |
472+
| `--purity` | Purity filter (default "100" = SFW) |
473+
| `--sorting` | Sort by: date_added, relevance, random, views, favorites, toplist |
474+
| `--order` | Sort order: desc, asc |
475+
| `--page` | Page number |
476+
| `--at-least` | Minimum resolution (e.g. "1920x1080") |
477+
| `--colors` | Filter by color hex (without #) |
478+
479+
### List Wallpapers
480+
481+
List local wallpapers from `~/Wallpapers`:
482+
483+
```bash
484+
aether --list-wallpapers
485+
aether --list-wallpapers --json
486+
```
487+
488+
### Random Wallpaper
489+
490+
Pick a random wallpaper from the local directory:
491+
492+
```bash
493+
aether --random-wallpaper
494+
```
495+
496+
## Favorites
497+
498+
### List Favorites
499+
500+
```bash
501+
aether --list-favorites
502+
aether --list-favorites --json
503+
```
504+
505+
### Toggle Favorite
506+
507+
```bash
508+
aether --toggle-favorite ~/Wallpapers/forest.jpg
509+
aether --toggle-favorite ~/Wallpapers/forest.jpg --type wallhaven
510+
```
511+
512+
### Is Favorite
513+
514+
```bash
515+
aether --is-favorite ~/Wallpapers/forest.jpg
516+
```
517+
518+
## Remote Control
519+
520+
When Aether is running, you can control the editor in real time using bare subcommands (no `--` prefix). These connect to the running instance via a Unix domain socket.
521+
522+
```bash
523+
aether status # show editor state
524+
aether extract ~/wallpaper.jpg # load wallpaper into editor
525+
aether set-color 4 "#53ba97" # change a palette color
526+
aether adjust --vibrance 20 # move sidebar sliders
527+
aether set-mode pastel # change extraction mode
528+
aether toggle-light-mode # flip light/dark
529+
aether apply # apply current theme
530+
aether load-blueprint "Nord" # load blueprint into editor
531+
aether apply-blueprint "Nord" # apply blueprint directly
532+
aether set-wallpaper ~/wall.jpg # set wallpaper path
533+
```
534+
535+
See [Remote Control](remote-control.md) for the full IPC reference and AI integration guide.
536+
537+
## JSON Output
538+
539+
All commands support `--json` for machine-readable output:
540+
541+
```bash
542+
aether --color-info "#7cd480" --json
543+
aether --extract-palette ~/wallpaper.jpg --json
544+
aether status --json
545+
```
546+
285547
## Scripting Examples
286548

287549
### Theme Rotation Script

0 commit comments

Comments
 (0)