Set the I3_SOCKET_PATH atom to the expanded path.
This commit is contained in:
parent
99ce340fea
commit
6d8784af98
|
@ -22,6 +22,8 @@
|
||||||
|
|
||||||
#include "i3/ipc.h"
|
#include "i3/ipc.h"
|
||||||
|
|
||||||
|
extern char *current_socketpath;
|
||||||
|
|
||||||
typedef struct ipc_client {
|
typedef struct ipc_client {
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
|
|
||||||
#include "all.h"
|
#include "all.h"
|
||||||
|
|
||||||
|
char *current_socketpath = NULL;
|
||||||
|
|
||||||
/* Shorter names for all those yajl_gen_* functions */
|
/* Shorter names for all those yajl_gen_* functions */
|
||||||
#define y(x, ...) yajl_gen_ ## x (gen, ##__VA_ARGS__)
|
#define y(x, ...) yajl_gen_ ## x (gen, ##__VA_ARGS__)
|
||||||
#define ystr(str) yajl_gen_string(gen, (unsigned char*)str, strlen(str))
|
#define ystr(str) yajl_gen_string(gen, (unsigned char*)str, strlen(str))
|
||||||
|
@ -626,6 +628,9 @@ void ipc_new_client(EV_P_ struct ev_io *w, int revents) {
|
||||||
int ipc_create_socket(const char *filename) {
|
int ipc_create_socket(const char *filename) {
|
||||||
int sockfd;
|
int sockfd;
|
||||||
|
|
||||||
|
FREE(current_socketpath);
|
||||||
|
current_socketpath = NULL;
|
||||||
|
|
||||||
char *resolved = resolve_tilde(filename);
|
char *resolved = resolve_tilde(filename);
|
||||||
DLOG("Creating IPC-socket at %s\n", resolved);
|
DLOG("Creating IPC-socket at %s\n", resolved);
|
||||||
char *copy = sstrdup(resolved);
|
char *copy = sstrdup(resolved);
|
||||||
|
@ -655,13 +660,14 @@ int ipc_create_socket(const char *filename) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(resolved);
|
|
||||||
set_nonblock(sockfd);
|
set_nonblock(sockfd);
|
||||||
|
|
||||||
if (listen(sockfd, 5) < 0) {
|
if (listen(sockfd, 5) < 0) {
|
||||||
perror("listen()");
|
perror("listen()");
|
||||||
|
free(resolved);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
current_socketpath = resolved;
|
||||||
return sockfd;
|
return sockfd;
|
||||||
}
|
}
|
||||||
|
|
|
@ -350,9 +350,6 @@ int main(int argc, char *argv[]) {
|
||||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A__NET_SUPPORTING_WM_CHECK, A_WINDOW, 32, 1, &root);
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A__NET_SUPPORTING_WM_CHECK, A_WINDOW, 32, 1, &root);
|
||||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A__NET_WM_NAME, A_UTF8_STRING, 8, strlen("i3"), "i3");
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A__NET_WM_NAME, A_UTF8_STRING, 8, strlen("i3"), "i3");
|
||||||
|
|
||||||
/* Set up i3 specific atoms like I3_SOCKET_PATH and I3_CONFIG_PATH */
|
|
||||||
x_set_i3_atoms();
|
|
||||||
|
|
||||||
keysyms = xcb_key_symbols_alloc(conn);
|
keysyms = xcb_key_symbols_alloc(conn);
|
||||||
|
|
||||||
xcb_get_numlock_mask(conn);
|
xcb_get_numlock_mask(conn);
|
||||||
|
@ -396,6 +393,9 @@ int main(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set up i3 specific atoms like I3_SOCKET_PATH and I3_CONFIG_PATH */
|
||||||
|
x_set_i3_atoms();
|
||||||
|
|
||||||
struct ev_io *xcb_watcher = scalloc(sizeof(struct ev_io));
|
struct ev_io *xcb_watcher = scalloc(sizeof(struct ev_io));
|
||||||
struct ev_io *xkb = scalloc(sizeof(struct ev_io));
|
struct ev_io *xkb = scalloc(sizeof(struct ev_io));
|
||||||
struct ev_check *xcb_check = scalloc(sizeof(struct ev_check));
|
struct ev_check *xcb_check = scalloc(sizeof(struct ev_check));
|
||||||
|
|
4
src/x.c
4
src/x.c
|
@ -783,8 +783,8 @@ void x_set_name(Con *con, const char *name) {
|
||||||
*/
|
*/
|
||||||
void x_set_i3_atoms() {
|
void x_set_i3_atoms() {
|
||||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_SOCKET_PATH, A_UTF8_STRING, 8,
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_SOCKET_PATH, A_UTF8_STRING, 8,
|
||||||
(config.ipc_socket_path != NULL ? strlen(config.ipc_socket_path) : 0),
|
(current_socketpath == NULL ? 0 : strlen(current_socketpath)),
|
||||||
config.ipc_socket_path);
|
current_socketpath);
|
||||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_CONFIG_PATH, A_UTF8_STRING, 8,
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_CONFIG_PATH, A_UTF8_STRING, 8,
|
||||||
strlen(current_configpath), current_configpath);
|
strlen(current_configpath), current_configpath);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue