bugfix: fbsetroot needs to use 24bit visuals as well
12f44680df
introduced ARGB visuals. if fluxbox
creates 32bit visuals for the container window or the root window: does not work.
This commit is contained in:
parent
12f44680df
commit
4f4d5e25d9
1 changed files with 9 additions and 4 deletions
|
@ -54,6 +54,11 @@ using std::cerr;
|
||||||
using std::endl;
|
using std::endl;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
|
inline int getRootDepth(const FbTk::FbWindow& w) {
|
||||||
|
return (w.depth() == 32 ? 24 : w.depth());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
fbsetroot::fbsetroot(int argc, char **argv, char *dpy_name)
|
fbsetroot::fbsetroot(int argc, char **argv, char *dpy_name)
|
||||||
: FbTk::App(dpy_name), m_app_name(argv[0]) {
|
: FbTk::App(dpy_name), m_app_name(argv[0]) {
|
||||||
|
|
||||||
|
@ -213,7 +218,7 @@ void fbsetroot::solid() {
|
||||||
pixmap = new Pixmap(XCreatePixmap(display(),
|
pixmap = new Pixmap(XCreatePixmap(display(),
|
||||||
root.window(),
|
root.window(),
|
||||||
root.width(), root.height(),
|
root.width(), root.height(),
|
||||||
root.depth()));
|
getRootDepth(root)));
|
||||||
|
|
||||||
XFillRectangle(display(), *pixmap, gc.gc(), 0, 0,
|
XFillRectangle(display(), *pixmap, gc.gc(), 0, 0,
|
||||||
root.width(), root.height());
|
root.width(), root.height());
|
||||||
|
@ -262,7 +267,7 @@ void fbsetroot::modula(int x, int y) {
|
||||||
// bitmap used as tile, needs to have the same depth as background pixmap
|
// bitmap used as tile, needs to have the same depth as background pixmap
|
||||||
r_bitmap = XCreatePixmap(display(),
|
r_bitmap = XCreatePixmap(display(),
|
||||||
root.window(), 16, 16,
|
root.window(), 16, 16,
|
||||||
root.depth());
|
(root.depth() == 32 ? 24 : root.depth()));
|
||||||
|
|
||||||
FbTk::Color f(fore, screen), b(back, screen);
|
FbTk::Color f(fore, screen), b(back, screen);
|
||||||
|
|
||||||
|
@ -286,7 +291,7 @@ void fbsetroot::modula(int x, int y) {
|
||||||
pixmap = new Pixmap(XCreatePixmap(display(),
|
pixmap = new Pixmap(XCreatePixmap(display(),
|
||||||
root.window(),
|
root.window(),
|
||||||
root.width(), root.height(),
|
root.width(), root.height(),
|
||||||
root.depth()));
|
getRootDepth(root)));
|
||||||
|
|
||||||
XFillRectangle(display(), *pixmap, gc.gc(), 0, 0,
|
XFillRectangle(display(), *pixmap, gc.gc(), 0, 0,
|
||||||
root.width(), root.height());
|
root.width(), root.height());
|
||||||
|
@ -332,7 +337,7 @@ void fbsetroot::gradient() {
|
||||||
pixmap = new Pixmap(XCreatePixmap(display(),
|
pixmap = new Pixmap(XCreatePixmap(display(),
|
||||||
root.window(),
|
root.window(),
|
||||||
root.width(), root.height(),
|
root.width(), root.height(),
|
||||||
root.depth()));
|
getRootDepth(root)));
|
||||||
|
|
||||||
|
|
||||||
XCopyArea(display(), tmp, *pixmap, gc.gc(), 0, 0,
|
XCopyArea(display(), tmp, *pixmap, gc.gc(), 0, 0,
|
||||||
|
|
Loading…
Reference in a new issue