* © 2010 Axel Wagner and contributors (see also: LICENSE)
*
*/
+#include "common.h"
+
#include <stdio.h>
#include <i3/ipc.h>
#include <string.h>
#include <getopt.h>
#include <glob.h>
-#include "common.h"
-
/*
* Having verboselog(), errorlog() and debuglog() is necessary when using libi3.
*
int opt;
int option_index = 0;
char *socket_path = getenv("I3SOCK");
+ if (socket_path != NULL) {
+ socket_path = sstrdup(socket_path);
+ }
char *i3_default_sock_path = "/tmp/i3-ipc.sock";
/* Initialize the standard config to use 0 as default */
if (socket_path == NULL) {
socket_path = atom_sock_path;
+ } else {
+ free(atom_sock_path);
}
if (socket_path == NULL) {
socket_path = expand_path(i3_default_sock_path);
}
+ init_dpi();
+
init_outputs();
if (init_connection(socket_path)) {
/* Request the bar configuration. When it arrives, we fill the config array. */
i3_send_msg(I3_IPC_MESSAGE_TYPE_GET_BAR_CONFIG, config.bar_id);
}
+ free(socket_path);
/* We listen to SIGTERM/QUIT/INT and try to exit cleanly, by stopping the main loop.
* We only need those watchers on the stack, so putting them on the stack saves us