Out of the shadow and into the light!

The second of September 2000 was a special day for me. It saw the release of my own shell, core 1.0. It was soon followed by a bug fixed version, 1.1, and then I began work on what would be known as core 1.2. Seeing that I was capable of creating a shell I wanted to remedy a couple of design flaws and rewrite the parts of the shell that I wasn’t 100% pleased with.

Why core?

core stared out of three different reasons:

  1. I wanted to know if I could do it.
  2. I wanted to prove that a shell could be written in Visual Basic.
  3. I wanted a shell that I could extend using the language I preferred, Visual Basic.

core achieved all of these points, and I had a shell where I can introduce new ideas and features to the shell community, without having to spend the extra time it takes to do the same thing in c/c++. Core was the first shell (at least to my knowledge) that allowed the users a choice of where to store their settings. Core was also the first shell to have a scrollable systray.


This project is abandoned




The core lsxcommand clone. Supports diffrent mp3 players for title scrolling, includes a clock and a powerfull calculator.


core.console allows you to view what is happening in the system and to issue system commands.


core.desktop provides you with a full fledged desktop, with full icon support if you so wish. it tries to mimic the explorer desktop as much as possible, while retaining cores freedom of choice.


A simple hotkey modules for core. Bind any key combination to a !bang command.


core.monitor allows you to monitor almost any event in your system. It can then be displayed using text and/or graphics.


a simple popup module. uses the internal windows popups.


core.remote gives you the ability to remote control any application that uses window messages. Used in conjure with box you can build a nice mp3 player interface, or a interface for any other program for that mater.

settings (ini version)

settings module ini file version. using ini files to store you settings. easy to handle and to edit.

settings (registry version)

settings module registry version. using the registry to store you settings. if you like to have all your settings in one place.


core.shortcut is used to create shortcut links. This module can be used to create desktop icons or to build complex interfaces. Supporting great pink(tm) transperancy its a killer module.


core.startup handles the starting of all the items in the run keys and the startup folder. It supports explorers registry setting to check if the start up items have been run this session.


This is a systray module for core.


core.tasks is a simple task manager for the core shell.


core.traytasks is a adaptation (or a simple theft) of a idea from the litestep shell. It puts the currently running tasks into the systemtray, therefor creating one iconised area of importance to the user. If you want to create a minimalistic and screenefficient interface it is a usefull taskhandler. There are no settings for this module, use it if you want the tasks in you tray, otherwise dont.


core.users adds the information you want to You can display your loaded modules, you system specification and a screenshot.


core virtual window manager. A simple way to manage multiple desktops using !bang commands.


core.wrapper can host any other window in your system. It can be used to create floatable toolbars.


A port of Two_toNes excellent clock module for Cloud:9ine. The clock supports showing the time on both analogue and digital mode as well as showing the date. Each of these features can bo configured individually of each other.


When installing core and starting it up i get error 53.

You are using the ini settings module but the core.ini is missing from your core directory. Create it and the error will go away.

When i start up core it says that it couldn't find any modules and it's no use without them. All the modules are in the same directory as the core.exe file.

You need to add the modules to your settings. This is done in diffrent ways depending on the settings module you are using. Each instance of a module should have a section named whatever you want the instance to be know as and that section should contain the line module=.

When I attempt to load Core it tells me that no mods can be found and runing Core without them are useless.

This is due to the fact that core cant find your settings or your settings doesn't contain any modules to load. First make sure that you have a settings.dll in your core directory. Then make sure that it is registered (core should do this by itself, but make sure anyway), run:

regsvr32 settings.dll

the select a module to load, i will use console.dll in this example. Create a new section in your settings (a new key in the reg or a new section in the core.ini).

then add a module line with the path and the filename of the module, like this:


then it should work, but some modules expect more settings, and in the newer releases they are marked with a * next to the setting. Add these. A example for how the ini setup of console might look follows: