ͻ
Angels Holocaust 2009 email:ho1459@bnhof.de
ͼ
ʹ CURRENT VERSION OVERVIEW 
DPMI32
 + Fast in DOS/W9x (OS2?), stable, most features of all versions (CD-Player...)
 - problems in NT (clipboard)
WIN32
 + Fast in NT, stable, support for Windows API features (obviously)
 - slower in W9x
LINUX
 + best in real TTY as root/su, most of the D32/W32 stuff works (except for
   most of the OS specific features), basic X-Server support
 - Keyboard problems at times,
   many functions need to be customized for linux
OS2 <not existant - at the moment?>
FREEBSD <Linuxulator is buggy, NDN won't run>
ʹ LEGEND 
 [+] New
 [-] Bug fixed
 [*] Bug fixed and/or made better
 [!] Important/Note
 [?] Question to the users
 [D] = bug already existed in DN1.51
 [N] = bug already existed in NDN2.11/12 (most bugs in Chemoduns sources too)
 [A] = bug introduced by me (NDN 2.12 + 2.14+)
 [X] = bug introduced by a contributor (NDN 2.30+)
 [C] = ideas or code from/bug in NDN2.13 (Chem 'o' Dun)
 [O] = ideas from/bug also in DN/2 OSP 2.11 beta/W32
 [V] = bug in Virtual Pascal 2.1.274/279
 [Y] = bug in the operating system
 ( ) = thanks for ideas/code/bug reports to...
 { } = bug fix from
 NOTE: - for the LNX version i won't use chars except for [V] because there
	 didn't exist a working LINUX port before
       - LNX X means X11/Xlib usage, LNX T Text-Terminal
ʹ CURRENT TEAM 
    Stefan Weber (Angels Holocaust) <ho1459@bnhof.de> 3258911
{N} Denis V. Smirnoff (Necromancer) <d.smirnoff@muxe.com> 61593214
{G} Gavrilenko Sergey (Garl) <garl@rbcmail.ru> 275245033
{C} Radek Dominiak (Candyman) <candyman.chaber@interia.eu>
ʹ VERSION HISTORY 
ʹ v2.31.5309 DPMI32/WINDOWS/LINUX 22.03.10 
CONFIGURATION FILES
 [*] NDN.QDR/W32: added more Windows directories
 [*] NDN.HGL: the Pascal FILES line was extended with regex pattern >PROGRAM|UNIT<
 [+] HGROUPS.INI: Added *.mts;*.m2ts

TARGET OS/VIRTUAL PASCAL COMPATIBILITIES:
 [-] W32/WinNT+: Window titles did not handle kyrillic correctly {G} [A]
     -> wintitle.SetTitle() now correctly checks for WindowsNT
 [-] LNX: PE2ELF didn't create fully working ELF executables - failed
     on older LINUX distributions like RedHat Linux 7.3 (Kernel 2.4.18-3) [A] (Akser)
     -> Rewrote PE2ELF (did cost me most of the time since the last release!)

TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES/DESKTOP
 [*] Inputlines: English <-> Russian only worked on marked data [N]
     -> dialogs.TInputLine.HandleEvent() now uses whole data if nothing is selected
 [-] Clipboard insert into hexline crashed NDN [A]
     -> dialogs.TInputLine.HandleEvent() destroyed the contents of
	drivers.TEvent.InfoLong
     -> replaced dialogs.TInputLine.LastCommandWas with IsHexLineEvent
     -> added drivers.TEvent.InfoDetail

DNEXEC/EXTERNAL VIEWER,EDITOR/EXECUTE EXT/LOCAL,GLOBAL MENUS
 [-] W32/D32: Extensions from %PathExt% environment variable were ignored [A] (Dandv)
     -> moved dnexec.Executables to filetype (private) and added wrapper functions
	(Add|Get|Is)ExecutableExt()
     -> dnexec._ExecString().CheckWhatParams() now uses filetype.IsExecutable()
     -> fileio.SearchPathEnv() uses GetExecutableExt()
 [-] W32/D32: Executing file in same dir without extension failed with
     'Command "." not found..." [A] (Rugxulo, Marcos Favero Florence de Barros)
     -> fileio.SearchPathEnv() used "/" instead of "\" in ".\<file>",
	now using SysPathSep()
 [-] LNX: non-ELF executables were randomly executed [A]
     -> filetype.IsExecutable() didn't provide an ASCIIZ to stat()

INFO PANEL
 [-] Resizing the window shows renadom colors and bad strings (Slavik)
     Hangup on FTP-VFS [A]
     -> infopane.TDiskInfo.Draw() used shr 1 instead of div 2 which led
	to bad results for string length calculations

SCREEN / VIDEO MODES
 [-] Video mode setup: Mode 1/2 were not saved to .ini on exit [A]
     -> dnutil.TDnApplication.HandleCommand()ChScreenMode() didn't notify
	the configuration change in startup.ConfigModified




TO DO LIST (things that might/should (not)/could be)



GENERAL
- NDN Sources with password
! make separate CRC/checksum unit
! recheck the LNX RAR SFX because of glibc dependency: f:\ndn\source\tools\install\lnx.SFX
! check ssaver again on standard PC: "f:\ndn\source\!todo\!candyman UTILS.rar"
  "f:\ndn\source\!todo\!candyman EMUL128C.rar"
* LFS: full 2GB+ file support (time consuming!)
  -> check all LARGEFILESUPPORT references
! check "OS-dependent disk access" usage
+ goto homepage/open email to ndn button in the about box
* create a single function for "could not open" msgs (dlFBBNoOpen)
! correct/better code pages/locale support!
* make a single warning sound for whole ndn (sysbeepex)
+ add unit tests for basic routines where possible
! create test versions to test on slower PCs (386/486) what exactly makes NDN slow
+ lock running NDN via pwd, also on startup -> also use in screen savers
* create a generic func for std file warnings/errors
* add copy/paste (internal/windows) to system clipboard menu
- make fullspeed a counter not bool (only go out of fullspeed if 0)
* getfrom|putintoclipboard -> ansi versions?!
  -> cmputSinclipboard
+ add Terminal/Diskeditor/Reanmiator/DiskFormat/Modem (16bit at the moment, not useable?)
- CtrlBreak should be able to always exit NDN
* stringsx._SearchForOld doesn't need to recreate Tran and D for repeated searches

NEW TARGETS
! qemu/virtual pc
! install os2 / vmware?
+ BSD: try to modify RTL to support BSD natively (install os)
       LNX/FreeBSD Linuxulator is not comatible enough: KbdTerminalThread/multiple Threads
* D32 create a tiny version of NDN with lower memory requirements
+ OS X
! NDN not usable on CPUs w/o FPU: int64/tquad (Rugxulo)
  -> replace FPU usage by integer code?!
  -> change docs on this
  -> calcfixp/"32math64 - rugxulo.txt"

TARGET OS/VIRTUAL PASCAL COMPATIBILITIES:
- LNX: NDN hangs after start
- LNX: RedHat Linux 7.3 ()
  > 1. NDN hangs while text searching in the "View" or "Edit" mode. After enter of search string and press OK, the empty grey window appears with "Stop" button.
  > 2. Does NDN change the code page (or system font) after exit? Because after restarting of NDN I can't see russian text correctly.
+ W32/LNX: GUI windows instead of TUI (Ivan Oleksandrovych)
+ ndn vpsyslow:
   create public status and option var
   private parse / public display commandline options, for each sys interface
   provide a function that sets all internal system specific data after an option change (-> status var change)
   -> LNX: disable xlib usage
* create vp(sys|usr)low.SysSetFileTimes() to set all file times, remove custom
  fileio.SysSetFileTimes() code; add TFileTimes too
! memavail, 8gb main.pas (Rodrigo Cesar Banhara / Apometron)
  http://msdn.microsoft.com/en-us/library/aa366586(VS.85).aspx
* check permanently called VP functions: W32 SysTvSet/GetCurType()
* finish Shutdown (ctrlalttilde(a)?)
  D32: add option for flushing disk buffers before reboot
- W32: the output, saved on ext program start, is written back to screen messed up
       (if called program changes video mode and returns quickly)
* D32: check if OS specific idle IRQs could be moved to SysCtrlSleep()
! D32: check if WDOSX PE support can be applied to other extenders (HX?)
+ LNX: break on CTRL-BREAK like in windows
* LNX: write an automatic installation script/makefile
 [-] LNX X: fixed following terminal issues:
     - terminal window focus in gnome-terminal is messed up
       ->
     - crash when using MouseEvents on "konsole"
- D32: BOP, VDD/DLL loading from DOS prg in NT+
       http://www.bttr-software.de/forum/forum_entry.php?id=4726
       http://www.japheth.de/Download/HXNTVDM.zip
       http://www.newsvoter.com/Binary/dll/ntvdm-exe-imports-exports-dependents.html
- LNX X: colors/drawing messed up in certain terminals
- LNX: SysKeyPressed doesn't work if the KbdTerminalThread() isn't ready
# LNX: SysSetVolumeLabelEx() based on SysGetVolumeLabelEx()
+ W32: use windows.FormatMessage() to display system errors
+ add something like SysTVIsGui or use (improve!) vpsyslow.SysCtrlSelfAppType()
  -> can remove the LNX vpsyslow.TermType
? D32: VGA palette?
- lnx: x11 / keyboard / mouse os debug/on/off options
- LNX/W32: edit os environment is local only, delete doesn't work
+ D32 Memory Info interface like in Volkov Commander with Release function loaded TSR after NDN? (AdminZ)
- W32 TrayIcon option in NDN to reenable the tray?! (Vladimir Bochkarev)
  > TrayOptions in ndn.ini = 3
  > Start NDN.
  > Right click on NDN icon in tray, then click on "One Instance".
  > Again right click on NDN icon in tray, menu don't showed.
  Manually change TrayOptions in ndn.ini to 7 (on "One Instance" feature)
  Start NDN.
  Minimize NDN (to tray).
  Start another instance of NDN.
  As expected activated previous (minimized) instance of NDN,
  but first showed new started NDN window, then it vanished.
  * if crashed the tray icon doesn't remove until moving the mouse over it
