mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-01 01:40:13 -05:00
server/client: use $WAYLAND_DISPLAY instead of $XDG_SESSION_ID in default socket path
Foot is a Wayland client and cannot be run outside of a Wayland session. As such, it makes more sense to use $WAYLAND_SESSION instead of $XDG_SESSION_ID in the default socket path since this makes it clearer which Wayland session we belong to. Closes #55.
This commit is contained in:
parent
387e8de751
commit
5e26d3ef47
7 changed files with 26 additions and 17 deletions
13
config.c
13
config.c
|
|
@ -1188,16 +1188,19 @@ err:
|
|||
static char *
|
||||
get_server_socket_path(void)
|
||||
{
|
||||
const char *xdg_session_id = getenv("XDG_SESSION_ID");
|
||||
const char *xdg_runtime = getenv("XDG_RUNTIME_DIR");
|
||||
if (xdg_runtime == NULL)
|
||||
return strdup("/tmp/foot.sock");
|
||||
|
||||
if (xdg_session_id == NULL)
|
||||
xdg_session_id = "no-session";
|
||||
const char *wayland_display = getenv("WAYLAND_DISPLAY");
|
||||
if (wayland_display == NULL) {
|
||||
char *path = malloc(strlen(xdg_runtime) + 1 + strlen("foot.sock") + 1);
|
||||
sprintf(path, "%s/foot.sock", xdg_runtime);
|
||||
return path;
|
||||
}
|
||||
|
||||
char *path = malloc(strlen(xdg_runtime) + 1 + strlen("foot-.sock") + strlen(xdg_session_id) + 1);
|
||||
sprintf(path, "%s/foot-%s.sock", xdg_runtime, xdg_session_id);
|
||||
char *path = malloc(strlen(xdg_runtime) + 1 + strlen("foot-.sock") + strlen(wayland_display) + 1);
|
||||
sprintf(path, "%s/foot-%s.sock", xdg_runtime, wayland_display);
|
||||
return path;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue