Newer
Older
twander / TODO
@tundra tundra on 3 Jun 2007 5 KB *** empty log message ***
$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