better behavior with root pixmap atoms. create them if they do not exist.
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
6 deletions(-)
jump to
M
util/bsetroot.cc
→
util/bsetroot.cc
@@ -108,7 +108,7 @@ usage(2);
} img_ctrl = new BImageControl*[numberOfScreens()]; - for (unsigned int s = 0; s < numberOfScreens(); ++s) + for (unsigned int s = 0, n = numberOfScreens(); s < n; ++s) img_ctrl[s] = new BImageControl(*this, *getScreenInfo(s), true); if (sol && fore) solid();@@ -141,8 +141,8 @@ int emode = PropModeAppend;
const ScreenInfo *screen_info = getScreenInfo(screen); if (rootpmap_id == None) { - rootpmap_id = XInternAtom(getXDisplay(), "_XROOTPMAP_ID", True); - esetroot_id = XInternAtom(getXDisplay(), "ESETROOT_PMAP_ID", True); + rootpmap_id = XInternAtom(getXDisplay(), "_XROOTPMAP_ID", False); + esetroot_id = XInternAtom(getXDisplay(), "ESETROOT_PMAP_ID", False); } XGrabServer(getXDisplay());@@ -201,7 +201,7 @@ }
void bsetroot::solid(void) { - for (unsigned int screen = 0; screen < numberOfScreens(); screen++) { + for (unsigned int screen = 0, n = numberOfScreens(); screen < n; screen++) { BColor c; img_ctrl[screen]->parseColor(&c, fore);@@ -234,8 +234,9 @@ char data[32];
long pattern; unsigned int screen, i; + unsigned int n = numberOfScreens(); - for (pattern = 0, screen = 0; screen < numberOfScreens(); screen++) { + for (pattern = 0, screen = 0; screen < n; screen++) { for (i = 0; i < 16; i++) { pattern <<= 1; if ((i % x) == 0)@@ -300,7 +301,7 @@ }
void bsetroot::gradient(void) { - for (unsigned int screen = 0; screen < numberOfScreens(); screen++) { + for (unsigned int screen = 0, n = numberOfScreens(); screen < n; screen++) { BTexture texture; img_ctrl[screen]->parseTexture(&texture, grad); img_ctrl[screen]->parseColor(texture.getColor(), fore);