################################################################ xoblite bb1 | 0.3.8.29 ########## [changed ConfigMenu.cpp, CommandItem.cpp, FolderItem.cpp, Settings.cpp/h 8/29/2003 qwilk] - Added an option (in the Configuration subfolder of the main menu) to disable the xoblite style extensions (e.g. menu.indicator and menu.frame/hilite.bulletColor, see below) - ...which can be used to verify that your cool new style is "backwards compatible"... =] - Setting saved to xoblite.disable.style.extensions: in extensions.rc [changed Settings.cpp/h 8/29/2003 qwilk] - Added support for the xoblite style extensions (e.g. menu.indicator) to GetColor/GetString [added StyleFolder.cpp/h, MenuMaker.cpp, Menu.cpp, Desk.cpp, Settings.cpp/h, CommandItem.cpp, ConfigMenu.cpp 8/26/2003 qwilk] - Added an option (in the Configuration subfolder of the main menu) to show a "Styles" menu instead of the Workspaces menu when mid clicking on the desktop! (extensions.rc settings: xoblite.midclick.stylesMenu: and xoblite.stylesFolder: ) - Using new [stylestree] menu command (adds items and subfolders of the specified path, alphabetical order, folders at the top) - You can still access the "other" menu by holding down the Alt key while mid clicking on the desktop (ie. if the Styles menu is enabled -> Workspaces menu, and vice versa) [changed FolderItem.cpp 8/23/2003 qwilk] - Tweaked the menu bullet positioning... again!!! [changed Systembar.cpp 8/12/2003 qwilk] - Mid click on the systembar while "DockedToToolbar" no longer hides the toolbar [changed BBApi.h 8/10/2003 qwilk] - Added a "dummy" SetTaskWorkspace function for BBPager compatibility (bb4win requires it, xoblite does not...) [changed TrayManager.cpp/h, Blackbox.cpp, BImage.cpp/h, BBApi.cpp 8/10/2003 qwilk] - Fixed the occasional "crash on quit" bug - Fixed a minor mem leak in BImage (sqrt_table was not deleted on destroy) - Changed main window class to "xoblite" and window name to NULL (and modified GetBBWnd() accordingly) to prevent the main window name from showing up on the toolbar at startup if no other windows exist) [changed BBApi.cpp, Settings.cpp 8/10/2003 qwilk] - Using an empty "" string as the filepointer now makes xoblite fetch a style setting directly from Settings (ie. the same thing as setting the filepointer to NULL, see 7/6/2003 entry below) - Fetching wildcard items using the above method is now supported too - Tip: Plugin devs can use GetBBVersion() followed by an IsInString check for "bb" in the version string to detect if the parent shell is xoblite or bb4win (this works because the xoblite versions are called bb1, bb2... whereas bb4win uses 0.x.xx version numbering -> if "bb" is found in the version string the parent shell is xoblite, otherwise it is bb4win) [changed CommandItem.cpp 8/10/2003 qwilk] - Slit plugin positioning method is now saved as xoblite.slit.positioning: , where currently is "SideBySide" (the standard method) or "Puzzle" - Replaces the temporary xoblite.slit.experimental setting [changed Toolbar.cpp, Systembar.cpp, Menu.cpp 8/10/2003 qwilk] - Changed the names of the other core windows to "BBToolbar", "BBSystembar" and "BBMenu" (however the desktop still uses "DesktopBackgroundClass") [changed Slit.cpp 8/5/2003 qwilk] - Changed the name of the slit window to "BBSlit" to fix a problem with a wicked plugin... (used to be called simply "Slit" in line with the other UI elements, while "BBSlit" is what is currently used by Tres`ni's Blackbox for Windows plugin) [changed xoblite.ico, *.cpp/h 7/24/2003 qwilk] - New icon (blend of the xoblite "x" and the black box from 0.0.70) - Minor bug fixes and behaviour corrections... =] [changed ToolbarMenu.cpp, SystembarMenu.cpp, SlitMenu.cpp 7/24/2003 qwilk] - Added a show/hide plugins menu item [changed FolderItem.cpp, Settings.cpp/h 7/24/2003 qwilk] - Added support for three new style settings: menu.indicator, menu.indicator.color and menu.indicator.colorTo - Fully backwards compatible (uses menu.hilite settings if not specified) [changed FolderItem.cpp, Settings.cpp/h 7/24/2003 qwilk] - Added support for two new style settings: menu.frame.bulletColor and menu.hilite.bulletColor - Fully backwards compatible (uses textColor settings if not specified) - A third style setting, window.button.pressed.picColor, is also defined but not specifically handled by the core (supported by the GradTest plugin) [changed FolderItem.cpp, Settings.cpp/h 7/24/2003 qwilk] - Brought back the smaller diamond bullet to be used in the new "alternative" bullet mode (which also includes the *nix arrows used for the toolbar (and the menu if "triangle" bullets are used)) - Changed extensions.rc setting (again!) to xoblite.alternative.bullets: , configurable using the Configuration submenu [changed Workspaces.cpp, Menu.cpp, FolderItem.cpp 7/24/2003 qwilk] - Merged in Tres`ni's multimonitor code [changed MenuMaker.cpp 7/23/2003 qwilk] - Current style was not indicated for [stylesdir] menu items - Applied a fix for missing [path] items (thanks grischka for the heads-up) [changed FolderItem.cpp 7/22/2003 qwilk] - The "circle" bullet now works under Windows 9x/ME (using Arc instead of AngleArc) [changed BBApi.cpp, PluginManager.cpp 7/20/2003 qwilk] - Now displays an informative MessageBox when a plugin is excluded... :) - Tweaked a few information and error messages + log text [changed FolderItem.cpp 7/20/2003 qwilk] - Fixed diamond bullets under Windows 9x/ME (thanks grischka) - Triangle bullets are now painted using MoveToEx/LineTo as well, as a security precausion... (see above) [changed *.cpp/h 7/20/2003 qwilk] - Added #ifndef/#define/#endif's for functions/parameters normally defined by the Core Platform SDK, making it possible to compile xoblite with a "standard" setup + ShFolder.lib only [changed MenuMaker.cpp, FolderItem.cpp, CommandItem.cpp, Settings.cpp/h 7/16/2003 qwilk] - *Much* improved menu rendering! :D - Fixed bottom items not being created, and not included in all folders - Changed *nix arrows to be used for both the toolbar and the menu (if "triangle" bullets are used), changed extensions.rc setting to xoblite.alternative.arrows: , configurable using the Configuration submenu [changed SlitMenu.cpp, CommandItem.cpp 7/16/2003 qwilk] - Slit plugin positioning mode can now be selected from the slit menu [changed Blackbox.dsw, BBApi.h, *.cpp/h 7/12/2003 qwilk] - Now using compiler option /G6 ("optimizes code for the Intel Pentium Pro, Pentium II, Pentium III, and Pentium 4 processors") - Moved applicable compiler exclusion defines to BBApi.h and removed stdafx.h - Code clean-up and minor fixes [changed CommandItem.cpp, Systembar.cpp 7/11/2003 qwilk] - Docking the systembar to the slit now automatically changes slit orientation to horizontal - Fixed a bug that would make the systembar disappear if selecting "Docked To Slit" from the systembar placement menu while already docked to slit [changed Slit.cpp, Settings.cpp/h 7/11/2003 qwilk] - Added some *experimental* support for automatic positioning of plugins within the slit, enabled through "xoblite.slit.experimental: true" in extensions.rc (not supported yet) - Not anywhere near finished, but could be attractive to some people I guess... :) - Hmm, I should be finishing bb1, not adding new experimental stuff! [changed Systembar.cpp 7/9/2003 qwilk] - Fixed slit plugins not being able to update until after the first style change (the reconfigure lock was not set to false at startup, ie. it blocked out SLIT_UPDATE) [changed ToolbarMenu.cpp, SystembarMenu.cpp, SlitMenu.cpp 7/9/2003 qwilk] - Visibility for the "other" elements can now be toggled from the Toolbar/Systembar/Slit menus - Availability of a toggle menu item depends on "DockedTo" status (ie. if the systembar is DockedToSlit it can not be hidden from the Toolbar menu) - Slit visibility items are only available if there are plugins docked to the slit [changed Systembar.cpp/h, Blackbox.cpp, SystembarMenu.cpp, CommandItem.cpp 7/8/2003 qwilk] - Changed DockedToSlit to be a regular systembar placement option - Removed the xoblite.systembar.dockedToSlit setting in extensions.rc (no longer used) - The systembar now inherits the AlwaysOnTop setting and toolbar alpha transparency value if DockedToToolbar [changed Systembar.cpp 7/8/2003 qwilk] - Fixed a bug where tooltips, if disabled at startup, would not show until after choosing show/hide/show from the systembar menu [changed Blackbox.cpp 7/8/2003 qwilk] - Fixed a bug where an empty slit would be made visible after restart [changed Settings.cpp, MenuMaker.cpp 7/7/2003 qwilk] - If the current menu file is found invalid, xoblite will now ask you if you want to "create a new menu file with default items?". If you answer yes, your current menu file will be replaced by the default menu file; if you answer no your current menu file will be opened for editing - This works around a bug in MenuMaker::ParseMenu and Settings::WriteDefaultMenu that on rare occasions (an invalid menu file at $Blackbox$\menu.rc) could lead to an empty menu, plus it is more newbie-friendly... - The default blackbox.rc and menu.rc files are now saved in DOS text (CR+LF) file format (if you fall back to the default menu you probably have no need for easy *nix compatibility either, but rather the simplicity of the DOS text file format under Windows...) [changed BBApi.cpp/h, Settings.cpp, Blackbox.cpp 7/7/2003 qwilk] - Added multi-user support, see ConfigFileExists in BBApi.cpp/h! :D - New application environment variable: $UserAppData$ -> c:\Documents and Settings\%USERNAME%\Application Data - xoblite now looks for the core config files (blackbox/plugins/extensions.rc) first in in $UserAppData$\Blackbox, then in the Blackbox directory, which makes it possible for each user on a computer to have different core configuration setups - ConfigFileExists can optionally take a plugin directory as an argument and check this location too, simplifying the process of making plugins multi-user compatible (if a plugin directory is specified, xoblite will look for config files in the order $UserAppData$\Blackbox -> Plugin directory -> Blackbox directory ) [changed Slit.cpp/h, Blackbox.cpp 7/7/2003 qwilk] - The slit is now locked for 500 msec after BB_RECONFIGURE to avoid repeated SLIT_UPDATE messages from plugins (which prevents repeated repainting of the slit), saving CPU cycles and making reconfigure faster - Coupled with "NULL-enabled" plugins (see below) this makes changing styles *much* faster! :D - The slit window is now hidden on reconfigure to "hide" any display artifacts that may appear while updating all plugins... :) [changed MenuMaker.cpp 7/7/2003 qwilk] - Current style is now indicated in the style menus [changed BBApi.cpp 7/7/2003 qwilk] - plugins.rc is now saved in DOS text (CR+LF) file format [changed BBApi.cpp 7/6/2003 qwilk] - Fixed a bug in ReplaceEnvVars that would lead to missing null character [changed Settings.cpp 7/6/2003 qwilk] - Global environment variables %xxx% can now be used for session.menu and session.styleFile in blackbox.rc as well, making it possible to e.g. have a separate menu file for each user (-> session.menuFile: C:\Documents and Settings\%USERNAME%\Application Data\Blackbox\menu.rc ) [changed Settings.cpp/h, BBApi.cpp/h 7/6/2003 qwilk] - If the filepointer is set to NULL, the ReadInt/String/Color functions will now fetch their return values directly from Settings, which makes it possible for plugins to take advantage of e.g. style item wildcard and substitution support in the core! - Does not break legacy support, but improves startup/restart time drastically on at least faster computers (instead of each plugin having to read directly from the style file) - Please note that only toolbar and menu style settings are supported (for now), mainly because the other settings are not commonly used by plugins [changed BBApi.cpp/h, Settings.cpp 7/6/2003 qwilk] - Added basic font substitution for *nix-only fonts (to be improved in a later release, not to be used by plugin developers yet!) - Improved wildcard support (toolbar*font, menu*font) [changed PluginManager.cpp 7/6/2003 qwilk] - Plugins are now shown before loading a new plugin (needed for visibility consistency) - BBDDE is now excluded if running on top of Explorer [changed MenuMaker.cpp 7/5/2003 qwilk] - Bullets are now on the right by default (makes more sense since subfolders open to the right) - Left and right indent is now set differently depending on bullet position (if using the "empty" bullet the left and right indent is set to the same value) - Bullet type "arrow" is now parsed as "triangle" (noticed some styles were using it) [changed Systembar.cpp 7/5/2003 qwilk] - Merged in NC-17's tooltip delay fix from 5/3/2003 [changed Toolbar.cpp, Systembar.cpp, Slit.cpp, Menu.cpp 7/5/2003 qwilk] - Now using session.screen%d.edgeSnapThreshold in blackbox.rc as snap threshold... [changed Slit.cpp, SlitMenu.cpp, CommandItem.cpp 7/5/2003 qwilk] - Added "OppositeToolbar" placement for the slit [changed Blackbox.cpp, ConfigMenu.cpp, CommandItem.cpp 7/5/2003 qwilk] - The internal system tray can now be enabled/disabled from the "Configuration" menu - Running of startup apps can now be enabled/disabled from the "Configuration" menu - These two menu items are not displayed when running on top of Explorer - Removed the -nosystray switch (no longer necessary) [changed Settings.cpp 7/5/2003 qwilk] - Now using ZeroMemory for the StyleItems in the constructor (thanks grischka) [changed Blackbox.cpp 7/5/2003 qwilk] - Updated the About box with copyright statements for BImage [changed Systembar.cpp 7/4/2003 qwilk] - Tasks are no longer redrawn if task text changes (BB_REDRAW) and icon mode is used [changed ConfigMenu.cpp/h, CommandItem.cpp/h 7/4/2003 qwilk] - Commented out not currently used configuration item code [changed MenuMaker.cpp 7/4/2003 qwilk] - Nailed a few mem leaks caused by all the new menus... [changed *.cpp/h 7/4/2003 qwilk] - Added support for application environment variables (see ReplaceShellFolders in BBApi.cpp/h) $ProgramFiles$ $Blackbox$ $StartMenu$ $CommonStartMenu$ $Desktop$ (thanks Mortar for the helping hand!) - Rewrote menuPath() and stylePath() to use these env vars when saving to blackbox.rc (replaces .\ as outlined below, ie. removes hard-coded paths to config files) [changed Systembar.cpp/h, SystembarMenu.cpp, CommandItem.cpp 7/4/2003 qwilk] - Taskbar mode (icons/bars) is now selectable from the systembar menu - Shift+right click on tasks now opens the systembar menu (useful on lowres screens - thanks frantic!) - MinimizeAll is now X1 or Alt+Right click on tasks, RestoreAll is X2 or Alt+Left click on tasks (general change where Alt -> "Alternate behaviour", in this case Right click to minimize, and Alt+Right click to MinimizeAll) [changed PluginManager.cpp/h, ConfigMenu.cpp/h, SlitMenu.cpp/h, PluginMenu.cpp/h 7/2/2003 qwilk] - Plugin handling (load/unload) is now performed using the menu! :D (please note that manual editing of plugins.rc is still allowed for e.g. changing of the order of plugins in the slit) - Added beginPluginEx to be used by "self-aware" plugins, ie. plugins that keep track of their slit status (docked/undocked) themselves, for improved ease-of-use (no need for &-loading of plugins except for some rare cases) - Plugins are started either using beginPluginEx if available, then if &-loaded using beginSlitPlugin, then using beginPlugin, and finally using beginSlitPlugin regardless of whether the plugin was &-loaded or not (these cases should allow for all combinations of plugin capabilities as far as I can tell) - Added the plugin handling menu as a main menu subfolder under "Configuration" and in the root of the slit menu - Removed "load/unload using drag'n'drop to the desktop" (see below, no longer necessary) [changed PluginManager.cpp 7/1/2003 qwilk] - Further changes to the plugin loading code, checking if a plugin (.dll) is already loaded etc. - Plugins can now be loaded by drag'n'drop to the desktop (unload -> Alt + drag'n'drop) - Writes list of currently loaded plugins to plugins.rc on quit/restart (using relative paths where applicable!) :D [changed PluginManager.cpp 6/30/2003 qwilk] - Rewrote the plugin loading code (should be more error resilient now) - Updated error messages and logging when a plugin fails due to missing functions or an exception during try/catch [changed Blackbox.cpp 6/30/2003 qwilk] - Rewrote Hide/ShowExplorer using a similar approach as in Blackbox for Windows (should be more foolproof) [changed Systembar.cpp 6/29/2003 qwilk] - Fixed a bug where the systembar menu could not be accessed when running under Explorer [changed PluginManager.cpp 6/28/2003 qwilk] - Fixed a bug where no plugins would be loaded after one had been excluded (e.g. BBSystembar.dll)... *headsmack* [changed Systembar.cpp 6/26/2003 qwilk] - The word "xoblite" will be drawn centered on the systembar if there are no running tasks... =] [changed Systembar.cpp, Settings.cpp/h, SystembarMenu.cpp, CommandItem.cpp, Toolbar.cpp 6/26/2003 qwilk] - The systembar can now be docked to the slit! (horizontal slit alignment is recommended... ) - Tooltips can now be enabled/disabled from the systembar menu - Mid click on the toolbar will toggle the slit instead of the systembar if the systembar is docked to the slit [changed Blackbox.cpp 6/25/2003 qwilk] - If a chosen style is in a subfolder to the Blackbox folder, the style path is now saved to blackbox.rc using the relative path (example: "C:\Blackbox\styles\charcoal" becomes ".\styles\charcoal"). This way the Blackbox folder can be moved, and the style path will still work! :D [changed CommandItem.cpp, Toolbar.cpp, Systembar.cpp, Slit.cpp, Workspaces.cpp 6/25/2003 qwilk] - All applicable settings are now saved to blackbox.rc / extensions.rc on change (using Write* functions) Please note that some settings, such as toolbar and systembar width, are saved on restart/quit instead due to the way the are updated (in the case of toolbar and systembar width, using the mousewheel which would lead to frequent writing to the config files if done on each small change of the width) [changed Settings.cpp/h 6/24/2003 qwilk] - Commented out all references to "Window" style settings since these will not be handled by the core anyway [changed BBApi.h 6/24/2003 qwilk] - Renamed BB_TOGGLETRAY to BB_TOGGLESYSTEMBAR (makes more sense since what is toggled is actually the systembar...). Please note that the defined value is the same as for BB_TOGGLETRAY = 10303, which means it is backwards compatible [changed Blackbox.cpp 6/24/2003 qwilk] - Now using MessageBoxIndirect for the "About" window -> displays xoblite icon [changed ConfigMenu.cpp/h 6/24/2003 qwilk] - Added a "Visibility" (show/hide UI elements) folder to the configuration menu [changed Toolbar.cpp, Systembar.cpp 6/24/2003 qwilk] - Mousewheel resizing of the toolbar will now resize the systembar as well if it is DockedToToolbar - Mousewheel resizing of the systembar is not possible if DockedToToolbar (linked to toolbar size) [changed CommandItem.cpp, ConfigMenu.cpp 6/24/2003 qwilk] - Now using IsInString to minimize the number of stricmp's [added SystembarMenu.cpp/h, Systembar.cpp, Menu.cpp 6/24/2003 qwilk] - Added a separate menu for the systembar - Renumbered the BB_MENU command parameter: Systembar menu is now #3, Slit menu is #4 [changed Systembar.cpp/h 6/24/2003 qwilk] - Fixed a few bugs in the taskbar code, renamed a few functions... :) [changed BBApi.cpp/h, Toolbar.cpp, Systembar.cpp 6/23/2003 qwilk] - Finally realized that ironhead's Write* functions can be really useful... *headsmack* - Started implementing support for extensions.rc settings in e.g. Toolbar and Systembar [changed *.cpp/h 6/23/2003 qwilk] - Changed all copyright references in the header of the files to "xoblite" etc. [changed Systembar.cpp 6/15/2003 qwilk] - Added a workaround to prevent Microsoft Powerpoint from adding duplicate tasks to the taskbar... (filters out "Microsoft Powerpoint - [" using IsInString) [changed BBApi.cpp, Menu.cpp 6/14/2003 Tres`ni] - ReadBool now acts like the other Read calls, returning default if it's not found - Menus no longer scroll up if at the bottom of screen and not being larger then the screen [changed Systembar.cpp 6/12/2003 qwilk] - Merged in a fix by NC-17 that makes the systembar fetch the large icon for tasks that do not have a small icon (e.g. Task Manager, Miranda message windows...) [changed Desk.cpp 6/8/2003 qwilk] - Changed left click on desk to hide the menu on WM_LBUTTONDOWN instead of WM_LBUTTONUP (feels more responsive) [changed BBApi.h, CommandItem.cpp, Toolbar.cpp, Systembar.cpp 6/7/2003 qwilk] - Added a new BB_TOGGLETOOLBAR message to the API (#define -> 10308) - Added two new menu commands: [toggletoolbar] and [togglesystembar] - Mid click on the systembar now toggles the toolbar (mid click on the toolbar still toggles the systembar) [changed Toolbar.cpp, Systembar.cpp 6/7/2003 qwilk] - Finetuned and enabled the toolbar/systembar mousewheel resizing code... 8) [changed BBApi.cpp/h, Settings.cpp/h, Toolbar.cpp, Systembar.cpp, Slit.cpp, Menu.cpp 6/7/2003 qwilk] - Added the SetTransparency function to the API (should still be Windows 9x/ME compatible - thanks grischka!) - Transparency can now be set independently for the toolbar, systembar, slit and menu using xoblite.***.transparency.alpha: in extensions.rc (where *** can be any of the GUI elements listed above) [changed Slit.cpp 6/3/2003 qwilk] - The slit window now snaps to screen edges if dragged (thanks Mortar for pointing it out) [changed Systembar.cpp/h 6/1/2003 qwilk] - Changed the taskbar icon mode to be similar (display-wise) to the "Iconized" mode in bladestaylor's BBSystemBarEx [changed Systembar.cpp/h, Settings.cpp/h 5/30/2003 qwilk] - The default taskbar mode (bars/icons) is now configurable using xoblite.systembar.iconMode: in extensions.rc [changed Systembar.cpp 5/30/2003 qwilk] - Fixed a bug that would sometimes crash Blackbox when left/right-clicking on the systembar... - Saturation/hue is now applied to task icons as well (icon mode) [changed SlitMenu.cpp 5/29/2003 qwilk] - Added "About loaded plugins..." to the slit menu [changed MenuMaker.cpp 5/5/2003 NC-17] - .lnk file extensions are stripped case-insensitive now (thanks theorem) [changed Settings.cpp/h, Menu.cpp, MenuMaker.cpp 5/3/2003 NC-17/qwilk] - Long menus now scroll - speed setting is xoblite.menu.scrollSpeed: in extensions.rc (NOTE: higher number -> faster scrolling!) [changed MenuMaker.cpp, Settings.cpp/h 4/27/2003 NC-17/qwilk] - Submenu delay is now configurable using xoblite.submenu.delay in extensions.rc [added SlitMenu.cpp/h, Menu.cpp, MenuMaker.cpp, BBApi.cpp 4/26/2003 qwilk] - Changed the slit menu to internal handling instead of plugin menus (got tired of tracking an access violation bug...) [changed PluginManger.cpp 4/09/2003 Tres`ni] - Merged in Tres`ni's fix for crash on failure to load a plugin - PluginManager will attempt to load all plugins instead of stopping when a plugin doesn't load correctly - Changed the failed plugin check from try/catch to a regular if==0 [changed Slit.cpp 4/22/2003 qwilk] - Finetuned the slit plugin positioning code, should be almost perfect now! :D [changed *.cpp/h 4/22/2003 qwilk] - Changed applicable references (e.g. MessageBox titles, about boxes...) to "xoblite" instead of "Blackbox for Windows" to avoid confusion - Changed all extensions.rc settings to "xoblite.config.parameter" syntax (this makes it possible to have both xoblite and Blackbox for Windows configuration parameters in the same file) - Renamed Blackbox.log to xoblite.log (see BBApi.cpp) [changed Toolbar.cpp 4/21/2003 qwilk] - Fixed GetTextExtentPoint32 (did not actually use the font itself, only the name of the font... *blushing*) [changed Slit.cpp 4/21/2003 qwilk] - Fixed a bug in UpdatePluginPositions() that made the slit plugins disappear every once in a while... [changed PluginManager.cpp 4/20/2003 qwilk] - Removed redundant code in the slit plugin loading routine (thanks ilmcuts for the heads-up) [changed Desk.cpp 4/20/2003 qwilk] - Shift+MidClick on the desktop now toggles the slit shown/hidden (*S*hift -> *S*lit), and Ctrl+MidClick toggles the plugins shown/hidden [changed Slit.cpp/h 4/20/2003 qwilk] - The plugins are now centered automagically within the slit window - Added comments and cleaned up some code [added PluginManager.cpp 4/20/2003 qwilk] - Will no longer load BBSystemBar/BBSlit/BBTray.dll even if listed in plugins.rc (integrated functionality) - Makes it easier to switch between bb4win and xoblite... [added BBApi.h 4/20/2003 qwilk] - Moved the slit messages to BBApi.h to make them more "accepted"... [added Slit.cpp/h, Blackbox.cpp 4/20/2003 qwilk] - Merged in applicable parts of Tres`ni's BBSlit plugin code + tweaked it for the core [changed FolderItem.cpp 4/17/2003 NC-17] - Submenus opening at the bottom of the screen are no longer moved up by 2*borderWidth [changed Toolbar.cpp/h 4/13/2003 Tres`ni] - Original DesktopArea setting is now restored when Blackbox exits (SF request ID 713753) [changed FolderItem.cpp 4/10/2003 Tres`ni] - Fix for BUG 669084 and BUG 711111: See if the parent menu has been moved before positioning relative to the root menu [changed Menu.cpp, TitleItem.h 4/09/2003 Tres`ni] - No more crashing if a messagebox is left open before a reconfig (?) - Clicking a [nop] item no longer hides the menu [added Toolbar.cpp, Settings.cpp/h 4/3/2003 qwilk] - Toolbar button arrow style (classic/unix) is now configurable through blackbox.toolbar.unix.arrows in extensions.rc, for die-hard people like dreamer... [changed Blackbox.cpp 4/2/2003 qwilk] - Commented out the -install path setting code (not required as of BBHook 1.1) [changed Toolbar.cpp, Systembar.cpp 4/1/2003 grishka] - Fixed font resource leaks on Windows 9x/ME systems [changed Desk.cpp 3/29/2003 qwilk] - Shift+MidClick on the desktop now toggles plugins shown/hidden [changed BBApi.cpp/h, MenuMaker.cpp 3/28/2003 smathy] - Added the ReplaceEnvVars() function to BBApi and added calls to that function to MenuMaker.cpp to enable environment variable support in menu.rc [changed Menu.cpp/h 3/27/2003 NC-17] - The menu now detects changes, and will update automagically when you open it [changed TrayManager.cpp 3/24/2003 qwilk] - Fixed tray icon tooltip positions not being set/updated correctly [changed Systembar.cpp 3/23/2003 qwilk] - Added two more pixels of padding on each side of the task text (looks better) [changed TrayManager.cpp/h, Systembar.cpp 3/23/2003 qwilk] - Fixed flickering tasks when tray icons were rapidly modified... [added Toolbar.cpp, Settings.cpp/h, Blackbox.cpp 3/23/2003 qwilk] - Added option to hide the toolbar through blackbox.toolbar.hidden in extensions.rc [added Workspaces.cpp 3/23/2003 qwilk] - Current workspace now follows the active task automatically, by listening to the same BB_ACTIVETASK messages used by the systembar (which means Blackbox is now "Alt+Tab aware"...) [added Toolbar.cpp, Settings.cpp/h 3/23/2003 qwilk] - Added option to desktop area through blackbox.desktop.area in extensions.rc (takes left/top/right/bottom offsets as parameters, e.g. "blackbox.desktop.area: 4 22 4 28") - The old "stay away from the toolbar" code will be used if blackbox.desktop.area is not defined - Enabling "Full maximization" in the config menu will override the blackbox.desktop.area setting [changed BBApi.cpp/h, Blackbox.cpp, Toolbar.cpp, Systembar.cpp... 3/23/2003 ironhead/JK/qwilk] - Merged in applicable pieces of ironhead's sticky window and workspace fixes - Merged in Jason King's LastDesk code [changed TrayManager.cpp/h, Systembar.cpp 2/20/2003 ironhead/qwilk] - Merged in ironhead's latest traymanager updates (now based on the geOShell implementation, which apparently was a bit cleaner than our previous one), which should fix the remaining issues with e.g. the taskmgr icons in WinXP! :D [added Systembar.cpp, Settings.cpp/h 2/20/2003 qwilk] - Added option to disable the taskbar through blackbox.taskbar.disable in extensions.rc - This simply disables the task display part of the systembar, as the task handling overhead is minimal plus it is used by other functions in the core such as lower/raise etc. - To enable the taskbar again you simply need to set the bool mentioned above back to "false" and restart Blackbox - plain'n'simple! :) [added Blackbox.cpp 2/12/2003 qwilk] - Blackbox now displays the name+author of the selected style on style change or reconfigure [added Settings.cpp/h, Blackbox.cpp 2/12/2003 qwilk] - Added pluginsStartHidden (blackbox.plugins.startHidden) to extensions.rc parsing - Check on startup/restart and hides the plugins if enabled [changed Settings.cpp 2/11/2003 qwilk] - Changed all hardcoded c:\Blackbox\ references to .\ - This makes them work whereever the user chooses to install Blackbox! :D [changed Blackbox.cpp 2/11/2003 qwilk] - Blackbox now re-reads the style settings on restart as well (previously only done on reconfigure) [added PluginManager.cpp/h, CommandItem.cpp 2/8/2003 qwilk] - Introduced a new plugin function - pluginInfo - used by Blackbox to retrieve information (name, version, author...) about the particular plugin - This function is already supported by multiamp bb4... :) - Added PluginManager::aboutPlugins() which lists information for all loaded plugins (if a particular plugin does not support the pluginInfo function it shows the path instead) - Changed the [aboutplugins] menu command to use PluginManager::aboutPlugins() [changed Blackbox.cpp 2/5/2003 ironhead/qwilk] - Merged in ironhead's new -install/-uninstall and system path code, tweaked it a bit further, fixed a few bugs, and added a few more MessageBoxes with useful information [changed Toolbar.cpp, TitleItem.h, Systembar.cpp 1/31/2003 ironhead] - Fixed ampersands making the next character underlined [changed Systembar.cpp 1/22/2003 qwilk] - Fixed a bug where both saturation<255 and hue>0 had to be true for either to be enabled (was using AND instead of OR) [changed Systembar.cpp, Settings.cpp/h 1/22/2003 qwilk] - Made it possible to disable tooltips through blackbox.tooltips.disable in extensions.rc! [changed Systembar.cpp 1/22/2003 qwilk] - Changed uFlags to TTF_SUBCLASS in SetToolTip, which eliminates the need for the WM_MOUSEMOVE / TTM_RELAYEVENT case in the main window procedure - Added TTF_CENTERTIP to uFlags to center the ToolTip window below the item (couldn't find a way to make the tooltip appear offset from the mouse position, which was quite irritating) - UpdateToolTipPositions now does a check to make sure the tooltip window exists... [added Blackbox.cpp 1/21/2003 qwilk] - If the systray is currently enabled, it is now possible to disable it on-the-fly using the blackbox.systray.disable setting in extensions.rc (the other way around, ie. disabled->enabled, is currently not supported due to the fact that COM does not like to be reinitialized...) [changed *.cpp/h 1/21/2003 qwilk] - Renamed SysTray.cpp/h to Systembar.cpp/h and changed other files accordingly [added CommandItem.cpp, PluginManager.cpp/h 1/20/2003 qwilk] - Added an [aboutplugins] menu command (will be extended later...) [changed CommandItem.cpp 1/20/2003 qwilk] - Changed Invoke() to use "else if" instead of multiple "if's" [changed SysTray.cpp 1/19/2003 qwilk] - Fixed taskbar mouse click commands (e.g. MinimizeAllWindows) not working correctly in icon mode [added SysTray.cpp, Desk.cpp/h, BBApi.h 1/18/2003 qwilk] - Added GetCurrentWindow to the task handling in SysTray.cpp (fetches the currently active window from the WindowList array) - Made ShadeWindow, GrowWindowHeight, GrowWindowWidth, and LowerWindow in Desk.cpp use GetCurrentWindow instead of relying on the hwnd supplied (for instance, BBKeys actually still uses GetCursorPos/WindowFromPoint which obviously isn't a very good idea...) - Added RaiseWindow (using a new BB_WINDOWRAISE message in BBApi.h) to Desk.cpp (perhaps it would be better to put all window handling commands into a single message, e.g. BB_WINDOWCONTROL with 1,2,3,4... as parameters being the command to execute?) [added Settings.cpp, Blackbox.cpp, SysTray.cpp 1/18/2003 qwilk] - Blackbox now re-reads display related configuration parameters from blackbox.rc on restart (e.g. toolbar.widthPercent etc) - Added systrayDisabled, systembarStartHidden, systembarPlacement (which can be DockedToToolbar, OppositeToolbar or one of the regular BottomCenter etc. settings) and systembarWidthPercent - TIP: Setting the systembarPlacement to OppositeToolbar and systembarWidthPercent to 100% (both in extensions.rc) and toolbar.placement to TopCenter and toolbar.widthPercent to 100% (both in blackbox.rc) will give you a pretty cool pseudo-Exploder look... =] [added CommandItem.cpp, Blackbox.cpp 1/17/2003 qwilk] - As several settings in blackbox.rc can now be updated without exiting Blackbox, I have added an [editblackbox] command to the menu (using BB_EDITFILE 4) [changed SysTray.cpp 1/17/2003 qwilk] - Tweaked the taskbar click behaviour again: Shift+LeftClick now selects bar/icon mode, Alt+RightClick is MinimizeAllWindows (for people without X1, like NC-17) and Alt+LeftClick is RestoreAllWindows (for people without X2, like me ) [changed Settings.cpp, MenuMaker::MakePainter, GradientPainter::Paint 1/16/2003 qwilk] - After hours of detective work by yours truly and NC-17, I have implemented a quick'n'dirty hack to support menu.hilite being parentrelative, as well as fixed an ugly bug in Settings.cpp: - DO NOT ATTEMPT TO COPY STYLEITEMS DIRECTLY!!! DOING SO WILL LEAD TO THE DESTRUCTION OF THE UNIVERSE!!! (or mess up Blackbox and your style config, whichever is worse ) [changed SysTray.cpp 1/16/2003 qwilk] - Modified MinimizeAllWindows (now sending the BB_MINIMIZE info message only once) [changed Toolbar.cpp/h 1/14/2003 qwilk] - Prepared LMB doubleclick on the workspace name for "Edit current workspace name"... :) [changed Settings.cpp 1/12/2003 qwilk] - Tweaked the default style settings (= the ones that are used if the style specified in blackbox.rc can not be found) [added SysTray.cpp/h 01/12/2003 qwilk] - Added MinimizeAllWindows and RestoreAllWindows using X1/X2 (or Alt+X1) click on task buttons [changed Blackbox.cpp, PluginManager.cpp 1/12/2003 qwilk] - Apparently the new hook code works under Explorer too, so it's now enabled at all times. Because of this, we have decided to move the window hooks = hook.dll into a separate plugin, BBHook.dll, since we doubt that many people actually use it + getting rid of it makes it possible to make the .exe a "one-stop-shop" for shell-topia ;) - Getting rid of the window hooks also puts an end to the "Blackbox.exe used by another process" errors you got when trying to replace it... (the hooks just wouldn't let go! ) [changed Toolbar.cpp, SysTray.cpp 1/12/2003 qwilk] - The toolbar buttons and systray icons menus now work even if the windows have been moved (thanks ironhead for pointing it out) [changed Settings.cpp, Blackbox.cpp 1/12/2003 qwilk] - Rewrote WriteDefaultMenu (updated the default menu.rc file, now created in the Blackbox directory instead of the Windows directory, extracts the correct paths for documentation etc.) - Rewrote WriteDefaultRCSettings (tweaked the default blackbox.rc file, now created in the Blackbox directory instead of the Windows directory, extracts the correct paths automatically) - Changed the setting of default paths in Blackbox.cpp accordingly [changed Systray.cpp 1/12/2003 qwilk] - Taskbar style (bars/icons) is now selected using Alt+LeftClick instead of Ctrl+LeftClick (since the later is now used to drag the window) [added Workspaces.cpp/h, Toolbar.cpp 1/12/2003 qwilk] - Merged in ironhead's PrevWindow/NextWindow code from 0.0.80 - The toolbar task buttons now use the new messages: Left click to cycle through windows on all workspaces, Alt+LeftClick to cycle through windows on the current workspace [changed SysTray.cpp 1/6/2003 qwilk] - Added hue/saturation to the systray (based on the implementation in LiteStep's systray2) - The hue/saturation can be configured using blackbox.systray.saturation and blackbox.systray.hue in extensions.rc (please note that saturation=255 and hue=0 will give you the "normal" look) [changed Hook.cpp 1/6/2003 qwilk] - As RegisterShellHook is disabled when running under Explorer (or using a stand-alone system tray!) hook.dll now reverts back to the old shell hook if that's the case (please note that that if no shell hook is used the taskbar will not function correctly, something to keep in mind when using the extensions.rc parameter to disable hook.dll) [changed SysTray.cpp 1/6/2003 qwilk] - The taskbar can now be used independently of the systray (ie. if the systray is disabled) [changed SysTray.cpp/h, TrayManager.cpp/h 1/6/2003 qwilk] - Moved all task handling functionality from TrayManager to SysTray - TrayManager now only manages the tray, which will make it easier to separate task handling from the systray functionality / display [changed Painter.cpp, MenuItem.cpp/h, MenuMaker.cpp, Menu.cpp 1/5/2003 qwilk] - Fixed the menu gradients, now they look pretty much as they should... - Please note that this required some nice little workarounds to bypass some obscure menu code... [changed FolderItem.cpp, CommandItem.cpp 1/5/2003 qwilk] - Tweaked the folder bullet and bool indicator positions - Increased the bool indicator size by one pixel (requested by NC-17) - Brought back the larger diamond bullet, it seemed to fit better into the menu for some reason... :) [added Toolbar.cpp, SysTray.cpp 1/5/2003 qwilk] - It is now possible to drag the toolbar and systembar (taskbar/systray) windows by holding down the control key and dragging; you can make it move back to the default position by holding down the shift key and move the cursor over the window (aka. mouseover) - When moved, the windows are snapped to the screen edge [changed TrayManager.cpp/h 1/5/2003 qwilk] - Merged in some of ironhead's traymanager changes (should make the systray somewhat more stable) [changed SysTray.cpp 1/5/2003 qwilk] - Corrected painting and positioning to draw the window as if "stand-alone", ie. with borders on all sides. This fixes the border issue when positioned at the top of the screen, it also enables window dragging (see above...) [added CommandItem.cpp 1/4/2003 qwilk] - Added an [editextensions] command to the menu (uses the BB_EDITFILE message) [changed BBApi.cpp/h, Settings.cpp/h, Blackbox.cpp 1/4/2003 ironhead/qwilk] - Added support for extensions.rc - Added "blackbox.editor:" parameter to make it possible to set the preferred editor (used by EditStyle etc.) [changed *.cpp/h 1/4/2003 qwilk] - Changed all copyright notices to 2001-2003... :) [changed Blackbox.cpp, Hook.cpp 1/4/2003 qwilk] - Merged in ironhead's RegisterShellHook patch, which was in turn taking advantage of the hard work by Message and the rest of the LiteStep Development Team (thanks!). This makes the taskbar (among others) work properly, e.g. displaying command prompts on the taskbar etc. [changed Toolbar.cpp 1/2/2003 ironhead] - Fixed a bug where Blackbox would crash if the toolbar percentWidth was too small for the window label to draw correctly (many thanks go to Blax for determining the cause of the bug) [changed MenuItem.cpp 1/2/2003 ironhead] - Fixed it so anything that loads items into a menu (i.e. [stylesdir]) at the bottom [changed Menu.cpp, MenuMaker.cpp, MenuMaker.h, BBApi.cpp 12/25/2002 ironhead] - Yes the date is right, consider it a Christmas gift ... - Fixed an ontop bug where various combinations of poping up menus would result in all bb4win windows losing their "always on top" placement [changed BBApi.h 12/18/2002 ironhead] - Renamed a few messages... BB_ADDWINDOW is now BB_ADDTASK BB_REMOVEWINDOW is now BB_REMOVETASK BB_ACTIVEWIN is now BB_ACTIVETASK BB_MINMAXWIN is now BB_MINMAXTASK ...due to the fact that what is being reported by the OS is actually windows (tasks) that will appear in the tasklist, not necessarily all windows [changed TrayManager.cpp 12/4/2002 ironhead] - Made some changes to the systray code to remove invalid icons - Hopefully fixed the odd behaviour when running under Win9x/ME [changed MenuMaker.cpp 12/3/2002 ironhead] - Made the menu overlap take border width into account, as opposed to being hard coded [changed TrayManager.cpp 11/30/2002 ironhead] - Cleaned up the systray code and removed the icon check that was causing a problem [changed CommandItem.cpp 11/28/2002 ironhead] - Fixed the configuration (bool) indicators, thanks to NC-17 for pointing it out [changed Desk.cpp 11/25/2002 qwilk] - Fixed the "drag'n'drop image to desktop" -center command (missed an "else if"...) ########################################################### Blackbox for Windows 0.0.70 ##########