From cb893d0aa96e0a3e86cbd1094206871b10d92cd0 Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 6 Jul 2012 14:18:00 +0000 Subject: querying for Xinerama should be done per display, not per screen, so move chuck to display init; allows some shuffling to occur limiting screen_init_xinerama()'s scope while keeping order intact. --- screen.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'screen.c') diff --git a/screen.c b/screen.c index 2285257..dd7eb0e 100644 --- a/screen.c +++ b/screen.c @@ -30,6 +30,8 @@ #include "calmwm.h" +static void screen_init_xinerama(struct screen_ctx *); + struct screen_ctx * screen_fromroot(Window rootwin) { @@ -65,6 +67,10 @@ screen_updatestackingorder(struct screen_ctx *sc) XFree(wins); } +/* + * If we're using RandR then we'll redo this whenever the screen + * changes since a CTRC may have been added or removed + */ void screen_init_xinerama(struct screen_ctx *sc) { @@ -114,6 +120,8 @@ screen_update_geometry(struct screen_ctx *sc) sc->xmax = DisplayWidth(X_Dpy, sc->which); sc->ymax = DisplayHeight(X_Dpy, sc->which); + screen_init_xinerama(sc); + xu_ewmh_net_desktop_geometry(sc); xu_ewmh_net_workarea(sc); } -- cgit 1.4.1