dwm.c
changeset 1493 20bd305fa7aa
parent 1492 62a601261c8b
child 1494 e00cb20da182
equal deleted inserted replaced
1492:62a601261c8b 1493:20bd305fa7aa
  1697 updategeom(void) {
  1697 updategeom(void) {
  1698 	int i, j, nn = 1, n = 1;
  1698 	int i, j, nn = 1, n = 1;
  1699 	Client *c;
  1699 	Client *c;
  1700 	Monitor *newmons = NULL, *m = NULL, *tm;
  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 #ifdef XINERAMA
  1736 #ifdef XINERAMA
  1703 	XineramaScreenInfo *info = NULL;
  1737 	XineramaScreenInfo *info = NULL;
  1704 	Bool *flags = NULL;
  1738 	Bool *flags = NULL;
  1705 
  1739 
  1706 	if(XineramaIsActive(dpy))
  1740 	if(XineramaIsActive(dpy))