mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
footclient: fallback logic when socket paths don't exist
Even if WAYLAND_DISPLAY / XDG_RUNTIME_DIR are defined, if we can't find the corresponding socket, we fallback to the path used when they are not defined.
This commit is contained in:
parent
c3b119ea81
commit
c12db68363
2 changed files with 14 additions and 6 deletions
15
client.c
15
client.c
|
|
@ -374,16 +374,19 @@ main(int argc, char *const *argv)
|
|||
const char *xdg_runtime = getenv("XDG_RUNTIME_DIR");
|
||||
if (xdg_runtime != NULL) {
|
||||
const char *wayland_display = getenv("WAYLAND_DISPLAY");
|
||||
if (wayland_display != NULL)
|
||||
if (wayland_display != NULL) {
|
||||
snprintf(addr.sun_path, sizeof(addr.sun_path),
|
||||
"%s/foot-%s.sock", xdg_runtime, wayland_display);
|
||||
else
|
||||
connected = (connect(fd, (const struct sockaddr *)&addr, sizeof(addr)) == 0);
|
||||
}
|
||||
if (!connected) {
|
||||
LOG_WARN("%s: failed to connect, will now try %s/foot.sock",
|
||||
addr.sun_path, xdg_runtime);
|
||||
snprintf(addr.sun_path, sizeof(addr.sun_path),
|
||||
"%s/foot.sock", xdg_runtime);
|
||||
|
||||
if (connect(fd, (const struct sockaddr *)&addr, sizeof(addr)) == 0)
|
||||
connected = true;
|
||||
else
|
||||
connected = (connect(fd, (const struct sockaddr *)&addr, sizeof(addr)) == 0);
|
||||
}
|
||||
if (!connected)
|
||||
LOG_WARN("%s: failed to connect, will now try /tmp/foot.sock", addr.sun_path);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -146,6 +146,11 @@ terminfo entries manually, by copying *foot* and *foot-direct* to
|
|||
Used to construct the default _PATH_ for the *--server-socket*
|
||||
option, when no explicit argument is given (see above).
|
||||
|
||||
If the socket at default _PATH_ does not exist, *footclient* will
|
||||
fallback to the less specific path, with the following priority:
|
||||
*$XDG\_RUNTIME\_DIR/foot-$WAYLAND\_DISPLAY.sock*,
|
||||
*$XDG\_RUNTIME\_DIR/foot.sock*, */tmp/foot.sock*.
|
||||
|
||||
## Variables set in the child process
|
||||
|
||||
*TERM*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue