123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- mc manual: Add Environment Variables section
- Clean up #include's in all files.
- Remove all instances of type casts on function pointers. Run the
- following command to get a list of function pointer types.
- grep -r 'typedef.*(\*' . \
- | sed -n 's/.*(\*\([[:alnum:]_]*\)).*/(\1)/p' \
- | sort -u \
- > fn-types.txt
- Then use fgrep to find illegal uses of these types.
- fgrep -r "`cat fn-types.txt`" .
- Fix these uses by writing small wrapper functions.
- When saving a file is not possible, mcedit should ask the user what to
- do:
- - su(1) to another user and try again
- - sudo
- - change permissions of the file or the containg directory
- - other smart things
- Due to problems in the VFS, files are not written back after being edited
- over VFS with an external editor.
- Allow pathnames starting with spaces in vfs/extfs.
- Broken pipe warning when viewing large *.tar.gz files. Warnings should
- be shown before the viewer is started if possible.
- Cannot spell check unsaved files in the editor.
- Dynamic loading for libgpm, libext2fs.
- Check if the archive was changed for extfs, tar and cpio. Free the data
- associated with the old archive.
- Ctrl-q Ctrl-m in input dialog should enter \r, not a newline.
- Allow entering archives in VFS by Ctrl-PgDown with non-empty command
- line. Right now, there is no convenient way to enter an archive when
- the command line is not empty.
- Allow switching between histories of two panels. It's convenient to
- change to a directory from the history of the other panel.
- Allow calling the directory hotlist from Copy, Move and Find File
- dialogs. Recent directories are the obvious candidates for copying and
- looking for files.
- Allow modifiers for keys in mc.lib, like "shift-up". Right now,
- modifiers can be read from the terminal (if supported), but not from the
- config file. This change would make it possible to use modifiers even
- if they can only be identified by the escape sequences.
- When saving config files, write to a copy, then replace the file. This
- would avoid the problem of partly written config files. Consider using
- locking of the config files.
- Totals should only be omitted for single files.
- Recheck all mouse handlers, make sure that they check button number. We
- don't want mouse scrolling to be interpreted as mouse click.
- Smooth mouse scrolling on panels. Scrolling one page per step is too
- fast.
- Don't read prompt from the subshell, because it's unreliable. Interpret
- environment variable MC_PS1 (or PS1) in the same way as bash.
- Support an environment variable (also like PS1 in bash) for setting the
- window title.
- Better date parser - don't allow seconds and year in ftp listings on the
- same line.
- Report errors in shell operations and recover from them.
- Allow colors to be defined in the mc.lib file. Make it possible to
- avoid using a super-long line to redefine all colors.
- Filters in the editor should operate on the open file - don't close and
- reopen the file. They don't work on VFS now. For example, a gzipped
- files on FTP cannot be edited.
- ftp and shell with home != '/' - readjust directory to the home.
- Make "Find File" dialog more responsive. Keep state in a structure and
- preserve it when the search is suspended.
- Use KDGKBENT ioctl on Linux console to find the mapping for shifted
- functional keys. Two mappings are widely used (Shift-F1 = F11 and
- Shift-F1 = F13). mc should adjust the keys to the mapping.
- Make the internal editor reentrant.
- Consistent support for mc.lib.
- Consistent support for terminal-specific settings.
- New syntax for mc.ext - path check, desktop environment check. Detach X
- programs into a separate process group. Allow forcing the full path on
- local files.
- Click on an image doesn't always work on remote vfs - local copy may
- be deleted before the application has time to load it.
- Allow running executables from remote VFS. Possibly warn the user.
- Add print dialog in the internal editor.
- Implement logging, not just for VFS.
- Eliminate all pipes in subshell.c, run pwd after kill. Add support for
- more shells (e.g. ksh).
- Internal terminal - no more console saving.
- Implement a really Advanced Chown/Chmod.
- fxp support in VFS.
- New listing mode keyword "time": mtime or the time (atime, ctime) used
- to sort files.
- Provide "patch" and "diff" editors. The patch editor will automatically
- adjust the line numbers of the following chunks when lines are deleted
- or inserted at the beginning of the file.
- Provide context menus for files. Possible actions include: [compile],
- [CVS commit], [CVS diff -up], [pack], [unpack], [grep].
- More standard Widgets: WTreeView, WDirectoryList, WGroupBox, WTextArea,
- WOpenDialog, WSaveDialog, WPrintDialog, WKeyBar.
- ========================================================================
- Everything below this point is the old TODO list. It doesn't reflect
- the current priorities of the developers, but may contain interesting
- ideas still waiting for their implementation.
- ========================================================================
- * Bugs
- - "Files" message flickers a lot when copying files.
- - Make the extfs handle re-reads.
- - Check that all the help contexts exist on the help file.
- - Make the buttonbar for the tree box work.
- - In the incremental search mode, when backspacing, select the
- correct file, do not stop in current file.
- - In learn keys, warn the user if he is trying to
- i) define a same sequence as an already defined (if the keycode differs)
- ii) define a sequence, which is a prefix of other longer and already
- defined sequence
- * Documentation
- - Convert the source mc.1 to mc.sgml and create automagically from it
- mc.1, mc.html, mc.hlp, mc.info, mc.tex, mc.txt etc.
- * Extensions
- - Hotlist should allow people to edit the entry (like we do in the external
- panelize thing).
- - Change ext.c to allow the %{..} to recursively expand any other %thingies.
- - Write a general grow_string routine. This code is used in the internal
- viewer and would also be used in the profile.c code.
- - A command to set the line length to a fixed value for viewing
- fixed length binary files. LIST does this with Ctrl-B and then
- prompts for a "record" length.
- - Viewer: Mark all found matches, and when 'n' is pressed go to the
- next page, not the next match on the same screen (when there is
- more than one).
- - In ftpfs_open, extfs_open, if we set local_filename to tmpnam, use
- a mechanism to set local_filename to another place on the local
- diskspace (this would be useful for copying, so that we would save
- some tmp space). This would require special care in file.c afterwards.
- - In Listing mode... give at least three user-definable formats
- (using Janne's Listing mode editor) and assign hot-keys to both
- standard and user defined (what about c-x f [fbl123] ?).
- - Shift-Home, Shift-End for the input line: home and end.
- - Make a mechanism to lock all the mouse events and send them to
- the locking widget until unlocking is done.
- - Allow the program to execute a command even when we are on a vfs, maybe
- a special box, or make subshell code ignore the change directory
- request. Perhaps each vfs should store a local path attached to it,
- like in tarfs, extfs it would be the directory which contains the
- topmost tararchive, in ftpfs it would be the directory which we entered
- to ftp from.
- - auto_hint_lines: a variable that would choose to use hint mode when
- at least auto_hint_lines are visible.
- - Listbox: Mouse handler for the scrollbar: this will be hard with
- the current approach (since the listbox scrollbar is drawn *outside*
- the listbox control area).
- - In file.c, we shouldn't need to get a full path name in order to
- work, we should instead canon the file name inside the tar.c (the
- only fs that relies on this), tar.c should know about the cwd (i
- think).
- - Panelize the selected files.
- - Recursive delete should (perhaps as an option) delete files just after
- they have been copied and not to delay deleting until everything was
- moved.
- - When copying a tree (or moving or deleting), as an option act primarily
- on the regular files and at the end on directories recursively, so that
- we get complete high parts of the tree if something fails (useful for
- ftpfs).
- - Put into a new and bigger Options/Configuration dialog all the options
- we have now to set using .mc/ini manually.
- - When after deleting there are no files in a panelized panel, restore
- it automagically to the real directory content.
- - Files/Symlink and Link should be able to do multiple links (if the
- target is a directory).
- - Directory sizes should work in background using try_channels.
- - Support of non-UNIX ls in ftpfs. Perhaps using an ascii configuration
- file similar to moxftp.
- - Add an option that will let listboxes do incremental searches.
- * Optimizations and cleanup
- - When verbose is off, remove all the clutter on the screen about
- the files being copied.
- - The viewer is calling view_update in many places, I call
- view_update after handling a key, should all the other
- view_updates be removed?
- - If the viewer is too slow, some caching could be done.
- width and cols are currently computed each time they are needed.
- ++ In the user menu, don't use the entries array, we can now grow
- dynamically. I should take a look at this one day, it's easy to
- fix.
|