aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokan2018-02-13 15:43:15 +0000
committerokan2018-02-13 15:43:15 +0000
commit84cef003d00150daf0bed9bc2938e0ded629fd26 (patch)
treeb1cda0cad249b335a680d79f90dfa65994817871
parent20e112a60fd194d1dd6bb84361cb4eb96f13902c (diff)
downloadcwm-84cef003d00150daf0bed9bc2938e0ded629fd26.tar.gz
Store the screen's visual type and colormap.
Diffstat (limited to '')
-rw-r--r--calmwm.h4
-rw-r--r--conf.c15
-rw-r--r--screen.c4
3 files changed, 13 insertions, 10 deletions
diff --git a/calmwm.h b/calmwm.h
index 8631232..1ce4d96 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: calmwm.h,v 1.359 2018/02/13 15:06:22 okan Exp $
+ * $OpenBSD: calmwm.h,v 1.360 2018/02/13 15:43:15 okan Exp $
*/
#ifndef _CALMWM_H_
@@ -223,6 +223,8 @@ struct screen_ctx {
struct region_q regionq;
struct group_q groupq;
struct group_ctx *group_active;
+ Colormap colormap;
+ Visual *visual;
struct {
Window win;
XftDraw *xftdraw;
diff --git a/conf.c b/conf.c
index 138f096..a2e4694 100644
--- a/conf.c
+++ b/conf.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: conf.c,v 1.240 2018/02/09 19:54:54 okan Exp $
+ * $OpenBSD: conf.c,v 1.241 2018/02/13 15:43:15 okan Exp $
*/
#include <sys/types.h>
@@ -451,8 +451,6 @@ conf_screen(struct screen_ctx *sc)
{
unsigned int i;
XftColor xc;
- Colormap colormap = DefaultColormap(X_Dpy, sc->which);
- Visual *visual = DefaultVisual(X_Dpy, sc->which);
sc->gap = Conf.gap;
sc->snapdist = Conf.snapdist;
@@ -469,18 +467,18 @@ conf_screen(struct screen_ctx *sc)
xu_xorcolor(sc->xftcolor[CWM_COLOR_MENU_BG],
sc->xftcolor[CWM_COLOR_MENU_FG], &xc);
xu_xorcolor(sc->xftcolor[CWM_COLOR_MENU_FONT], xc, &xc);
- if (!XftColorAllocValue(X_Dpy, visual, colormap,
+ if (!XftColorAllocValue(X_Dpy, sc->visual, sc->colormap,
&xc.color, &sc->xftcolor[CWM_COLOR_MENU_FONT_SEL]))
warnx("XftColorAllocValue: %s", Conf.color[i]);
break;
}
- if (XftColorAllocName(X_Dpy, visual, colormap,
+ if (XftColorAllocName(X_Dpy, sc->visual, sc->colormap,
Conf.color[i], &xc)) {
sc->xftcolor[i] = xc;
- XftColorFree(X_Dpy, visual, colormap, &xc);
+ XftColorFree(X_Dpy, sc->visual, sc->colormap, &xc);
} else {
warnx("XftColorAllocName: %s", Conf.color[i]);
- XftColorAllocName(X_Dpy, visual, colormap,
+ XftColorAllocName(X_Dpy, sc->visual, sc->colormap,
color_binds[i], &sc->xftcolor[i]);
}
}
@@ -490,7 +488,8 @@ conf_screen(struct screen_ctx *sc)
sc->xftcolor[CWM_COLOR_MENU_FG].pixel,
sc->xftcolor[CWM_COLOR_MENU_BG].pixel);
- sc->menu.xftdraw = XftDrawCreate(X_Dpy, sc->menu.win, visual, colormap);
+ sc->menu.xftdraw = XftDrawCreate(X_Dpy, sc->menu.win,
+ sc->visual, sc->colormap);
if (sc->menu.xftdraw == NULL)
errx(1, "%s: XftDrawCreate", __func__);
diff --git a/screen.c b/screen.c
index 4cde1df..59249e6 100644
--- a/screen.c
+++ b/screen.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: screen.c,v 1.87 2018/02/13 15:06:22 okan Exp $
+ * $OpenBSD: screen.c,v 1.88 2018/02/13 15:43:16 okan Exp $
*/
#include <sys/types.h>
@@ -50,6 +50,8 @@ screen_init(int which)
sc->which = which;
sc->rootwin = RootWindow(X_Dpy, sc->which);
+ sc->colormap = DefaultColormap(X_Dpy, sc->which);
+ sc->visual = DefaultVisual(X_Dpy, sc->which);
sc->cycling = 0;
sc->hideall = 0;