mirror of https://github.com/mcuelenaere/fsv.git
58 lines
2.8 KiB
Plaintext
58 lines
2.8 KiB
Plaintext
1999 Jan 27
|
|
|
|
* Put content in README and INSTALL.
|
|
|
|
* Write NVStore/uXML backend (or find a suitable existing one) to store
|
|
configuration parameters in ~/.fsvrc.
|
|
|
|
(The rc file should use XML formatting, but I don't want fsv to link
|
|
against libxml/expat to do this-- those libs are overkill. uXML is a tiny
|
|
yacc/lex-based XML I/O library I started writing for just this purpose,
|
|
but that will take some time to mature. Anyone know of a good, clean, <50K
|
|
DOM-based XML parser/generator library for C?)
|
|
|
|
* Rewrite the MapV layout algorithm. Currently, it works, but doesn't
|
|
generate very optimal layouts-- some nodes are too wide, some too tall,
|
|
and the ones in the frontmost row/rows invariably turn out paper-thin.
|
|
|
|
I've discussed an alternate approach with a friend of mine (hi Louis!),
|
|
one heuristically based that would run slightly slower but give much
|
|
better (even if not provably optimal) solutions. I'm definitely open to
|
|
ideas here. It's a rather tricky CS problem.
|
|
|
|
* Implement a somewhat smarter node pointing/selection handler for faraway
|
|
nodes (e.g. when in bird's-eye view mode). Right now, it gives you exactly
|
|
the node that is under the cursor's hotspot-- even if it's so small you
|
|
can barely see it. fsv should instead return an ancestor node, that is
|
|
larger than a set pixel-based minimum.
|
|
|
|
* Replace the bulk of GTK+ cruft (see dialog.c/gui.c/window.c) with
|
|
Glade-generated code, to improve view abstraction. All of the main
|
|
window's callbacks have already been moved into callbacks.[hc]. Still need
|
|
to figure out 1) if/how Glade can handle compiled-in XPM's; 2) how to set
|
|
up the GtkGLArea widget, which isn't directly supported; 3) how to specify
|
|
the minimum window size as a proportion of screen width (as opposed to
|
|
giving absolute pixel dimensions-- ick!)
|
|
|
|
* Implement a better way of bringing up the online help. I'm almost
|
|
embarrassed by the cheap /bin/sh hack currently employed :] (Not to
|
|
mention it leaves zombie processes hanging around until the main program
|
|
terminates-- bad bad bad!)
|
|
|
|
* Perhaps add scan caching. This would store the complete state of a
|
|
directory tree (say, /usr/lib as an example) in ~/.fsvcache/@usr@lib, and
|
|
the next time fsv is invoked there, it loads the cache and skims through
|
|
all the subdirectories, only scanning those with an updated timestamp.
|
|
(Result: much faster loading of '/' and the like)
|
|
|
|
ColorByTimestamp mode could take the time of the previous scan as the
|
|
start point of the temporal spectrum, allowing something of a "graphical
|
|
diff" on the state of the filesystem.
|
|
|
|
* Add a way to have fsv not scan certain directories, such as top-level
|
|
AFS mount points (stat'ing those can take *centuries*)
|
|
|
|
* Oh, and did I mention I'm taking 6.170 this semester...? :-) Some of the
|
|
core modules (camera.c/geometry.c) could probably stand some improvement,
|
|
and by the time summer comes around, I should have a good idea how!
|