#notifications

app clin

Command completion desktop notifications

9 releases

0.3.0 Mar 25, 2021
0.2.5 Aug 17, 2017
0.2.3 Jul 27, 2017
0.1.2 Jul 18, 2017

#59 in #notification

MIT license

24KB
499 lines

clin Build Status crates.io:clin

Command completion notifications -- client & listener -- OSX & Linux

Installation

See releases for binary releases, or:

cargo install clin

Note: when compiling from source, the feature update, which toggles self_update abilities is disabled by default. Compiling with this feature requires libssl-dev on linux:

cargo install clin --features update

Usage

clin provides desktop notifications of completed commands.

# Pass a command as trailing arguments
clin -- cargo build --release

# Pass a command as a string argument
clin -c 'cargo build --release'

clin can also be used on remote machines by using ssh remote port forwarding. If you're sharing the remote machine, you should probably use a non-default port (default is 6445) to avoid any port conflicts and misdirected notifications. See --help for supported environment variables to avoid having to specify --send and --port.

# Listening for incoming notifications on 127.0.0.1:3443
clin listen --log --port 3443

# Connect to a different machine, forwarding your `clin` port
ssh -R 3443:localhost:3443 you@host

# Use the `--send` arg
clin -s -p 3443 -- ./some-build-script.sh  # -> Get a local notification!

If you happen to be on the same network as your remote machine, you can listen "publicly" and specify the listener's hostname. See --help for supported environment variables to avoid having to specify --send and --host.

# Listen publicly
clin listen --public --log

# Don't need to do any port forwarding now
clin -s --host <clever-hostname-here> -c 'cargo build --release'

Updating

Update to the latest release available: releases

clin self update

Dependencies

~6–23MB
~341K SLoC