37 if(!
Scr->FirstWindowRegion) {
38 Scr->FirstWindowRegion = wr;
45 wr->
x = wr->
y = wr->
w = wr->
h = 0;
48 (
unsigned int *) &wr->
w,
49 (
unsigned int *) &wr->
h);
52 wr->
x +=
Scr->rootw - wr->
w;
55 wr->
y +=
Scr->rooth - wr->
h;
72 for(wl =
Scr->workSpaceMgr.workSpaceList; wl !=
NULL; wl = wl->
next) {
75 for(wr =
Scr->FirstWindowRegion; wr !=
NULL; wr = wr->
next) {
114 if(!
Scr->FirstWindowRegion) {
117 for(wl =
Scr->workSpaceMgr.workSpaceList; wl !=
NULL; wl = wl->
next) {
134 if(
we->w >= w &&
we->h >= h) {
170 if(!
Scr->FirstWindowRegion) {
174 for(wl =
Scr->workSpaceMgr.workSpaceList; wl !=
NULL; wl = wl->
next) {
189 if(
wp &&
wp->used ==
false &&
190 ((
wp->x ==
we->x &&
wp->w ==
we->w) ||
191 (
wp->y ==
we->y &&
wp->h ==
we->h))) {
198 else if(
wn &&
wn->used ==
false &&
199 ((
wn->x ==
we->x &&
wn->w ==
we->w) ||
200 (
wn->y ==
we->y &&
wn->h ==
we->h))) {
230 new->next =
we->next;
233 new->h = (
we->h - h);
238 we->y =
new->y +
new->h;
241 new->y =
we->y +
we->h;
252 new->next =
we->next;
255 new->w = (
we->w - w);
260 we->x =
new->x +
new->w;
263 new->x =
we->x +
we->w;
310 if(
old->y ==
we->y) {
void * LookInList(name_list *list_head, const char *name, XClassHint *class)
Info and control for every X Window we take over.
struct WindowRegion * next
struct WindowEntry * entries
struct WindowRegion * FirstWindowRegion
static WindowEntry * prevWindowEntry(WindowEntry *we, WindowRegion *wr)
void RemoveWindowFromRegion(TwmWindow *tmp_win)
static void mergeWindowEntries(WindowEntry *old, WindowEntry *we)
static WindowEntry * findWindowEntry(WorkSpace *wl, TwmWindow *tmp_win, WindowRegion **wrp)
static void splitWindowRegionEntry(WindowEntry *we, RegGravity grav1, RegGravity grav2, int w, int h)
bool PlaceWindowInRegion(TwmWindow *tmp_win, int *final_x, int *final_y)
void CreateWindowRegions(void)
name_list ** AddWindowRegion(char *geom, RegGravity grav1, RegGravity grav2)
int RLayoutXParseGeometry(RLayout *layout, const char *geometry, int *x, int *y, unsigned int *width, unsigned int *height)
Parse an X Geometry out to get the positions and sizes.