added TODO to updategeom in order to implement a decent version of it soon
f0a4845e
1 file(s) · +34 −0
| 1699 | 1699 | Client *c; |
|
| 1700 | 1700 | Monitor *newmons = NULL, *m = NULL, *tm; |
|
| 1701 | 1701 | ||
| 1702 | + | /* TODO: |
|
| 1703 | + | * This function needs to be seriously re-designed: |
|
| 1704 | + | * |
|
| 1705 | + | * #ifdef XINERAMA |
|
| 1706 | + | * 1. Determine number of already existing monitors n |
|
| 1707 | + | * 2. Determine number of monitors Xinerama reports nn |
|
| 1708 | + | * 3. if(n <= nn) { |
|
| 1709 | + | * if(n < nn) { |
|
| 1710 | + | * append nn-n monitors to current struct |
|
| 1711 | + | * flag dirty |
|
| 1712 | + | * } |
|
| 1713 | + | * for(i = 0; i < nn; i++) { |
|
| 1714 | + | * if(oldgeom != newgeom) { |
|
| 1715 | + | * apply newgeom; |
|
| 1716 | + | * flag dirty; |
|
| 1717 | + | * } |
|
| 1718 | + | * } |
|
| 1719 | + | * } |
|
| 1720 | + | * else { |
|
| 1721 | + | * detach all clients |
|
| 1722 | + | * destroy current monitor struct |
|
| 1723 | + | * create new monitor struct |
|
| 1724 | + | * attach all clients to first monitor |
|
| 1725 | + | * flag dirty; |
|
| 1726 | + | * } |
|
| 1727 | + | * return dirty flag to caller |
|
| 1728 | + | * if dirty is seen by caller: |
|
| 1729 | + | * re-arrange bars/pixmaps |
|
| 1730 | + | * arrange() |
|
| 1731 | + | * #else |
|
| 1732 | + | * don't share between XINERAMA and non-XINERAMA handling if it gets |
|
| 1733 | + | * too ugly |
|
| 1734 | + | * #endif |
|
| 1735 | + | */ |
|
| 1702 | 1736 | #ifdef XINERAMA |
|
| 1703 | 1737 | XineramaScreenInfo *info = NULL; |
|
| 1704 | 1738 | Bool *flags = NULL; |