From: Greg S. <gs...@fr...> - 2001-11-13 13:57:04
|
On thumbnail creation, if there are files selected, have it generate thumbnails for only the selected files (generate for all if none selected). The main reason I use thumbnails is to see the pictures I have on the flash card for my digital camera. Flash is a little slow, so if I have a lot of pictures on, it takes awhile to get all of the thumbs when all I'm interested in seeing is the last few. Another minor thing I was thinking about: If there aren't any files selected in a rox window, and you have rox configured to show file sizes, it would be nice if it displayed the total amount of space taken up by the files in that directory (ie, the same thing that would happen if you selected all). -- Greg -- Greg Spath gs...@fr... http://freefall.homeip.net/ irc://freefall.homeip.net/%23mtb |
From: Jesse W. <bea...@fa...> - 2003-11-17 22:09:23
|
Making recently modifies files bold was a great idea. Perhaps if you made files that are currently being modified bold and another color. This would be really neat in the case of downloads... So you know when you can open that tarball... What do you think? -- http://www.fastmail.fm - Consolidate POP email and Hotmail in one place |
From: W. <wa...@in...> - 2003-11-18 08:44:57
|
Am Montag, 17. November 2003, 14:09:18 Uhr MET, schrieb Jesse Wagner: > Making recently modifies files bold was a great idea. Perhaps if you made > files that are currently being modified bold and another color. This > would be really neat in the case of downloads... So you know when you can > open that tarball... What do you think? So you want different colour levels for the newer file dates. AFAIK you can't see which files are still being modified, as in UNIX these files aren't locked like in Windows. -- What difference does it make to the dead, the orphans and the homeless, whether the mad destruction is wrought under the name of totalitarianism or the holy name of liberty or democracy? Mahatma Gandhi (1869 - 1948), "Non-Violence in Peace and War" |
From: Rimas K. <rim...@cr...> - 2003-11-18 08:59:50
|
G=F6tz Waschk wrote: > Am Montag, 17. November 2003, 14:09:18 Uhr MET, schrieb Jesse Wagner: >=20 >>Making recently modifies files bold was a great idea. Perhaps if you ma= de >>files that are currently being modified bold and another color. This >>would be really neat in the case of downloads... So you know when you c= an >>open that tarball... What do you think? >=20 >=20 > So you want different colour levels for the newer file dates. AFAIK > you can't see which files are still being modified, as in UNIX these > files aren't locked like in Windows.=20 > =20 lsof. does it list the files that are being downloaded or not? Rimas Kudelis |
From: Rimas K. <rim...@cr...> - 2003-11-18 09:49:10
|
G=F6tz Waschk wrote: > Am Dienstag, 18. November 2003, 11:17:27 Uhr MET, schrieb Rimas Kudelis= : >=20 >>Interesting.... >>and which program claims them as "open" AFTER these are downloaded? >>"Open" files, AFAIK, are those, that are in use by a program. So, that=20 >>colouring would affect not only the files that are being downloaded, bu= t=20 >>also ones that you currently view with a viewer, edit with an editor=20 >>etc... Is it bad? Depends on a point of view. ;] >=20 >=20 > It makes sense for these files to stay open, as bittorrent shares the > file and uploads to other clients as long as you keep it open. This > was just an example in which case lsof wouldn't work, if you download > a file with mozilla your method would work just fine. >=20 > BTW lsof takes really really long on my Sun workstation, so rox would > slow down here as well. Well, if there's lsof, then there should be a system call or something,=20 that gets the same list, so that you could use not an lsof wrapper. The=20 process of colouring filenames could be forked from the main process, so=20 it wouldn't freeze your box. :) RQ |
From: Adam S. <az...@us...> - 2003-11-18 12:34:55
|
Rimas Kudelis <rim...@cr...> writes: > Well, if there's lsof, then there should be a system call or > something, that gets the same list, so that you could use not an lsof > wrapper. Yes, but it's horribly inefficient -- the lsof process basically consists of walking the list of processes and seeing what files they've got open. This is really slow on a busy machine, and since quite a lot of platforms require you to be root and able to examine kernel memory to do this, I wouldn't recommend it. ;) -- Adam Sampson <az...@us...> <http://offog.org/> |
From: Stephen W. <wa...@ul...> - 2001-11-19 15:23:18
|
In message <200...@fr...> "Greg Spath" <gs...@fr...> scribbled: > On thumbnail creation, if there are files selected, have it generate > thumbnails for only the selected files (generate for all if none > selected). Try this. It's a diff against the 18/11/2001 snapshot. Warning: I don't know how it will handle the thumbnailed file being deleted... This patch modifies the filer so that if you have a selection of files when you click on "Create Thumbs" it will only thumbnail the selected files. Index:rox-2001-11-11-thumbsel/ROX-Filer/src/dir.c *** rox-2001-11-11/ROX-Filer/src/dir.c Wed Nov 7 01:06:10 2001 --- rox-2001-11-11-thumbsel/ROX-Filer/src/dir.c Mon Nov 19 12:02:20 2001 *************** *** 220,225 **** --- 220,234 ---- update(dir, pathname, NULL); } + void dir_thumbnail_file(Directory *dir, gchar *pathname) + { + g_return_if_fail(dir != NULL); + g_return_if_fail(pathname != NULL); + + g_hash_table_insert(dir->always_thumb, g_strdup(g_basename(pathname)), + GINT_TO_POINTER(1)); + } + static int sort_names(const void *a, const void *b) { return strcmp(*((char **) a), *((char **) b)); *************** *** 564,572 **** DirItem new; gboolean is_new = FALSE; gboolean deleted; tmp = make_path(dir->pathname, leafname); ! diritem_stat(tmp->str, &new, dir->do_thumbs); deleted = new.base_type == TYPE_ERROR && new.lstat_errno == ENOENT; item = g_hash_table_lookup(dir->known_items, leafname); --- 573,585 ---- DirItem new; gboolean is_new = FALSE; gboolean deleted; + gboolean thumb; tmp = make_path(dir->pathname, leafname); ! thumb=dir->do_thumbs; ! if(!thumb) ! thumb=(gboolean) g_hash_table_lookup(dir->always_thumb, leafname); ! diritem_stat(tmp->str, &new, thumb); deleted = new.base_type == TYPE_ERROR && new.lstat_errno == ENOENT; item = g_hash_table_lookup(dir->known_items, leafname); *************** *** 657,662 **** --- 670,677 ---- dir->new_items = g_ptr_array_new(); dir->up_items = g_ptr_array_new(); + + dir->always_thumb = g_hash_table_new(g_str_hash, g_str_equal); return dir; } *************** *** 678,683 **** --- 693,701 ---- items = hash_to_array(dir->known_items); free_items_array(items); g_hash_table_destroy(dir->known_items); + + g_hash_table_foreach(dir->always_thumb, (GHFunc) g_free, NULL); + g_hash_table_destroy(dir->always_thumb); free_items_array(dir->new_items); g_free(dir->error); Index:rox-2001-11-11-thumbsel/ROX-Filer/src/dir.h *** rox-2001-11-11/ROX-Filer/src/dir.h Sun Sep 2 15:12:36 2001 --- rox-2001-11-11-thumbsel/ROX-Filer/src/dir.h Mon Nov 19 12:00:22 2001 *************** *** 66,71 **** --- 66,77 ---- * and scanning is not in progress, a rescan is triggered. */ gboolean needs_update; + + /* + * List of leafnames in this directory that should be + * shown as thumbnails even if do_thumbs is false + */ + GHashTable *always_thumb; }; void dir_init(void); *************** *** 81,85 **** --- 87,92 ---- void dir_check_this(guchar *path); void dir_rescan(Directory *dir, guchar *pathname); void dir_merge_new(Directory *dir); + extern void dir_thumbnail_file(Directory *dir, gchar *pathname); #endif /* _DIR_H */ Index:rox-2001-11-11-thumbsel/ROX-Filer/src/menu.c *** rox-2001-11-11/ROX-Filer/src/menu.c Thu Nov 8 01:06:16 2001 --- rox-2001-11-11-thumbsel/ROX-Filer/src/menu.c Mon Nov 19 12:03:07 2001 *************** *** 932,939 **** { g_return_if_fail(window_with_focus != NULL); ! dir_rescan_with_thumbs(window_with_focus->directory, window_with_focus->path); } static void delete(gpointer data, guint action, GtkWidget *widget) --- 932,953 ---- { g_return_if_fail(window_with_focus != NULL); ! if (window_with_focus->collection->number_selected == 0) ! dir_rescan_with_thumbs(window_with_focus->directory, window_with_focus->path); + else { + GList *sel=filer_selected_items(window_with_focus); + GList *next; + + for(; sel; sel=next) { + next=g_list_next(sel); + dir_thumbnail_file(window_with_focus->directory, + (gchar *) sel->data); + } + dir_update(window_with_focus->directory, + window_with_focus->path); + /*filer_update_dir(window_with_focus, FALSE);*/ + } } static void delete(gpointer data, guint action, GtkWidget *widget) -- Stephen Watson Physicist Ultra Electronics Ltd - Signature Management Systems (UESMS) Tel: +44 (0)1543 878888 (switchboard) Fax: +44 (0)1543 878249 Email: wa...@ul... |