279 |
|
|
280 |
#ifdef DEBUG |
#ifdef DEBUG |
281 |
printf ("entering clientGetTopMost\n"); |
printf ("entering clientGetTopMost\n"); |
282 |
|
if (!real) |
283 |
|
printf("not getting the real top.\n"); |
284 |
|
else |
285 |
|
printf("getting the real top.\n"); |
286 |
#endif |
#endif |
287 |
|
|
288 |
XQueryTree (dpy, root, &w1, &w2, &wins, &count); |
XQueryTree (dpy, root, &w1, &w2, &wins, &count); |
371 |
switch (wc->stack_mode) |
switch (wc->stack_mode) |
372 |
{ |
{ |
373 |
case Above: |
case Above: |
374 |
if (strcmp (c->name,"MPlayer") == 0) |
if (c->above) |
375 |
sibling = clientGetTopMost (c->win_layer, 1); // get the real top |
sibling = clientGetTopMost (c->win_layer, 1); // get the real top |
376 |
else |
else |
377 |
sibling = clientGetTopMost (c->win_layer, 0); |
sibling = clientGetTopMost (c->win_layer, 0); |
452 |
XGetWMNormalHints (dpy, w, c->size, &dummy); |
XGetWMNormalHints (dpy, w, c->size, &dummy); |
453 |
XGetWindowAttributes (dpy, w, &attr); |
XGetWindowAttributes (dpy, w, &attr); |
454 |
c->window = w; |
c->window = w; |
455 |
|
if (typeAbove(c->window)) |
456 |
|
c->above = 1; |
457 |
|
else |
458 |
|
c->above = 0; |
459 |
c->x = c->old_x = attr.x; |
c->x = c->old_x = attr.x; |
460 |
c->y = c->old_y = attr.y; |
c->y = c->old_y = attr.y; |
461 |
c->width = c->old_width = attr.width; |
c->width = c->old_width = attr.width; |
898 |
} |
} |
899 |
|
|
900 |
void |
void |
901 |
|
clientToggleAbove (Client * c) |
902 |
|
{ |
903 |
|
#ifdef DEBUG |
904 |
|
printf ("entering clientToggleAbove\n"); |
905 |
|
printf ("toggling client (%#lx)\n", c->window); |
906 |
|
#endif |
907 |
|
|
908 |
|
(c->above) ? (c->above = 0) : (c->above = 1); |
909 |
|
} |
910 |
|
|
911 |
|
void |
912 |
clientToggleSticky (Client * c) |
clientToggleSticky (Client * c) |
913 |
{ |
{ |
914 |
#ifdef DEBUG |
#ifdef DEBUG |