Replacement for xdg-open that uses Syndicate for messaging (Embrace, Extend, Extinguish).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Emery Hemingway f94473d4a6 Send arbitrary messages to arbitrary entities 3 months ago
src Send arbitrary messages to arbitrary entities 3 months ago
.gitignore Initial commit 7 months ago
README.md Send arbitrary messages to arbitrary entities 3 months ago
protocol.prs Send arbitrary messages to arbitrary entities 3 months ago
uri_runner.pr Send arbitrary messages to arbitrary entities 3 months ago
xdg_open_ng.nimble Send arbitrary messages to arbitrary entities 3 months ago

README.md

xdg-open-ng

An xdg-open replacement that uses Syndicate and PCRE pattern matching to open URIs.

There are two utilites, xdg-open and uri_runner. The former connects to a shared Syndicate dataspace via a UNIX socket at $SYNDICATE_SOCK otherwise $XDG_RUNTIME_DIR/dataspace and has no other configuration. The uri_runner component is intended to be managed by the Syndicate server thru which it receives configuration, see uri_runner.pr as an example.

Matching patterns to actions is done with action-handler records:

<action-handler "foo://(.*):(.*)" $entity <krempel ["--host=$1" "--port=$2"]> >

In the preceding example the URI foo://bar:42 would cause the message <krempel ["--host=bar" "--port=42"]> to be sent to $entity.

The protocol.nim file is generated from the protocol.prs schema, a Tupfile file is provided to do this.