Изменить цвет фона окна Xlib с помощью C++
Это Linux. Я создал окно и хочу изменить цвет фона на зеленый. Вот как выглядит мой код:
Window xwin = XCreateSimpleWindow(dis,
DefaultRootWindow(dis),
0, 0,
500, 300,
0,
WhitePixel(dis, 0),
WhitePixel(dis, 0));
GC gc = XCreateGC(dis, xwin, 0, NULL);
XColor color;
Colormap colormap;
char green[] = "#00FF00";
colormap = DefaultColormap(dis, 0);
XParseColor(dis, colormap, green, &color);
XAllocColor(dis, colormap, &color);
XSetBackground(dis, gc, color.pixel);
XMapWindow(dis, xwin);
XFlush(dis);
Окно, которое я вижу, белое. Можно ли изменить цвет фона окна в Linux, используя X11? Спасибо!
1 ответ
Решение
Если вы просто хотите зеленый фон, последний аргумент XCreateSimpleWindow - это цвет фона, так что...
XColor color;
Colormap colormap;
char green[] = "#00FF00";
colormap = DefaultColormap(dis, 0);
XParseColor(dis, colormap, green, &color);
XAllocColor(dis, colormap, &color);
Window xwin = XCreateSimpleWindow(dis,
DefaultRootWindow(dis),
0, 0,
500, 300,
0,
WhitePixel(dis, 0),
color.pixel);
XMapWindow(dis, xwin);
XFlush(dis);