mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
introduce screen "view" area and "work" area (gap applied) to simplify
various blocks that require understanding the screen geometry.
This commit is contained in:
parent
2450e309ea
commit
cc08aef0df
9
calmwm.h
9
calmwm.h
@ -96,6 +96,13 @@ struct color {
|
||||
unsigned long pixel;
|
||||
};
|
||||
|
||||
struct geom {
|
||||
int x;
|
||||
int y;
|
||||
int w;
|
||||
int h;
|
||||
};
|
||||
|
||||
struct gap {
|
||||
int top;
|
||||
int bottom;
|
||||
@ -206,6 +213,8 @@ struct screen_ctx {
|
||||
int cycling;
|
||||
int xmax;
|
||||
int ymax;
|
||||
struct geom view; /* viewable area */
|
||||
struct geom work; /* workable area, gap-applied */
|
||||
struct gap gap;
|
||||
struct cycle_entry_q mruq;
|
||||
XftColor xftcolor;
|
||||
|
10
screen.c
10
screen.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user