bug--
authorCarsten Haitzler <raster@rasterman.com>
Fri, 6 Jan 2006 16:26:18 +0000 (16:26 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Fri, 6 Jan 2006 16:26:18 +0000 (16:26 +0000)
SVN revision: 19562

TODO
src/bin/e_winlist.c

diff --git a/TODO b/TODO
index 9ac0376..fcfb375 100644 (file)
--- a/TODO
+++ b/TODO
@@ -12,7 +12,6 @@ Some of the things (in very short form) that need to be done to E17...
 * BUG: IBAR follower speed and autoscroll speed are not pixels / sec (they are
   recursive multiplication values). should invert gui valus and display as a
   factor, not px/sec
-* BUG: fullscreen does not respect min/max window size
 * BUG: changing border from shaped to not shaped produces shadow bugs
 * BUG: xdaliclock -transparent doesnt use shaped border (not handling shape
   change later)
index 5ccc5b2..693dd45 100644 (file)
@@ -265,8 +265,8 @@ e_winlist_hide(void)
            (e_config->winlist_warp_at_end) ||
            (e_config->winlist_warp_while_selecting))
          ecore_x_pointer_warp(bd->zone->container->win,
-                              bd->x + (bd->w / 2),
-                              bd->y + (bd->h / 2));
+                              warp_to_x, 
+                              warp_to_y);
      }
 }
 
@@ -550,11 +550,25 @@ _e_winlist_activate(void)
      ok = 1;
    if (ok)
      {
+       if ((e_config->focus_policy != E_FOCUS_CLICK) ||
+           (e_config->winlist_warp_at_end) ||
+           (e_config->winlist_warp_while_selecting))
+         { 
+            warp_to_x = ww->border->x + (ww->border->w / 2); 
+            if (warp_to_x < 1)
+              warp_to_x = (ww->border->x + ww->border->w) / 2;
+            else if (warp_to_x > (ww->border->zone->w - 1))
+              warp_to_x = ww->border->x + ((ww->border->zone->w - ww->border->x) / 2); 
+     
+            warp_to_y = ww->border->y + (ww->border->h / 2);
+            if (warp_to_y < 1)
+              warp_to_y = (ww->border->y + ww->border->h) / 2;
+            else if (warp_to_y > (ww->border->zone->h - 1))
+              warp_to_y = ww->border->y + ((ww->border->zone->h - ww->border->y) / 2); 
+         }
        if (e_config->winlist_warp_while_selecting)
          {
             ecore_x_pointer_xy_get(winlist->zone->container->win, &warp_x, &warp_y);
-            warp_to_x = ww->border->x + (ww->border->w / 2);
-            warp_to_y = ww->border->y + (ww->border->h / 2);
             warp_to = 1;
             if (!warp_timer)
               warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);