… | |
… | |
430 | bool rxvt_display::ref_init () |
430 | bool rxvt_display::ref_init () |
431 | { |
431 | { |
432 | #ifdef LOCAL_X_IS_UNIX |
432 | #ifdef LOCAL_X_IS_UNIX |
433 | if (id[0] == ':') |
433 | if (id[0] == ':') |
434 | { |
434 | { |
435 | if (!(val = rxvt_temp_buf<char> (5 + strlen (id) + 1))) |
435 | char *val = rxvt_temp_buf<char> (5 + strlen (id) + 1); |
436 | return false; |
436 | |
437 | strcpy (val, "unix/"); |
437 | strcpy (val, "unix/"); |
438 | strcat (val, id); |
438 | strcat (val, id); |
|
|
439 | |
439 | dpy = XOpenDisplay (val); |
440 | dpy = XOpenDisplay (val); |
440 | } |
441 | } |
441 | else |
442 | else |
442 | #endif |
443 | #endif |
443 | dpy = 0; |
444 | dpy = 0; |
… | |
… | |
463 | blackcolour.blue = 0; |
464 | blackcolour.blue = 0; |
464 | Font f = XLoadFont (dpy, "fixed"); |
465 | Font f = XLoadFont (dpy, "fixed"); |
465 | blank_cursor = XCreateGlyphCursor (dpy, f, f, ' ', ' ', |
466 | blank_cursor = XCreateGlyphCursor (dpy, f, f, ' ', ' ', |
466 | &blackcolour, &blackcolour); |
467 | &blackcolour, &blackcolour); |
467 | XUnloadFont (dpy, f); |
468 | XUnloadFont (dpy, f); |
|
|
469 | #endif |
|
|
470 | |
|
|
471 | flags = 0; |
|
|
472 | #if XRENDER |
|
|
473 | int major, minor; |
|
|
474 | if (XRenderQueryVersion (dpy, &major, &minor)) |
|
|
475 | { |
|
|
476 | flags |= DISPLAY_HAS_RENDER; |
|
|
477 | |
|
|
478 | if (major > 0 || (major == 0 && minor >= 11)) |
|
|
479 | flags |= DISPLAY_HAS_RENDER_MUL; |
|
|
480 | |
|
|
481 | XFilters *filters = XRenderQueryFilters (dpy, root); |
|
|
482 | if (filters) |
|
|
483 | { |
|
|
484 | for (int i = 0; i < filters->nfilter; i++) |
|
|
485 | if (!strcmp (filters->filter[i], FilterConvolution)) |
|
|
486 | flags |= DISPLAY_HAS_RENDER_CONV; |
|
|
487 | |
|
|
488 | XFree (filters); |
|
|
489 | } |
|
|
490 | } |
468 | #endif |
491 | #endif |
469 | |
492 | |
470 | int fd = XConnectionNumber (dpy); |
493 | int fd = XConnectionNumber (dpy); |
471 | |
494 | |
472 | // try to detect whether we have a local connection. |
495 | // try to detect whether we have a local connection. |