$Id: TODO,v 1.148 2007/06/03 17:18:08 tundra Exp $ twander 3 ========= - Change file size scaling algorithm to provide tenths resolution: e.g. 1.4g - Make width of display fields (at least some of them) tunable in the configuration file. - Support 'twander file file file ...' as an invocation option to mean: Set DSELECTIONS to the file list and run SELKEY on them (to take advantage of file associations somehow). . Possible enhancement: If a directory is specified anywhere on the command line it implies that twander remain running initialized on that dir. If not, the files are executed and twander terminates. - Rethink selection preservation across refreshes. Currently if a new file is added or deleted the selection will move up- or down- accordingly because Tkinter selections are based on index position. See if it could be done by filename instead. NEW === - Implemented option to display date/time in ISO 8601 format (ISODATE, default: False) - Removed trailing spaces from lines in sample configuration file. - Directory Shortcut Definitions may now contain references to variables (user-defined, environment, or execution). This enables definitions like: ~ = [$HOME] DIRSC1 = [~]/Desktop # User-defined variable DIRSC3 = [$HOME] # Environment variable DIRSC5 = [`echo "/tmp"`] # Execution variable (but silly) If you use one of these forms, it's up to you to make sure that when when the variables are dereferenced (substituted), the resulting string is the name of a directory. Be careful, you may not spot a definition that is not a directory right away. Variables are dereferenced at runtime not at the time the Configuration File is read in. Therefore, Directory Shortcut assignments with variable references in them are shown literally in the Shortcut Menu. twander cannot know what the value of the variable will be until you actually press the relevant shortcut key. - The display of symbolic links has been enhanced with the introduction of several new program options: By default, symbolic link targets are now displayed as originally defined when the link was created. The old behavior was to display the absolute path of the target. A new program option, SYMRESOLV (default: False) has been introduced. You can get the old behavior by setting this to True. A new program option, SYMEXPAND (default: True) has been added. By setting this option to False, the targets of symbolic links will not be displayed, only the symbolic link name. Setting this option to False effectively causes symbolic links to be displayed like any other file or directory. - Added key bindings to toggle the various symbolic link program options: Option Key Name Default Binding ------ -------- --------------- SYMDIR TOGSYMDIR Control-~ SYMEXPAND TOGSYMEXPAND Control-! SYMRESOLV TOGSYMRESOLV Control-@ Toggling the state of SYMRESOLV implies you want to view symlink targets, so this option also forces SYMEXPAND to True as well. - The title bar now displays the state of these various symbolic link options in the form: Symlinks: <Status> where status is one or more of: D or F - Symlinks pointing to directories are sorted as Directories or Files (state of SYMDIR). E - Present only if symlink expansion is enabled (SYMEXPAND=True). R - Present only if absolute symlink target resolution is enabled (SYMRESOLV=True). CHANGES ------- - The title bar directory display will now use "~" to indicate a directory relative to the user's home directory (to save title bar space). BUGFIXES -------- - If SYMDIR=False symlinks that pointed to directories did not end with trailing path separator. - Symlink named as dotfiles were not being hidden when HIDEDOT=True. Version 4 Future ================ - More OO model - each instance of the program is an object - Mechanism to save current state in a separate file . Save current size/position . Persistent clipboards / preload values into clipboard . Current values of directory shortcuts . User toggled options - Split new directory processing into queue producer-harvester model. - Implement HIDE=regex configuration file feature. - Dynamically size display column widths based on actual content rather than fixed worst-case field widths. - DRIVELIST on Unix: Display mount points - Enhance configuration language: . Anonymous commands - no command key . Need smarter quoting mechanisms - Escape blanks when FORCEUNIXPATH is active - Offer quoted and non-quoted version of the builtins . Switch configuration language to tconfpy . Named directory ALIASes: FOO = /a/b/c Means you can type FOO in response to a cd dialog and get sent to a/b/c - Figure out how to get the dialog fonts/sizes to track the rest of the program. (Perhaps replace with my own?) - Also possibly the titlebar fonts. ------------------------------------------------------------------------ X - Final packaging: - FreeBSD Port - Screenshot(s) - Copy doc to website - Copy example configuration to website - Copyright update in: License, Program Code, & Documentation