making notes in fm - and e_apps. jerkiness on startup identified.
authorCarsten Haitzler <raster@rasterman.com>
Sun, 15 Oct 2006 01:35:07 +0000 (01:35 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Sun, 15 Oct 2006 01:35:07 +0000 (01:35 +0000)
SVN revision: 26607

src/bin/e_apps.c
src/bin/e_fm.c

index fca3a91..c342eb9 100644 (file)
@@ -177,7 +177,13 @@ _e_apps_hash_idler_cb(void *data)
     * since we last looked at it, so iterate through them again.  Doesn't seem to 
     * slow the process down much. 
     */
+   /* FIXME: on a slow enough system this will never complete. the hash walk
+    * may abort before scanning anything t all (entries walked in hash all
+    * already filled but further entries later in the hash walk will never
+    * be reashed as timeout happens before getting there)
+    */
    evas_hash_foreach(_e_apps_every_app, _e_apps_hash_idler_cb_init, idler);
+   printf("\nIDLE APP FILLING PASS %3.3f\n", ecore_time_get() - idler->pass);
    if (idler->all_done)
      {
         printf("\nIDLE APP FILLING SCAN %3.3f\n", ecore_time_get() - idler->begin);
@@ -196,6 +202,7 @@ _e_apps_hash_idler_cb_init(Evas_Hash *hash, const char *key, void *data, void *f
 {
    E_App *a;
    struct _E_App_Hash_Idler *idler;
+   double t;
 
    a = data;
    idler = fdata;
@@ -210,6 +217,8 @@ _e_apps_hash_idler_cb_init(Evas_Hash *hash, const char *key, void *data, void *f
         a->idle_fill = 1;
        if (stat(a->path, &st) >= 0)
            a->mtime = st.st_mtime;
+       /* FIXME: the main problem is this call - when it does get run it can
+        * sometimes take 0.2 or 0.3 seconds, causing much jerkiness */
         e_app_fields_fill(a, a->path);
      }
 #if IDLE_ICONS
@@ -224,7 +233,8 @@ _e_apps_hash_idler_cb_init(Evas_Hash *hash, const char *key, void *data, void *f
    /* FIXME: This time should be since the beginnig of all idler processing, 
     * and the time limit should be tied to the frame rate. 
     */
-   if ((ecore_time_get() - idler->pass) < 0.07) return 1;
+   t = ecore_time_get() - idler->pass;
+   if (t < 0.02) return 1;
    idler->all_done = 0;
    return 0;
 }
index d835990..f03905b 100644 (file)
@@ -2805,7 +2805,9 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
                  free(d);
               }
          }
-       refresh  = 1; /* refresh src fm */
+       /* FIXME: disable refresh - modify icons in-place */
+       refresh = 1; /* refresh src fm */
+       /* FIXME: disable refresh - modify icons in-place */
        e_fm2_refresh(sd->obj); /* refresh dst fm */
      }
    else if (sd->drop_icon) /* inot or before/after an icon */
@@ -2882,7 +2884,9 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
                         ecore_file_mv(ll->data, buf);
                    }
               }
-            refresh  = 1; /* refresh src fm */
+            /* FIXME: disable refresh - modify icons in-place */
+            refresh = 1; /* refresh src fm */
+            /* FIXME: disable refresh - modify icons in-place */
             e_fm2_refresh(sd->obj); /* refresh dst fm */
          }
        else
@@ -2939,6 +2943,7 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
                                 free(d);
                              }
                         }
+                      /* FIXME: disable refresh - modify icons in-place */
                       e_fm2_refresh(sd->obj); /* refresh dst fm */
                    }
                  else /* no order file */
@@ -2957,7 +2962,9 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
                            else
                              ecore_file_mv(ll->data, buf);
                         }
-                      refresh  = 1; /* refresh src fm */
+                      /* FIXME: disable refresh - modify icons in-place */
+                      refresh = 1; /* refresh src fm */
+                      /* FIXME: disable refresh - modify icons in-place */
                       e_fm2_refresh(sd->obj); /* refresh dst fm */
                    }
               }
@@ -2965,6 +2972,7 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
      }
    _e_fm2_dnd_drop_hide(sd->obj);
    _e_fm2_dnd_drop_all_hide(sd->obj);
+   /* FIXME: disable refresh */
    for (l = _e_fm2_list; l; l = l->next)
      _e_fm2_dnd_finish(l->data, refresh);
 }
@@ -4388,6 +4396,7 @@ _e_fm2_new_directory_yes_cb(char *text, void *data)
                  fclose(f);
               }
          }
+       /* FIXME: disable refresh - modify icons in-place */
        if (sd->refresh_job) ecore_job_del(sd->refresh_job);
        sd->refresh_job = ecore_job_add(_e_fm2_refresh_job_cb, sd->obj);
      }
@@ -4487,6 +4496,7 @@ _e_fm2_file_rename_yes_cb(char *text, void *data)
          }
         if (ic->sd->order_file) _e_fm2_order_file_rewrite(ic->sd->obj);
        
+       /* FIXME: disable refresh - modify icons in-place */
        if (ic->sd->refresh_job) ecore_job_del(ic->sd->refresh_job);
        ic->sd->refresh_job = ecore_job_add(_e_fm2_refresh_job_cb, ic->sd->obj);
      }
@@ -4643,6 +4653,7 @@ _e_fm2_file_delete_yes_cb(void *data, E_Dialog *dialog)
      }
    if (ic->sd->order_file) _e_fm2_order_file_rewrite(ic->sd->obj);
    
+   /* FIXME: disable refresh - modify icons in-place */
    if (ic->sd->refresh_job) ecore_job_del(ic->sd->refresh_job);
    ic->sd->refresh_job = ecore_job_add(_e_fm2_refresh_job_cb, ic->sd->obj);