]> git.sur5r.net Git - i3/i3/commitdiff
Use I3SOCK-environment-variable
authorAxel Wagner <mail@merovius.de>
Tue, 11 Jan 2011 03:39:48 +0000 (04:39 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 12 Jan 2011 09:15:48 +0000 (10:15 +0100)
docs/ipc
docs/userguide
i3-input/main.c
i3-msg/main.c
man/i3-input.man
man/i3-msg.man
man/i3.man
src/main.c

index 4e46bc9e44139cce41e94920a1dddf155f89de5f..1c31d061806b15c96b32f5d21409af83ac70a8f3 100644 (file)
--- a/docs/ipc
+++ b/docs/ipc
@@ -11,8 +11,12 @@ workspace bar.
 The method of choice for IPC in our case is a unix socket because it has very
 little overhead on both sides and is usually available without headaches in
 most languages. In the default configuration file, no ipc-socket path is
-specified and thus no socket is created. The standard path (which +i3-msg+ and
-+i3-input+ use) is +/tmp/i3-ipc.sock+.
+specified and thus no socket is created. Alternatively you can set the
+environment-variable +I3SOCK+. Setting a path in the configfile will override
++I3SOCK+.
+
++i3-msg+ and +i3-input+ will use +I3SOCK+ to connect to i3, unless -s is passed.
+If neither is given, they will default to +/tmp/i3-ipc.sock+.
 
 == Establishing a connection
 
index 7e2438f0ddcc2251778bba31c15f3a43ccd3ddb2..35e587af0d4e091b9d22a15fe76a9594f60c836b 100644 (file)
@@ -521,6 +521,8 @@ programs to get information from i3, such as the current workspaces
 To enable it, you have to configure a path where the unix socket will be
 stored. The default path is +/tmp/i3-ipc.sock+.
 
+You can override the default path through the environment-variable +I3SOCK+.
+
 *Examples*:
 ----------------------------
 ipc-socket /tmp/i3-ipc.sock
index 6c2b35a193f76149a5c1645a38815fae923889e0..b9b4ba81bd74ce75e4655b55b978a5a1543eb057 100644 (file)
@@ -241,7 +241,10 @@ static int handle_key_press(void *ignored, xcb_connection_t *conn, xcb_key_press
 }
 
 int main(int argc, char *argv[]) {
-        char *socket_path = "/tmp/i3-ipc.sock";
+        char *socket_path;
+        if ((socket_path = getenv("I3SOCK")) == NULL) {
+                socket_path = "/tmp/i3-ipc.sock";
+        }
         char *pattern = "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1";
         int o, option_index = 0;
 
index a2cd9e0a88558e53dee18d90669fb565845dfa0e..6a51ff557b7254f5c281f9e0b5f85102c5b164cb 100644 (file)
@@ -107,7 +107,10 @@ static void ipc_recv_message(int sockfd, uint32_t message_type,
 }
 
 int main(int argc, char *argv[]) {
-        char *socket_path = "/tmp/i3-ipc.sock";
+        char *socket_path;
+        if ((socket_path = getenv("I3SOCK")) == NULL) {
+            socket_path = "/tmp/i3-ipc.sock";
+        }
         int o, option_index = 0;
         int message_type = I3_IPC_MESSAGE_TYPE_COMMAND;
         char *payload = "";
index fee4d92e939f1955b19a5bc579d787ce4d91674a..cd85c92c622e62d0b82a50c43128e12cb57882ea 100644 (file)
@@ -23,6 +23,14 @@ mark/goto command.
 i3-input -p 'mark ' -l 1 -P 'Mark: '
 ------------------------------------------------
 
+== ENVIRONMENT
+
+=== I3SOCK
+
+If no ipc-socket is specified on the commandline, this variable is used
+to determine the path, at wich the unix domain socket is expected, on which
+to connect to i3.
+
 == SEE ALSO
 
 i3(1)
index c723bd1e840cdadbbb30455b23d3d2133739d922..116195b723445c24284f8a8edd467b943317a4f9 100644 (file)
@@ -24,6 +24,14 @@ future (staying backwards-compatible, of course).
 i3-msg "bp" # Use 1-px border for current client
 ------------------------------------------------
 
+== ENVIRONMENT
+
+=== I3SOCK
+
+If no ipc-socket is specified on the commandline, this variable is used
+to determine the path, at wich the unix domain socket is expected, on which
+to connect to i3.
+
 == SEE ALSO
 
 i3(1)
index 5877f1432f58fce6efbb9d23094daa02caada8fb..7dbe0dfaced3560b26d07160c701f5218e7600d6 100644 (file)
@@ -282,6 +282,14 @@ echo "Starting at $(date)" >> ~/.i3/logfile
 exec /usr/bin/i3 >> ~/.i3/logfile
 -------------------------------------------------------------
 
+== ENVIRONMENT
+
+=== I3SOCK
+
+If no ipc-socket is specified in the configfile, this variable is used
+to determine the path, at wich the unix domain socket is created, on which
+i3 listenes to incoming connections.
+
 == TODO
 
 There is still lot of work to do. Please check our bugtracker for up-to-date
index 64a6e3090b53c7138bfdcce54bdd7bd56066a893..9cc70b9b1c27e1f84b3e9c8615acaa04deec3430 100644 (file)
@@ -99,6 +99,8 @@ int main(int argc, char *argv[]) {
     if (!isatty(fileno(stdout)))
         setbuf(stdout, NULL);
 
+    config.ipc_socket_path = getenv("I3SOCK");
+
     start_argv = argv;
 
     while ((opt = getopt_long(argc, argv, "c:CvaL:hld:V", long_options, &option_index)) != -1) {