README: amane run works now; tools: anim counts 20-500 ms gaps
- README install: the desktop's amane CLI saves ~/.cache/amane/amane-shell, so amane compile + amane run is the way to start the shell - amane-remote.sh anim: with one window per monitor, gaps of 500 ms and more are other islands resting, not stutter
This commit is contained in:
@@ -59,14 +59,14 @@ On the desktop that runs the shell:
|
|||||||
|
|
||||||
## Install and run
|
## Install and run
|
||||||
|
|
||||||
The shell lives in `~/.config/amane/`. Copy (or clone) this repo's `src/` there, then build and start:
|
The shell lives in `~/.config/amane/`. Clone this repo there (or copy its `src/`, `matugen/` and `shell.conf`), then build and start:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
amane compile
|
amane compile
|
||||||
~/.cache/amane/project/target/debug/amane-shell
|
amane run
|
||||||
```
|
```
|
||||||
|
|
||||||
The installed CLI on the current desktop is older than the Amane docs: it doesn't save `~/.cache/amane/amane-shell`, so `amane run` has nothing to start. Run the binary above directly.
|
`amane compile` saves the shell as `~/.cache/amane/amane-shell`, which `amane run` starts.
|
||||||
|
|
||||||
## Control it
|
## Control it
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
# start | stop run / stop the compiled shell, with AMANE_FRAMES=1 logging
|
# start | stop run / stop the compiled shell, with AMANE_FRAMES=1 logging
|
||||||
# log [N] last N lines of the shell's log (default 30)
|
# log [N] last N lines of the shell's log (default 30)
|
||||||
# fps [SECONDS] frames drawn over SECONDS (default 3), with average gap and gpu wait
|
# fps [SECONDS] frames drawn over SECONDS (default 3), with average gap and gpu wait
|
||||||
# anim HANDLER 3x `amane ipc call HANDLER open|close`: frames, gaps over 20 ms, every gap
|
# anim HANDLER 3x `amane ipc call HANDLER open|close`: frames, gaps of 20-500 ms (stutter; longer
|
||||||
|
# gaps are other windows resting), every gap
|
||||||
# ipc ARGS... amane ipc call ARGS...
|
# ipc ARGS... amane ipc call ARGS...
|
||||||
# shot NAMESPACE FILE [PAD] screenshot the layer window with that namespace (Hyprland) into local FILE
|
# shot NAMESPACE FILE [PAD] screenshot the layer window with that namespace (Hyprland) into local FILE
|
||||||
# players start N | stop run N fake MPRIS players (fake_mpris.py, next to this script)
|
# players start N | stop run N fake MPRIS players (fake_mpris.py, next to this script)
|
||||||
@@ -81,7 +82,7 @@ anim)
|
|||||||
a=\$(wc -l < shell.log); amane ipc call $handler \$action > /dev/null; sleep 1
|
a=\$(wc -l < shell.log); amane ipc call $handler \$action > /dev/null; sleep 1
|
||||||
tail -n +\$((a + 1)) shell.log | grep '^frame' | awk -v act=\$action '
|
tail -n +\$((a + 1)) shell.log | grep '^frame' | awk -v act=\$action '
|
||||||
{gap[n++]=\$5; gpu+=\$11}
|
{gap[n++]=\$5; gpu+=\$11}
|
||||||
END {slow=0; for (i=1;i<n;i++) if (gap[i]>20) slow++;
|
END {slow=0; for (i=1;i<n;i++) if (gap[i]>20 && gap[i]<500) slow++;
|
||||||
printf \"%-5s frames %2d over 20 ms %2d gpu wait %5.2f ms gaps:\", act, n, slow, gpu/n;
|
printf \"%-5s frames %2d over 20 ms %2d gpu wait %5.2f ms gaps:\", act, n, slow, gpu/n;
|
||||||
for (i=1;i<n && i<26;i++) printf \" %.0f\", gap[i]; print \"\"}'
|
for (i=1;i<n && i<26;i++) printf \" %.0f\", gap[i]; print \"\"}'
|
||||||
done; done"
|
done; done"
|
||||||
|
|||||||
Reference in New Issue
Block a user