Taskbar version 1.0 ~~~~~~~~~~~~~~~~~~~ Table of Contents ----------------- Part 1 - Introduction Part 2 - What's New Part 3 - Installation Part 4 - Step.rc Commands a) XPosition b) YPosition c) Width d) Height e) TileSkins f) AutoHideDelay g) AutoHideTaskbr h) TaskbarStartButton i) StartButtonSize j) StartButtonText k) TaskbarSkin l) StartButtonImage m) StartButtonSkin n) StartButtonBorders o) ActiveButtonSkin p) ActiveButtonBorders q) InactiveButtonSkin r) InactiveButtonBorders s) TaskbarFore t) TaskbarFore2 u) TaskbarBack v) TaskbarText w) IconSize x) MSTaskbar Part 5 - Usage Part 6 - Problems/Incompatibilities Part 7 - Bug Reports/Suggestions Part 8 - Version History Part 9 - Future Plans Part 10 - Credits/Thanks Part 1 - Introduction This module first began when I took the Desktop module code for LiteStep and began coding a DarkStep version of the module. I had ripped out the taskbar and system tray components intending to do two separate modules to complement the slimmed down Desktop module. I almost immediately abandoned the systray module as Maduin had a really great systray module out at that time which worked fine with DarkStep out of the box. I tinkered with the taskbar module for a while but then abandoned it in favour of my existing LSTasks module as I hit some memory leak problems in the taskbar module that I couldn't identify the cause of. I released the Desktop module and then released a DS version of LSTasks (now named DSTasks) but never thought about the Taskbar module again till I began doing DSTasks 2.0. I hit the same memory leaks that I'd hit with Taskbar and I was stumped. Then I discovered a memory leak in the core of DarkStep and it became apparent to me that all of this was linked. So, once I got the memory leak in the DarkStep core fixed, I went back to the Taskbar module and was happy to discover that there was no memory leak now. So I added a few extra features to the Taskbar that I would have liked to have seen in the module originally. I then looked at the skinning on the Taskbar and realized that that could be improved upon too. So I did that and then took out a few redundant settings and arrived at what you see on your desktop now (if you've installed it already - if not, what are you waiting for? ) Part 2 - What's New This is essentially the same code used in the original LS taskbar and contains most of the same features. In addition to the original stuff, this also gives you the ability to specify where the Taskbar is initially displayed on the desktop, its width and height as well as a few other settings. You can also drag the Taskbar anywhere on the screen after it's displayed on the desktop. Part 3 - Installation a) Copy Taskbar.dll to your DarkStep directory. b) Add the line LoadModule C:\DarkStep\taskbar.dll to the [Startup] section of your step.rc file. C:\DarkStep\ being your DarkStep directory. c) Add a [Taskbar] section to your Step.Rc and add any settings you desire as described in Part 4. d) Recycle DarkStep with the !Recycle bang command. Part 4 - Step.rc commands In order to configure how Taskbar works on your system, you have to add a [Taskbar] section to your DarkStep Step.Rc. These are the valid settings for Taskbar. Note that any of the following settings marked as ::Theme:: can be set in a separate Taskbar.Rc file that has to be pointed to under the [Themes] section with a Taskbar entry that points to the file while any setting marked as ::User:: can only be specified in the [Taskbar] section in the Step.Rc: a) XPosition n Specifies the X coordinate for the upper left corner of the Taskbar in pixels where n is the number. If you specify a negative number the result will be your full screen width minus what you specify. Thus, if you specify -52 and you run at 800x600 the taskbars x position will be 548.::Theme:: Default: 0 ex: XPosition 20 b) YPosition n Specifies the Y coordinate for the upper left corner of the Taskbar in pixels where n is the number. If you specify a negative number the result will be your full screen height minus what you specify. Thus, if you specify -52 and you run at 800x600 the taskbars y position will be 748.::Theme:: Default: -Height command ex: YPosition 20 c) Width n Specifies the width of the Taskbar in pixels where n is the number. If you specify a negative number the result will be your full screen width minus what you specify. Thus, if you specify -52 and you run at 800x600 the taskbar's width will be 548. If you specify 0, the taskbar width will be your screen width.::Theme:: Default: 0 ex: Width -52 d) Height n Specifies the height of the Taskbar in pixels where n is the number. Negative numbers are not permited.::Theme:: Default: 16 ex: Height 75 e) TileSkins [on/off] Specifies whether or not to tile all bitmaps specified in the skin settings. If this is turned off, the bitmaps are stretched to fit the size of the button or window. Transparency is supported via the "magic pink" only if tiling is turned on.::Theme:: Default: off ex: TileSkins on f) AutoHideDelay n Specifies the length of time in miliseconds for the Taskbar to autohide if AutoHideTaskbr is set on where n is the number.::User:: Default: 500 ex: AutoHideDelay 20 g) AutoHideTaskbr [on/off] Allows the Taskbar to autohide. Length of time is dertermained by the AutoHideDelay command.::User:: Default: off ex: AutoHideTaskbr on h) TaskbarStartButton [on/off] Toggles between having a start button ala Windows.::Theme:: Default: off ex: TaskbarStartButton off i) StartButtonSize n Specifies the size of the start button where n is the number.::Theme:: Default: 32 ex: StartButtonSize 10 j) StartButtonText [text] If TaskbarStartButton is set to on, this will specify the text displayed on the start button.::Theme:: Default: start ex: StartButtonTest begin k) TaskbarSkin [bitmap] Specifies the image used to skin the taskbar itself.::Theme:: ex: TaskbarSkin taskbar.bmp l) StartButtonImage [bitmap] Sepcifies the icon to use for the start button. If default is selected or nothing is specified, the window logo is used. Use .extract to rip an icon from an exe or dll.::Theme:: Default: default ex: StartButtonImage .extract C:\demigod\CuteFTP\cut32.exe, 1 m) StartButtonSkin [bitmap] Specifies the image used to skin the start button.::Theme:: ex: StartButtonSkin start.bmp n) StartButtonBorders n n n n Specifies the borders of the bitmap specified in the StartButtonSkin command in pixels where n is the number. The order is left, top, right, and bottom.::Theme:: Default: 4 3 4 3 ex: StartButtonBorders 4 3 4 3 o) ActiveButtonSkin [bitmap] Specifies the image to be used for the active task button diaplayed in the taskbar. ::Theme:: ex: ActiveButtonSkin activetask.bmp p) ActiveButtonBorders n n n n Specifies the borders of the bitmap specified in the ActiveButtonSkin command in pixels where n is the number. The order is left, top, right, and bottom.::Theme:: Default: 4 3 4 3 ex: ActiveButtonBorders 4 3 4 3 q) InactiveButtonSkin [bitmap] Specifies the image to be used for inactive task buttons displayed in the taskbar. ::Theme:: ex: InactiveButtonSkin inactiveskin.bmp r) InactiveButtonBorders n n n n Specifies the borders of the bitmap specified in the InactiveButtonSkin command in pixels where n is the number. The order is left, top, right, and bottom.::Theme:: Default: 4 3 4 3 ex: ActiveButtonBorders 23 4 2 4 s) TaskbarFore RGB Specifies the top and left border color of the tasks in RGB format if no skin is specified.::Theme:: Default: 000000 ex: TaskbarFore FF0000 t) TaskbarFore2 RGB Specifies the right and bottom border color of the tasks in RGB format if no skin is specified.::Theme:: Default: 3F3F3F ex: TaskbarFore2 0000FF u) TaskbarBack RGB Specifies the taskbar color in RGB format if no skin is specified.::Theme:: Default: 7F7F7F ex: TaskbarBack 000000 v) TaskbarText RGB Specifies the tasks text color of the tasks in RGB format.::Theme:: Default: FFFFFF ex: TaskbarText FFFF00 w) IconSize n Specifies the tasks program icon size displayed in the taskbar.::Theme:: Default: 16 ex: IconSize 14 x) MSTaskbar [on/off] Allows the Taskbar to look and act like the default Windows Taskbar.::Theme:: Default: off ex: MSTaskbar off Part 5 - Usage The Taskbar displays all your active tasks and identifies the currently active one by showing it in a different manner than the rest of the tasks. You can click on the button for another task to make it the active task. If you click on the ative task button and the window for the task is visible, it will be minimized. If the window for the task you click on is minimized, it will be restored to its original size and then brought to the front. You can also right-click on a task button to display the system menu for that particular task. You can click on the Start button to display the Popup menu (if you have the Popup module loaded). Part 6 - Problems/Incompatibilities - The Taskbar skin might not always display properly as the task buttons usually cover the Taskbar completely Part 7 - Bug Reports/Suggestions There are several ways to get support or to offer suggestions: - You can stop in #ds_help on any EFNet IRC server and ask one of the ops - You can join the support@darkstep.com (http://darkstep.com/mailman/listinfo/support) or general@darkstep.com (http://darkstep.com/mailman/listinfo/general) mailing lists - You can use the web board at www.darkstep.com - You can e-mail me at FahimF@email.com Part 8 - Version History 1.0 (15 Mar 2000) - This is a new module based on the old LS taskbar code + Added the ability to specify the position and size of the Taskbar + Added the ability to drag the taskbar anywhere on the desktop * Changed the skinning format for the task buttons * Converted everything to the DarkStep API Part 9 - Future Plans I intend to add several !bang commands which would allow the Taskbar to be controlled via scriptlets. Part 10 - Credits/Thanks - Maduin for his skinning code - demigod, Bob Wells, TinOmen, Dethnite and all the other beta testers who've always been so helpful Fahim (FahimF@email.com) Taskbar documentation written and formatted by demigod and Fahim Farook. contact: demigod@darkstep.com last updated: 12/1/99 9:57AM