kitowall 6.11.0 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +533 -46
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,94 +2,581 @@
|
|
|
2
2
|
|
|
3
3
|
# Kitowall
|
|
4
4
|
|
|
5
|
-
`Kitowall`
|
|
5
|
+
`Kitowall` es un gestor de wallpapers para `Hyprland/Wayland` con dos capas principales:
|
|
6
|
+
- `kitowall`: CLI y automatización para wallpapers estáticos, rotación, packs, historial, logs y fuentes remotas.
|
|
7
|
+
- `kitowall-ui`: interfaz gráfica de escritorio para gestionar `Kitowall`, `Kitsune`, live wallpapers y utilidades de instalación.
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
Versión actual del paquete CLI: `6.11.0`.
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
- Rotate wallpapers with transitions.
|
|
11
|
-
- Use different wallpapers per monitor.
|
|
12
|
-
- Organize by thematic packs (`sao`, `edgerunners`, etc.).
|
|
13
|
-
- Download from sources: `local`, `wallhaven`, `unsplash`, `reddit`, `generic_json`, `static_url`.
|
|
14
|
-
- Manage everything from CLI and desktop UI.
|
|
11
|
+
---
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
# Español
|
|
14
|
+
|
|
15
|
+
## Qué es Kitowall
|
|
16
|
+
|
|
17
|
+
`Kitowall` organiza wallpapers por packs y fuentes remotas, aplica fondos por monitor usando `swww` y ofrece una UI que también integra:
|
|
18
|
+
- gestión de `Kitsune`
|
|
19
|
+
- live wallpapers
|
|
20
|
+
- bootstrap del host
|
|
21
|
+
- validación de dependencias
|
|
22
|
+
- utilidades de sistema para el stack de wallpapers
|
|
23
|
+
|
|
24
|
+
## Funcionalidades principales
|
|
25
|
+
|
|
26
|
+
### CLI / Core
|
|
27
|
+
- Rotación de wallpapers.
|
|
28
|
+
- Wallpapers distintos por monitor.
|
|
29
|
+
- Packs temáticos (`sao`, `edgerunners`, etc.).
|
|
30
|
+
- Fuentes remotas y locales:
|
|
31
|
+
- `local`
|
|
32
|
+
- `wallhaven`
|
|
33
|
+
- `unsplash`
|
|
34
|
+
- `reddit`
|
|
35
|
+
- `generic_json`
|
|
36
|
+
- `static_url`
|
|
37
|
+
- Historial, favoritos, cache y logs.
|
|
38
|
+
- Integración con `systemd --user`.
|
|
39
|
+
|
|
40
|
+
### UI
|
|
41
|
+
- Panel gráfico para gestionar `Kitowall` y `Kitsune`.
|
|
42
|
+
- Instalador de dependencias del host.
|
|
43
|
+
- Gestión de live wallpapers.
|
|
44
|
+
- Módulo visual de `Kitsune` con grupos, capas, colores dinámicos y efectos.
|
|
45
|
+
|
|
46
|
+
## Requisitos
|
|
47
|
+
|
|
48
|
+
Entorno objetivo:
|
|
49
|
+
- Linux
|
|
50
|
+
- `Wayland`
|
|
51
|
+
- `Hyprland`
|
|
52
|
+
- `swww`
|
|
53
|
+
|
|
54
|
+
Dependencias del stack principal, según la función usada:
|
|
55
|
+
- `nodejs`, `npm`
|
|
56
|
+
- `rust`, `cargo` o `rustup`
|
|
57
|
+
- `pkg-config` / `pkgconf`
|
|
58
|
+
- `gtk4`
|
|
59
|
+
- `gtk4-layer-shell`
|
|
60
|
+
- `jq`
|
|
61
|
+
- `curl`
|
|
62
|
+
- `git`
|
|
63
|
+
- `cava`
|
|
64
|
+
- `hyprland`
|
|
65
|
+
- `swww`
|
|
66
|
+
|
|
67
|
+
## Rutas por defecto
|
|
68
|
+
|
|
69
|
+
- Configuración: `~/.config/kitowall/config.json`
|
|
70
|
+
- Estado: `~/.local/state/kitowall/state.json`
|
|
71
|
+
- Historial: `~/.local/state/kitowall/history.json`
|
|
20
72
|
- Logs: `~/.local/state/kitowall/logs.jsonl`
|
|
21
73
|
- Wallpapers: `~/Pictures/Wallpapers/<pack>`
|
|
22
74
|
|
|
23
|
-
##
|
|
75
|
+
## Instalación recomendada: AppImage
|
|
76
|
+
|
|
77
|
+
La distribución recomendada de la UI es la `AppImage`.
|
|
78
|
+
|
|
79
|
+
### Importante
|
|
80
|
+
No ejecutes la AppImage con `sudo`.
|
|
81
|
+
|
|
82
|
+
Correcto:
|
|
83
|
+
```bash
|
|
84
|
+
chmod +x ./Kitowall-*.AppImage
|
|
85
|
+
./Kitowall-*.AppImage --no-sandbox
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Incorrecto:
|
|
89
|
+
```bash
|
|
90
|
+
sudo ./Kitowall-*.AppImage --no-sandbox
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Razón:
|
|
94
|
+
- Electron no debe ejecutarse como root en tu sesión gráfica.
|
|
95
|
+
- Si corres la AppImage con `sudo`, puedes perder `DISPLAY`, `WAYLAND_DISPLAY`, `XDG_RUNTIME_DIR` y la app fallará al iniciar.
|
|
96
|
+
|
|
97
|
+
### Flujo recomendado
|
|
98
|
+
1. Descarga la última `AppImage` desde GitHub Releases.
|
|
99
|
+
2. Dale permisos de ejecución.
|
|
100
|
+
3. Ábrela como usuario normal.
|
|
101
|
+
4. Usa el instalador de dependencias desde la UI.
|
|
102
|
+
|
|
103
|
+
## Instalación de dependencias del host
|
|
104
|
+
|
|
105
|
+
`Kitowall` soporta instalación asistida del host.
|
|
106
|
+
|
|
107
|
+
### Cómo funciona ahora
|
|
108
|
+
La app separa dos fases:
|
|
109
|
+
|
|
110
|
+
1. **Fase privilegiada**
|
|
111
|
+
- instala paquetes del sistema
|
|
112
|
+
- se ejecuta con `pkexec`
|
|
113
|
+
- muestra prompt gráfico de autenticación
|
|
114
|
+
- no requiere abrir consola manualmente
|
|
115
|
+
|
|
116
|
+
2. **Fase de usuario**
|
|
117
|
+
- instala y configura binarios en `~/.local/...`
|
|
118
|
+
- inicializa wrappers y configuración
|
|
119
|
+
- no corre como root
|
|
120
|
+
|
|
121
|
+
### Recomendación
|
|
122
|
+
Usa el botón:
|
|
123
|
+
- `Install Dependencies`
|
|
124
|
+
|
|
125
|
+
Ese flujo es preferible a pedirle al usuario que abra la terminal con `sudo`.
|
|
126
|
+
|
|
127
|
+
### Requisitos para este flujo gráfico
|
|
128
|
+
El host debe tener:
|
|
129
|
+
- `pkexec`
|
|
130
|
+
- un agente `polkit` activo en la sesión
|
|
131
|
+
|
|
132
|
+
Sin eso, la instalación de paquetes del sistema seguirá necesitando intervención manual.
|
|
133
|
+
|
|
134
|
+
## Bootstrap manual
|
|
135
|
+
|
|
136
|
+
Si quieres hacer el bootstrap desde terminal, usa:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
./scripts/bootstrap-host.sh
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Eso ejecuta:
|
|
143
|
+
- instalación/configuración de `kitowall`
|
|
144
|
+
- instalación/configuración de `kitsune`
|
|
145
|
+
- instalación/configuración de `kitsune-rendercore`
|
|
146
|
+
- validación del host
|
|
147
|
+
|
|
148
|
+
### Nota
|
|
149
|
+
El script puede necesitar privilegios para instalar paquetes del sistema. La forma recomendada para usuarios finales sigue siendo la UI con `pkexec`.
|
|
150
|
+
|
|
151
|
+
## Inicialización
|
|
152
|
+
|
|
153
|
+
Después del bootstrap, inicializa el stack:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
kitowall init --namespace kitowall --apply --force
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Instalación de Kitsune
|
|
160
|
+
|
|
161
|
+
Si trabajas con `Kitsune`, el flujo soportado es:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
kitsune install --install-packages
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
O bien:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
cd Kitsune
|
|
171
|
+
./scripts/install.sh --install-packages
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
En la UI, si el usuario dispara instalación con paquetes, `Kitowall` ya puede elevar solo la parte necesaria de sistema sin ejecutar Electron como root.
|
|
175
|
+
|
|
176
|
+
## Desarrollo rápido
|
|
177
|
+
|
|
178
|
+
### CLI
|
|
24
179
|
```bash
|
|
25
180
|
npm install
|
|
26
181
|
npm run build
|
|
27
182
|
|
|
28
183
|
node dist/cli.js outputs
|
|
29
184
|
node dist/cli.js status
|
|
30
|
-
node dist/cli.js next
|
|
31
185
|
node dist/cli.js check --json
|
|
32
186
|
```
|
|
33
187
|
|
|
34
|
-
|
|
188
|
+
### UI
|
|
35
189
|
```bash
|
|
36
190
|
cd ui
|
|
37
191
|
npm install
|
|
38
192
|
npm run electron:dev
|
|
39
193
|
```
|
|
40
194
|
|
|
41
|
-
|
|
42
|
-
|
|
195
|
+
### Builds
|
|
196
|
+
```bash
|
|
197
|
+
npm run build
|
|
198
|
+
npm run package:cli
|
|
199
|
+
npm run package:ui
|
|
200
|
+
npm run package:all
|
|
201
|
+
```
|
|
43
202
|
|
|
44
|
-
|
|
45
|
-
|
|
203
|
+
## Comandos útiles
|
|
204
|
+
|
|
205
|
+
### Core
|
|
46
206
|
```bash
|
|
47
|
-
|
|
207
|
+
kitowall outputs
|
|
208
|
+
kitowall status
|
|
209
|
+
kitowall next
|
|
210
|
+
kitowall check --json
|
|
211
|
+
kitowall mode rotate
|
|
212
|
+
kitowall rotate-now
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Packs y fuentes
|
|
216
|
+
```bash
|
|
217
|
+
kitowall list-packs
|
|
218
|
+
kitowall pack show <name>
|
|
219
|
+
kitowall refresh-pack <name>
|
|
220
|
+
kitowall hydrate-pack <name> --count 10
|
|
48
221
|
```
|
|
49
|
-
|
|
222
|
+
|
|
223
|
+
### Historial y logs
|
|
50
224
|
```bash
|
|
51
|
-
|
|
225
|
+
kitowall history --limit 100
|
|
226
|
+
kitowall history clear
|
|
227
|
+
kitowall logs --limit 200
|
|
228
|
+
kitowall logs clear
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Servicios
|
|
232
|
+
```bash
|
|
233
|
+
kitowall install-systemd --every 5m
|
|
234
|
+
kitowall systemd-status
|
|
52
235
|
```
|
|
53
|
-
|
|
236
|
+
|
|
237
|
+
## Live Wallpapers
|
|
238
|
+
|
|
239
|
+
`Kitowall` incluye soporte para live wallpapers y Wallpaper Engine dentro de la UI y del CLI.
|
|
240
|
+
|
|
241
|
+
Documentación y componentes relacionados:
|
|
242
|
+
- `ui/README.md`
|
|
243
|
+
- `src/core/live.ts`
|
|
244
|
+
- comandos `kitowall live ...`
|
|
245
|
+
- comandos `kitowall we ...`
|
|
246
|
+
|
|
247
|
+
## Recomendaciones de instalación
|
|
248
|
+
|
|
249
|
+
### Para usuarios finales
|
|
250
|
+
- usa la `AppImage`
|
|
251
|
+
- no la ejecutes con `sudo`
|
|
252
|
+
- instala dependencias desde la UI
|
|
253
|
+
- deja que `pkexec` pida autenticación cuando haga falta
|
|
254
|
+
|
|
255
|
+
### Para desarrollo
|
|
256
|
+
- usa el repo directamente
|
|
257
|
+
- CLI desde raíz
|
|
258
|
+
- UI desde `ui/`
|
|
259
|
+
|
|
260
|
+
### Para Arch/Hyprland
|
|
261
|
+
Si `bootstrap-host.sh` falla por librerías de compresión/archivo, repara el sistema y reintenta:
|
|
262
|
+
|
|
54
263
|
```bash
|
|
55
264
|
sudo pacman -Syu
|
|
56
265
|
sudo pacman -S --overwrite '*' zstd libarchive
|
|
57
266
|
```
|
|
58
|
-
Reason: this fixes host library mismatches (partial/out-of-sync updates) that break AUR package builds and package compression.
|
|
59
267
|
|
|
60
|
-
|
|
268
|
+
## Validación del flujo privilegiado
|
|
269
|
+
|
|
270
|
+
Antes de pulsar “Install Dependencies”, verifica que la sesión expone `DISPLAY`, `WAYLAND_DISPLAY`, `XDG_RUNTIME_DIR` y `DBUS_SESSION_BUS_ADDRESS`. El backend ahora registra en `/tmp/kitowall-kitsune-ui.log` una línea como `runPrivilegedSystemBootstrap: … display=… wayland=… dbus=set|missing`. Si `dbus=missing`, cierra y vuelve a iniciar la sesión gráfica para que el agente de polkit arranque o repasa el entorno de Wayland/X11.
|
|
271
|
+
|
|
272
|
+
## Estructura relevante
|
|
273
|
+
|
|
274
|
+
- `src/cli.ts`: CLI principal
|
|
275
|
+
- `scripts/bootstrap-host.sh`: bootstrap de usuario / orquestación
|
|
276
|
+
- `scripts/bootstrap-system.sh`: helper root para paquetes del sistema
|
|
277
|
+
- `ui/`: aplicación Electron + Svelte
|
|
278
|
+
- `dist/`: salida del CLI
|
|
279
|
+
- `CONFIG_EXAMPLES.md`: ejemplos de configuración
|
|
280
|
+
- `DEPENDENCIES.md`: dependencias
|
|
281
|
+
- `STATUS.md`: estado del proyecto
|
|
282
|
+
|
|
283
|
+
## Documentación relacionada
|
|
284
|
+
|
|
285
|
+
- `CONFIG_EXAMPLES.md`
|
|
286
|
+
- `DEPENDENCIES.md`
|
|
287
|
+
- `STATUS.md`
|
|
288
|
+
- `ui/README.md`
|
|
289
|
+
- `RELEASE_CHECKLIST.md`
|
|
290
|
+
- `RELEASE_NOTES_1.0.0.md`
|
|
291
|
+
|
|
292
|
+
## Legal
|
|
293
|
+
|
|
294
|
+
- `LICENSE.md`
|
|
295
|
+
- `NOTICE.md`
|
|
296
|
+
- `TRADEMARKS.md`
|
|
297
|
+
- licencia del logo en `ui/src/assets/logo-LICENSE.md`
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
# English
|
|
302
|
+
|
|
303
|
+
## What Kitowall Is
|
|
304
|
+
|
|
305
|
+
`Kitowall` is a wallpaper management stack for `Hyprland/Wayland` with two main layers:
|
|
306
|
+
- `kitowall`: CLI and automation for static wallpapers, rotation, packs, history, logs, and remote sources.
|
|
307
|
+
- `kitowall-ui`: desktop UI used to manage `Kitowall`, `Kitsune`, live wallpapers, and host bootstrap tasks.
|
|
308
|
+
|
|
309
|
+
## Main Features
|
|
310
|
+
|
|
311
|
+
### CLI / Core
|
|
312
|
+
- Wallpaper rotation.
|
|
313
|
+
- Per-monitor wallpapers.
|
|
314
|
+
- Pack-based organization.
|
|
315
|
+
- Local and remote sources:
|
|
316
|
+
- `local`
|
|
317
|
+
- `wallhaven`
|
|
318
|
+
- `unsplash`
|
|
319
|
+
- `reddit`
|
|
320
|
+
- `generic_json`
|
|
321
|
+
- `static_url`
|
|
322
|
+
- History, favorites, cache and logs.
|
|
323
|
+
- `systemd --user` integration.
|
|
324
|
+
|
|
325
|
+
### UI
|
|
326
|
+
- Desktop control panel for `Kitowall` and `Kitsune`.
|
|
327
|
+
- Host dependency installer.
|
|
328
|
+
- Live wallpaper management.
|
|
329
|
+
- Visual `Kitsune` editor with groups, layers, dynamic colors and effects.
|
|
330
|
+
|
|
331
|
+
## Requirements
|
|
332
|
+
|
|
333
|
+
Target environment:
|
|
334
|
+
- Linux
|
|
335
|
+
- `Wayland`
|
|
336
|
+
- `Hyprland`
|
|
337
|
+
- `swww`
|
|
338
|
+
|
|
339
|
+
Common dependencies depending on enabled features:
|
|
340
|
+
- `nodejs`, `npm`
|
|
341
|
+
- `rust`, `cargo` or `rustup`
|
|
342
|
+
- `pkg-config` / `pkgconf`
|
|
343
|
+
- `gtk4`
|
|
344
|
+
- `gtk4-layer-shell`
|
|
345
|
+
- `jq`
|
|
346
|
+
- `curl`
|
|
347
|
+
- `git`
|
|
348
|
+
- `cava`
|
|
349
|
+
- `hyprland`
|
|
350
|
+
- `swww`
|
|
351
|
+
|
|
352
|
+
## Default Paths
|
|
353
|
+
|
|
354
|
+
- Config: `~/.config/kitowall/config.json`
|
|
355
|
+
- Runtime state: `~/.local/state/kitowall/state.json`
|
|
356
|
+
- History: `~/.local/state/kitowall/history.json`
|
|
357
|
+
- Logs: `~/.local/state/kitowall/logs.jsonl`
|
|
358
|
+
- Wallpapers: `~/Pictures/Wallpapers/<pack>`
|
|
359
|
+
|
|
360
|
+
## Recommended Installation: AppImage
|
|
361
|
+
|
|
362
|
+
The recommended desktop distribution for the UI is the `AppImage`.
|
|
363
|
+
|
|
364
|
+
### Important
|
|
365
|
+
Do not run the AppImage with `sudo`.
|
|
366
|
+
|
|
367
|
+
Correct:
|
|
368
|
+
```bash
|
|
369
|
+
chmod +x ./Kitowall-*.AppImage
|
|
370
|
+
./Kitowall-*.AppImage --no-sandbox
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Incorrect:
|
|
374
|
+
```bash
|
|
375
|
+
sudo ./Kitowall-*.AppImage --no-sandbox
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Reason:
|
|
379
|
+
- Electron should not run as root inside your graphical session.
|
|
380
|
+
- Running the AppImage with `sudo` may break `DISPLAY`, `WAYLAND_DISPLAY`, `XDG_RUNTIME_DIR`, and the app may fail to start.
|
|
381
|
+
|
|
382
|
+
### Recommended Flow
|
|
383
|
+
1. Download the latest `AppImage` from GitHub Releases.
|
|
384
|
+
2. Make it executable.
|
|
385
|
+
3. Launch it as a normal user.
|
|
386
|
+
4. Use the dependency installer from the UI.
|
|
387
|
+
|
|
388
|
+
## Host Dependency Installation
|
|
389
|
+
|
|
390
|
+
`Kitowall` supports assisted host setup.
|
|
391
|
+
|
|
392
|
+
### How It Works Now
|
|
393
|
+
The app separates installation into two phases:
|
|
394
|
+
|
|
395
|
+
1. **Privileged phase**
|
|
396
|
+
- installs system packages
|
|
397
|
+
- runs through `pkexec`
|
|
398
|
+
- shows a graphical authentication prompt
|
|
399
|
+
- does not require opening a terminal manually
|
|
400
|
+
|
|
401
|
+
2. **User phase**
|
|
402
|
+
- installs and configures user-space binaries in `~/.local/...`
|
|
403
|
+
- initializes wrappers and config files
|
|
404
|
+
- does not run as root
|
|
405
|
+
|
|
406
|
+
### Recommendation
|
|
407
|
+
Use the UI button:
|
|
408
|
+
- `Install Dependencies`
|
|
409
|
+
|
|
410
|
+
This is the intended end-user path instead of asking users to open a terminal and run `sudo` themselves.
|
|
411
|
+
|
|
412
|
+
### Requirements for the graphical flow
|
|
413
|
+
The host should provide:
|
|
414
|
+
- `pkexec`
|
|
415
|
+
- an active `polkit` agent in the session
|
|
416
|
+
|
|
417
|
+
Without those, system package installation still requires manual intervention.
|
|
418
|
+
|
|
419
|
+
## Privileged flow validation
|
|
420
|
+
|
|
421
|
+
Before hitting “Install Dependencies”, verify your session exposes `DISPLAY`, `WAYLAND_DISPLAY`, `XDG_RUNTIME_DIR`, and `DBUS_SESSION_BUS_ADDRESS`. The backend now logs an entry like `runPrivilegedSystemBootstrap: … display=… wayland=… dbus=set|missing` to `/tmp/kitowall-kitsune-ui.log`. If `dbus=missing`, restart the graphical session so the policy kit agent starts or revisit your Wayland/X11 environment.
|
|
422
|
+
|
|
423
|
+
## Manual Bootstrap
|
|
424
|
+
|
|
425
|
+
If you want to bootstrap from terminal, use:
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
./scripts/bootstrap-host.sh
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
That handles:
|
|
432
|
+
- `kitowall` installation/config
|
|
433
|
+
- `kitsune` installation/config
|
|
434
|
+
- `kitsune-rendercore` installation/config
|
|
435
|
+
- host validation
|
|
436
|
+
|
|
437
|
+
### Note
|
|
438
|
+
The script may need privileges for system package installation. For end users, the recommended path remains the UI flow using `pkexec`.
|
|
439
|
+
|
|
440
|
+
## Initialization
|
|
441
|
+
|
|
442
|
+
After bootstrap, initialize the stack:
|
|
443
|
+
|
|
61
444
|
```bash
|
|
62
445
|
kitowall init --namespace kitowall --apply --force
|
|
63
446
|
```
|
|
64
447
|
|
|
65
|
-
##
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- Dependencies: `DEPENDENCIES.md`
|
|
69
|
-
- AppImage CI: `.github/workflows/build-appimage.yml`
|
|
448
|
+
## Kitsune Installation
|
|
449
|
+
|
|
450
|
+
If you work with `Kitsune`, the supported installation flow is:
|
|
70
451
|
|
|
71
|
-
Main commands:
|
|
72
452
|
```bash
|
|
73
|
-
|
|
74
|
-
|
|
453
|
+
kitsune install --install-packages
|
|
454
|
+
```
|
|
75
455
|
|
|
76
|
-
|
|
77
|
-
npm run package:cli
|
|
456
|
+
Or directly:
|
|
78
457
|
|
|
79
|
-
|
|
80
|
-
|
|
458
|
+
```bash
|
|
459
|
+
cd Kitsune
|
|
460
|
+
./scripts/install.sh --install-packages
|
|
461
|
+
```
|
|
81
462
|
|
|
82
|
-
|
|
463
|
+
Inside the UI, when installation with packages is requested, `Kitowall` can elevate only the system-dependency phase instead of running Electron as root.
|
|
464
|
+
|
|
465
|
+
## Quick Development
|
|
466
|
+
|
|
467
|
+
### CLI
|
|
468
|
+
```bash
|
|
469
|
+
npm install
|
|
470
|
+
npm run build
|
|
471
|
+
|
|
472
|
+
node dist/cli.js outputs
|
|
473
|
+
node dist/cli.js status
|
|
474
|
+
node dist/cli.js check --json
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### UI
|
|
478
|
+
```bash
|
|
479
|
+
cd ui
|
|
480
|
+
npm install
|
|
481
|
+
npm run electron:dev
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### Builds
|
|
485
|
+
```bash
|
|
486
|
+
npm run build
|
|
487
|
+
npm run package:cli
|
|
488
|
+
npm run package:ui
|
|
83
489
|
npm run package:all
|
|
84
490
|
```
|
|
85
491
|
|
|
86
|
-
##
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
492
|
+
## Useful Commands
|
|
493
|
+
|
|
494
|
+
### Core
|
|
495
|
+
```bash
|
|
496
|
+
kitowall outputs
|
|
497
|
+
kitowall status
|
|
498
|
+
kitowall next
|
|
499
|
+
kitowall check --json
|
|
500
|
+
kitowall mode rotate
|
|
501
|
+
kitowall rotate-now
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
### Packs and Sources
|
|
505
|
+
```bash
|
|
506
|
+
kitowall list-packs
|
|
507
|
+
kitowall pack show <name>
|
|
508
|
+
kitowall refresh-pack <name>
|
|
509
|
+
kitowall hydrate-pack <name> --count 10
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
### History and Logs
|
|
513
|
+
```bash
|
|
514
|
+
kitowall history --limit 100
|
|
515
|
+
kitowall history clear
|
|
516
|
+
kitowall logs --limit 200
|
|
517
|
+
kitowall logs clear
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
### Services
|
|
521
|
+
```bash
|
|
522
|
+
kitowall install-systemd --every 5m
|
|
523
|
+
kitowall systemd-status
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
## Live Wallpapers
|
|
527
|
+
|
|
528
|
+
`Kitowall` also includes live wallpaper and Wallpaper Engine support through both UI and CLI.
|
|
529
|
+
|
|
530
|
+
Related docs and code:
|
|
531
|
+
- `ui/README.md`
|
|
532
|
+
- `src/core/live.ts`
|
|
533
|
+
- `kitowall live ...`
|
|
534
|
+
- `kitowall we ...`
|
|
535
|
+
|
|
536
|
+
## Installation Recommendations
|
|
537
|
+
|
|
538
|
+
### For end users
|
|
539
|
+
- use the `AppImage`
|
|
540
|
+
- do not run it with `sudo`
|
|
541
|
+
- install dependencies from the UI
|
|
542
|
+
- let `pkexec` request authentication when required
|
|
543
|
+
|
|
544
|
+
### For development
|
|
545
|
+
- use the repository directly
|
|
546
|
+
- CLI from project root
|
|
547
|
+
- UI from `ui/`
|
|
548
|
+
|
|
549
|
+
### For Arch/Hyprland
|
|
550
|
+
If `bootstrap-host.sh` fails because of compression/archive libraries, repair the host and retry:
|
|
551
|
+
|
|
552
|
+
```bash
|
|
553
|
+
sudo pacman -Syu
|
|
554
|
+
sudo pacman -S --overwrite '*' zstd libarchive
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
## Relevant Structure
|
|
558
|
+
|
|
559
|
+
- `src/cli.ts`: main CLI
|
|
560
|
+
- `scripts/bootstrap-host.sh`: user/bootstrap orchestration
|
|
561
|
+
- `scripts/bootstrap-system.sh`: root helper for system packages
|
|
562
|
+
- `ui/`: Electron + Svelte desktop app
|
|
563
|
+
- `dist/`: CLI output
|
|
564
|
+
- `CONFIG_EXAMPLES.md`: config examples
|
|
565
|
+
- `DEPENDENCIES.md`: dependency reference
|
|
566
|
+
- `STATUS.md`: current project status
|
|
567
|
+
|
|
568
|
+
## Related Documentation
|
|
569
|
+
|
|
570
|
+
- `CONFIG_EXAMPLES.md`
|
|
571
|
+
- `DEPENDENCIES.md`
|
|
572
|
+
- `STATUS.md`
|
|
573
|
+
- `ui/README.md`
|
|
574
|
+
- `RELEASE_CHECKLIST.md`
|
|
575
|
+
- `RELEASE_NOTES_1.0.0.md`
|
|
90
576
|
|
|
91
577
|
## Legal
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
578
|
+
|
|
579
|
+
- `LICENSE.md`
|
|
580
|
+
- `NOTICE.md`
|
|
581
|
+
- `TRADEMARKS.md`
|
|
582
|
+
- logo license at `ui/src/assets/logo-LICENSE.md`
|