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
0e20e1901a
commit
3f2059e461
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: calmwm.h,v 1.149 2012/07/06 14:18:00 okan Exp $
|
* $OpenBSD: calmwm.h,v 1.150 2012/07/13 14:18:04 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CALMWM_H_
|
#ifndef _CALMWM_H_
|
||||||
@ -96,6 +96,13 @@ struct color {
|
|||||||
unsigned long pixel;
|
unsigned long pixel;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct geom {
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
int w;
|
||||||
|
int h;
|
||||||
|
};
|
||||||
|
|
||||||
struct gap {
|
struct gap {
|
||||||
int top;
|
int top;
|
||||||
int bottom;
|
int bottom;
|
||||||
@ -206,6 +213,8 @@ struct screen_ctx {
|
|||||||
int cycling;
|
int cycling;
|
||||||
int xmax;
|
int xmax;
|
||||||
int ymax;
|
int ymax;
|
||||||
|
struct geom view; /* viewable area */
|
||||||
|
struct geom work; /* workable area, gap-applied */
|
||||||
struct gap gap;
|
struct gap gap;
|
||||||
struct cycle_entry_q mruq;
|
struct cycle_entry_q mruq;
|
||||||
XftColor xftcolor;
|
XftColor xftcolor;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* 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>
|
#include <sys/param.h>
|
||||||
@ -120,6 +120,16 @@ screen_update_geometry(struct screen_ctx *sc)
|
|||||||
sc->xmax = DisplayWidth(X_Dpy, sc->which);
|
sc->xmax = DisplayWidth(X_Dpy, sc->which);
|
||||||
sc->ymax = DisplayHeight(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);
|
screen_init_xinerama(sc);
|
||||||
|
|
||||||
xu_ewmh_net_desktop_geometry(sc);
|
xu_ewmh_net_desktop_geometry(sc);
|
||||||
|
Loading…
Reference in New Issue
Block a user