Taskbar3 0.7 alpha 1

by jesus_mjjg

Taskbar3.dll is a module that lets you have a taskbar, just like windows does, so you can click on taskbar buttons to switch to a window, minimize it, maximize it, ... but this time with much more customizations, effects, ... Taskbar3 was originally a rip from the default litestep taskbar.

It has been rewritten in the summer of 2003, and now allows button grouping, like Windows XP or KDE 3.1 do.

Since I was lucky enough to be able to use this module as my final school project, this release is just what i will show to my teachers and get points for.

This release is not for all users, but should give some hints on the new taskbar3. Any confirmed user willing to test is welcome, but settings will change for the official release.

What has been improved, compared to the last taskbar3 version (0.306 alpha x) is:

Image painting now uses one image with edges instead of three parts of images, drag and drop support is just like the Windows one (no more direct drag and drop at the moment), true transparency (not activated at the moment).

What this release is missing, compared to the last taskbar3 version (0.306 alpha x) is:

IconShow, TextShow, Font shadow, lists (*TaskbarNoFlash, *TaskbarRemove, *TaskbarAdd, *TaskbarHide and TaskbarHideTasks), mouse actions on the bar itself, TaskbarOnAdd, TaskbarOnDel, TaskbarOnFlashStart, TaskbarOnFlashStop, TaskbarRefresh, TaskbarMaxButtonCount.

I would like to thank the following coders, because I took some code out of their modules, or was inspired by their code: jugg (tasks.dll), Vendicator (systray2/vtray), RabidCow(RabidVWM), Maduin and Ilmcuts (label.dll), MickeM (shortcut3.dll). Thanks again to RabidCow (and MrMidi) for the XML schema that led to these docs.





Table of Contents

 






Installation

 


Copy Taskbar3.dll to the folder of your choice and add a LoadModule line for it.





Positionning

 


This is the basic positionning configuration of the module.

Taskbar3X
This sets the X position of the module.
Taskbar3Y
This sets the Y position of the module.
Taskbar3Width
This sets the width of the module.
Taskbar3Height
This sets the height of the module.
Taskbar3AlwaysOnTop
This sets the module's window always on top of other windows.
Taskbar3StartHidden
If this is set to true, then the module will start hidden.





Main window background

 


How to configure the background of the main window.

Taskbar3BgImage
The image to use as the background, will be stretched.
Taskbar3BgImageEdges
Define the parts of the image that will not be stretched in both direction when stretching the image.
Taskbar3BgColor
The color to use as a background.
Taskbar3LightBevel
Color of the light bevel (left and top) around the window.
Taskbar3DarkBevel
Color of the dark bevel (right and bottom) around the window.
Taskbar3BevelSize
The size of the bevels, in pixels.





Secondary window background

 


How to configure the background of the secondary window.

Taskbar3GroupBgImage
The image to use as the background, will be stretched.
Taskbar3GroupBgImageEdges
Define the parts of the image that will not be stretched in both direction when stretching the image.
Taskbar3GroupBgColor
The color to use as a background.
Taskbar3GroupLightBevel
Color of the light bevel (left and top) around the window.
Taskbar3GroupDarkBevel
Color of the dark bevel (right and bottom) around the window.
Taskbar3GroupBevelSize
The size of the bevels, in pixels.





Buttons background configuration

 


How to configure the background for the buttons (example with the Normal state).

Do this for all button states ( Normal, Active, Minimized, Flashing, Flashing2, Hover ).

Taskbar3NormalBgImage
The image to use as the background, will be stretched.
Taskbar3NormalBgImageEdges
Define the parts of the image that will not be stretched in both direction when stretching the image.
Taskbar3NormalBgColor
The color to use as a background.
Taskbar3NormalLightBevel
Color of the light bevel (left and top) around the window.
Taskbar3NormalDarkBevel
Color of the dark bevel (right and bottom) around the window.
Taskbar3NormalBevelSize
The size of the bevels, in pixels.





Buttons text configuration

 


How to configure the text shown in the buttons (example with the Normal state).

Do this for all button states ( Normal, Active, Minimized, Flashing, Flashing2, Hover ).

Taskbar3NormalFontFace
Sets the font face to be used in the taskbar buttons.
Taskbar3NormalFontHeight
Sets the font height to be used in the taskbar buttons.
Taskbar3NormalFontBold
Do we want the font to be bold.
Taskbar3NormalFontItalic
Do we want the font to be italic.
Taskbar3NormalFontUnderline
Do we want the font to be underlined.
Taskbar3NormalFontColor
Font color.
Taskbar3NormalTextRect
The border for the rectangle in which the text will be drawn (either one or four numbers for left, right, top, bottom).
Taskbar3NormalFontHAlign
Horizontal text alignment (center, right, left*).
Taskbar3NormalFontVAlign
Vertical text alignment (center*, bottom, top).





