1
그래서 다음 코드를 가지고 있습니다. 어쨌든 컨텍스트를 너무 많이/조금 추가했는지는 알 수 없습니다.이상한 엉덩이 XLib 버그; XDrawString은 잠자기 후에 만 작동합니다.
Window root = XCreateWindow(proc->display,
RootWindow(proc->display, screen),
0, 0, width + 500, height + 500, 0,
CopyFromParent, InputOutput,
CopyFromParent, CWEventMask, &attr);
XSetWindowBackground(proc->display, root, WhitePixel(proc->display, screen));
XFlush(proc->display);
XMapWindow(proc->display, root);
Window avaliableDevices = XCreateSimpleWindow(proc->display, root, 10, 50,
220, 650, 5, BlackPixel(proc->display, screen),
WhitePixel(proc->display, screen));
XFlush(proc->display);
XMapWindow(proc->display, avaliableDevices);
sleep(1);
XDrawString(proc->display, root, DefaultGC(proc->display, DefaultScreen(proc->display))
, 20, 20, "hello", strlen("hello"));
Window networkedDevices = XCreateSimpleWindow(proc->display, root, /* display, parent */
900, 50, /* x, y: the window manager will place the window elsewhere */
220, 650, /* width, height */
5, BlackPixel(proc->display, screen), /* border width & colour, unless you have a window manager */
WhitePixel(proc->display, screen)); /* background colour */
XDrawString(proc->display, root, DefaultGC(proc->display, DefaultScreen(proc->display))
, 920, 40, "NETWORKED DEVICES", strlen("NETWORKED DEVICES"));
내가 겪고있는 문제는 잠자기 (1)이 없으면 문자열이 화면에 그려지지 않을 것이고, 왜 어떤 아이디어로 혼란 스럽습니까?
내가 호출 처음이 잠을 필요로하지만 두 번째 시간은 괜찮 :/