# SPDX-FileCopyrightText: ☭ 2022 Emery Hemingway # SPDX-License-Identifier: Unlicense import std/[asyncdispatch, os] from std/sequtils import map import syndicate, syndicate/capabilities import ./protocol proc unixSocketPath: string = result = getEnv("SYNDICATE_SOCK") if result == "": result = getEnv("XDG_RUNTIME_DIR", "/run/user/1000") / "dataspace" proc mintCap: SturdyRef = var key: array[16, byte] mint(key, "syndicate") bootDataspace("main") do (root: Ref; turn: var Turn): connectUnix(turn, unixSocketPath(), mintCap()) do (turn: var Turn; ds: Ref): var uris = commandLineParams().map do (param: string) -> string: if fileExists param: "file://" & absolutePath(param) else: param message(turn, ds, XdgOpen(uris: uris)) for i in 0..7: poll(20) # A hack to exit