summaryrefslogtreecommitdiff
path: root/src/icons.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/icons.c')
-rw-r--r--src/icons.c650
1 files changed, 324 insertions, 326 deletions
diff --git a/src/icons.c b/src/icons.c
index a3a6588..308ae9f 100644
--- a/src/icons.c
+++ b/src/icons.c
@@ -39,67 +39,69 @@ in this Software without prior written authorization from The Open Group.
#include "parse.h"
#include "util.h"
-#define iconWidth(w) (Scr->IconBorderWidth * 2 + w->icon_w_width)
-#define iconHeight(w) (Scr->IconBorderWidth * 2 + w->icon_w_height)
+#define iconWidth(w) (Scr->IconBorderWidth * 2 + w->icon_w_width)
+#define iconHeight(w) (Scr->IconBorderWidth * 2 + w->icon_w_height)
-static void splitEntry ( IconEntry *ie, int grav1, int grav2, int w, int h );
-static IconEntry * FindIconEntry ( TwmWindow *tmp_win, IconRegion **irp );
-static IconEntry * prevIconEntry ( IconEntry *ie, IconRegion *ir );
-static void mergeEntries ( IconEntry *old, IconEntry *ie );
+static void splitEntry(IconEntry *ie, int grav1, int grav2, int w, int h);
+static IconEntry *FindIconEntry(TwmWindow *tmp_win, IconRegion **irp);
+static IconEntry *prevIconEntry(IconEntry *ie, IconRegion *ir);
+static void mergeEntries(IconEntry *old, IconEntry *ie);
static void
-splitEntry (IconEntry *ie, int grav1, int grav2, int w, int h)
+splitEntry(IconEntry *ie, int grav1, int grav2, int w, int h)
{
- IconEntry *new;
+ IconEntry *new;
switch (grav1) {
case D_NORTH:
case D_SOUTH:
- if (w != ie->w)
- splitEntry (ie, grav2, grav1, w, ie->h);
- if (h != ie->h) {
- new = malloc (sizeof (IconEntry));
- new->twm_win = 0;
- new->used = 0;
- new->next = ie->next;
- ie->next = new;
- new->x = ie->x;
- new->h = (ie->h - h);
- new->w = ie->w;
- ie->h = h;
- if (grav1 == D_SOUTH) {
- new->y = ie->y;
- ie->y = new->y + new->h;
- } else
- new->y = ie->y + ie->h;
- }
- break;
+ if (w != ie->w)
+ splitEntry(ie, grav2, grav1, w, ie->h);
+ if (h != ie->h) {
+ new = malloc(sizeof(IconEntry));
+ new->twm_win = 0;
+ new->used = 0;
+ new->next = ie->next;
+ ie->next = new;
+ new->x = ie->x;
+ new->h = (ie->h - h);
+ new->w = ie->w;
+ ie->h = h;
+ if (grav1 == D_SOUTH) {
+ new->y = ie->y;
+ ie->y = new->y + new->h;
+ }
+ else
+ new->y = ie->y + ie->h;
+ }
+ break;
case D_EAST:
case D_WEST:
- if (h != ie->h)
- splitEntry (ie, grav2, grav1, ie->w, h);
- if (w != ie->w) {
- new = malloc (sizeof (IconEntry));
- new->twm_win = 0;
- new->used = 0;
- new->next = ie->next;
- ie->next = new;
- new->y = ie->y;
- new->w = (ie->w - w);
- new->h = ie->h;
- ie->w = w;
- if (grav1 == D_EAST) {
- new->x = ie->x;
- ie->x = new->x + new->w;
- } else
- new->x = ie->x + ie->w;
- }
- break;
+ if (h != ie->h)
+ splitEntry(ie, grav2, grav1, ie->w, h);
+ if (w != ie->w) {
+ new = malloc(sizeof(IconEntry));
+ new->twm_win = 0;
+ new->used = 0;
+ new->next = ie->next;
+ ie->next = new;
+ new->y = ie->y;
+ new->w = (ie->w - w);
+ new->h = ie->h;
+ ie->w = w;
+ if (grav1 == D_EAST) {
+ new->x = ie->x;
+ ie->x = new->x + new->w;
+ }
+ else
+ new->x = ie->x + ie->w;
+ }
+ break;
}
}
static inline int
-roundUp (int v, int multiple)
+roundUp(int v, int multiple)
{
return ((v + multiple - 1) / multiple) * multiple;
}
@@ -107,58 +109,59 @@ roundUp (int v, int multiple)
static void
PlaceIcon(TwmWindow *tmp_win, int def_x, int def_y, int *final_x, int *final_y)
{
- IconRegion *ir;
- IconEntry *ie;
- int w = 0, h = 0;
+ IconRegion *ir;
+ IconEntry *ie;
+ int w = 0, h = 0;
ie = 0;
for (ir = Scr->FirstRegion; ir; ir = ir->next) {
- w = roundUp (iconWidth (tmp_win), ir->stepx);
- h = roundUp (iconHeight (tmp_win), ir->stepy);
- for (ie = ir->entries; ie; ie=ie->next) {
- if (ie->used)
- continue;
- if (ie->w >= w && ie->h >= h)
- break;
- }
- if (ie)
- break;
+ w = roundUp(iconWidth(tmp_win), ir->stepx);
+ h = roundUp(iconHeight(tmp_win), ir->stepy);
+ for (ie = ir->entries; ie; ie = ie->next) {
+ if (ie->used)
+ continue;
+ if (ie->w >= w && ie->h >= h)
+ break;
+ }
+ if (ie)
+ break;
}
if (ie) {
- splitEntry (ie, ir->grav1, ir->grav2, w, h);
- ie->used = 1;
- ie->twm_win = tmp_win;
- *final_x = ie->x + (ie->w - iconWidth (tmp_win)) / 2;
- *final_y = ie->y + (ie->h - iconHeight (tmp_win)) / 2;
- } else {
- *final_x = def_x;
- *final_y = def_y;
+ splitEntry(ie, ir->grav1, ir->grav2, w, h);
+ ie->used = 1;
+ ie->twm_win = tmp_win;
+ *final_x = ie->x + (ie->w - iconWidth(tmp_win)) / 2;
+ *final_y = ie->y + (ie->h - iconHeight(tmp_win)) / 2;
+ }
+ else {
+ *final_x = def_x;
+ *final_y = def_y;
}
return;
}
static IconEntry *
-FindIconEntry (TwmWindow *tmp_win, IconRegion **irp)
+FindIconEntry(TwmWindow *tmp_win, IconRegion **irp)
{
- IconRegion *ir;
- IconEntry *ie;
+ IconRegion *ir;
+ IconEntry *ie;
for (ir = Scr->FirstRegion; ir; ir = ir->next) {
- for (ie = ir->entries; ie; ie=ie->next)
- if (ie->twm_win == tmp_win) {
- if (irp)
- *irp = ir;
- return ie;
- }
+ for (ie = ir->entries; ie; ie = ie->next)
+ if (ie->twm_win == tmp_win) {
+ if (irp)
+ *irp = ir;
+ return ie;
+ }
}
return 0;
}
void
-IconUp (TwmWindow *tmp_win)
+IconUp(TwmWindow *tmp_win)
{
- int x, y;
- int defx, defy;
+ int x, y;
+ int defx, defy;
struct IconRegion *ir;
/*
@@ -167,42 +170,42 @@ IconUp (TwmWindow *tmp_win)
* icon region.
*/
if (tmp_win->wmhints && (tmp_win->wmhints->flags & IconPositionHint))
- return;
+ return;
if (tmp_win->icon_moved) {
- if (!XGetGeometry (dpy, tmp_win->icon_w, &JunkRoot, &defx, &defy,
- &JunkWidth, &JunkHeight, &JunkBW, &JunkDepth))
- return;
-
- x = defx + ((int) JunkWidth) / 2;
- y = defy + ((int) JunkHeight) / 2;
-
- for (ir = Scr->FirstRegion; ir; ir = ir->next) {
- if (x >= ir->x && x < (ir->x + ir->w) &&
- y >= ir->y && y < (ir->y + ir->h))
- break;
- }
- if (!ir) return; /* outside icon regions, leave alone */
+ if (!XGetGeometry(dpy, tmp_win->icon_w, &JunkRoot, &defx, &defy,
+ &JunkWidth, &JunkHeight, &JunkBW, &JunkDepth))
+ return;
+
+ x = defx + ((int) JunkWidth) / 2;
+ y = defy + ((int) JunkHeight) / 2;
+
+ for (ir = Scr->FirstRegion; ir; ir = ir->next) {
+ if (x >= ir->x && x < (ir->x + ir->w) &&
+ y >= ir->y && y < (ir->y + ir->h))
+ break;
+ }
+ if (!ir)
+ return; /* outside icon regions, leave alone */
}
defx = -100;
defy = -100;
PlaceIcon(tmp_win, defx, defy, &x, &y);
if (x != defx || y != defy) {
- XMoveWindow (dpy, tmp_win->icon_w, x, y);
- tmp_win->icon_moved = FALSE; /* since we've restored it */
+ XMoveWindow(dpy, tmp_win->icon_w, x, y);
+ tmp_win->icon_moved = FALSE; /* since we've restored it */
}
}
static IconEntry *
-prevIconEntry (IconEntry *ie, IconRegion *ir)
+prevIconEntry(IconEntry *ie, IconRegion *ir)
{
- IconEntry *ip;
+ IconEntry *ip;
if (ie == ir->entries)
- return 0;
- for (ip = ir->entries; ip->next != ie; ip=ip->next)
- ;
+ return 0;
+ for (ip = ir->entries; ip->next != ie; ip = ip->next);
return ip;
}
@@ -211,52 +214,53 @@ prevIconEntry (IconEntry *ie, IconRegion *ir)
* regions together
*/
static void
-mergeEntries (IconEntry *old, IconEntry *ie)
+mergeEntries(IconEntry *old, IconEntry *ie)
{
if (old->y == ie->y) {
- ie->w = old->w + ie->w;
- if (old->x < ie->x)
- ie->x = old->x;
- } else {
- ie->h = old->h + ie->h;
- if (old->y < ie->y)
- ie->y = old->y;
+ ie->w = old->w + ie->w;
+ if (old->x < ie->x)
+ ie->x = old->x;
+ }
+ else {
+ ie->h = old->h + ie->h;
+ if (old->y < ie->y)
+ ie->y = old->y;
}
}
void
-IconDown (TwmWindow *tmp_win)
+IconDown(TwmWindow *tmp_win)
{
- IconEntry *ie, *ip, *in;
- IconRegion *ir;
+ IconEntry *ie, *ip, *in;
+ IconRegion *ir;
- ie = FindIconEntry (tmp_win, &ir);
+ ie = FindIconEntry(tmp_win, &ir);
if (ie) {
- ie->twm_win = 0;
- ie->used = 0;
- ip = prevIconEntry (ie, ir);
- in = ie->next;
- for (;;) {
- if (ip && ip->used == 0 &&
- ((ip->x == ie->x && ip->w == ie->w) ||
- (ip->y == ie->y && ip->h == ie->h)))
- {
- ip->next = ie->next;
- mergeEntries (ie, ip);
- free (ie);
- ie = ip;
- ip = prevIconEntry (ip, ir);
- } else if (in && in->used == 0 &&
- ((in->x == ie->x && in->w == ie->w) ||
- (in->y == ie->y && in->h == ie->h)))
- {
- ie->next = in->next;
- mergeEntries (in, ie);
- free (in);
- in = ie->next;
- } else
- break;
- }
+ ie->twm_win = 0;
+ ie->used = 0;
+ ip = prevIconEntry(ie, ir);
+ in = ie->next;
+ for (;;) {
+ if (ip && ip->used == 0 &&
+ ((ip->x == ie->x && ip->w == ie->w) ||
+ (ip->y == ie->y && ip->h == ie->h))) {
+ ip->next = ie->next;
+ mergeEntries(ie, ip);
+ free(ie);
+ ie = ip;
+ ip = prevIconEntry(ip, ir);
+ }
+ else if (in && in->used == 0 &&
+ ((in->x == ie->x && in->w == ie->w) ||
+ (in->y == ie->y && in->h == ie->h))) {
+ ie->next = in->next;
+ mergeEntries(in, ie);
+ free(in);
+ in = ie->next;
+ }
+ else
+ break;
+ }
}
}
@@ -269,29 +273,31 @@ AddIconRegion(char *geom, int grav1, int grav2, int stepx, int stepy)
ir = malloc(sizeof(IconRegion));
ir->next = NULL;
if (Scr->LastRegion)
- Scr->LastRegion->next = ir;
+ Scr->LastRegion->next = ir;
Scr->LastRegion = ir;
if (!Scr->FirstRegion)
- Scr->FirstRegion = ir;
+ Scr->FirstRegion = ir;
ir->entries = NULL;
ir->grav1 = grav1;
ir->grav2 = grav2;
if (stepx <= 0)
- stepx = 1;
+ stepx = 1;
if (stepy <= 0)
- stepy = 1;
+ stepy = 1;
ir->stepx = stepx;
ir->stepy = stepy;
ir->x = ir->y = ir->w = ir->h = 0;
- mask = XParseGeometry(geom, &ir->x, &ir->y, (unsigned int *)&ir->w, (unsigned int *)&ir->h);
+ mask =
+ XParseGeometry(geom, &ir->x, &ir->y, (unsigned int *) &ir->w,
+ (unsigned int *) &ir->h);
if (mask & XNegative)
- ir->x += Scr->MyDisplayWidth - ir->w;
+ ir->x += Scr->MyDisplayWidth - ir->w;
if (mask & YNegative)
- ir->y += Scr->MyDisplayHeight - ir->h;
+ ir->y += Scr->MyDisplayHeight - ir->h;
ir->entries = malloc(sizeof(IconEntry));
ir->entries->next = 0;
ir->entries->x = ir->x;
@@ -304,14 +310,13 @@ AddIconRegion(char *geom, int grav1, int grav2, int stepx, int stepy)
#ifdef comment
void
-FreeIconEntries (IconRegion *ir)
+FreeIconEntries(IconRegion *ir)
{
- IconEntry *ie, *tmp;
+ IconEntry *ie, *tmp;
- for (ie = ir->entries; ie; ie=tmp)
- {
- tmp = ie->next;
- free (ie);
+ for (ie = ir->entries; ie; ie = tmp) {
+ tmp = ie->next;
+ free(ie);
}
}
@@ -320,12 +325,11 @@ FreeIconRegions(void)
{
IconRegion *ir, *tmp;
- for (ir = Scr->FirstRegion; ir != NULL;)
- {
- tmp = ir;
- FreeIconEntries (ir);
- ir = ir->next;
- free(tmp);
+ for (ir = Scr->FirstRegion; ir != NULL;) {
+ tmp = ir;
+ FreeIconEntries(ir);
+ ir = ir->next;
+ free(tmp);
}
Scr->FirstRegion = NULL;
Scr->LastRegion = NULL;
@@ -336,13 +340,12 @@ void
CreateIconWindow(TwmWindow *tmp_win, int def_x, int def_y)
{
unsigned long event_mask;
- unsigned long valuemask; /* mask for create windows */
- XSetWindowAttributes attributes; /* attributes for create windows */
- Pixmap pm = None; /* tmp pixmap variable */
+ unsigned long valuemask; /* mask for create windows */
+ XSetWindowAttributes attributes; /* attributes for create windows */
+ Pixmap pm = None; /* tmp pixmap variable */
int final_x, final_y;
int x;
-
FB(tmp_win->iconc.fore, tmp_win->iconc.back);
tmp_win->forced = FALSE;
@@ -352,41 +355,40 @@ CreateIconWindow(TwmWindow *tmp_win, int def_x, int def_y)
* set, then no matter what else is defined, the bitmap from the
* .twmrc file is used
*/
- if (Scr->ForceIcon)
- {
- char *icon_name;
- Pixmap bm;
+ if (Scr->ForceIcon) {
+ char *icon_name;
+ Pixmap bm;
- icon_name = LookInNameList(Scr->IconNames, tmp_win->full_name);
+ icon_name = LookInNameList(Scr->IconNames, tmp_win->full_name);
if (icon_name == NULL)
- icon_name = LookInList(Scr->IconNames, tmp_win->full_name,
- &tmp_win->class);
-
- bm = None;
- if (icon_name != NULL)
- {
- if ((bm = (Pixmap)LookInNameList(Scr->Icons, icon_name)) == None)
- {
- if ((bm = GetBitmap (icon_name)) != None)
- AddToList(&Scr->Icons, icon_name, (char *)bm);
- }
- }
-
- if (bm != None)
- {
- XGetGeometry(dpy, bm, &JunkRoot, &JunkX, &JunkY,
- (unsigned int *) &tmp_win->icon_width, (unsigned int *)&tmp_win->icon_height,
- &JunkBW, &JunkDepth);
-
- pm = XCreatePixmap(dpy, Scr->Root, (unsigned)tmp_win->icon_width,
- (unsigned)tmp_win->icon_height, (unsigned)Scr->d_depth);
-
- /* the copy plane works on color ! */
- XCopyPlane(dpy, bm, pm, Scr->NormalGC,
- 0,0, (unsigned)tmp_win->icon_width, (unsigned)tmp_win->icon_height, 0, 0, 1 );
-
- tmp_win->forced = TRUE;
- }
+ icon_name = LookInList(Scr->IconNames, tmp_win->full_name,
+ &tmp_win->class);
+
+ bm = None;
+ if (icon_name != NULL) {
+ if ((bm = (Pixmap) LookInNameList(Scr->Icons, icon_name)) == None) {
+ if ((bm = GetBitmap(icon_name)) != None)
+ AddToList(&Scr->Icons, icon_name, (char *) bm);
+ }
+ }
+
+ if (bm != None) {
+ XGetGeometry(dpy, bm, &JunkRoot, &JunkX, &JunkY,
+ (unsigned int *) &tmp_win->icon_width,
+ (unsigned int *) &tmp_win->icon_height, &JunkBW,
+ &JunkDepth);
+
+ pm = XCreatePixmap(dpy, Scr->Root, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height,
+ (unsigned) Scr->d_depth);
+
+ /* the copy plane works on color ! */
+ XCopyPlane(dpy, bm, pm, Scr->NormalGC,
+ 0, 0, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height, 0, 0, 1);
+
+ tmp_win->forced = TRUE;
+ }
}
/* if the pixmap is still NULL, we didn't get one from the above code,
@@ -394,189 +396,185 @@ CreateIconWindow(TwmWindow *tmp_win, int def_x, int def_y)
* was not in the Icons list, now check the WM hints for an icon
*/
if (pm == None && tmp_win->wmhints &&
- tmp_win->wmhints->flags & IconPixmapHint)
- {
-
- XGetGeometry(dpy, tmp_win->wmhints->icon_pixmap,
- &JunkRoot, &JunkX, &JunkY,
- (unsigned int *)&tmp_win->icon_width, (unsigned int *)&tmp_win->icon_height, &JunkBW, &JunkDepth);
-
- pm = XCreatePixmap(dpy, Scr->Root,
- (unsigned)tmp_win->icon_width, (unsigned)tmp_win->icon_height,
- (unsigned)Scr->d_depth);
-
- XCopyPlane(dpy, tmp_win->wmhints->icon_pixmap, pm, Scr->NormalGC,
- 0,0, (unsigned)tmp_win->icon_width, (unsigned)tmp_win->icon_height, 0, 0, 1 );
+ tmp_win->wmhints->flags & IconPixmapHint) {
+
+ XGetGeometry(dpy, tmp_win->wmhints->icon_pixmap,
+ &JunkRoot, &JunkX, &JunkY,
+ (unsigned int *) &tmp_win->icon_width,
+ (unsigned int *) &tmp_win->icon_height, &JunkBW,
+ &JunkDepth);
+
+ pm = XCreatePixmap(dpy, Scr->Root,
+ (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height,
+ (unsigned) Scr->d_depth);
+
+ XCopyPlane(dpy, tmp_win->wmhints->icon_pixmap, pm, Scr->NormalGC,
+ 0, 0, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height, 0, 0, 1);
}
/* if we still haven't got an icon, let's look in the Icon list
* if ForceIcon is not set
*/
- if (pm == None && !Scr->ForceIcon)
- {
- char *icon_name;
- Pixmap bm;
+ if (pm == None && !Scr->ForceIcon) {
+ char *icon_name;
+ Pixmap bm;
- icon_name = LookInNameList(Scr->IconNames, tmp_win->full_name);
+ icon_name = LookInNameList(Scr->IconNames, tmp_win->full_name);
if (icon_name == NULL)
- icon_name = LookInList(Scr->IconNames, tmp_win->full_name,
- &tmp_win->class);
-
- bm = None;
- if (icon_name != NULL)
- {
- if ((bm = (Pixmap)LookInNameList(Scr->Icons, icon_name)) == None)
- {
- if ((bm = GetBitmap (icon_name)) != None)
- AddToList(&Scr->Icons, icon_name, (char *)bm);
- }
- }
-
- if (bm != None)
- {
- XGetGeometry(dpy, bm, &JunkRoot, &JunkX, &JunkY,
- (unsigned int *)&tmp_win->icon_width, (unsigned int *)&tmp_win->icon_height,
- &JunkBW, &JunkDepth);
-
- pm = XCreatePixmap(dpy, Scr->Root, (unsigned)tmp_win->icon_width,
- (unsigned)tmp_win->icon_height, (unsigned)Scr->d_depth);
-
- /* the copy plane works on color ! */
- XCopyPlane(dpy, bm, pm, Scr->NormalGC,
- 0,0, (unsigned)tmp_win->icon_width, (unsigned)tmp_win->icon_height, 0, 0, 1 );
- }
+ icon_name = LookInList(Scr->IconNames, tmp_win->full_name,
+ &tmp_win->class);
+
+ bm = None;
+ if (icon_name != NULL) {
+ if ((bm = (Pixmap) LookInNameList(Scr->Icons, icon_name)) == None) {
+ if ((bm = GetBitmap(icon_name)) != None)
+ AddToList(&Scr->Icons, icon_name, (char *) bm);
+ }
+ }
+
+ if (bm != None) {
+ XGetGeometry(dpy, bm, &JunkRoot, &JunkX, &JunkY,
+ (unsigned int *) &tmp_win->icon_width,
+ (unsigned int *) &tmp_win->icon_height, &JunkBW,
+ &JunkDepth);
+
+ pm = XCreatePixmap(dpy, Scr->Root, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height,
+ (unsigned) Scr->d_depth);
+
+ /* the copy plane works on color ! */
+ XCopyPlane(dpy, bm, pm, Scr->NormalGC,
+ 0, 0, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height, 0, 0, 1);
+ }
}
/* if we still don't have an icon, assign the UnknownIcon */
- if (pm == None && Scr->UnknownPm != None)
- {
- tmp_win->icon_width = Scr->UnknownWidth;
- tmp_win->icon_height = Scr->UnknownHeight;
+ if (pm == None && Scr->UnknownPm != None) {
+ tmp_win->icon_width = Scr->UnknownWidth;
+ tmp_win->icon_height = Scr->UnknownHeight;
- pm = XCreatePixmap(dpy, Scr->Root, (unsigned)tmp_win->icon_width,
- (unsigned)tmp_win->icon_height, (unsigned)Scr->d_depth);
+ pm = XCreatePixmap(dpy, Scr->Root, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height,
+ (unsigned) Scr->d_depth);
- /* the copy plane works on color ! */
- XCopyPlane(dpy, Scr->UnknownPm, pm, Scr->NormalGC,
- 0,0, (unsigned)tmp_win->icon_width, (unsigned)tmp_win->icon_height, 0, 0, 1 );
+ /* the copy plane works on color ! */
+ XCopyPlane(dpy, Scr->UnknownPm, pm, Scr->NormalGC,
+ 0, 0, (unsigned) tmp_win->icon_width,
+ (unsigned) tmp_win->icon_height, 0, 0, 1);
}
- if (pm == None)
- {
- tmp_win->icon_height = 0;
- tmp_win->icon_width = 0;
- valuemask = 0;
+ if (pm == None) {
+ tmp_win->icon_height = 0;
+ tmp_win->icon_width = 0;
+ valuemask = 0;
}
- else
- {
- valuemask = CWBackPixmap;
- attributes.background_pixmap = pm;
+ else {
+ valuemask = CWBackPixmap;
+ attributes.background_pixmap = pm;
}
tmp_win->icon_w_width = MyFont_TextWidth(&Scr->IconFont,
- tmp_win->icon_name, (int)strlen(tmp_win->icon_name));
+ tmp_win->icon_name,
+ (int) strlen(tmp_win->icon_name));
tmp_win->icon_w_width += 6;
- if (tmp_win->icon_w_width < tmp_win->icon_width)
- {
- tmp_win->icon_x = (tmp_win->icon_width - tmp_win->icon_w_width)/2;
- tmp_win->icon_x += 3;
- tmp_win->icon_w_width = tmp_win->icon_width;
+ if (tmp_win->icon_w_width < tmp_win->icon_width) {
+ tmp_win->icon_x = (tmp_win->icon_width - tmp_win->icon_w_width) / 2;
+ tmp_win->icon_x += 3;
+ tmp_win->icon_w_width = tmp_win->icon_width;
}
- else
- {
- tmp_win->icon_x = 3;
+ else {
+ tmp_win->icon_x = 3;
}
tmp_win->icon_y = tmp_win->icon_height + Scr->IconFont.height;
tmp_win->icon_w_height = tmp_win->icon_height + Scr->IconFont.height + 4;
event_mask = 0;
- if (tmp_win->wmhints && tmp_win->wmhints->flags & IconWindowHint)
- {
- tmp_win->icon_w = tmp_win->wmhints->icon_window;
- if (tmp_win->forced ||
- XGetGeometry(dpy, tmp_win->icon_w, &JunkRoot, &JunkX, &JunkY,
- (unsigned int *)&tmp_win->icon_w_width, (unsigned int *)&tmp_win->icon_w_height,
- &JunkBW, &JunkDepth) == 0)
- {
- tmp_win->icon_w = None;
- tmp_win->wmhints->flags &= ~IconWindowHint;
- }
- else
- {
- tmp_win->icon_not_ours = TRUE;
- event_mask = EnterWindowMask | LeaveWindowMask;
- }
+ if (tmp_win->wmhints && tmp_win->wmhints->flags & IconWindowHint) {
+ tmp_win->icon_w = tmp_win->wmhints->icon_window;
+ if (tmp_win->forced ||
+ XGetGeometry(dpy, tmp_win->icon_w, &JunkRoot, &JunkX, &JunkY,
+ (unsigned int *) &tmp_win->icon_w_width,
+ (unsigned int *) &tmp_win->icon_w_height, &JunkBW,
+ &JunkDepth) == 0) {
+ tmp_win->icon_w = None;
+ tmp_win->wmhints->flags &= ~IconWindowHint;
+ }
+ else {
+ tmp_win->icon_not_ours = TRUE;
+ event_mask = EnterWindowMask | LeaveWindowMask;
+ }
}
- else
- {
- tmp_win->icon_w = None;
+ else {
+ tmp_win->icon_w = None;
}
- if (tmp_win->icon_w == None)
- {
- tmp_win->icon_w = XCreateSimpleWindow(dpy, Scr->Root,
- 0,0,
- (unsigned)tmp_win->icon_w_width, (unsigned)tmp_win->icon_w_height,
- (unsigned)Scr->IconBorderWidth, tmp_win->icon_border, tmp_win->iconc.back);
- event_mask = ExposureMask;
+ if (tmp_win->icon_w == None) {
+ tmp_win->icon_w = XCreateSimpleWindow(dpy, Scr->Root,
+ 0, 0,
+ (unsigned) tmp_win->icon_w_width,
+ (unsigned) tmp_win->icon_w_height,
+ (unsigned) Scr->IconBorderWidth,
+ tmp_win->icon_border,
+ tmp_win->iconc.back);
+ event_mask = ExposureMask;
}
- XSelectInput (dpy, tmp_win->icon_w,
- (long)(KeyPressMask | ButtonPressMask | ButtonReleaseMask |
- event_mask));
+ XSelectInput(dpy, tmp_win->icon_w,
+ (long) (KeyPressMask | ButtonPressMask | ButtonReleaseMask |
+ event_mask));
tmp_win->icon_bm_w = None;
if (pm != None &&
- (! (tmp_win->wmhints && tmp_win->wmhints->flags & IconWindowHint)))
- {
- int y;
-
- y = 0;
- if (tmp_win->icon_w_width == tmp_win->icon_width)
- x = 0;
- else
- x = (tmp_win->icon_w_width - tmp_win->icon_width)/2;
-
- tmp_win->icon_bm_w = XCreateWindow (dpy, tmp_win->icon_w, x, y,
- (unsigned int)tmp_win->icon_width,
- (unsigned int)tmp_win->icon_height,
- (unsigned int) 0, Scr->d_depth,
- (unsigned int) CopyFromParent,
- Scr->d_visual, valuemask,
- &attributes);
+ (!(tmp_win->wmhints && tmp_win->wmhints->flags & IconWindowHint))) {
+ int y;
+
+ y = 0;
+ if (tmp_win->icon_w_width == tmp_win->icon_width)
+ x = 0;
+ else
+ x = (tmp_win->icon_w_width - tmp_win->icon_width) / 2;
+
+ tmp_win->icon_bm_w = XCreateWindow(dpy, tmp_win->icon_w, x, y,
+ (unsigned int) tmp_win->icon_width,
+ (unsigned int) tmp_win->icon_height,
+ (unsigned int) 0, Scr->d_depth,
+ (unsigned int) CopyFromParent,
+ Scr->d_visual, valuemask,
+ &attributes);
}
/* I need to figure out where to put the icon window now, because
* getting here means that I am going to make the icon visible
*/
- if (tmp_win->wmhints &&
- tmp_win->wmhints->flags & IconPositionHint)
- {
- final_x = tmp_win->wmhints->icon_x;
- final_y = tmp_win->wmhints->icon_y;
+ if (tmp_win->wmhints && tmp_win->wmhints->flags & IconPositionHint) {
+ final_x = tmp_win->wmhints->icon_x;
+ final_y = tmp_win->wmhints->icon_y;
}
- else
- {
- PlaceIcon(tmp_win, def_x, def_y, &final_x, &final_y);
+ else {
+ PlaceIcon(tmp_win, def_x, def_y, &final_x, &final_y);
}
if (final_x > Scr->MyDisplayWidth)
- final_x = Scr->MyDisplayWidth - tmp_win->icon_w_width -
- (2 * Scr->IconBorderWidth);
+ final_x = Scr->MyDisplayWidth - tmp_win->icon_w_width -
+ (2 * Scr->IconBorderWidth);
if (final_y > Scr->MyDisplayHeight)
- final_y = Scr->MyDisplayHeight - tmp_win->icon_height -
- Scr->IconFont.height - 4 - (2 * Scr->IconBorderWidth);
+ final_y = Scr->MyDisplayHeight - tmp_win->icon_height -
+ Scr->IconFont.height - 4 - (2 * Scr->IconBorderWidth);
XMoveWindow(dpy, tmp_win->icon_w, final_x, final_y);
tmp_win->iconified = TRUE;
XMapSubwindows(dpy, tmp_win->icon_w);
- XSaveContext(dpy, tmp_win->icon_w, TwmContext, (XPointer)tmp_win);
- XSaveContext(dpy, tmp_win->icon_w, ScreenContext, (XPointer)Scr);
+ XSaveContext(dpy, tmp_win->icon_w, TwmContext, (XPointer) tmp_win);
+ XSaveContext(dpy, tmp_win->icon_w, ScreenContext, (XPointer) Scr);
XDefineCursor(dpy, tmp_win->icon_w, Scr->IconCursor);
- if (pm) XFreePixmap (dpy, pm);
+ if (pm)
+ XFreePixmap(dpy, pm);
return;
}