blob: 9a2e6e052898a53bae8dd5ef4fc6d12823f6c4b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
% Quescripts
## Remote desktop notifications
Lets say we are running a job that takes a long time, maybe we are
compiling or running a large test suite. Instead of watching the
terminal until it completes, or flipping back to check on it every so
often, we can create a listener that displays a popup notification when
the job finishes.
In one terminal run the listener:
que pub/notify --then "notify-send '\que' '\msg'"
In some other terminal run the job that takes forever:
runtests ; echo "tests are done" | que pub/notify -
When terminal 2 succeeds, terminal 1 will print "tests are done", then
call the `notify-send` command, which displays a notification toast in
Linux with title "`pub/notify`" and content "`tests are done`".
Que paths are multi-producer and multi-consumer, so you can add as many
terminals as you want.
On macOS you could use:
osascript -e 'display notification "\msg" with title "\que"'
in place of notify-send.
## Ephemeral, serverless chat rooms
coming soon
## Collaborative jukebox
It's surprisingly easy to make a collaborative jukebox.
First start up a music player:
que --poll pub/music --then "playsong '\msg'"
where `playsong` is a script that plays a file from data streaming to
`stdin`. For example [vlc](https://www.videolan.org/vlc/) does this when
you run it like `vlc -`.
Then, anyone can submit songs with:
que pub/music song.mp3
|