diff --git a/xbanan/main.cpp b/xbanan/main.cpp index c818c63..a8ab231 100644 --- a/xbanan/main.cpp +++ b/xbanan/main.cpp @@ -14,10 +14,17 @@ #include #include #include -#include #include #include +#define USE_UNIX_SOCKET 1 + +#if USE_UNIX_SOCKET +#include +#else +#include +#endif + #include #include #include @@ -2561,23 +2568,37 @@ int main() return 1; } +#if USE_UNIX_SOCKET int server_sock = socket(AF_UNIX, SOCK_STREAM, 0); +#else + int server_sock = socket(AF_INET, SOCK_STREAM, 0); +#endif if (server_sock == -1) { perror("xbanan: socket"); return 1; } +#if USE_UNIX_SOCKET const sockaddr_un addr { .sun_family = AF_UNIX, .sun_path = "/tmp/.X11-unix/X69" }; +#else + const sockaddr_in addr { + .sin_family = AF_INET, + .sin_port = htons(6069), + .sin_addr = htonl(INADDR_LOOPBACK), + }; +#endif if (bind(server_sock, reinterpret_cast(&addr), sizeof(addr)) == -1) { perror("xbanan: bind"); return 1; } +#if USE_UNIX_SOCKET atexit([] { unlink("/tmp/.X11-unix/X69"); }); +#endif if (listen(server_sock, SOMAXCONN) == -1) {