David Millington’s #Delphi25 Story and Calmira (Windows 3.1 Shell build in Delphi)


David Millington’s #Delphi25 Story
David Millington

Yes, this is really Windows 3.1 -- and it’s all due to Delphi.

In 1995, I was twelve years old. I’d loved programming since I first encountered a computer: when I was much younger, about four, my parents bought a Как увидеть ссылки? | How to see hidden links?. Apparently I loved it so much they were concerned and hid it away until I was about eight or nine, and after programming with that for a couple of years I got a series of secondhand PCs, 386es and 486es, on which I installed DOS, Windows 3.1, Windows NT 4 eventually, and more. On the DOS machines I used Turbo Pascal, and then one day my father came home with a copy of Delphi.

Until then, my programming had been for fun, and mostly to customise my computer. I’d write DOS programs that changed the console colour, or experimented with graphics, or make a game, or a password entry on boot. At twelve, I hadn’t really understood what was possible in terms of creating ‘real’ applications. Programming was playing.
Something different happened with Delphi. And that something was called Calmira.

Real Software
All through life, but especially as a teenager or young adult, you have moments where you find can you conceptualise something you could not before. We use phrases like ‘it just clicked’ to describe this, but I’m not describing a moment where you just understand something you didn’t before, but a deeper change in your thought model. They are situations where you lack some key knowledge or insight or ability to conceptualise that prevents you understanding and visualising a concrete idea, and at some moment, this changes and not only do you understand something you did not before, but you also become more capable of abstract and conceptual thought in areas you were not. I remember the first time I ‘understood’ object-oriented programming (before, I had written largely procedural programs passing structures/records): this was not just understanding it, but with that step opened up a vista of other concepts I now had the ability or the mental toolkit to understand.

Something had changed in my ability to create mental models. I also remember how, and older than a teenager, I could not understand how to move overseas (I had—and could not get, no matter how I imagined—no picture of how it worked, what daily life would be. How did you find apartments in, say, France? What happens when you step off the plane and try to begin a new life, that first 24 hours? I couldn’t picture it. I solved this by simply doing it, and through doing, understood.) There have been several moments like this, of difficulty grokking followed by a change in mental models, in my, and probably your, life.

At twelve or thirteen, I had a similar problem with software: I was playing. I had not yet realised, and did not really understand the possibility, that I could cross the gap to writing ‘real’ software: software that performed an essential function, or looked and behaved like part of the operating system.

Windows 95 had just come out. I had neither a computer powerful enough to run it nor a copy of it, though desperately wanted both. I enjoyed customizing my computer, and shortly after installing Delphi I came across a replacement shell for Windows 3.1.

It was called Calmira, it made Windows 3.1 look rather like Windows 95, and it was written in Delphi.

Calmira being installed and run. You can Как увидеть ссылки? | How to see hidden links? this still today: I recorded this yesterday.

Как увидеть ссылки? | How to see hidden links? It had surprisingly little source code: a few forms, some custom components. The code, while mostly uncommented, was very clean and easy to understand, and I learned a lot about code structure and also writing concisely from it. The key thing though was that it replaced an entire key component of Windows - the shell, the way you interacted with the entire operating system, plus the File Manager, Task Manager, and more - and looked at least to my young eyes remarkably like the shiny, impressive, powerful and new Windows 95. I wanted to understand how it did it.