- LNX modify help/rcp chars at runtime, not while compiling help/rcp
-? D32: crash if 2 instances started of same version (Oleg Arkhangelsky)
       a) close #1, #2 will crash
       b) close #2, #1 will crash on exit/execute
* LNX: check other distros: live cds, mandrake 8.
* D32: check DrDos (Multitasker!) /FreeDos and other new OS'...
* LNX/W32: printing
- vpsyslow.TOSSearchRec/dos.SearchRec: TFileSize is wrong, should always be Longint
+ D32(non Win311)W32/LNX/OS2 get VMID of system (never the same .dsk names)
* W32 cannot disable LFN like D32 (but should)
- LNX problems with name_name.ext - remove? game_tet/pit, vfs_xxxx
- LNX unused options: colsinstead ouiDontEchoExecExt
+ LNX X Clipboard X11 has these things called ``selections.''
  They have names. There are really only two you need to know about:
  the Primary selection and the Clipboard selection. An application is said
  to ``own'' a selection when it raises its hand and says, ``I have the
  Primary selection now.'' Only one application can own a selection at a
  time, so when one app asserts selection ownership, the previous owner
  loses it.
      T TIOCLINUX subcode=2 (copy)
	saved to static array sel_buffer in linux/drivers/char/console.c
	struct {char subcode; short xs,ys,xe,ye; short sel_mode (0)};
	subcode=3 (paste)
	pasted to fd of TIOCLINUX (struct struct {char subcode};?)
- LNX disk serial (disk.GetSerFileSys),  There are 2 ways:
  - You need to call IOCTL with the HDIO_GET_IDENTITY command.
  - Read it from /proc/ide/hda/identity (replace 'hda' with the drive you want/need)
  - see SysGetVolumeLabelEx()
 [!] LNX UPX compressed executables don't start
* LNX add errors for operation not allowed in copy etc

WOA/WINOLDAP (D32/NT)
- Win7/D32/VDD: DLL must be copied to system32 dir?! (Rugxulo) [A]
+ mouse wheel (no success yet)
+ GUI: MessageBox
+ extended video mode support like win32

LANGUAGES / RESOURCES (RCP) / HELP (TVHC)
- makefile: RCP/TVHC defines are not provided to the compiler
* Make it possible to define a default language which is used in case another
  language is missing some data: DNL, RCP, HTX
* LNX: convert russian to koi8 before compiling (VEvgeniy)
* help/rcp/lng: get missing data (topics, language strings, dialogs) from the english
  version -> no duplication of english data in other resources
