aboutsummaryrefslogtreecommitdiff
path: root/sway/main.c
diff options
context:
space:
mode:
authorS. Christoffer Eliesen <christoffer@eliesen.no>2015-11-13 17:53:46 +0100
committerS. Christoffer Eliesen <christoffer@eliesen.no>2015-11-13 18:18:52 +0100
commitf64b7e71d4ad23c6aca2038cacd196ce94493748 (patch)
tree9fafb4aeeac5b792372a4b964c5bdac8de561f6a /sway/main.c
parent2cc6d39d46640ea9d44711177ae73dd19708f350 (diff)
ipc: Store socketname in SWAYSOCK. Fixes `--get-socketpath`.
After adding pid to the socket path the `--get-socketpath` command broke because it doesn't know the pid of the running instance. Fix this by setting and querying `SWAYSOCK`. Also ignore `SWAYSOCK` upon normal startup if a socket exists at that location (ie. from another sway instance), and don't overwrite `I3SOCK` if it exists either.
Diffstat (limited to 'sway/main.c')
-rw-r--r--sway/main.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sway/main.c b/sway/main.c
index a4fe5823..4afbccbd 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -107,10 +107,13 @@ int main(int argc, char **argv) {
verbose = 1;
break;
case 'p': ; // --get-socketpath
- struct sockaddr_un *ipc_sockaddr = ipc_user_sockaddr();
- fprintf(stdout, "%s\n", ipc_sockaddr->sun_path);
- free(ipc_sockaddr);
- exit(0);
+ if (getenv("SWAYSOCK")) {
+ fprintf(stdout, "%s\n", getenv("SWAYSOCK"));
+ exit(0);
+ } else {
+ fprintf(stderr, "sway socket not detected.\n");
+ exit(1);
+ }
break;
}
}