This is a small notify program, that sits on your desktop or in your taskbar and at a given moment signals to you that there is something to do. It is fully skinable and quite a smart scheduler.


Unzip the files into a directory of your choice. Edit the SKINular.rc to your preferred settings as follows.


This is what skin you want SKINular to use. Check out the skin/ directory for more info on them.


Should SKINular rember its position when it is closed down.

startX, startY

The startup position of SKINular, will be changed at shutdown if savePos=Yes.


If you want SKINular to snap to the screen edges, you can enter how close to the screen edge this should happen. The distance is measured in pixels. 0 disables this function.


Do you want SKINular to start in the system tray?


What should SKINular display? The three settings are:

  • Watch  : Displays the current system time
  • UpTime : Displays the current system Uptime
  • Count  : Displays the time left until the next event


By setting this to no, the SKINular window will remain in place whatever you try to do to it.


By default, SKINuler will not be shown in your tasklist. If you set ShowTask to yes then it will, making it possible to have SKINular on every virtual desktop under Litestep (and perhaps under other shells/vwmers).

Skin Commands

All the picture files can be of either BMP, JPG or GIF type


This is the main window of SKINular. The great pink makes for transparency. (ie 255, 0, 255)


This is the window used by the Message, About and Setup screens.

Again the great pink makes for transparency.




The close button on the window screen. CloseX and CloseY is its position.





This is the animation on the main window. If you dont want a animation just set the BitmapTime=0 and it will never be displayed. Bitmap is the default filename, and SKINular will try to load <bitmap-name>0.<bitmap-extention> as the first file in the animation (ie, if you but dot.bmp then it will load dot0.bmp as the first animation file). It will the load the next number each time Bitmaptime miliseconds has passed. When there exists no more files it will revert back to the first file.





TextBgColor=<hex color bgr>

TextFgColor=<hex color bgr>

These are the settings for the text on the main window. Settings textbgcolor to ff00ff makes it transparent.





MessageBgColor=<hex color bgr>

MessageFgColor=<hex color bgr>

These are the settings for the text on the popup window. Settings textbgcolor to ff00ff makes it transparent.

AlwaysOnTop=<1 or 0>

Should the SKINular window always be on top?


Should a right click on SKINuler bring up the popup menu?

Icon=<icon file>

Change the default icon used by SKINuler


Days is a comma seperated string that is used for a simple animation if there is more the 24 hours until the next event. SKINuler will display "days" in the time field and then for each passing second it will display the next item in the list, until the end is reached and it will start over again.


SKINuler alows you to define your own buttons, and add actions to these. It is done by adding a new entry to your skin.rc file, like this [Button] where Button is the name of the button, ie Exit, Setup etc. Under this entry you can add the following commands:

x = the x position of the button

y = the y position of the button

picture = the picture of the button

action = what the button does. The following are legal actions.

  • !popup - brings up the popupmenu
  • !about - brings up the about window
  • !refresh - refreshes the window
  • !exec - runs the program given as parameter and waits for it to finish
  • !systray - sends SKINuler to the systray
  • !exit - ends the program

If you want to run more then one command separate them with a semicolon.


The following entry would create a button at x = 1, y = 1 that ends the program


How to use

Once you have SKINuler up and running in a fashion that you like, it is time to edit the event list. This is done by selecting setup and waiting for the setup form to load. Once this form has loaded you can add new items by simply giving a none existing date/time combo in the combolist and hitting enter. If you want to rename of change a entry, select it and edit the fields. If you want to delete a item just set it to don't spawn and it will be removed after the next time it is shown. The spawning is at what intervals the message should be shown, and each time it is it will get a new entry based on the spawn value.

All the events are stored in the file SKINuler.dat. Each line contains one event and is comma separated. The first field is the time and date of the event, the second field is the message to display. the third field is the spawn value, a number between 0 and 7 as follows:

  • 0 : "Don't Spawn"
  • 1 : "Every Year"
  • 2 : "Every Month"
  • 3 : "Every Week"
  • 4 : "Every Day"
  • 5 : "Every Hour"
  • 6 : "Every Minute"
  • 7 : "Every Second"

Tips and Tricks

Well, first of all it should be noted that the program makes no difference between the two configuration files, and a variable can be inserted in any one (the exception is that if savepos is used the startx and starty are always written to SKINuler.rc). The point to make here is that the skin file is read after the SKINular.rc, so you could have a default value in SKINular.rc and the override it in the skin file.


Build 47

  • Removed the setup code from the main program
  • Created a stand alone setup program, for the people that don't want to use it, or if you want to write your own.
  • added the !exec command, that runs a dos program and waits for it to finish before continuing. Use this to run other programs or the setup program if you want to use it.
  • added the ability to run more then one bang command from each button, separate them with ;.

Build 46

  • Added some errorhandling if the SKINuler.rc points to a none existent or empty skin.rc
  • added the icon= command so that you can change SKINulers icon (Mountaineer)
  • Fixed a spelling error in the windows skin

Build 45

  • Added the ability to refresh SKINuler even when its in the systray.
  • Rewrote parts of the systray code, now everything should work as intended. Again, thnx to Mountaineer for spotting the bug

Build 44

  • Fixed a bug when the SKINuler.dat wasn't saved, thnx to Mountaineer for spotting this one
  • Removed the butterfly skin, since it might have been a copyright intrusion
  • Added the litestep skin by Mountaineer to demonstrate the animation feature.

Build 43

  • This was the first public release


SKINuler build 47