aboutsummaryrefslogtreecommitdiffstats
path: root/screen.c
diff options
context:
space:
mode:
authorokan2012-07-13 14:18:04 +0000
committerokan2012-07-13 14:18:04 +0000
commit5e6e2b31dc906e221316757e7b05b680209148b1 (patch)
treeedb30032542e5857e5e9a0bc63441c511f20d838 /screen.c
parentcf351fd4cb380c7dd8a4f4ae6738bdce0b804190 (diff)
downloadcwm-5e6e2b31dc906e221316757e7b05b680209148b1.tar.gz
introduce screen "view" area and "work" area (gap applied) to simplify
various blocks that require understanding the screen geometry.
Diffstat (limited to '')
-rw-r--r--screen.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/screen.c b/screen.c
index def241d..28778b1 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.31 2012/07/06 14:18:00 okan Exp $
+ * $OpenBSD: screen.c,v 1.32 2012/07/13 14:18:04 okan Exp $
*/
#include <sys/param.h>
@@ -120,6 +120,16 @@ screen_update_geometry(struct screen_ctx *sc)
sc->xmax = DisplayWidth(X_Dpy, sc->which);
sc->ymax = DisplayHeight(X_Dpy, sc->which);
+ sc->view.x = 0;
+ sc->view.y = 0;
+ sc->view.w = DisplayWidth(X_Dpy, sc->which);
+ sc->view.h = DisplayHeight(X_Dpy, sc->which);
+
+ sc->work.x = sc->view.x + sc->gap.left;
+ sc->work.y = sc->view.y + sc->gap.top;
+ sc->work.w = sc->view.w - (sc->gap.left + sc->gap.right);
+ sc->work.h = sc->view.h - (sc->gap.top + sc->gap.bottom);
+
screen_init_xinerama(sc);
xu_ewmh_net_desktop_geometry(sc);