* short howto for the lang/help file generation
- check language files for duplicate msgs
* RCP should understand D32 W32 LNX as well as DPMI32 WIN32 LINUX
- rcp is not recompiled on all changes (D32<->W32!?)
- ...(...{$IFNDEF... doesn't work: rcp.ProcessFile()
* rcp: frame view
* rcp.getitems: sfdisabled to disable single items in resources already
  editor.lock option
* add more collections to COLLECT.REG, used dnutil2 in rcp (RegisterallTypes)
* check complete DNL for repeated strings, like ~D~elete
* RCP: fix the Hexline item
 [*] TVHC: added possibility to prevent the creation of the <language>.PAS file
     -> tvhc.<main>() doesn't create the
* TVHC: little more info output
+ TVHC: make an index help window which displays all known help entries sorted alph.
- D32 DOS don't check windows options crashes (AdminZ/Vouno)
  -> update help on this
* TVHC: auto insert title of topics when referencing like this {:<topic>}
* TVHC: add help topic 3000-4000 check (reserved for "private" topics)
* HELP: improve working with windows topic (Alt-W, F1) (Vladimir Bochkarev)
  esp. on window switching
* HELP: edit a file (F4), press F1, then Esc -> the title bar text stays "Help" (Dandv)
  -> all dialogs
- HELP: AVT/TDR not done (missing files) - search for todo
- LNX: russian help, use editor-koi-conversion?!
* TVHC: try again to get invalid topics at compile time!
* HELP: highlight all lines that point into dialog shots?

COMMON CONFIGURATION / SETUP
+ optionally encrypt files, f.ex. with the serial of the current drive or
  with the crc32 of the path to NDN
* move dnini.TIniItemKind and conversion code into iniparse,
  replace iniparse.(Get|Write)ProfileStringInt() with *Conv() using TIniItemKind
+ support for multiple dsk files (zlatan)
* can the reading speed of INI files be improved? (very often reloaded!)

NETWORK / ETHERNET / SOCKETS / TCP/IP / INTERNET
! STIPS sockets.pas is NDN specific
  remove uses windows
+ HTML text browser (Plugin)
* Enable the sockets externals when supported by VP

COUNTRY SETUP
+ month days, display/selection of codepage/locale
* can keymap.DOS/WIN/KOI be made configurable by the user?
  win keymap from OS?
  http://forums.muxe.com/index.php?showtopic=3199 (crimso)
  f:\ndn\source\!bugs\crimso_ascii_win_table_Image3.jpg
* kbdxlat to country setup and help -> seems totally unusable
  * KeyboardXLAT?
 -> added (Init|Create)XLatTable() to keymap
 -> KbdXLat handling in drivers3.HotKey() was not correct, now using keymap
    code

MOUSE
[+] LNX: implement drivers.SetMouseCursor() http://tronche.com/gui/x/xlib/input/XWarpPointer.html
- LNX T: check the mouse wheel (GPM), gpm v1.19.6 doesn't return any usable data
  -> check the connect structure: pid/vc modifiers min/maxmod
+ mouse gestures
- W32: turn mouse (cursor) on/off: get/setconsolemode
* drivers.SetMouseSpeed is D32 only (y/x sensitivity)
  -> W32: SystemParametersInfo SPI_GETMOUSE/SETMOUSE ?
+ wheel: (CTRL?) scroll selectable steps, SHIFT to scroll to side (MiB)

KEYBOARD
- f:\ndn\source\!todo\basil lnx cursor keys xev.txt (Basil Starostin)
  -> different order and values - what machine used?
  -> only solution implement another layer of user key translation config files
- LNX X: fix crashes on keyboard and mouse - everythig into input thread
+ D32/LNX use win keys to switch windows/terminal
  * LNX T: hotkeys (winkeys?) to switch to prev/next terminal
  + LNX use win keys or other dead keys to switch consoles
- w32/w9x: ALT-TAB sends 2* ALT (completion!) - seems unfixable
- LNX X: keyboard layout is not complete; first waiting for response
- LNX X: get shiftstates (scroll/num/caps status, rest is done)
- LNX T: SysTVGetShiftState2: get left/right ctrl! CAPS (Quicksearch)/SCROLL/NUM pressed!
* shift/caps/pause/prtscr/roll keycodes (DeadKeys)
- D32 SHIFT-INS, first releasing SHIFT then INS doesn't reset SHIFT state! [A]
  -> disabled constant SHIFT-INS events: drivers.MyInt09Hook
- W32/D32 9x try win switch with AltGr+Tab
[-] LNX X alt/ctrl hotkey problems [V]
+ user definable keyboard layout
+ ALT+WINDOWS key?!
+ OS2/W9x Add code to clear CAPS/NUM/SCROLL lock states

SCREEN / VIDEO MODES
* merge video.PVideoModes and PVideoModesByMode
 [-] D32/VESA/NT+: Mode 0 = 0x0 was in the list
     -> CheckVESA() only adds modes if (BIOS) supported
;check on standard PC with vesa compatible card
;  - D32/VESA: VESA detection doesn't work in NT
;- Video mode list, help, return to list: disabled modes are now enabled
* LNX: auto screen handling detection (X, VCSA...)
? W32: screen not correctly cleared/restored on exit (DarkForce/AdRoc)
  if ndn with bigger screen starts program with smaller screen: tcp tests ... ? No
* LNX X: try resizing the screen from out of NDN
+ LNX: UTF-8 (unicode) screen draw support (VK LFS)
  http://www.towo.net/mined/
?* W32 add toggle blink bit code (Vadim) [NC]
   -> winio: a lot of code for such a simple/low priority feature
- LNX text blinks drivers2.setblink???
+ Savescreen to disk, files: NDN##.SCR? CtrlPrtSc
- D32 Fade doesnt work

SCREEN GRABBER

HISTORIES
- smart histories: if there's only one entry don't auto select, since enter will use that instead of going using default button
+ resize (Garl)
+ add archives to dirhistory
 - FTP: Add FTP dirs to history,
 only show dirs that fit to the current VFS? add quick filter to dir history for VFS?
- 8.5 DirHistory also must disable button 'Delete record', when there nothing
      to delete...; Commands History, File Edit Hist, File View H... (Slavik)
; Delete still checked for '+' instead of HistSelectChar
[-] (Smart) histories: don't draw over the inputline, draw over window boundaries
+ sort options: path, filename, extension
* histries.EditHistoryMenu() asks for file creation if not exists, should ViewHistoryMenu() too?

TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES/DESKTOP
+ Desktop: show windows to load / load all (see opera), if crashed / not closed correctly
+ HexLine: show mark/cursor on the corresponding inputline position
+ add a busy/wip/working sign (like DN/2), mouse cursor? interface inputline   -\|/   _   
+ "Selecting new window" visible effect: spinning/rotating window (cubic, slide, ...)
+ Add TTHistList hotkeys to TListBox: Del,Move
  -> send commands which signal del or move: f.ex. ALT-0 runtime window order changes
* Window manager: allow reordering of windows (mouse, ctrl/shift+cursor)
  See TListBox Move/Del functionality
? what does views.TWindow.ReactOnCmd() do?
  toggle commandline on/off, see DN.views
+ Window: RMB on close sign should opena window with current window options
+ schedule tgroup.execute: provde less time to apps in background, don't give all processes same time
  improve multitasking: f:\ndn\source\!todo\process.zip
* inputlines: When reaching the left/right end and there's still data left, center the cursor+view
* [Ctrl+Shift] should show another statusline (Slavik)
* drivers5.SystemError(): use the Standard message and event system (mfSysError)
  * fatal error window is not x centered correctly: 90x37 (Slava)
 [-] Hide commandline cursor when:
     * Buttons have focus
;     (message boxes)
;     * error window
     * Window resize/move
     -> Text cursor handling is flawed throughout NDN (non trivial):
	video.UpdateScreen() should not handle mouse pos and appearance
	should be handled by views.TView.(Draw|Hide|Show|Block|Normal)Cursor
	Views should never use drivers.(Hide|Show)TextCursor|(Set|Get)CursorType
	Commandline: Block cursor doesn't work? How to handle FPanel AND Commandline?
- Views should remember changes, Dialog should only answer cmOk if data has changed
- MessageBox() should check/handle screen savers
* validate.TRangeValidator should support hex/bin/oct/dec +- values
  (new validator!)
  TFilenameValidator
* multicolumn menus (long xlat menu)
* finish commands.kbPrintableCharCodes|kbCursorScanCodes (rcp [] parser)
+ objects.TDosStream.ReadPChar/AnsiStr/Str
[*] add views.sfVisible to TGroup.SetState() (enables Desktop^.Hide ...)
    -> problem with enabling trashcan randomly;
    -> all hidden views become visible on TView.Show();
       add views.ofInvisible to prevent the sfVisible state in views
* TComboBox: don't draw scrollbar if there are less than 3 items
* implement TFilesCollection.Clone/CloneItem in TCollection
  -> problem: doesn't use cloneitem from tfilescollection
* create a stack of user definable size for undo/redo operations
[*] CheckBoxesE: don't create a scrollbar if all options fit on the screen
[*] Cmds created by evKeyDown in menus.(TMenuView|TMenuPopup|TStatusLine).HandleEvent
    send the KeyCode in Event.InfoLongArray[1]
    -> added drivers.TEvent.InfoLongArray
+ create bitmap handling for enabled/disabled commands > 256 bytes
  -> array [byte/char/0..7] of set of byte;
  -> new commandset define: NEW_COMMANDSET
  -> Enable|DisableCommands(From, To: Integer);
* user size zoom in all windows (J.B.Lethbridge)
+ also use windows-keyboard shortcut '&' alternately to '~?~'
* add 0xyy/yyh/$yy/dec possibility in all number dialogs
+ make MenuLine possible to include a string for info

DNEXEC/EXTERNAL VIEWER,EDITOR/EXECUTE EXT/LOCAL,GLOBAL MENUS
+ NDN.EXT: Select highlight groups as wildcards
+ NDN.EXT: Sections to be included in other sections
+ NDN.EXT: custom user menu title / subtitles
+ Menu: make it possible to put a description on a divider
? LNX: exec should first check .EXT, then the execution bits (.c files on fat)
[-] NC style user menu: hotkeys do not work (need a hotkey table...)
* keep files in memory w/o saving to disk? (Dandv)
* NDN Ext: flag wether to start as own thread or not
	   give current os to the batch file
	   flag to exec files in background
* use makestring !~%F?!

ARCHIVES
+ 7ZIP: native support http://www.7-zip.org/
  - 7ZIP: list file with full path, current dir on same drive,
    different archive results depending on where the current dir is (Eugeniusz Kosek)
    f:\ndn\source\!bugs\Kosek_arc_Path.txt
  - 7ZIP: multiple folders, Creation time of the folder is from newest file (Eugeniusz Kosek)
    f:\ndn\source\!bugs\3fold.7z
+ Foreach option when archiving
- ZIP: multiple dirs f:\ndn\source\!bugs\Nockenschaltwerk Station 1.xlsx
- test archivers for files > 2G: 7ZIP ACE
- PKZIP: F:\downloads\games\GrandiaIII1.zip
- interrupt scanning of big files: F:\downloads\games\GrandiaIII1.zip
- RAR: LNX SFX detection doesn't work
- RAR: handle password protected headers MHD_PASSWORD
       G:\Music\C.O.B._-_B.CROM.rar
       G:\Music\I.F.s_-_A.S.O.P.CROM.rar
       D:\Temp\Gamestnt_Shadow_Tower_by_kaido.part1.rar
* improve/rewrite archiver.Check4WinZip()
* use viewhead in archiver.SkipSFX()
- RAR: dirs appear multiple times in arc view (try ctrl-r to see changes)
  G:\-todo-\e.rar
* archive options of currently opened archives are not updated after CTRL-N
 [*] put more archive handling code into the archive objects
     and improved the archive configuration
  -> add create add/extract string code
  -> add code for arctypes which need screen output parsing (jar...)
  -> remove uncommon options
     * recovery record
- cannot copy files to subdirs in archives
  - copy to (open in panel) rar archive doesn't detect correctly?
+ async decompression of archives
- providing files on command line when no listfile used is very limited -> shortstring (J.B.Lethbridge)
* rewrite detect! [C] source! read 512b buffer and use that to detect?!
  -> SLOW over a network, limit the amout of memory we scan
+ RPM (LNX), BZ2 (BZIP) CPIO/DEB (see 7z) WAD GRP XXE UUE ISO BH yENC
  SIT (Mac), LIGHTWAVE CABS,
* creation/lastaccess times?

INFO PANEL
- problems displaying labels (relating to multiple floppies) (Eugeniusz Kosek)
- D32: disk labels are drive+1
- D32/NT+: disk labels are not shown
* add title: Information Panel or directory name
- infopanel in case of \\ or / write only "on drive" w/o drive name
* readd Clusterlen?
+ read info files from archives
- support descriptions of LFNs with ""
- LNX info not correct/suitable (first 2 characters!)
      not correctly updated for current drive

COMMANDLINE
+ set cursor on commandline with mouse
* commandline modes should be changable from menu
+ aliases (Rugxulo)
+ add more string modification operations
+ hold shift (ALT is free) for full pathname in cmdline (MiB)
* W32 NT lift the shortstring limit: NT/2K = 2047, XP = 8191 (CMD.EXE)
  (CreateProc = 32767, UNICODE String Structure)
+ selecting text with shift-left/right/home/end (MiB)

FILE COPY/MOVE/OPEN/CREATE/DELETE
- DELETE: abort dialog always aborts: http://forums.muxe.com/index.php?showtopic=3246 (Dandv)
- use OS code for copy/move/del
- MOVE/RENAME: Ndn Keeps The File Open After Rename Fails http://forums.muxe.com/index.php?showtopic=3244 (Dandv)
- MOVE/RENAME: Trying To Move A File Onto Itself Stops Moving All Selected Files http://forums.muxe.com/index.php?showtopic=3245 (Dandv)
- COPY/MOVE: lift 2GB file limit (LFS!)
- MOVE/RENAME: rename it to the same name but with different cases (for example, QUEEN to Queen) using F6 - making long line of nested directories (like QUEEN\QUEEN\QUEEN\...)
  http://forums.muxe.com/index.php?showtopic=3221 (Crimso)
- COPY/MOVE:
  * Move/Rename files with character removement
  + Search/Replace filenames (See RenameFiles)
! rewrite copy (FTP etc....)
+ COPY/MOVE: Progress in % on window caption (Crimso)
  * W32 TrayIcon Balloontip to display copy results (Vladimir Bochkarev)
+ COPY/MOVE: make the caption display selectable (%, Source, Dest)
+ DELETE: show file size progress
+ DELETE: option not to count all dirs and dirs
  * DELETE: optionally calculate and display progress
+ DELETE: update the total file/size count on unmark (like the selected file/size count)
+ DELETE: delete files from BRANCH/FIND at runtime
+ COPY/MOVE: Make hard/symbolic links easier to use by adding them to the <F5> dialogue.  For more information about using them in Windows, check out this excellent article.
  http://shell-shocked.org/article.php?id=284
  (Keith Olsen)
* COPY/MOVE dialog: english == 1 -> file, >1 -> files (Slava)
  or "File(s)"
* COPY/MOVE fix the reading/writing/overall progress strings on the outer left side (Slava)
- COPY/MOVE: progress - http://forums.muxe.com/index.php?showtopic=3173 (Garl)
* COPY/MOVE: add skipped file count, show statistics on end
- LNX COPY huge file to FAT drive (buildroot_eas4271.sh) fails?
- LNX COPY/MOVE: recreate the access modes of the source files
  -> create an attribute type (union): tAttributes
? LNX moving files (F6) on same disk doesn't work, nothing happens (J.B.Lethbridge)

- cannot copy to UNC dirs? (Dandv)
  \\server\folder1 (doesnt work) vs. folder1\ (works) probs (Garl) ???
  * http://forums.muxe.com/index.php?act=ST&f=24&t=490
    copy to shared folders problem (Garl) []
* COPY/MOVE: moving dirs which exists on same drive
  -> directories can be moved completely with files
  -> should del file, and quick rename

* COPY/MOVE: zoomable window (LFN) (Garl)
- FIND/BRANCH: renaming should not work on current dir but on each file relatively (Hunter)
  -> improved but not 100% in FilesCopy.CopyFile()
+ copy files from the clipboard
- LNX COPY/MOVE: reread trees after copy doesn't work (ReD var!)
- COPY/MOVE operations - dir DIZ don't get new names!!!
* W32/LNX/OS2 flush disk buffers code support
  -> RTL code for files already exists - write all data to disk!
  -> or better: convert disk based code to file based
+ DELETE: to recycle bin (Dandv) SHFileOperation()
  + DELETE: move to user folder instead of deleting (trashcan only?!) (Marcos de Barros)
[-] LNX: copy/move didn't handle linkfiles but the target (GPFault) [A]
    -> filecopy code must use new code for soft links
* slow copy from cdrom (unlike far) (Necromancer)
- 1. Started copying big file from one ntfs partition to another
  2. Amount of space on the 2nd partition was less that filesize
  3. After tha space was completely filled up NDN stopped to response
  4. Killed NDN with taskmanager - no result
  5. Deleted some files from filled up partition so ndn could copy further
  6. NDN closes up... probably because killed by taskmanager
  I assume that in case i leave it without killing and deleted the files, ndn
  should resume copying
+ Option: create a temp panel (inherit from TEMP:) which receives the files
  to be copied and stores them until the operation was successfully finished
  if not, the panel will be available for selection and the operation can be
  repeated if it was cancelled
* check if \\?\? is a mapped drive if copying to K: f.ex. (Dandv)
- W32 copy to NUL/LPT doesnt work [NC] [O] (Elfy) -> 'cannot move to N:' instead
?- Always advanced copy used? (means using extra memory for copying in old DN)
+ COPY/MOVE to desktop/trash/ etc... default Winxx dirs,CURRENT,OTHER PANEL
  F:\ndn\source\!todo\winshell_100.zip

VIRTUAL FILE SYSTEMS (VFS)
- VFS: Add Virtual findfirst/next/close
  -> Required: create generic object TFile
  -> create vfs.pas to contain all common VFS code, move all VFS data and code there
  -> put vfs drive check/id/create code there: flpanel.c*_|ch*Drive
  -> Check possible newly working features:
     context, ftp, file search (temp ftp), temp copy, main file copy/move
- FTP/LNX: SocketErrors? Errno?
- FTP: transfer breaks hang up complete app
+ ISO9660
- DISK: check phantom drive A=B disk detection in W9x (Ladislav Lacina)
  Function Is_fantom(b:byte):boolean;
  var r:registers;
  begin
  r.ax:=$440e;
  r.bx:=b;
  Intr($21,r);
  Is_fantom:=(r.al in [1..65]) and (r.al<>b) and (odd(r.flags)=false);
  end;
  http://www.delorie.com/bin/cvsweb.cgi/djgpp/src/libc/compat/mntent/
+ DRIVE: shift-enter to open current file/dir in passive window?
+ FIND: Exclude directories (Dandv)
+ FIND: collect all file find matches (lines) in a separate window
- FTP: Connection problems hang up NDN
  connection error tries to QUIT
- FIND: Check: Search in archives (7z etc.)? search text in archives? (Eugeniusz Kosek)
- FTP: check parsing: "2 ftp.simtel.net" /pub/simtel/00/00/
- FTP: quick rename no reread?
- FTP: create new file rereads even if nothing happened - don't
  tdrive.usefile -> function: boolean
- FTP: reopening already open file on FTP should work like on standard disk files: bring the open window to the front
+ FIND: add windows like advanced search options: within last weeks/months/years
+ FIND: include search paths wildcards + file wildcards: *.acpm\*.xml
- BRANCH: show popup if no files found (don't open branch drive)
- BRANCH: Deleteing files in Branch view don't remove names of this files from view in panel. (Eugeniusz Kosek)
	  Novell drives won't remove even after CTRL-R
+ BRANCH: in archives (Dandv / Eugeniusz Kosek)
+ TFTP
* FTP: add more cmdline commands: send, get, status, ....
- FTP: no dir change in title on Reload
  cmReconnect: begin
		   if Owner = nil then Exit;
		   DisConnect;
		   CreateFTPURL(Str, Host, Path, Login, Password, Port);
		   ConnecttoFtp(Str);
//      	     PFilePanel(Owner)^.ReDraw;
//      	     PFilePanel(Owner)^.ChDirName;
//      	     write(PFilePanel(Owner)^.dirview = nil);
//      	     Application^.ReDraw;
//      	     PFilePanel(Owner)^.SetState( PFilePanel(Owner)^.State, True );
		     RereadFtp( False );
		 end;
* Remove the duplicate archive code from vfs_find.FindFiles(), see vfs_arcv.TArcDrive.ReadArchive()
- FTP: check \ in URLs or path/filenames
+ FIND: support group index search (wildcards with that index)
- FTP: GetRealName(): return current path?
- FTP: vfs_ftp.TFTPConnected.ChangeDir() should check the next upper dir if no change possible, see vfs_driv.TDrive.ChDir()
- FTP: del cmdline cmd should check whether the current file is a dir or not and send the right command
- FTP: cmdline get command rereads all dirs (what to reread?)
- FTP: cmdline commands should allow: "del dir1,dir2"
- FIND: find active and searching in viewer hangup
- FIND: deleting files doesn't reread (disable auto refresh) (Alexander Leschinsky)
+ DISK: Extend the 'next folder up' behaviour to show 'My Computer', then 'Desktop', a la Explorer (Keith Olsen)
+ NETW: Show/edit mapped drives in the network drives panel.  Pressing <F5> on a network share would open a 'map drive to...' dialogue.  Pressing <F8> on a mapped drive would delete it.  (Essentially, it would be a 'net use' front end.)
  (Keith Olsen)
+ FTP: change file/dir attributes (Vladimir Bochkarev)
+ FTP: copy path to clipboard with URL (LIKE "ftp://garl.rbcmail.ru/work/mnt.htm") (Garl)
+ FTP: save currently open ftp to list (or edit)
- FIND: ignore wildcards only ignore files but should also completely ignore the directories
  that match the wildcard (zlatan tajic) [A]
- FIND/LNX: pipes etc?
* FIND: show the directory/ies where the search depth was reached at the end of operation
- d32/doslfn: FS broken when writing to root drive (AdminZ)
  FIND: D32/DOS,W9x,LFN enabled crash when searching from root
- FTP: open ftp panel, let it disconnect, save a file ftp crash (microed.filechanged) (J.B.Lethbridge)
+ FTP: add a password prompt option, if no password is given and the anon login doesn't work (Eugeniusz Kosek)

+ DISK: "G:\Archive\total commander\ex2fs.zip" (zlatan tajic)
+ print directory contents
* NETW: improved network VFS
* NETW: option screen on what to scan
+ NETW: network authorisation support
* PROC: NT support: ZwQuerySystemInformation (http://www.alexfedotov.com/articles/enumproc.asp)
+ PROC: kill process structure (process and it's child processes)
* TEMP: show files with their case (ndnfh.exe f.ex.), update temp panel on file changes!?
+ FTP: open a list of connected ftp servers
* Speed test: if getting file collections try speed difference if not sorting/creating display name etc...
* VFS: ChDir/ChangeUp should return a boolean
* ARC: also delete created directories again from disk
  (create dirs: NDN??????.??? which should be unique)
+ DISK: direct init support for UNC drives (TDriveinfo)
	D32/W32: show (UNC/SUBST/CURRENT) paths for drive letters
- FIND: LNX check modes in find panel
* FTP: read and store link information from unix dirs
* FTP: resume
- ARC: (LNX?) name of panel window (top) shows incorrect name
* FTP: IPv6
- FTP: breaking copy process loses ftp connection (Basil/2/Dandv)
- FTP: [CTRL-SHIFT-[]]: doesn't connect, goes to root (flpanelx.insertvfs) [A]
  ARC: Open archive (Garl)
* FTP: check for broken connection (-1) and msg user
* FTP: log in a different window or/and file
       also log the times needed for connect/transfers etc.
* TEMP/FIND/BRANCH: renamed files disappear from the list
[*] ALL: watch for good support of the "||" command
    -> also support mutliple internal command handling
* FTP: support for type=a|i|d
- FTP can't stop PASV transfers (Dandv)
- FTP can't use the button to stop operation (Dandv)
* FIND: advanced search SIZE still uses longint, not tQuad
* VFS code to handle columns into TDrive (fltools.CM_SelectColumn)
- FIND/TEMP: Drive options on return are taken to the drive panel
  (Alexander Barychev) [NOC]
- PROC winlogon.exe, smss.exe. These processes also get sorted first if you sort
  by Name. (dandv)
  LNX .. isnt first dir
  sorting in process list: sometimes ".." is not upper (BMW)
- PROC: NT not all processes displayed
* remove the cProc_,cTemp_... and only use chProcDrive,chTempDrive...

DIRECTORY TREE
- When view catalog-tree and press F8(Del) to delete catalog=folder, which/who 'resource locked', NDN collapse(make short,...) tree. Why? It's not useful,i think... (Slavik)
* directory scanning should display the currently scanned drive/directory
* scan only opened directories (don't scan everything at once)
- always reread on startup: http://www.petermartinconsult.supanet.com/computer/windows/dosnav.htm
- HOME/END/LEFT/RIGHT to show LFN > size.x (else CTRL-PGUP/DOWN and UP/DOWN)
- quicksearch doesn't work
- Deleting/Create dir in fpanel doesnt update tree
- reread doesnt work
+ search in panel like in comboboxes (create generic search operation in lists?)
?* Quicksearch and BACKSPACE/CTRL-ENTER

LFN
* global option to not to quote LFN
  see/move don't quoute lfn to clipboad from file manager setup
* D32: check findfirst/next for unicode conversion flags returned in CX
* D32: check get volume info func for LFN support information: ax 71a0h
* native NTFS support?! (if possible?)
* CurrentPaths -> Driveinfo?
* does Wildcardmatch handle '?????.xyz' correctly? '"name.ext"'?

KEYBOARD MACROS
 [*] use macros inside macros

FILE PANEL
* Don't reset the calculated dir sizes on: delete, copy from
- Setting attributes: http://forums.muxe.com/index.php?showtopic=3251 (Dandv)
- changed panel separator is reset on (re)start of NDN (Slavik) []
- Close left part of screen (Ctrl+F1).When we try to close/open right part too(Ctrl+F2),we can see,that entire background field go upper on 1 string. (Slavik)
* filescol.tfilescollection: Filenames should always contain a #0 at the end
  so we can use them as ASCIIZ w/o converting/copying/allocating
* Do more checks when pressing END in panel:
  last file but not last pos on screen?
* Scrollback: save more lines in buffer to be viewable in CTRL-O/ALT-F5 mode
* Make GB vs GiB selectable
  http://de.wikipedia.org/wiki/Datenmenge
! improve the temp dir and file handling (swp*)
  ndn<dnnumber>.swp main dnutil
  create a temp directory which will be deleted on exit and unique for every NDN
  see SwapToBat() for non deleted file
  checl for files that dont get deleted (archives)
  make dnnumber also usable in w32/lnx by using an unique value
  -> use unique file name functions from OS
  see CalcTmpFName TempCfgName
* sizes: if enough space show spaces in full size AND smallest value (like 10.000.000 (10MB))
* calc crc32/md5 sums of files in panel
* support for %%/$ in internal cd commands
* W32/NT: md \\?\c:\temp\24. (Slava)
  -> dir/cd \\?\c:\temp\24. doesn't work
  -> NDN cannot enter, SetCurrentDirectory() doesn't work, but delete it
  -> NDN removes/doesn't display the trailing '.'
  var
    SR: lSearchRec;
  const
    s: string = '\\?\c:\temp\24.\*.*';
  //  s: string = 'c:\temp\24.\*.*';
  begin
    writeln(exists(s));
    ClrIO;
    lFindFirst(s, AnyFile XOR VolumeID, SR);
    While (DOSError = deNoError) do
    begin
      writeln(sr.fullname);
      DOSError := deNoError;
      lFindNext(SR);
    end;
    lFindClose(SR);
- F3: read dir size doesn't reread correctly if already did once
- CTRL-F3: use the setup of the FP window which is currently topmost
- 1.Alt-F1/F2(drive choose).F3 long pressing(reread).Is it neccesary to repaint back(panel)-info? Blinking very offten! (Slava)
- file name case different between CTRL-1 and all others: dnhelp.htx -> DNHELP.HTX
+ save current desktop panel only for reload
- help for Find File does not mention '-' for excluding results (I don't actually remember how
  I even found out about that feature). It also offers conflicting information about '<':
  the Find File help states that '<' is used to start a regexp file mask, while the help
  for "File Masks" says that '<' means "numeric character (0-9)" (Dandv)
* Y center of the altf1/f2 menues (Slava)
  filescol.SelectDrive()
    P := New(PHugeMenuBox, Init(R, Menu, nil, GetString(DlMNUdrive)));
    P^.Options := P^.Options or ofCenterY {or ofCenterX};
- happens when counting directory sizes on whole disk (30Gb of software) (Vasilii Starostin)
  f:\ndn\source\!bugs\dircount.err
? add f:\ndn\source\!todo\!Opendirs.txt
* ExtQuickDirCount like QuickDirCount?
* support for VFS in quickdirs
  -> rewrite TFilePanelRoot.CommandHandle().InsertVFS() to also check for flpanel.ch*Drive
  -> rewrite TFilePanelRoot.CommandHandle()._DoChange() to handle VFS
  -> check if ftp:// works from quickdir
+? ALT-CTRL-[1-9] for direct window change (Marek Horodyski) kbCtrlAlt[0-9]
  -> Bad because this key combo must work in all windows
+ "Folder up" operation with mouse, maybe another driveline character? (Eugeniusz Kosek)
      DriveLineDirUpChar = '%18';
flpanel.TDriveLine.MakeDriveLine()
					 {$IFDEF NETWORK}+chNetDrive {$ENDIF} + DriveLineDirUpChar;
flpanel.TDriveLine.HandleEvent()
	   case DrvLine[P.X+1] of
	     DriveLineDirUpChar: Message(Panel, evKeyDown, kbCtrlPgUp, nil);
* directory sizes: http://en.wikipedia.org/wiki/Talk:Dos_Navigator
  -> show current directory progress
  -> is NDN scanning the complete drive for this? See tree todo
* free space display should be more flexible when more space on the line is available
+ show popup for sorting process
- Cursor blinking even when filepanel-window resized over commandline
    (by mouse with right-down corner) (Slavik)
  invisible commandline should hide cursor
+ CompDir: include dir option
- hgroups.ini shortstring limit (Slavik)
+ 'cd \\computer_name' (Maciej Ksiazek)
+ choose windows by wheeling through the window list
- make list file on C with paths, copy to D, open with CTRL-W, driveline highlights drive C
  (Eugeniusz Kosek)
+ path sorting (Din/Eugeniusz Kosek) (like group sorting?!)
  -> filescol.TFilesCollection.Compare
- alt-1 * 2 gives an error -> quickdir 1 not found -> only sometimes?
+ drag/drop files on statusline: view, edit, copy ...
- 30 000 files in catalog, press Ctrl+R(update) and (after this press) press Up, NDN long time Reload(it is normal) and go upper(normal) and... show file! Why? It think, that button 'Ctrl' also yet pressed, but it is not correct! (slava)
+ add a column modifier which automatically resizes on video mode change (hmskrecik)
+ window change when cycling mousewheel over [1] window number
- A:/B: shouldn't be expected to be diskdrives (BMW) [DNOC]
  * D32 W9x INFO: check strange A:/B: request BSODs
  * D32/NT: startup delays by drive detection (A:) (RayeR)
	    also check the driveline refresh code
	    delay with usb flash card reader
+ Shell.CreateShortcut
+ quickview in columns of the first n (columnsize) bytes, id = 'Q' (Garl)
- ALT F1/F2: W32 system dirs should be checked for dupes
+ goto link
- LNX/EXT3FS: messed up desc files - no space between name and text (Step)
- LNX read only file marker is not linux combatible
  -> needs to be adjustable according to the current charset
* LNX show additional info on whether ndn runs in X or TTY
+ LNX file attribute manipulator (chmod) lnxstat(); inputline + checkboxes
+ show ntfs file attributes on panel divider: encrypted/compressed (Vladimir Bochkarev)
  -> could not retrieve any extended attributes
+ calculate size of 'selected' dirs/files (MiB)
  -> ALT-G already works, but also counts dir under cursor (bug)
* flpanelx.TFilePanelRoot should keep a ptr to the currently selected file
  -> don't read again in every operation CurFile
  -> set in flpanel.TFilePanel.HandleEvent.cmScrollBarChanged and by hand
     after load from disk
  -> files^.at(-1) = nil

* get length of subdirs in background
+ add options to (un)select dialogs (anbrx)
  '[x] Include directories'
  '[x] Include path names' (Dandv)
* compare 2+ files
* cutlfn right should also work with fmiCurrent and without fmiNewLfn
* ctrl-left/right: might be interesting to see the (root) directory of
  specified drives while holding the key combination
- diz in panel not correctly shown when 12h/am/pm time (Rugxulo/Goplat) []
- diz on ndn startup is not read
+ sort based on current vfs (alt-b)
* RMB context menu option
+ drive menu: remove/deattach removable drives (like usb stick)
  W32: http://www.codeguru.com/forum/archive/index.php/t-281916.html
  LNX: mount/umount
  + DriveMenu: LNX mount/umount
- directory open/locked/cannot remove drive (naX)
  -> because current panel is always current directory;
     only change dir when needed (executing etc.), make start dir
     default dir
- D32/DOS (DOSLFN?): path change floppy access (FloX)
- try to change to a not existing drive I get this error: Exception 0D8h at address 02994315
  in f:\NDN\source\drivers3.pas Line 200 Access violation (FloX)
+ interface setup: drive info in alt-f1/2 should show more information (space, name...)
* in system error window (drive not ready) change drive with CTRL-LEFT/RIGHT (AdminZ)
- unpack disk images only works on <1.4MB disks (AdminZ) []
  Unpack FAT12 images any sizes included with truncated free space and align to 512 bytes.
- unpack images in diskimg.pas I found. This error in algorithm - maximal size subdirectory limited size of root directory. Really dir entries must reads up to empty entry, following after last entry or up to size this subdir
- check the trashcan: characters, always on top?
+ Adjust automatically the column widht with the largest filename. (naX)
  using * in column setup for auto size (Lubor Kolar)
+ (naX) switch the cursor to the selected panel on ALT-f1/f2
+ (naX) add MyDocuments to alt f1f2: remove the hard coded handling of system drives and add a text config file where the users can add paths as they want
+ (naX) alt-up/down to select files -> alt used to jump between selected files, maybe alt/ctrl/shift
* LNX check what kind of drives could be included/excluded from the driveline
  via system setup or misc.os setup
- 'cd ...' bug (Vladimir Bochkarev) []
+ Touch-function: cmTouchFileTime   = 11052; {AH  5-10-06 update the file time}
- LNX: open archive, switch to other panel crash: ex217, drivers#519 (JBL)
* change atts should work recursively on dirs
* update NameCRC when changing filenames (move/rename)
+ "restore file selection" in panel operation (Eugeniusz Kosek)
- follow changed/keep current directories of executed programs (Wolf/Herb Jones)
- D32 correctly rereading after copy? "F:\Dokumente und Einstellungen\Administrator\Desktop\Sell-Pics-Lists\"
?- crash: left act, ctrl-k, right act. make dir, act left (Garl)
* option: always use fixed driveline size (Necromancer)
+ Shift-F4: create new file and set cursor on file (Garl)
* fltools.cm_renamesinle.updatedesc doesnt work correctly (use dizfiles.ReplaceDIZ?)
+ multiple calculator instances (Ctrl-Shift-F6) (Vladimir Bochkarev)
* Drive a: hangup:
  insert diskette in drive, Alt-F2, A, eject the diskette,Tab,Alt-Q,Esc,Tab
  (Necromancer)
- CTRL-DEL deleted files in panels reappear after view/erase... (Dandv)
  http://forums.muxe.com/index.php?showtopic=203
  -> totalreread after operation, don't reread deleted files in TFilePanelRoot.RereadDir()
- LNX double '..' if 2 files with same name (upper/lower) in dir (J.B.Lethbridge)
* Garl ideas: E:\NDN\SOURCE\!bugs\garl_diff_FM.txt
+ add option if to add a space to dropped filenames (or directory only) (Mnwa)
+ Quickdir Window Alt-Shift-0 deletion (& moving shift-cursor) like history
+ add 'Smart Directory Change' (= NCD): scd <normal mask>, rcd <regex mask>
  -> use FileFind Code?!
* WildCards: Exact meaning of |?
* user menu in ftp (Dandv)

- D32/DOS ? (not NT) DESCRIPT.ION handling is still buggy ... I mean, it seems to
  truncate the first char of every description (after entering 'em) in
  the file list. Plus, at one point, after entering a bunch of
  descriptions, it just truncated the whole file completely on me! (doh)
  Maybe this was my fault, though, (ran out of space on floppy?), but I
  sorta doubt it. Then again, maybe I'm remembering wrong. But FYI, I
  don't think it's worth me testing further if NDN isn't supposed to
  work on 486 Sx cpus (see next comments). (Rugxulo)
* dir compare: non disk drives (ftp)
	       archives
  - (by CRC?)
* put command <-> char code into one function
  (vfs_arcv.usefile, dnutil.TDNApplication.RetrieveDesktop)
[-] LNX fixed case sensitivity problems in selections -> lfn.WildCardMatch
+ Necr: natural sorting: cd1 cd10 cd2 -> cd1 cd2 cd10
* TFileRec
  * add reference count to tfilerec
    - share file records in all panels (maybe solves move/rename problems in temp/find?) ref count...
  * RereadFileRec()
  * Object?
  * LNX: the stat information in filescol.NewFileRec could read it from the linux.TOSSearchRec.stat field
  * filescol.TFileRec Create NewFileRec with giving it only a SearchRec
* all keypad selections and commandline to menu
* add process fields to "column default sizes"
* [CTRL-F3]/New File Manager
  * 23:10:00 dandv: Suppose your CD-ROM drive is J: and you have no CD inserted.
    In NDN, Ctrl+F3, J will work, no error message, and will jump to some drive,
    with "-1 free bytes". It should generate the "Disk is not ready in drive J:"
    error -> dnutil.OpenWindow->dblwnd.TDoubleWindow.Init->flpanelx.TFilePanelRoot.Init
  * Ctrl-F3 should display NEW MANAGER instead of CHANGE DRIVE in title
- cmPrev and cmNext do the opposite direction of what they should do
* LNX: driveline, how to sort it so C will become C etc...?
* improve the '?' in LFN problem (how to get the real filenames?)
[*] file attributes (Dandv)
  1. Allow entering only part of the time and zero the missing parts. E.g "18:03" for "18:03:00", "14" for "14:00:00"
  2. Same for date, but only use the current year: "15.04" instead of "15.04.2005", but "15" is invalid.
  3. Allow 2-digit years: "1.1.03" now produces 1.1.2051.
  4AH. multiple files: insert date/time of the current "selected" file
  5AH. multiple files: empty inputline means to use the current data of the file
 [!] Context Menu:
  * Handle MF_OwnerDraw
  + add close entry
  - check pathnames for ansi/oem conversion
  * doesn't open the root drive properties like the explorer
    -> parsing correct?
  * WNT keyboard focus in winpopup not correctly working on the first open
  * properties sometimes grayed out (when?)
  * W9x doesn't correctly open root drive context menu -> disabled!
    -> crash when releasing parentFolder
  * "open with" submenus don't contain data
  * TV popup: "send to" submenus don't contain data,
	       several items don't appear at all (vista!)
  * NEW entry missing?
  * disable menu in unsupported VFS
  + New: 1. Add a 'Show current folder in Windows Explorer' (Keith Olsen)
	 2. 'Show *foldername* in Windows Explorer' if you are on a folder (Keith Olsen)
  * rename c_GetSendTo() to c_GetSubMenu()
* big # of files in dir load very slowly
-  check !bugs\R-bug ("garl cannot enter folder nokia.rar")
   -> double '..' in list, except in unsorted/extention sort
   -> check AreFileApisAnsi and SetFileapisToAnsi/Oem to solve problems
* progress in compare files (Dandv)
* display paths in Scanning/Counting dirs
* load filelist cannot be interrupted
* Rewrite the columns handling (too much spread over the sources: columns.pas?)
  * option to make Default column sizes work for all VFS?
+ Ctrl-F3 option: display VFS/Quickdirs or not (Dandv)
+ LNX Alt-F1/F2 display absolute paths in menu
[!] generic code to get all marked files in a directory including marked subdirectories
- Highlight groups masks '*.#??' extension handling problems? (Garl) *readme* doesn't work
+ Option: Store LFN/SFN in description files
- Description length should possibly be > 255
* DriveInfo: convert some functions to inline for DOS/W32 code
	convert all functions to use DriveInfo object
+ add Creation/LastAccess date/time to FilePanel display
  -> use multiple character combinations?
  -> case sensitive characters?
* add more flexible date handling in ALT-S setup
- Crash if columns longer than 256 (dandv)
* DriveInfo: read/display Volumenames (Alt-F1) [A]
- drag'n'drop of file in NDN window! Fine! But why only 15 chars?? (Elfy)
- Columns; still sometimes theres a '0' when adding new chars [A]
+ filefind: add replace
+ add count of files/directories to the GetDirLength function +
  add totaldirs to pS (Drives.GetDirLength, using InfoPane.CountDirLen)
+ separate align extensions for files and directories

SYNTAX HIGHLIGHT
- perl comment parsing: http://forums.muxe.com/index.php?showtopic=3229 (Dandv)
- parsing: http://forums.muxe.com/index.php?showtopic=3222 (Dandv)
- \\ bug (Dandv)
  http://forums.muxe.com/index.php?showtopic=3212
- PHP higlight bug, "Remove the <head></head> line and save the file, now comment is highlighted correctly" (Dandv)
  highlight_comment_bug_dandv.php
- pas, '{' is treated as comment!
  If ARepl[i+1] = '{' then continue else
  If not CheckNumber( False ) then break;
+ gotoxy relative
+ include command: include HGL data from other file types
- bracketpairs with # etc. (escaped characters?)
  micro_3.EdSearchBracketPair() checks breakchars, which # is
- sometimes, later hgl data is simply not used, only when copied to BOF
  when, how?
+ use CommentStartPos to insert comment at this position
* let user specify what chars are whitespace and what not,
  like in char sets -> breakchars
  + some languages do not use . as delimiter -> option (v+ f.ex.)
* still too slow? most time consumed in highlite.TMultiCommentCollection.NewLine
- inc {$} bug, see stdefine.inc []
- '... <CRLF> { ... ' ... } bug when multilinestrings enabled [A]

REGULAR EXPRESSIONS/PCRE
* make the match buffer configurable
* pcregexp.TpcRegExp.GetReplStr()
  ? Special chars support, like \t == TAB etc...
! make pcregexp.pas independent of NDN files for usage by external programs
- partial matching? multiline in editor? matches and macthescount?
* help: ?(DEFINE)
* check multiline working
* better syntax overview, better examples

EDITOR/VIEWER/DBVIEWER/WKZVIEWER(Spreadsheet)
+ predefined search/replace patterns
+ editor/viewer: put all found lines into separate window/list with file/line link
* Editor/Viewer: show bookmarks on frame if not active
* not found search string messge is not really an error (Slava)
* global option: put cursor to the end of inserted blocks
+ binary search option in editor/viewer/filefind (DOS cp, case sens) (Zakker)
+ add general bookmarks without a direct goto command: alt+^ toggles, ctrl+^/+shift goto next/previous
+ copy filename to clipboard (with/without path)
+ Make Goto (F5) accept percentages
- regex replace string doesn't understand \r\n ...
+ RegEx: use the default newline of the current file
* (correct) progress bar (editorreadblock etc): TWriteWin + UpdateWriteView()
+ advanced search: show all matches on screen; clear only on edit/new search/hotkey
* std search option: clear result only on edit/new search/hotkey
+ ndn view/edit: set bookmarks via mouse click on left border
* copy data with RMB, or L+RMB - insert with middle button?
+ choose syntax highlight from highlight file while file open
[+] search/replace: add option to not replace to just look for number of occurances
* move duplicate code (ruler f.ex.) to an own object (like hideview.TStdWindow)
* add viewer functionality to wkz viewer
+ treat all chars < 32 as break chars
? search for  $0?
+ operation: go to last edit location
+ option: don't write file edit history on reload
* option: set file position to EOF on load (Minimus)
+ option: always  view file from start (Adam Lubszczyk)
- file change notify (cmreload) should work better, independend of too many switches
  * recheck the working of auto file reload
+ define method look in HGL, open window with all methods in file (like namecomp)
+ unicode file detection
+ support for unicode files (see W2k winnt\inf directory)
+ backup on hotkey operation, with defineable extension
* keyboard shortcut to open the setups
* use set of... to handle internal options, based on the setup defaults,
  remove all the bools -> less RAM/DISK space, code, loading time needed
+ Options to show in internal NDN editor(viewer) in text mode: (Vladimir Bochkarev)
  spaces (#250), tabs (#26) and CRLF (#20) like f.ex. in MS WinWord.

EDITOR
- check double click + line mark
  -> line mark double click deosn't work in vert block mode
+ mark text and search for that on new search
- Delete empty lines uses last line +1
- security code that tries to detect whether the tab size for the current file is wrong
- backwards search is not centered
(Zlatan Tajic):
  - if you select block in editor end try to replace some world ndn crashes. block must be not from beginning of page and selection is checked on
    f:\ndn\source\!bugs\zlatan editor crash NDN.ERR
- save file always sets archive attribute
- no tabs -> turn off optimal fill
- new file load: rtl\windows.pas <> vpupdate\windows.pas
+ combine mouse+key to search current word (Marek Horodyski)
  -> micro_3.EdHandleMouse()
- check G:\Archive\edit_src.zip
- replace, show replacement: last block is not closed (Slavik) [A]
* cancel search window should give Yes/No, not Ok/Cancel (Slavik)
- check the cursor placement and highlight after repacing (Slavik)
- horiz. scrollbar always stays at pos 1 (Slavik)
- XXX instead of DOS/WIN after loading files from history?
- undo/redo from menu doen't work (Dandv)
- find numbers doesnt handle the ,. country differences, depends on file
 [+] convert numbers between dec/hex/bin/oct/exp
     -> added commands.cmConvert(Number|ToDec|ToHex|ToBin|ToOct|ToExp),
	cmConvert* to microed6.EditorHandleEvent(), micro_3.EdConvertNumber(),
	commands.coValid
     -> modified calc.GetValue() to return the returned number type, improved
	the KMG... parsing
;* Handle the current file type (no $ hex in C files)
;* Separate the number extraction code
;+ inc/dec current word (number!)
- bracket pairs: don't go into commented brackets?
- infinite loop if replacing ''
* bookmark toggle - don't toggle if a new bookmark has been selected, even if old bm is on top/bottom
  actually check the cursor pos instead of the view pos
[-] on startup, trying to open non-existing files should report to the user
* check the tab/space conversion, compare to ue/qedit
  F:\ndn\source\!todo\tabdiff.rar
* autosave confirmation
* search/rep in block: always goto beginning of block on search start
* CTRL-T and similar operations to work on blocks, foreach line
- insert time according to interface setup (seconds! +/-)
- remove/optional "feature": overwrite mode backspace/tab deletes until next word or tab
- LNX: micro_2.drawline
- ^?*[YZ] are reversed on non-qwerty kbd layouts
+ execute command macro command (J.B.Lethbridge)
 [-] Fixed a strange editor find crash after repeated CTRL-L (Dandv) [NC]
     -> microed4.StoreUndoInfo, !bugs\dandveditorfindcrash.zip
+ char replacement: entering  will insert "u (tex) or " -> '' (tex)
+ paragraph operation: split marked paragraph and put each item on one line
* merge microed2.EditorSaveFile(As)()
* search file: if target is a dir then open in file panel [ctrl-enter]
+ spell checking
+ replace: delete matching lines (Keyword? Search Option?) (Adam Lubszczyk)
* save keyword list, don't recreate on every turn (faster? no memory allocation?)
  -> test at home!!
+ show r/o flag on info line
+ insert current file name into the file (w and w/o path)
* add a modifier (alt,ctrl,shift...) to edcom.dnr
* (erno) block move (ctrl-k-v)
  move blocks relative to cursor position - size of the moved text
  vertical blocks
* executing file should set the current wd to the path of the file
+ also support local ndn.spf (like menu files) (OArkh)
+ option to use ctrl-y/z as redo and undo
- set block type to ()
  draw line 20-30 symbol ower text and try make undo - i can not
  but char by char (if draw char then other char than other ... it is work)
+ virtual wrapping
  * show lines longer than screen wrapped, w/o adding linebreaks (Basil/2)
* ctrl-left/right with shift not on word boundaries but until next non-char (Dandv)
- Smart Bookmarks:
  * line swap on bookmark line+undo -> undo moves bookmark
  - deleting lines until bookmark line-1+ doesn't update the bookmark!
  * should enter on bookmark line move bookmark?
- persblocks, marked word, SOL, backsp to next line, loses selection (GPFault)
- failed (first) backward search on entire scope sets cursor to line 32767 (GPFault)
* macros, own menu, assign names to be visible in the menu in hgl (J.B.Lethbridge)
* extend macros with ^J + [A-Z,a-z] (J.B.Lethbridge)
- smartpad window size is not saved
+ add another hotkey for: tab-back (CTRL-?) ctrl-shift-I, redo, revsearch
* count words: ^k'?' wordstar -> characters in ctrlcode don't work (anymore)
* add complete hotkeys to the menu
* Bracket Highlight both parts (Vladimir Bochkarev)
* [DEL] better smart unident work
* rearrange edito defaults options
* Option: turn off line draw mode when typing characters
+ convert selected text to dos/koi/win
* more space for big files line counts (Dandv)
  -> dynamic vertical scrollbar?
* FastSearchDeep is unused/unworking
* set cursor to start of found string (Mnwa)
- searching whole words and just a single character doesn't work backwards []
  * very slow on long lines (1000+) (highlight?)
 [*] replace is slow (mktestf.txt)
     -> microed4.EditorStoreundoInfo.udReplace.GetCollector/AtInsert
* check qedit for additional functions to put into ndn
- crashes on big files (25mb?) (Necromancer) [NC]
+ add LINUX keytranslatetable
* not all block commands are disabled when necessary
+ [wish] multiline regular expression find/replace
- LNX creates files R only (default in lnx, files not created until 1st save)
+ better solution for U/P in infoline?

HEADER VIEWER
! Plugins!
+ LE/LX/PE: use the header image base as base for the viewer
+ ELF: add goto image/overlay: e_shoff + (e_shentsize * e_shnum)
* improve the code: better object orientation, full file access by providing
  a file pointer
 [*] complete the Exe-Viewer code (flags)
- add OBJ...

VIEWER SETUP
+ option to set where the searched line to be displayed (Centered,Line#,...)
+ option to set vmAsm line to be displayed (Centered,Line#,...)

VIEWER
- ELF viewer and search -> crash: #236@F:\NDN\SOURCE\drivers3.pas(203)  (Slavik)
- ASM/Goto: if image base set handle it
- ASM/Search: set the found search data correctly on a completely disassembled line, not
  the seach data as start of data on screen
- Viewer scrollbar (Dandv)
  http://forums.muxe.com/index.php?showtopic=3218
- View new file. F4,F4,F4(go to DizAsm-mode). Showing by 16bit mode, but write =64=. (Slavik)
- hilite changes on wrapping, should first hilite then wrap buffer (Slavik)
- data insert/paste problem: where to insert (at EOF)? create a virtual EOF: EOF+1
  * 1.1 insert/paste at EOF overwrites last char (GPFault)
  * does paste work correctly at all?
  * check the block insert code (#0)
  - backward search cannot find last character in file [A]
- make the scrollbar >2GB compatible (scaling)
  G:\Music\C.O.B._-_B.CROM.rar
- finish SearchStr routine to search in buffer only (FullyLoaded) [A]
  -> combine with tmemreader?
* page up/down results in wrapped mode unpredictable (AndyRay)
* optimize the makelines loops (linesmax?)
  * vmAsm MakeLines and Draw repeat same code, except for storing strings
   in makelines -> optimize
[-] cmClose Reread doesnt work [DNOC] (FileChanged?)
- slow file viewing on special files
http://home.arcor.de/stasis/slowViewXML.zip
http://forums.muxe.com/index.php?showtopic=434
try on slow PC
- getline should expand/handle tabs fixes highlite problems
  -> use fileio.TMemReader?
+ add editor compatible hotkeys (^K + ?...)
* set goto add/filesize/insert/remove/fill dialog data into one record/union
* improve/merge FillFile,InsertInFile,InsertBufInFile,RemoveFromFile
 [+] vmAsm should be able to search in the disassembled string code
 [+] vmAsm save disassembled code to file (Garl)
+ replace in block
+ title color selection (like editor)
- open big file for viewing (>176MB), drag scroll bar to about 50%,
  crash/crash on big dvd movie (2.4gb) (Vladimir Bochkarev)
- crash on huge files (with history?) (Dandv,Basil/2)
+ binary + hex view: "12345678: 00000000 00000000 00000000 0000000000 00 00 00"
  8/16/32(64) bit
* interrupt file loading (for big files)
- set file size 2gb+
- insert/remove bytes does not update fullyloaded/memory alloc
+ asm: higlight line where current jump ends
* improve the data fill/insert/remove code for less memory requirements
  - viewer search / findfile regexp: find start/end of line doesnt work (Dandv)
    LF works -> CRLF issues! newline in pcre: OP_CIRC and OP_DOLL
    single ^,$,^$ doesnt work
 [-] RegEx search pattern=^NDN, Subject=NDNNDN: found both NDN;
     '^' (BOL) matched inside the line too (GPFault) [NC]
 [-] RegEx search: '^\s*bug' bugs (GPFault) []
     (not using found string?)
  - file find: search els\Z doesn't work
  - replacing 0d0a0d0a with ==== -> 0d0a0d==== (Garl)
* *smart* bookmarks, which move when bytes are deleted/inserted
* check double close/save code: needed in w32?
+ cmText block copy (J.B.Lethbridge)
+ CharWordCount (Block and full)
+ E:\NDN\SOURCE\!bugs\HTMLHelpViewer2005.pas (Vladimir Bochkarev)
-? bufpos bug when end of vmasm and switching views! [A]
 [+] vmAsm add jump shortcuts - 0-9 with ALT/Shift/Ctrl?
+ add LINUX keytranslatetable
- ELF headers cannot calc entrypoint in files not fully loaded -> totally disabled
? !!! rebuild viewer around the /proc/ file fix !!!
* /proc/ fix only handles files <= $1000 bytes
* 'Set Filesize' only should ask once when using READONLY files [A]
* 'Replace' should be able to insert/remove bytes [A]
+ Jump (Enter) and Return (Alt-BackSp) into history

ASM/DECODER
- 64 69 84 01 02 03 04 05 06 07 08 09 imul [] (Slava)
  0809imul: hex string is so long that the syntax highlighter cannot highlight imul anymore
+ db 0xc4, 0xc4, 0x58, 0x?? ; BOP
- 66A1DC34      	  mov         ax,[034DCh]
  0000  		  add         [eax],al
  -> Hiew shows mov         ax,[0000 034DCh]
- DisASM bug: 48 81 C0 xx yy zz ww = add RAX, $wwzzyyxx, but not 8 bites after 'C0'! Processor automatically expand 4 bites to signed 8 bites! (Slavik)
+ user comments on certain code fragments etc. (dll calls etc)
- pushw remove this since it's no offical opcode
- (Slavik)
  63h arpl is 2 bytes!
  * Hm, one ASM-bug appear in 2.31.0954 NDN (32 bit-decode):
  66 81 xx yy zz    cmp
  7D ** 	    j) jge ...
  In 2.31.0407 it writes : 7D **	     jge ...
  But now strange symbols 'j)' appear
  * 1.DizAsm : A8 xx = "test AL, xx", but NDN write "j) jmpe ..."
  1.DizAsm : 0F AE 38..3F = clflush, but not sfence
  2.DizAsm : 0F AE 2D xx yy = lfence, but NDN dizAsm want to write xx yy ... in this line too, but bytes
   for this command ended(ends?). :-)
  3.4A B8 0102030405060708 in 64bit mode write 'mov rax, 08070605h04030201' with wrong symbol h at center :-)
  4.F6 08 0F -> 'test byte ptr [...]' (and 'test AL' for ex.) Hm.. With who it test ? :-)
  5.F2 0F 71 00..0F - empty places...
  6.F3 0F BD = lzcnt
  > 3.DizAsm 'palignr' don't know?..
  > 6.DizAsm: 66 0F 71 00 show empty line (and without 66 too...)
 4.2 May be such as Borland write for code-bytes '8CF2' -> 'mov EDX, HS?' and
       '8CFA' -> 'mov EDX, IS?' ?.. Hm...
 4.3 Why '8E 08..0F' not show 'mov CS, ...' ? Other regs(ES,DS,SS... with '8E 00..07'
       or '8E 10..2F') works normal.
 4.4 And '8E C0..EF' works with 16-bit part of reg's! We must write 'mov DS, AX' in
       32 bit-decoding, i suppose...
- test " o@
" 32-bit: change 2nd line to 0f 0b -> cursor doesn't change line
* improve/combine ModR_M64()/ModR_M()
- it's loopdnz, not loopnzd [A]
+ add IsJmp/JmpAddr to CALL/JMP FAR (9a ea)
+ speed
* ideal mode -> byte/word/dword... [byte/word...]
+ add complete tables to the INC
+ add supported cpu to the tables for later use
+ options for the decoder: always show sizedef, chose if you want +: or [] in addresses

DBF VIEWER
 [-] Crash on a russian test file with bad table/header information (Slava) [] {G}
     ->
* Slava:
  I.Press F2(fields view):
  1.But 'Edit' button do nothing(Enter simply close dialog).But(funny!) mouse click show strange message 'Information'/cmYes.
  2.Name of fields view (C:\NAME\...\.dbf) may be longer placed at caption('espetially' at right).
  3.It is not good that number of field writes at bottom line(into frame). It is too many place at buttons row.Ok can be righter.
    (And why it shows 'Total', if total shows at bottom ?)(But Commands history do also...)
  4.Symbol '#'(english only?) shows one position left (according symbols 'C'=type of columns).(Type,Name too)
  5.Name of columns shows with 2 space at left. Why? 1 is enough.
  6.It is better to do right 'justification'(align?) values of length.

  II.When press F3 (memo view):
  1.Pressing Ctrl shows, that F6(F12) enable, but Calc(Calendar) not start.
  2.Ctrl+F5 do not work (dialog can't be moved).
  3.Ctrl+F4 not work (dialog not close).
  4.Ctrl, F3/F11-enabled,but shows nothing.

  III.F1 on many dialogs show 'Desktop' help.
- If field is type INTEGER (FoxPro), NDN bad decode/dispaly value (wrong bytes order, low byte is first not last) (Adam Lubszczyk)
+ wish: when I show structure of DBF (F2) I want to search (like F7) field by name, and after Enter (or other key) back to view data and set cursor positon to selected field name (Adam Lubszczyk)
+ to clipboard copy on selected fields + in field viewer
+ clipboard appending
+ DBF: Save As
- correct the english dbgdefaults dialog, is the data saved to ini??? [X]
* dos/win encoding display should be uppercase
- crash if exit and restart with open dfb file
  File: f:\NDN\source\dbfview.pas Line#: 2246
  Access violation at address 004B3056. Read of address 00000014.
+ search in all fields (haman/Garl)
+ add new fields
+ [wish] In Clipper's *.DBF symbol filed can >255 length
  (look like DBF Viewer in Dos Navigator Open Source)
[Wish] Adam Lubszczyk
+ XLT support
+ in DataBase Viewer if symbol field long than wide of window if I press F3
  this field displayed in new window (like field MEMO)

SPREADSHEET/WKZVIEWER
- Title: Spreadsheet - <Filename>
- Export == Save To ???
+ clipboard support
* all calc commands (AdminZ)
* spread <-> xls (AdminZ)
+ infoline / modifictation display (*)
- Undo doesn't work
- (-4)^2 crashes (Eugeniusz Kosek)
+ mark cells with mouse/cursor keys
* better errorhandling

CALCULATOR
+ interface change: multiple lines, make copy to cb default, extra line for result only
* put the formulat into history before evaluate
+ Binary input into real/double
- changing windows should not select the inputline
- 2^63-1: different results for sys and dec (Borko Banushev)
+ add Deg Rad Gon selection (internal conversion)
+ equations: a= and use a in calculations (a-z, 26 vars)
+ add a ? b : c
+ add ':' (Division)
- Calc:editing SYS value dont't change result. (Slavik)
  2.1 cth(0) show 'Syntax error','Paren...', cth(0/1) -> 'Unfinished ope..'. At least
	i think it show last error ?
  2.2 May be add so definition : '#define Sine sin'  ? Such as 'Tan' & 'Tg'. For
	people, who want to write Sine & Cosine...
- translate calc.CalcErrorStr
- int64 input bit limitation: 63bit -> $7FFFFFFFFFFFFFFF
* check error conditions and outputs
+ add more, see VP.math
+ set cursor to error position (DNOSP)
+ limit output to signed/unsigned byte/word/dword/qword (combobox)
+ timestamps
+ hex/bin/oct != integer 100101.1212 (Slavik)
+ add a byteswap command
+ insert separators to indicate thousands/bytes/dwords etc...
  -> a popup window that will show the numbers in a better looking format
  -> option to toggle separator/std mode
* optimize, moving in inputline is slow (redraw?)
* make table with all symbols and functions to call to clean up doeval
+ option to maximize size of calculator (for binary numbers !)
+ Time field (like DNOSP)
+ String field (Hex to string)
* add ERROR if none-string operations not complete (>,>=,+,*,...)
* Strings into Dlg

PHONES
- Adding tel.number.Russian word 'Phone' longer, than english, but Edit-field shows NOT after 'TLabel',but from static position. And therefore,some digits hides. (Slavik)
- Phone book. Add btn. When TAB pressed focus move to 'Password edit', leaving
'Name edit', but(only in RUssian ver) cursor don't go there. Why? (Slavik)
- 1. Search for something in the phone book so that you get at least one result.
  2. Dupe the result.
  3. Go to the "parent" of the search results and watch NDN crash.
  4. If NDN doesn't crash, start with a blank Phone Book.
  5. Even if NDN won't crash, you'll have some strange entries there, like
  two '..' entries in the folder with the duplicated search result.

GAMES
+ create a switch to make games single color for bw displays (Mnwa)
- tetris: numpad * works, standard * not (Rugxulo)

CD-PLAYER
- D32: track/time display broken, only first song? use |<>| << >>
+ W32/LNX version
+ close command
- menu title and cd-player helpctx when selecting cd drives

CALENDAR
- Slava
  2.When Calendar shows, Shift pressed, F11 is active,but nothing writes!
  3.When Calendar shows, Ctrl pressed, only F4&F5 shows,but F3,F6,F10 working too!
- calendar: list with holidays / country and user definable list with custom day marking
- May be make calendar wider by 2, because rus. word 'Week' have 6
  letters and not fit in... (Slavik)
- May be make calendar days Satur, Sund by red colours(rest-days)? (Slavik)
+ first day of week selectable
* calendar status line: add evCommand to calendar.HandleEvent

ALARM CLOCK
* give default day time
* add a NOW button
- adding date of 2008 in 2007 doesn't work, add the year to the new/modify dialog
+ open alarm windows in windows instead of inside NDN window, or bring NDN to front, balloontip
* week of year in calendar view not visible
* disable/enable inputlines based on the options (every day/week ...)
* I tried to set an alarm for January 1st 2006 and noticed that the alarm was set in the list for 16.01.2005.
  I'm trying to replace Outlook as a PIM and use NDN instead, so the calendar feature becomes quite important.
  Nice features to have:
  + snooze/postpone button (by given number of days, hours, minutes)
  + large text field for notes (useful to enter URLs, confirmation numbers, addresses and well, just notes)
  + some indication as to whether a certain alarm has already occured or not (e.g. a divider between alarms that have already occured, i.e. completed tasks, and the ones that will occur; or a checkmark to the left of each alarm, indicating its state)
  + generally, mimicking Outlook would be a good idea
  + option to disable sound. In that case, however, NDN needs to pause somehow before displaying the alarm window (the current sound does that very well) because if the user was typing and the alarm pops up, the characters will end up being received by the alarm window (particularly the space key, activating the OK button)

SCREEN SAVER
* Rename SkyEnabled, wrap into desktop function?
* check if the screen is turned on again or check whether there was input
  -> end ndn saving time
+ force screen saver even if turned off with time 0 (mouse/f12)
- lock+off must behave like windows screen saver
[-] LNX: "turn off monitor" screen saver
disabled in setups.TSaversDialog.Awaken()
    ->  * T: using IOCTLS (didn't work on my PC): needs everything black on screen???
	  (was tried - but no cursor turned off)
? how to turn it off in the liunx console?

* X: using DBMS* X API (libXext.so.6)
	  -> via kbd returns immedeately with an unblanked screen
	  -> problems after exiting NDN (hangup)
? how to lock the PC in X?
* improve idlers.TClockSaver by showing also the seconds if chosen in the
  interface setup
? dnapp.TProgram.InsertIdlerGeneric() setmouseshape? d32 only?

CLOCK
- don't change ':' to #0 but space, as some charsets show #0 as square (Slavik)
- When the clock is showing the date (Ctrl) or memory (Shift), it cannot be moved horizontally,
and so if the video mode is widened or narrowed it stays in the same location rather than moving
to the new upper-right corner. This can easily happen when changing modes using Ctrl-F10 or Shift-F10. (Goplat)
   - Well, you must drag clock to center of panel. After this, press Ctrl(or
   Shift, or Shift+Alt) ang press down left mouse button. Then drag 'clock'(Ctrl
   pressed!). They will be move strange. (Slavik)

ASCII TABLE
- 80x30, win -> full screen, table draws empty lines at the end of the dialog (Slavik)

COLORS / PALETTES
* Palette load menu: remember current pal name and set cursor to palette in list
[*] check and update palette files (editor colors etc.)
- far.pal: check the file panel lower frame color, not gray? (Slava)

PLUGINS
+ plugins (far/total commander compatible)
+ System/Internal Info (Plugin? ALT-I) (tabbed windows)

EXTERNAL TOOLS
! add @lists to
  ftp://ftp.simtel.net/pub/simtelnet/msdos/arcers/tar320g.zip
  G:\Archive\tar320g.zip
  Remove f:\ndn\source\tools\install\7z if tar320g works with lists
* get new make prg, gnu? GNU Make/DOS: http://make.paulandlesley.org/
  G:\Archive\mak3791b.zip