Here I saw for the first time significant source code not written by me; I saw custom components used in practice; I saw dropping below the wrapper layer that was the VCL to interact with the Windows API and took my first steps understanding what things like handles and device contexts were; I saw simply how something modern (Win 95's UI) could be easily created - that there was no magic. Shortly after, I started writing my own shell, cloning the Calmira or Windows 95 taskbar and Start menu, and although it was probably terrible code, I succeeded. I often started up and used Windows with my own shell.

But most of all this was a conceptual leap: I moved to thinking, of any app, ‘Software like this can be written -- and I can do that.’ I rapidly moved on to writing 3D engines, renderers, chat clients, and only a few years later by University had moved on to C, parsers and evaluators, and a kernel driver (but with a usermode control app in Delphi), and it was all up from there.

The inflection point, the insight, that moment that caused a change in conceptualisation -- that was due to Delphi.

Материал может быть удален по просьбе правообладателя


Calmira is a complete 16-bit shell that lets you manage files, launch applications and control tasks. It brings Windows 3.1 up to date with some of the advanced user interface enhancements from the Windows world, and for most people, provides welcome relief from the awkwardness of File Manager.

The installation is simple -- just copy a few files into a directory, make a small change to your system.ini file (optional), and you are ready to go. If you have used the Windows 95 interface before, you should feel quite at home, but in any case, it won't take long to get used to the new look and feel.

Calmira is free software covered by the GNU General Public License. The full Delphi source code is available for download (free), for all programers to make enhancements.

31th March 2008
New version of Calmira Longhorn (Vista) released

Please check out Как увидеть ссылки? | How to see hidden links? for more information and downloads.

14th August 2005
New Calmira LFN versions

Calmira LFN 3.3 by Alexandre Sousa has now left the Beta stage, and Calmira 3.3 with LFN support by Mark Stroberg has been updated, too. Please check out the Как увидеть ссылки? | How to see hidden links? page for the newest versions.

23th July 2005
Two new versions of Calmira with LFN support

There are now two different Beta versions of Calmira II 3.3 with LFN support available for download. Check out the Как увидеть ссылки? | How to see hidden links? page for details. Please remember that they, being Beta versions, can still contains bugs.
A German version of Calmira LFN 3.3 Beta 2 is also available. You will find it in the "Calmira International language versions" section of the download page.
If you find bugs or run into any other problem, please make sure to contact the respective author.

18th December 2003
A note regarding calmira.org

Recently, the calmira.org domain expired and has been hijacked by a domain harvester. This despite our efforts to register the domain when it expired. While concidered, filing a complaint with Как увидеть ссылки? | How to see hidden links? would most likely not succeed, since Calmira is not a registered trademark.

There are still many pages linking to calmira.org. We ask that all links to calmira.org be removed from your page and update them to our new domain: calmira.net. Please do not give these hijackers the satisfaction of making money on our name.

15th October 2003
Calmira II 3.31 Update released

This is a bugfix release to address the most nagging bugs in earlier releases. See the Как увидеть ссылки? | How to see hidden links? page for details on fixed bugs. Then go to the Как увидеть ссылки? | How to see hidden links? page to download.

Source to follow soon...

25th July 2003
Calmira.org is moving

Calmira.org's old webhost has pulled the plug, thus we are moving to a new host. For now, the site will be reachable under Как увидеть ссылки? | How to see hidden links? until we have the domain transfered.

Thank you Gaby, for generously providing this space!

11th May 2002
Calmira II 3.3 released

Calmira II 3.3 is a minor update. The Explorer has gained a file type column. But I primarely released version 3.3 so I could release the source code along with the binary release. From now on, there will be no more updates, only full releases using an installer. This keeps managing updates a little easier.

Go to the Как увидеть ссылки? | How to see hidden links? page to download.

9th February 2002
Calmira II 3.25 Update

I decided to release this interim update becuase 3.2 introduced a bug in combination with Internet Explorer (clicking OK in Internet Options hangs Calmira). Since work on 4.0 was already in progress, it also acts as a 'sneak preview', the main update being the enhanced taskbar.

Go to the Как увидеть ссылки? | How to see hidden links? page to download.

3rd January 2002
Calmira II 3.2 is out!

A little late, but now complete with source. Now I can start working on 4.0, which I hope will contain more "revolutionary" features, like a new-style file browse dialog, file type editor, Documents menu and who knows what...

What's new in Calmra II 3.2:

  • File System Change notification.
  • Return of the in-place Editbox (used with Rename, Duplicate and Create folder).
  • Show/hide statusbar in Explorer and Icon Windows.
  • Export start menu groups back to Program Manager.
  • Folder Properties now accessable form Explorer tree.
  • New start.bat replaces all previous bat files.
  • Enhanced folder opening from explorer.exe and start.bat; "\", ".." and "..\fldr" opens root, parent and sibbling folders.
  • Redesigned Select Files and Set File Filter dialogs.
  • Updated drawing of selected icons.
  • Renamed List View to Details.
  • Merged Date and Time columns.
    Go to the Как увидеть ссылки? | How to see hidden links? page to download.
    23rd December 2001
    Calmira and the ReactOS?

    Just got an interesting email from a member of the team for the Как увидеть ссылки? | How to see hidden links?. ReactOS is a project for an alternative operating system licensed under the GNU GPL license, and is intended to be a clone of Windows NT.
    Apparently, the ROS team is interested in incorporating the Calmira GUI into ROS. Well, if this goes forward, it ought to breathe a whole new life into Calmira. From what we have seen of the ROS in the past, this is a project that holds a lot of promise. :)
    The ReactOS site Как увидеть ссылки? | How to see hidden links?
    12th December 2001
    Calmira II 3.2 BETA 1 released

    Before the end of 2001, I intend to release the full Calmira 3.2 release, including installer and source code. There are still a lot of items on the wish list, but they will have to wait until Calmira II 4.0. For now, I am getting 3.2 ready for release.
    Go to the Как увидеть ссылки? | How to see hidden links? page to download.
    10th November 2001
    Registry Editor 3.2 beta released

    NEW for power users! In the next release of Calmira II, this powerfull registry editor will be included. But for now, downlaod the BETA version. It should be stable and not delete your entire registry (but make a backup anyway!) and some functions are still in development. But it is already more powerfull then the standard Windows Registry Editor.
    Go to the Как увидеть ссылки? | How to see hidden links? page to download.
    9th June 2001
    Calmira II 3.12 bugfix released

    Several bugs in 3.1 / 3.11 are fixed. See the readme file on the Как увидеть ссылки? | How to see hidden links? page for details.
    25th May 2001
    Calmira II 3.11 update released

    What's new in Calmira II 3.11:
    • Path combobox on Explorer and Icon Window toolbar
    • Added Find Text history in Find dialog.
    • All buttons now have the real Windows 95 look.
    • Added configurable delay in Taskbar animation.
    • New Fonts tab in Desktop properties.
    • New 'Go to' dialog in Explorer and on Desktop.
    • Clicking an active windows' task button will minimize the window.
    • Improved drag support: ctrl/shift/alt resp. will perform copy/move/make shortcut. Right button cancels dragging.
    • while dragging, tree and file panes will scroll by hovering over the scroll buttons.
    • Dragging objects over a task button activates the windows, so you can can drop anywhere in the program.
    • CTRL+TAB now changes tabs in dialogs. (had to remove CTRL+TAB for window switching.)
    • Redesigned Task Manager
    • Optimized Explorer resize/redraw code.
    • Improved browser configuration, now detects default browser.
    • Improved transparency for selected items on the start menu.
    • Improved Progman DDE support; icons added by setup programs are directly placed in the Start Menu properties dialog.
    • (internal) Calmira now uses one fixed global timer.
  • Go to the Как увидеть ссылки? | How to see hidden links? page to download.
    21st May 2001
    Welcome to the new homepage

    With the transfer to a new server, also comes the total revamp of our homepage. The move gave us the chance to do some much needed housekeeping and redesign the pages from scratch. We hope you like it.
    28th January 2001
    Calmira II 3.1 released

    What's new in Calmira II 3.1:
    • One pane Explorer
    • Start menu color can be set
    • Show window's own icons on taskbar
    • Opens .url files
    • Windows Desktop button in Desktop Properties
    • Full network support (map & share)
    • Resizable column header in list view
    • Redesigned several Properties dialogs
    • Log on as another user
    • Explorer.exe has /E switch
    • Taskmanager restarts Calmira
    • Calmira looks in registry for icons instead of win.ini
    • 'Open With' lists registered programs
    • ALT-F4 now works Calmira-wide
    • Improved ShellExecute error reporting
    • New PieChart component
    • New Registry object
    • All new Splash and About dialogs :)
    • FINALLY updated and revamped the help file
    • New default icon assignment method for start menu items
    • Instant icon preview when editing menu items and shortcuts
    • IE4 flat style buttons option for Explorer toolbar
    • Arrange shortcuts
    • Minimize all windows
  • Go to the Как увидеть ссылки? | How to see hidden links? page to download.
    Read more news in Как увидеть ссылки? | How to see hidden links?

Материал может быть удален по просьбе правообладателя