all repos — openbox @ c1bf229290194d5768a43f68b09ff0320848dc8e

openbox fork - make it a bit more like ryudo

better behavior with root pixmap atoms. create them if they do not exist.
Dana Jansens danakj@orodu.net
commit

c1bf229290194d5768a43f68b09ff0320848dc8e

parent

52c955c4917582ecf229ec63ea4d7f0c4eede7c0

1 files changed, 7 insertions(+), 6 deletions(-)

jump to
M util/bsetroot.ccutil/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);