summaryrefslogtreecommitdiffstats
path: root/src/utils/pax11publish.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/pax11publish.c')
-rw-r--r--src/utils/pax11publish.c67
1 files changed, 33 insertions, 34 deletions
diff --git a/src/utils/pax11publish.c b/src/utils/pax11publish.c
index a9eb329f..111bee23 100644
--- a/src/utils/pax11publish.c
+++ b/src/utils/pax11publish.c
@@ -29,8 +29,7 @@
#include <assert.h>
#include <locale.h>
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
+#include <xcb/xcb.h>
#include <pulse/util.h>
#include <pulse/i18n.h>
@@ -46,7 +45,7 @@
int main(int argc, char *argv[]) {
const char *dname = NULL, *sink = NULL, *source = NULL, *server = NULL, *cookie_file = PA_NATIVE_COOKIE_FILE;
int c, ret = 1;
- Display *d = NULL;
+ xcb_connection_t *xcb = NULL;
enum { DUMP, EXPORT, IMPORT, REMOVE } mode = DUMP;
setlocale(LC_ALL, "");
@@ -96,21 +95,21 @@ int main(int argc, char *argv[]) {
}
}
- if (!(d = XOpenDisplay(dname))) {
- pa_log(_("XOpenDisplay() failed"));
+ if (!(xcb = xcb_connect(dname, NULL))) {
+ pa_log(_("xcb_connect() failed"));
goto finish;
}
switch (mode) {
case DUMP: {
char t[1024];
- if (pa_x11_get_prop(d, "PULSE_SERVER", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_SERVER", t, sizeof(t)))
printf(_("Server: %s\n"), t);
- if (pa_x11_get_prop(d, "PULSE_SOURCE", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_SOURCE", t, sizeof(t)))
printf(_("Source: %s\n"), t);
- if (pa_x11_get_prop(d, "PULSE_SINK", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_SINK", t, sizeof(t)))
printf(_("Sink: %s\n"), t);
- if (pa_x11_get_prop(d, "PULSE_COOKIE", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_COOKIE", t, sizeof(t)))
printf(_("Cookie: %s\n"), t);
break;
@@ -118,14 +117,14 @@ int main(int argc, char *argv[]) {
case IMPORT: {
char t[1024];
- if (pa_x11_get_prop(d, "PULSE_SERVER", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_SERVER", t, sizeof(t)))
printf("PULSE_SERVER='%s'\nexport PULSE_SERVER\n", t);
- if (pa_x11_get_prop(d, "PULSE_SOURCE", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_SOURCE", t, sizeof(t)))
printf("PULSE_SOURCE='%s'\nexport PULSE_SOURCE\n", t);
- if (pa_x11_get_prop(d, "PULSE_SINK", t, sizeof(t)))
+ if (pa_x11_get_prop(xcb, "PULSE_SINK", t, sizeof(t)))
printf("PULSE_SINK='%s'\nexport PULSE_SINK\n", t);
- if (pa_x11_get_prop(d, "PULSE_COOKIE", t, sizeof(t))) {
+ if (pa_x11_get_prop(xcb, "PULSE_COOKIE", t, sizeof(t))) {
uint8_t cookie[PA_NATIVE_COOKIE_LENGTH];
size_t l;
if ((l = pa_parsehex(t, cookie, sizeof(cookie))) != sizeof(cookie)) {
@@ -158,16 +157,16 @@ int main(int argc, char *argv[]) {
goto finish;
}
- pa_x11_del_prop(d, "PULSE_SERVER");
- pa_x11_del_prop(d, "PULSE_SINK");
- pa_x11_del_prop(d, "PULSE_SOURCE");
- pa_x11_del_prop(d, "PULSE_ID");
- pa_x11_del_prop(d, "PULSE_COOKIE");
+ pa_x11_del_prop(xcb, "PULSE_SERVER");
+ pa_x11_del_prop(xcb, "PULSE_SINK");
+ pa_x11_del_prop(xcb, "PULSE_SOURCE");
+ pa_x11_del_prop(xcb, "PULSE_ID");
+ pa_x11_del_prop(xcb, "PULSE_COOKIE");
if (server)
- pa_x11_set_prop(d, "PULSE_SERVER", server);
+ pa_x11_set_prop(xcb, "PULSE_SERVER", server);
else if (conf->default_server)
- pa_x11_set_prop(d, "PULSE_SERVER", conf->default_server);
+ pa_x11_set_prop(xcb, "PULSE_SERVER", conf->default_server);
else {
char hn[256];
if (!pa_get_fqdn(hn, sizeof(hn))) {
@@ -175,18 +174,18 @@ int main(int argc, char *argv[]) {
goto finish;
}
- pa_x11_set_prop(d, "PULSE_SERVER", hn);
+ pa_x11_set_prop(xcb, "PULSE_SERVER", hn);
}
if (sink)
- pa_x11_set_prop(d, "PULSE_SINK", sink);
+ pa_x11_set_prop(xcb, "PULSE_SINK", sink);
else if (conf->default_sink)
- pa_x11_set_prop(d, "PULSE_SINK", conf->default_sink);
+ pa_x11_set_prop(xcb, "PULSE_SINK", conf->default_sink);
if (source)
- pa_x11_set_prop(d, "PULSE_SOURCE", source);
+ pa_x11_set_prop(xcb, "PULSE_SOURCE", source);
if (conf->default_source)
- pa_x11_set_prop(d, "PULSE_SOURCE", conf->default_source);
+ pa_x11_set_prop(xcb, "PULSE_SOURCE", conf->default_source);
pa_client_conf_free(conf);
@@ -195,16 +194,16 @@ int main(int argc, char *argv[]) {
goto finish;
}
- pa_x11_set_prop(d, "PULSE_COOKIE", pa_hexstr(cookie, sizeof(cookie), hx, sizeof(hx)));
+ pa_x11_set_prop(xcb, "PULSE_COOKIE", pa_hexstr(cookie, sizeof(cookie), hx, sizeof(hx)));
break;
}
case REMOVE:
- pa_x11_del_prop(d, "PULSE_SERVER");
- pa_x11_del_prop(d, "PULSE_SINK");
- pa_x11_del_prop(d, "PULSE_SOURCE");
- pa_x11_del_prop(d, "PULSE_ID");
- pa_x11_del_prop(d, "PULSE_COOKIE");
+ pa_x11_del_prop(xcb, "PULSE_SERVER");
+ pa_x11_del_prop(xcb, "PULSE_SINK");
+ pa_x11_del_prop(xcb, "PULSE_SOURCE");
+ pa_x11_del_prop(xcb, "PULSE_ID");
+ pa_x11_del_prop(xcb, "PULSE_COOKIE");
break;
default:
@@ -216,9 +215,9 @@ int main(int argc, char *argv[]) {
finish:
- if (d) {
- XSync(d, False);
- XCloseDisplay(d);
+ if (xcb) {
+ xcb_flush(xcb);
+ xcb_disconnect(xcb);
}
return ret;