small highlighting correction...
[midnight-commander.git] / src / TODO
blobd4ae6b0765096e0cf54001d1778071af5d57469e
1 Before 4.6.0-pre2
2 =================
4 reimplement "-P" in a safer way (temp file instead of stdout) - possibly
5 security issues.
7 Consider applying a patch from PLD to make M-o propagate the current
8 directory to the other panel.
10 Pressing F8 twice in the viewer causes error messages if the file was
11 preprocessed (i.e. gzipped files, manpages).
13 Add support for mouse wheel with gpm.
15 Recheck all mouse handlers, make sure that they check button number.
17 ncurses 5.2 turns off keypad under heavy load on xterm.  Check if
18 anything can be done about it.
20 Implement --with-screen option.
22 Remove side effects from --with-termcap option.
24 Use a more traditional representation of non-printable characters in
25 editor (i.e. binary 0 would be ^@).
28 Before 4.6.0
29 ============
31 Load subshell prompt when it's ready.
33 Eliminate all pipes in subshell.c, run pwd after kill.
35 real_input_dialog_help() shouldn't use translated strings in the section
36 names in .mc/history.
38 Make xnc.hlp a text file.  Make it easier to translate the manual.
40 Hard links in cpio have 0 length (if easy to fix).
42 Add "Ignore" and "Ignore all" buttons when reporting permission
43 problems.
45 ftp and fish with home != '/' - readjust directory to the home.
47 Better date parser - support files beginning with "2000 ".
49 Report errors in fish operations and recover from them.
51 SMB crash when not starting with the share root, but copying to the
52 share root.
54 Scan more packages for patches, check Red Hat and Ximian Bugzilla.
56 Allow colors to be defined in the mc.lib file.  Make it possible to
57 avoid using a superlong line to redefine all colors.
60 After 4.6.0
61 ===========
63 Consistent support for mc.lib.
65 Consistent support for per-terminal settings.
67 New syntax for mc.ext - path check, desktop environment check.
70 In the 4.7 branch
71 =================
73 Internal terminal - no more console saving.
75 Implement a really Advanced Chown/Chmod.
77 Dynamic loading for libX11, libgpm.
79 Process all input internally, use screen libraries only for output.
82 ========================================================================
83 Everything below this point is the old TODO list.  It doesn't reflect
84 the current priorities of the developers, but may contain interesting
85 ideas still waiting for their implementation.
86 ========================================================================
89 * Bugs
91   - "Files" message flickers a lot when copying files.
93   - Make the extfs handle re-reads.
95   - Document (or remove) C-x C-r, C-x C-s.
97   - Check that all the help contexts exist on the help file.
99   - Make the buttonbar for the tree box work.
101   - In the incremental search mode, when backspacing, select the
102     correct file, do not stop in current file.
104   - Make C-y yank back all the killed text at once if you've just done
105     several kill operations in a row (C-k, M-d, etc).  [For MC 3.x]
107   - In learn keys, warn the user if he is trying to
108     i) define a same sequence as an already defined (if the keycode differs)
109     ii) define a sequence, which is a prefix of other longer and already
110         defined sequence
112 * Configuration 
114 * Documentation
116   - Convert the source mc.1 to mc.sgml and create automagically from it
117     mc.1, mc.html, mc.hlp, mc.info, mc.tex, mc.txt etc. [3.x]
119 * Extensions
121    - Hotlist should allow people to edit the entry (like we do in the external
122      panelize thing).
124    - Change ext.c to allow the %{..} to recursively expand any other %thingies.
126    - Write a general grow_string routine.  This code is used in the internal
127      viewer and would also be used in the profile.c code.
129    -  A command to set the line length to a fixed value for viewing
130       fixed length binary files. LIST does this with Ctrl-B and then
131       prompts for a "record" length.
133    - Viewer: have a case match toggle.
135    - Viewer: Mark all found matches, and when 'n' is pressed go to the
136      next page, not the next match on the same screen (when there is
137      more than one).
139   - In ftpfs_open, extfs_open, if we set local_filename to tmpnam, use
140     a mechanism to set local_filename to another place on the local
141     diskspace (this would be useful for copying, so that we would save
142     some tmp space). This would require special care in file.c afterwards.
144   - In Listing mode... give at least three user-definable formats
145     (using Janne's Listing mode editor) and assign hot-keys to both
146     standard and user defined (what about c-x f [fbl123] ?).
148   - Shift-Home, Shift-End for the input line: home and end.
150   - Make a mechanism to lock all the mouse events and send them to
151     the locking widget until unlocking is done.
153   - Sort with numerical extensions.
155   - Allow the program to execute a command even when we are on a vfs, maybe
156     a special box, or make subshell code ignore the change directory
157     request. Perhaps each vfs should store a local path attached to it,
158     like in tarfs, extfs it would be the directory which contains the
159     topmost tararchive, in ftpfs it would be the directory which we entered
160     to ftp from.
162   - auto_hint_lines: a variable that would choose to use hint mode when
163     at least auto_hint_lines are visible.
165   - Listbox: Mouse handler for the scrollbar: this will be hard with
166     the current approach (since the listbox scrollbar is drawn *outside*
167     the listbox control area).
169   - In file.c, we shouldn't need to get a full path name in order to
170     work, we should instead canon the file name inside the tar.c (the
171     only fs that relies on this), tar.c should know about the cwd (i
172     think).
174   - Panelize the selected files.
176   - Recursive delete should (perhaps as an option) delete files just after
177     they have been copied and not to delay deleting until everything was
178     moved. [3.x]
180   - When copying a tree (or moving or deleting), as an option act primarily
181     on the regular files and at the end on directories recursively, so that
182     we get complete high parts of the tree if something fails (useful for
183     ftpfs). [3.x]
185   - Put into a new and bigger Options/Configuration dialog all the options
186     we have now to set using .mc.ini manually. [3.x]
188   - When after deleting there are no files in a panelized panel, restore
189     it automagically to the real directory content. [3.x]
191   - Files/Symlink and Link should be able to do multiple links (if the
192     target is a directory). [3.x]
194   - Directory sizes should work in background using try_channels. [3.x]
196   - Support of non-UNIX ls in ftpfs. Perhaps using an ascii configuration
197     file similar to moxftp. [3.x]
199   - Have an option to let the user choose the preferred keybindings.
200     Currently, only the emacs keybindings are supported, add support
201     for Norton Commander and vi keybindings.
203   - Find command should have a way to specify directories to skip.
205   - Add an option that will let listboxes do incremental searches.
207 * Optimizations and cleanup
209   - "How to use help" section should be at the first page of the
210     "Contents" help section.
212   - Use RPCbind on SVR4, this currently will be left for 3.5
214   - Optimize the mcfs read and write code: make the code output 8k
215     blocks all the time (if we have called mc_hint_readall) and probe
216     the input for a possible cancel.
218   - When verbose is off, remove all the clutter on the screen about
219     the files being copied.
221   - The viewer is calling view_update in many places, I call
222     view_update after handling a key, should all the other
223     view_updates be removed?
225   - If the viewer is too slow, some caching could be done.
226     width and cols are currently computed each time they are needed.
228   - Add context sensitive help to the f9 menus.
230   - Add an overlap when going up or down in the file list.
232  ++ In the user menu, don't use the entries array, we can now grow
233     dynamically.  I should take a look at this one day, it's easy to
234     fix.