Things to Do
... The following things are on my to do list for eConsole ...
If something is on this list, there is most likely no need to email me about it. Please
consider this before emailing me. On the other side, if you got this far, you're already
reading much more than the average internet user. :-)
- System
- Win9x compatibility
- Maybe send WM_CHAR to the console window to simulate known keys
- Use a JournalHook to replay keystrokes instead of keybd_event().
- 'Glue to desktop' seems to break under Windows 95, but it works under Windows 98. I'm trying
to reenable the feature under Windows 95 as well.
- Keyboard input gets bad when you start ANSI.SYS (people should use BitchX ;-)
- Some problems have been reported concerning eConsole startup with the No Borders-option on
- Some tools report eConsole using 100% CPU power under Win9x. Normal is eConsole using
between 0% and 3% when running. The 100% CPU power dosen't affect system response though ...
Seems like the performance API under Win9x isn't that good.
- Pasting text over to the DOS prompt does not work.
- Keyboard input
- The keyboard input for the font selection dialog is sometimes warped... It looks like
the font dialog does not always get directly the input focus. ALT-TABbing away and
back fixes the problem (of course, clicking with the mouse into the dialog does as well).
- Implement copying of text
- The TAB key dosen't auto-repeat. This is for reasons unknown to me. Even my low-level wndProc dosen't
get that message. WinSpy32 tells me that my window does get multiple WM_KEYDOWN messages, but
they don't arrive in my WndProc. D'oh.
- Configuration
- Make the console window watchdog timer configurable
- Make eConsole remember the last screen position at startup (optionally)
- Include some better validation for the startup position so that eConsole does
never pop up completely off-screen (but remember to check for multi-monitor setups !)
- <[Jizz]> Save the configuration also if the child thread is closed by closing the real
console window
- Change the configuration style from a "spontaneous" configuration to a
requesting configuration to avoid multiple loading of images etc. and to give
better control over the order of changes
- Video input/output
- Get together with the LiteStep developers to find out who has to fix his background
window handling :-). In the meantime, LiteStep users don't use the
Glue To Background option. Reparenting the window does not work
under Windows NT.
Status: I haven't heard anything after sending the LS developers some mail,
so this won't get into eConsole.
- The background image get's lost when the window is moved before the load thread
has delivered its image.
- Implement the dimmed transparency as calculated instead of dithered transparency
- Implement loaders for other image formats than JPeG and BMP since NViewLib isn't used anymore
- Make the screen attribute mappings configurable
- Paint the desktop listview into the background picture (optional)
- Fake some mixing of the loaded background and the desktop background image
- Don't paint the text while moving the form - this would be a major speedup while moving the form (for
slower machines) (moving the background could be done using SetViewPortEx() then as long as the
bitmap is in view and must not be tiled)
- Build a default bitmap into a resource (so that it always stays with the .EXE file
- Respect WallpaperOffsetX and WallpaperOffsetY
- Fix the console style cursor - somehow, I can't read the current console
cursor size, even if I open $CONOUT to get to the most current
console.
- Multi monitor support
-
The font selection dialog always pops up on the primary display on multi-monitor
systems with Windows 98. This should be fixed.
Multi-monitor support must rely on the raw Win32 API instead of the
TScreen object exported by the
Delphi VCL, since the TScreen object only allows positive
coordinates for the screen dimensions - which is wrong on a multi-monitor
setup.
All Delphi dialogs are screen centered - this is especially bad, since
the dialogs will be centered on the primary display.
To patch this behaviour, one must edit the procedure CenterWindow() in the
unit Dialogs.pas to look for the monitor where the application is on.
On the other side, the behaviour of Delphi always centering the dialogs is
bad design (at least for high-resolution displays).
- Another thing to consider is the memory taken up by a multi-monitor spanning
desktop bitmap...
- Implement a desktop background picture provider that provides shared access
to the background image for multiple instances of eConsole
- Allow switching the application to fullscreen (with ALT-ENTER) and back (the console
stays visible after coming back at the moment.
- Miscellaneous
- Add more checks and error messages (there never can be enough)
- Accept dropped files (does not work at the moment)
- Reduce memory usage (1 MB + the size of the bitmap...)
- Clean up the code, sort out the algorithms for other modules
- Find out more about window subclassing and window classes under Win32
- Use international instead of german common dialogs
- Implement an image loader/effect system (like the system for the cursors)
- After some time and many restarts of eConsole, PaintDesktop() dosen't paint the background pattern
anymore under NT. This might be a resource leak in eConsole or in NT. D'oh. Shooting explorer and restarting
does let this problem vanish.
- Remove eConsole from the ALT-TAB list and/or from the taskbar
- Let the mouse messages go through to the console applications
- Grab the current console window if launched from the command line - this would make
a complete change from a window-application to a console application necessary.
- Graphics
- Random background
- ?Add an overlay image that gets mapped over the foreground?
- Add an alpha-channel overlay image for the foreground (like lens-flare or cool reflecting glass/monitor effect)
- On hold
- There can never be a scroll back buffer ...
- Try to paint the Active Desktop into a bitmap
- Allow other programs than COMSPEC to be run directly (via the command line?)
- Add cool text writer (like green fading to dark green etc ...)
- Funky postprocessing when a non-monospaced font is selected to find (and align) columns of data.
- Don't let the original console window show at startup
- Mouse support for the console window - you can't move the (borderless) window and have a mouse in the console
Back to Top
|