TODO

tasks that always apply

  • update documentation and homepage/wiki/on-line user guide
  • find solutions for FIXMEs in the code
  • find & fix memory leaks
  • additional translations (ja, fr, de, ru, pl, zh_CN exist now) Volunteers welcome !

probable changes

  • code restucturing and clean up

worth considering

  • support regular expressions in rename-plugin
  • update tracker-plugin as tracker’s API matures
  • provide atk/gail assistive-technology support in all relevant places
  • plugin-based support for general namespaces, not limited to root of the mounted filesystem, e.g. archives, remote filesystems (via gio/gvfs etc), collected items (probably tagged), chroot

low priority things that can be done when there’s time and interest

  • add missing API documentation
  • complete documentation about action arguments
  • support non-english-ascii letters (replacing dDfFpP etc) in macros
  • find a way to have those small lines in the treeview as kde/qt or windows provide them
  • add tooltips to context menus where now missing
  • find a way to tap into shell’s completion process, to enhance command-line tab completion (not directly possible with bash)
  • support theming for custom icons

changes that may not be worth the effort

  • interrogate shared-configuration data for more filetype handlers (but FDO spec is still too immature)
  • strictly incremental update of displayed filelists (if a reliable change-monitor ever becomes readily and widely available …)
  • show filetype/dir icons in file lists
  • undo, for completed file operations (needs lots more cacheing of information about processed items and anything affected by the operation)
  • custom formatting of hyperlinks displayed in the output pane

known bugs/problems

  • some default keybindings might not work, if other things’ bindings prevail
  • auto-refreshing file panes (without FAM/gamin) does not notice item size, mode, ownership changes (consequence of the way the fs works)
  • auto-refreshing with gamin does not notice most changes involving symlinks (gamin bug)
  • auto-refreshing with gamin and gnome (at least) and dnotify backend does not notice changes to the trash dir (gamin bug)
  • sizing of any command-line combobox in a vertical toolbar is illogical (wishlist = gtk support for “drop-across”)
  • hard links are processed as separate files
  • refreshing a filelist changes the access time of the displayed directory
  • for some? gtk versions, recreating filelists creates leaked X memory (gtk bug?) which, if repeated too often, can lead to swap-thrashing and even a hang
  • gtk (in later versions at least) behaves badly when dragging a column-header boundary to change the column width – at first it thinks it’s dragging selected item(s) !
  • the output pane captures stdout and stderr messages from child processes, but not from any other process started by a child (“grandchild”)
  • a command which in turn causes another command to be run using the same glib functionality (g_spawn_async() etc) can hang, because completion of the spawned child command is not reported to its parent application – maybe some intermingling of child exit signals
  • mnemonic activation of toolbar buttons (when their labels are shown) does not cycle focus between buttons with the same mnemonic key, as it should do. Seems to be a gtk problem related to GtkPaned?