From b4a9546be0cc0aeae5b54ae3b1e081c05168b76c Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Fri, 12 Oct 2018 16:15:39 -0400 Subject: [PATCH] modified edit command to launch registrar --- .gitignore | 1 + src/edit.c | 37 +++++++++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 5763852..45e4aaf 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ pty tctl flaws.txt edit +registrar diff --git a/src/edit.c b/src/edit.c index 3381668..bdcbb17 100644 --- a/src/edit.c +++ b/src/edit.c @@ -1,14 +1,39 @@ -#include -#include -#include -#include -#include +#include #include +Atom XA_REGISTRAR, XA_OPEN; + +void start_registrar(XConf* x) { + /* launch registrar if it isn't yet running */ + if (None == XGetSelectionOwner(x.display, XA_REGISTRAR)) { + puts("launching registrart"); + if (!fork()) { + char* cmd[] = {"registrar", NULL}; + exit(execvp(cmd[0], cmd)); + } + } +} + int main(int argc, char** argv) { - return 0; + XConf x; + x11_init(&x); + x11_mkwin(&x, 1, 1, 0); + XA_REGISTRAR = XInternAtom(x.display, "TIDE_REGISTRAR", 0); + XA_OPEN = XInternAtom(x.display, "OPEN", 0); + start_registrar(&x); + /* + Loop over files and send and OPEN message for each one. + */ + return 1; } + + + + + + + #if 0 struct { Display* display; -- 2.51.0