aboutsummaryrefslogtreecommitdiffstats
path: root/sway/main.c
diff options
context:
space:
mode:
authorLibravatar S. Christoffer Eliesen <christoffer@eliesen.no>2015-11-13 17:53:46 +0100
committerLibravatar S. Christoffer Eliesen <christoffer@eliesen.no>2015-11-13 18:18:52 +0100
commitf64b7e71d4ad23c6aca2038cacd196ce94493748 (patch)
tree9fafb4aeeac5b792372a4b964c5bdac8de561f6a /sway/main.c
parentNew screenshot for README (diff)
downloadsway-f64b7e71d4ad23c6aca2038cacd196ce94493748.tar.gz
sway-f64b7e71d4ad23c6aca2038cacd196ce94493748.tar.zst
sway-f64b7e71d4ad23c6aca2038cacd196ce94493748.zip
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) {
107 verbose = 1; 107 verbose = 1;
108 break; 108 break;
109 case 'p': ; // --get-socketpath 109 case 'p': ; // --get-socketpath
110 struct sockaddr_un *ipc_sockaddr = ipc_user_sockaddr(); 110 if (getenv("SWAYSOCK")) {
111 fprintf(stdout, "%s\n", ipc_sockaddr->sun_path); 111 fprintf(stdout, "%s\n", getenv("SWAYSOCK"));
112 free(ipc_sockaddr); 112 exit(0);
113 exit(0); 113 } else {
114 fprintf(stderr, "sway socket not detected.\n");
115 exit(1);
116 }
114 break; 117 break;
115 } 118 }
116 } 119 }