Anonymous
Окно X11 глючит
Сообщение
Anonymous » 15 дек 2025, 02:26
Следующий сценарий и настройки вокруг него ТОЧНО скопированы из подсистемы Windows для Linux (WSL) моего старого компьютера в WSL моего нового компьютера, но на новом компьютере он создает только окно на панели задач, и даже там он отображается с окном по умолчанию из окон, как показано здесь:
Вот мой код:
Код: Выделить всё
#include
#include
#include
#include
#include
int
main(int argc, char** args)
{
int width = 800;
int height = 600;
Display* display = XOpenDisplay(0);
if(!display) {
printf("No display available\n");
exit(1);
}
Window root = DefaultRootWindow(display);
int defaultScreen = DefaultScreen(display);
int screenBitDepth = 24;
XVisualInfo visinfo = {};
if(!XMatchVisualInfo(display, defaultScreen, screenBitDepth, TrueColor, &visinfo)) {
printf("No matching visual info\n");
exit(1);
}
XSetWindowAttributes windowAttr;
windowAttr.background_pixel = 0;
windowAttr.colormap = XCreateColormap(display, root,
visinfo.visual, AllocNone);
unsigned long attributeMask = CWBackPixel | CWColormap;
Window window = XCreateWindow(display, root,
0, 0,
width, height, 0,
visinfo.depth, InputOutput,
visinfo.visual, attributeMask, &windowAttr);
if(!window) {
printf("Window wasn't created properly\n");
exit(1);
}
XStoreName(display, window, "Hello, World!");
XMapWindow(display, window);
XFlush(display);
while(true)
{
}
return 0;
}
Почему не появляется просто белое окно, как на моей старой машине?
Может ли это быть код, или это проблема библиотеки, или даже неисправный пакет?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... eing-buggy
1765754816
Anonymous
Следующий сценарий и настройки вокруг него ТОЧНО скопированы из подсистемы Windows для Linux (WSL) моего старого компьютера в WSL моего нового компьютера, но на новом компьютере он создает только окно на панели задач, и даже там он отображается с окном по умолчанию из окон, как показано здесь: [img]https://i.sstatic.net/fJuhDP6t.png[/img] Вот мой код: [code]#include #include #include #include #include int main(int argc, char** args) { int width = 800; int height = 600; Display* display = XOpenDisplay(0); if(!display) { printf("No display available\n"); exit(1); } Window root = DefaultRootWindow(display); int defaultScreen = DefaultScreen(display); int screenBitDepth = 24; XVisualInfo visinfo = {}; if(!XMatchVisualInfo(display, defaultScreen, screenBitDepth, TrueColor, &visinfo)) { printf("No matching visual info\n"); exit(1); } XSetWindowAttributes windowAttr; windowAttr.background_pixel = 0; windowAttr.colormap = XCreateColormap(display, root, visinfo.visual, AllocNone); unsigned long attributeMask = CWBackPixel | CWColormap; Window window = XCreateWindow(display, root, 0, 0, width, height, 0, visinfo.depth, InputOutput, visinfo.visual, attributeMask, &windowAttr); if(!window) { printf("Window wasn't created properly\n"); exit(1); } XStoreName(display, window, "Hello, World!"); XMapWindow(display, window); XFlush(display); while(true) { } return 0; } [/code] Почему не появляется просто белое окно, как на моей старой машине? Может ли это быть код, или это проблема библиотеки, или даже неисправный пакет? Подробнее здесь: [url]https://stackoverflow.com/questions/79847136/x11-window-being-buggy[/url]