Buttons icon configuration

 


How to configure the icon shown in the buttons (example with the Normal state).

Do this for all button states ( Normal, Active, Minimized, Flashing, Flashing2, Hover ).

Taskbar3NormalIconX
The X coordinate for placing the icon inside the button.
Taskbar3NormalIconY
The Y coordinate for placing the icon inside the button.
Taskbar3NormalIconSize
The size (width and height) of the icon.
Taskbar3NormalUseSaturation
Do we want some saturation effect on the icon ?
Taskbar3NormalUseHueing
Do we want some hue effect on the icon ?
Taskbar3NormalHueColor
What's the color used for hueing.
Taskbar3NormalHueIntensity
What's the intensity of the hueing (between 0 and 255).
Taskbar3NormalSaturationIntensity
What's the intensity of the saturation (between 0 and 255).





Commands

 


These are the commands that can be configured in the step.rc.

The value can be anything amongst SimpleSelect, NormalSelect, GroupSimpleSelect, GroupNormalSelect, Minimize, Maximize, Restore, Menu, Close, Close2, GroupToggle, GroupShow, GroupHide.

Taskbar3OnLeftDownAction

What action will be triggered when you click the left mouse button on a taskbar button.

Taskbar3OnLeftUpAction

What action will be triggered when you release the left mouse button on a taskbar button.

Taskbar3OnRightDownAction

What action will be triggered when you click the right mouse button on a taskbar button.

Taskbar3OnRightUpAction

What action will be triggered when you release the right mouse button on a taskbar button.

Taskbar3OnMiddleDownAction

What action will be triggered when you click the middle mouse button on a taskbar button.

Taskbar3OnMiddleUpAction

What action will be triggered when you release the middle mouse button on a taskbar button.

Taskbar3OnHoverEnterAction

What action will be triggered when you hover a button.

Taskbar3OnHoverQuitAction

What action will be triggered when you unhover a button.





Configuration

 


Various configuration for this module.

Taskbar3ButtonSpacing
Space, in pixels between buttons.
Taskbar3Borders
The border size inside of which the text and the icon will be drawn (either one or four numbers for left, right, top, bottom).
Taskbar3ButtonWidth
The maximum width for a button.
Taskbar3ButtonHeight
The height for a button.
Taskbar3UseGrouping
Do we want to use buttons grouping, a la Windows XP/KDE 3.1.
Taskbar3ButtonDirection
In which (horizontal) direction buttons should go (left or right).
Taskbar3UseTooltips
Do we want to use tooltips on buttons.
Taskbar3UseBalloonTips
Do we want to use balloon tooltips. Not working at the moment.
Taskbar3MaxTooltipWidth
The maximum width for tooltips (the remaining text will go on the next line). Not working at the moment.
Taskbar3GroupPosition
Where do we want the grouped window to appear (compared to the main window). left, right, up, down.
Taskbar3GroupAlwaysInScreen
Do we want the grouped buttons window to remain inside the screen at all costs.
Taskbar3UseFlashing
Do we want buttons to change skin when a window is flashing (use Flashing in your text, icon and background config).
Taskbar3UseRealFlashing
Do we want buttons to really flash when a window is flashing (use Flashing and Flashing2 in your text, icon and background config).
Taskbar3UseHovering
Do we want buttons to change skin when the mouse hovers them (use Hover in your text, icon and background config).





Bang Commands

 


The following commands can be sent to the taskbar3 module when it is running.

!Taskbar3Hide
Allows you to hide a visible taskbar.
!Taskbar3Show
Allows you to show an hidden taskbar.
!Taskbar3Toggle
Lets you switch between a hidden and shown state.
!Taskbar3Move
Lets you resize the taskbar (negative number -> keeps setting), parameters: interger, integer.
!Taskbar3Size
Lets you move the taskbar (negative number work too), parameters: interger, integer.
!Taskbar3MoveBy
Lets you move the taskbar according to its actual positioning (negative number work too), parameters: interger, integer.
!Taskbar3SizeBy
Lets you resize the taskbar according to its actual size, parameters: interger, integer.





Source Code

 


The source code will be available later, since i need to fix various things in the code.

Meanwhile, anyone is welcome to mail me and ask for the source code.