Info

 

License

bb4win_mod is:
© 2001-2003|2005-2008 The Blackbox for Windows Development Team
© 2003-2005 grischka@users.sourceforge.net

bb4win_mod is free software, released under the GNU General Public License (GPL version 2 or later). For details see: www.fsf.org/licenses/gpl.html

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

Links

General  
bb4win_mod bb4win.sourceforge.net
Forums www.lostinthebox.com
xoblite xoblite.net
Screenshots and Styles www.boxshots.org
Blackbox for *nix blackboxwm.sourceforge.net
bb4win IRC channel irc://irc.freenode.net/bb4win
Plugins  
Plugin Forum www.lostinthebox.com/viewforum.php?f=53
bb4win List - by function bb4win.sourceforge.net/plugins.html
qwilk's List - by date xoblite.net/plugins.html
HTML  
CSS for ToC Push Buttons Mike Cherim
 

Credits

The bb4win_mod project owes considerable thanks to:


  • in date order:
    • Tresni, NC-17, the_r, CyberShadow, qwilk, snkmchnb, thewayofzen, digitalfrost, eliteforce, XZero450, nocd5, ironhead
  • in alphabetical order:
    • alex3D, azathoth, grischka, kwark, nivenh, ysuke, zeytok
    • Mike Cole, Derek Foreman, Brad Hughes, Ben Jansens, Mikael Magnusson, Mosfet, rasterman, Shaleh
  • alle die verschiedene Bären & others too numerous to mention
 

Changes

[27 Jul 2008] bb4win_mod 1.18 unkamunka

  • Enabled 8 multi-colour gradients
  • Upgraded image rendering (including 24-bit & 32-bit colour options)
  • Processes menu - including Kill menu (credits Alex3D & nocd5)
  • Settings menu:
    • merger of "Blackbox menu" with Configuration menu
    • Alpha values now configurable on a 1-8 scale
  • Styling options: Menu.Title.FontHeight <2 removes titles; wildcard parsing for textures; parentrelative support improved
  • Feature requests:
  • Expanded syntax for frame rendering
  • Menu Separators styling set by bevelling in Styles - option for none
  • Imported features:
    • MinimiseToTray (credit nocd5)
    • Style parsing for ShadowColor (all syntaxes)
    • MoveWindowToWorkspace (credit kwark)
    • SendTo support for style files (credit qwilk)
  • Vista features:
    • Settings menu access to edit all local plugin.rcs & submenus
    • ShellFolders list updated
    • -rc Switch for blackbox.rc expanded to cover all files
  • Less frequently changed settings moved from extensions.rc to blackbox.rc (listed at bottom)
  • Bugfixes (incl. credit CyberShadow) & minor tweaks

02 May 2005 - bblean 1.16 grischka

  • Ability to show alternate menus (See Details->Bro@ms->@BBCore->Menu).
  • Configurable desktop mouse-clicks (in extensions.rc)
  • New semantics to merge folders: [path] (label) {folder1|folder2}
  • Snap Plugins to each other
  • New workspace code

22 Feb 2004 - bblean 1.12 U1 grischka

  • Global font override option, see extensions.rc
  • Bugfixes

10 Jan 2004 - bblean 1.10 grischka

  • Drag & drop from and to menus.
  • Keyboard navigation for menus.
  • All menu commands available as bro@ms
  • Load and unload plugins on the fly from the config menu (credit qwilk)
  • New menu item [insertpath] to join several folders in one menu.
  • Toolbar and menus toggle with plugins.
  • Added menuitems to set numbers. Hold down Ctrl for faster progress
  • Task flashing support

09 Sep 2003 - bblean 1.00 grischka

  • Transparency for menus and bars.
  • Scroll button for menus
  • Force menu bullet orientation.
  • Enable/disable the background/rootcommand.

12 Jul 2003 - bb008lc update grischka

  • New gradient code. Better Elliptic gradients and sunken bevels.
  • Sharpened the 'diamond' bullet.
  • Workspaces and desktop are preserved on restart.
  • Toolbar display can be disabled for key commands.

07 Jul 2003 - bb008lc update

  • BBSystemBar got a 'show current tasks only' option.

27 Jun 2003 - bb008lc update grischka

  • Workspaces remember their top window
  • Toolbarclock is less self - resizing

16 Jun 2003 - bb008lc update grischka

  • The systray icon code has been reworked. Thanks to Roger for running several tests.

01 Jun 2003 - bb008lc update grischka

  • bb008lc has been made fit for xp-pro. Thanks to Pete for running numerous tests.
  • Menues 'not always on top' option.
  • Click on desktop-background brings menues into foreground.
  • Double left click on menu-title toggles the 'on top' property for this menu only.

23 May 2003 - bb008lc update grischka

  • Clean up, removed unused configuration items.

10 May 2003 - bb008lc update grischka

  • Added parsing for <styleitem>.fontweight.
  • Added some experimental parsing for *nix type font desriptions.
  • Made any wildcards in styles work

22 Apr 2003 - bb008lc, first release grischka

  • bb008lc is a lean build for Blackbox for Windows. It is fully compatible to current 0.90 builds and plugins
  • New menu code
  • Built-in contextmenus
  • Shellfolder support.
  • Popup and close delay for menus
  • Browse your styles without getting the menu closed
  • Full access to large folders

18 Mar 2003 - Blackbox for Windows 0.0.82

  • "Follow Active Task" enables/disables Alt-Tab support ironhead
  • Bugfixes: Alt-Tab support & tasks list ironhead
  • Switched to yet another amazing icon by Lim Chee Aun ironhead

12 Mar 2003 - Blackbox for Windows 0.0.81

  • + Added LastWorkspace smathy
  • ~ Switched to a kick ass XP enhanced icon by Lim Chee Aun ironhead
  • + Added BB_TOOLBARUPDATE message for plugins that use toolbar info ironhead
  • ~ Changed NextWindow / PrevWindow so they ignore minimized windows ironhead
  • ~ Fixed NextWindow / PrevWindow to work with BBKeys as well as the toolbar (Thanx NC-17!!!) ironhead
  • + Added top, bottom, left, and right margin support in extensions.rc ironhead
  • ~ Reworked switchToDesk and gatherAll, as there were unnecessary loops ironhead
  • ~ Made MoveToNextWindow/MoveToPrevWindow take a window as a parameter (LPARAM) ironhead
  • ~ Removed all SetWindowLong calls and changed to MakeSticky ironhead
  • ~ Retained old plugin compatibility since MagicDWord is still supported (many thanx go to Grischka) ironhead
  • + Added further information to BB_TASKSUPDATE and BB_TRAYUPDATE ironhead
  • ~ Rewrote the icon handling routines (based on the GeoShell implementation, cleaner IMHO) ironhead
  • + Added GetActiveTask ironhead
  • ~ Merged in a rewrite of the systray icon handling code back into the core ironhead
  • + Added GetTraySize, GetTrayIcon and BB_TRAYUPDATE to the API ironhead
  • + Added GetTaskListSize, GetTask and BB_TASKSUPDATE to the API ironhead
  • ~ Fixed -install / -uninstall ironhead/qwilk
  • ~ Blackbox now gives option to add itself to the system path with -install ironhead/qwilk
  • ~ Fixed amperstands making the next character underlined ironhead
  • ~ Fixed BB so that is will work if all files a read-only ironhead
  • + Added an [aboutplugins] menu command (will be extended later...) ironhead/qwilk
  • ~ Made NextWindow and PrevWindow use "Tasks" subssystem, so they now work correctly ironhead
  • + Implemented "Tasks" subssystem ironhead
  • + Implemented a quick'n'dirty hack to support menu.hilite being parentrelative qwilk/NC-17
  • ~ Default style, menu.rc & blackbox.rc rewritten ironhead/qwilk
  • ~ Changed the setting of default paths in Blackbox.cpp accordingly ironhead/qwilk
  • ~ Renamed hTempWnd2 to hTempWndBottom NC-17/ironhead
  • ~ Switched BB_WORKSPACES case 8 and case 9 function calls (wrong way) NC-17/ironhead
  • ~ Clicking the toolbar now brings it to front; useful when not always on top NC-17/ironhead

Jan 2003

  • grischka found Blackbox for Windows.

10 Jan 2003 - Blackbox for Windows 0.0.80

  • ~ Fixed square menu/config item indicators so they are the same size as BBnix (thanx to NC-17) ironhead
  • ~ Fixed infinited loop in NextWindow ironhead
  • + Created NextWindow, PrevWindow to cycle through windows NC-17/ironhead
  • ~ CTRL - LClick cycles through windows on the current workspace, LClick cycles through all windows
  • ~ Merged in qwilk's drag code, which allows for temporary movement of the toolbar ironhead
  • ~ Fixed percentWidth bug where too small for Window Label to draw correctly (Many thanx go to Blax) ironhead
  • + Added blackbox.windowHooks to enable/disable window hooks (compatability for ShellWM, etc.) ironhead
  • ~ Fixed it so anything that loads items in to a menu (i.e. [stylesdir]) at the bottom ironhead
  • ~ Code clean up ironhead
  • ~ Made the StickyList use MakeLowerCase (that way the exe names are not case sensitive! :) )
  • + Added MakeLowerCase ironhead
  • ~ Fixed "always on top" bug where BB4Win windows loose their "always on top" placement ironhead
  • + Added GetBlackboxEditor so that plugins can use the editor defined in extensions.rc ironhead
  • + Created [editextensions] menu item to allow for editing of extensions.rc ironhead
  • ~ Made it so BB4Win does not write out externsions.rc (owverwritting any changes) ironhead
  • + Added "blackbox.editor:" to allow for the setting of the default editor ironhead
  • ~ If StickyWindows.ini, exe list, file exists in the BB root dir, all exe's windows will exist on all workspaces ironhead
  • + Added LoadTrayIcons and SaveTrayIcons for BBSystemBar ironhead
  • + Added BB_EXITTYPE message so plugins how if BB4Win is doing a shutdown, quit, or restart ironhead
  • - Removed all systray functionality to allow for the BBSystemBar plugin ironhead
  • + Added systray.hidden so that the systray remebers it's visibility state on a restart / quit ironhead
  • + Added systray.tasks.enable to allow for the disabling of the tasks display ironhead
  • + Introduced blackbox.appearance.metrics.unix ironhead
  • - Removed menu.bullet.scalar ironhead
  • ~ Bullets use unix styles bullets if blackbox.appearance.bullet.unix: true else use .70 style bullets if false ironhead
  • ~ Made bullets use menu.bullet.scalar (from externsions.rc) ironhead
  • + Enter the age of extensions.rc! ironhead
  • ~ Modified [restart] so that it now performs a complete restart of BB ironhead
  • ~ Made some changes to the systray code to remove invalid icons ironhead
  • ~ Bugfixes: Win9x compatibility ironhead
  • ~ Make the menu overlap take border width into account, as opposed to being hard coded ironhead
  • ~ Modified the toolbar to use the same arrows as the menu ironhead
  • ~ Fixed problem with systray border when the systray is on the top of the screen ironhead
  • ~ Spacing and padding fixed to match BBnix ironhead
  • ~ Fixed placement of right-sided indicators ironhead
  • ~ Fixed configuration (bool) indicators, thanx to NC-17 for pointing it out ironhead
  • ~ Now able to properly set BB as shell (Many thanx to Message and the rest of the LiteStep dev team) ironhead
  • ~ Increased menu title height and corrected gradient painting ironhead
  • + Added GetAppByWindow to BBApi to allow for some future goodness :) ironhead
  • ~ Fixed the "drag'n'drop image to desktop" -center command (missed an "else if"...) qwilk

24 Nov 2002 - Blackbox for Windows 0.0.70

  • + Merged in Jonne's awesome task handling patch (with a few improvements)! 8) Jonne/ironhead/qwilk
  • + The menu.frame gradient now renders correctly -> it's no longer locked to horizontal... :D ironhead
  • ~ Fixed the bug that caused the menu to disappear if opened in the upper left corner of the screen ironhead
  • + Added [path] = dynamic folder support to the menu ironhead/qwilk
  • + Added visual (bool) indicators to the configuration menus ironhead
  • ~ Fixed a bug where minimized tasks were still showing up in the Workspace #1 menu ironhead
  • + Modified [stylesmenu] to make it parse subfolders too ironhead
  • + Added plugin menu support and new messages to the Blackbox API ironhead/qwilk
  • ~ Lots of minor changes and bug fixes in the system tray code ironhead
  • + Holding down the control key on style change now prevents Blackbox from executing the rootCommand qwilk
  • ~ Tweaked the menu appearance to make it more similar to Blackbox for the X Window System qwilk/ironhead
  • ~ Cleaned up the menu code, making it easier to follow qwilk
  • ...and a few more things... :)

19 Sep 2002 - Blackbox for Windows 0.0.61

  • Drag'n'drop of images to the desktop now uses bsetbg -> support for png, jpeg, tiff, bmp and more! ironhead
  • Minor changes and bug fixes ironhead

07 Sep 2002 - Blackbox for Windows 0.0.60

  • + Blackbox for Windows now has a top notch internal system tray! :D (tip: mid click on the toolbar) ironhead
  • + Gradient rendering improvements ironhead|qwilk|nivenh
  • + ...and introducing: Broadcast messages -> bro@ms -> the bang killah! :D <vbg> qwilk
  • + Merged Negotive's HideExplorer code into the core (with permission - thanks Stephen!) Negotive|qwilk
  • + Fixed reconfigure (in fact, it hasn't been working at all until now... <g>) qwilk
  • + rootCommands are now executed on display change (i.e. resolution change) too ironhead
  • ~ ...and rootCommand error messages are automatically suppressed (by popular demand) qwilk
  • + It is now possible for external sources (e.g. plugins) to temporarily display text in the toolbar qwilk
  • + New menu commands: TogglePlugins (show/hide), AboutStyle (parses bbconf style information tags) qwilk
  • ~ Fixed a bug in hook.dll that affected WindowBlinds qwilk
  • ~ No longer resets XMouse back to the Windows default on exit qwilk
  • ~ SnapToWindowEdge was using only the right/bottom settings of the DesktopArea qwilk
  • + New MoveWindowLeft and MoveWindowRight internal commands (to be used by e.g. BBKeys) qwilk
  • ~ New and updated mouse click commands (see documentation for details) qwilk
  • ~ How about a better looking diamond bullet? ;) qwilk/dreamer
  • ~ <hint> Cleaned up the Blackbox API, making it easier to use </hint> qwilk/ironhead
  • ~ Fixed a *lot* of minor bugs and major memory leaks... ironhead/qwilk
  • ...and much, much more! :D

30 Jun 2002 - Blackbox for Windows 0.0.41

  • ~ Further streamlined BImage and fixed Sunken style items not rendering correctly qwilk
  • + The toolbar date/time display can now be configured! ironhead
  • + New shutdown menu commands: Hibernate, Suspend qwilk
  • ~ Fixed a bug that made some startup items not execute correctly qwilk
  • + Blackbox will now show an error message if command execution fails qwilk
  • ~ Improved working directory extraction before executing commands qwilk
  • + Created the missing 48x48 pixel icon... :) qwilk

04 Jun 2002 - Blackbox for Windows 0.0.40

  • # Rewrote the BImage gradient engine using the original Blackbox rendering code (looks awesome! :D) qwilk
  • ~ Improved style parsing, more efficient painting qwilk
  • + Added toolbar border support qwilk
  • + Added support for the "circle" menu bullet qwilk
  • ~ Blackbox now works in Windows 9x! qwilk
  • ~ Fixed Explorer file manager not updating under Blackbox (removed SetAsShell at startup) qwilk
  • + Ported and simplified LiteStep's -install/-uninstall code qwilk
  • + Implemented the "Full maximization" menu item (thanks kitsune for the heads-up!) qwilk
  • + Blackbox will now automatically display current version in the menu title if no label is specified qwilk
  • + New menu commands: EditStyle/EditMenu/EditPlugins make Blackbox everyday use much smoother qwilk
  • ~ New shutdown menu commands: Shutdown, Reboot, Logoff, LockWorkstation qwilk
  • + Blackbox now displays an error message if a plugin does not exist qwilk
  • ~ Menu [exec]'s will now open a document in the default viewer if no app is specified qwilk
  • + Blackbox now sets the working directory when executing commands qwilk
  • ~ Improvements and extensions to the Blackbox API qwilk
  • ~ Cleaned up the code, adding comments and making minor changes all over the place... =] qwilk
  • # Blackbox for Windows is now open source! (license information included) qwilk
  • ...and much more!

10 Mar 2002 - Blackbox for Windows 0.0.30

  • + Toolbar with task+workspace switching/display and date/time qwilk
  • ~ Fixed a lot of mem leaks... deadbeat/[steev]
  • ~ Lots of fixes and improvements in the menu deadbeat
  • + Toolbar menu to configure toolbar placement, AlwaysOnTop etc. qwilk
  • + Drag'n'drop of styles (to the toolbar) and wallpaper bitmaps (to the desktop) is now supported qwilk
  • ~ Blackbox doesn't show up in the task manager now [steev]
  • ~ Miscellaneous fixes in style parsing deadbeat/qwilk
  • ~ Improved colour parsing deadbeat
  • ~ Minor improvements to gradients/bevels deadbeat/qwilk
  • ~ Lots of bug fixes [steev]
  • + New HTML documentation qwilk
  • ~ Changed the little afro-dude to a nice black box icon by Maur... :) qwilk

Jan 2002

  • TheDevTeam takes over from azathoth

2001 - Blackbox for Windows 0.0.21 azathoth

  • Blackbox
  • + Blackbox now runs startup items if not under explorer. Use the -nostartup switch to cancel this.
  • - Removed ability to define menu and style on startup, silly idea anyways.
  • ~ Updated -help and -version to use new api setting GetBBVersion().
  • ~ Changed message pump to handle errors better.
  • ~ Fixed refresh pause (hold shift on refresh).
  • - Removed ability to kill blackbox flat. It was bad of me to put it in anyways.
  • ~ Fixed style applying to be quicker cleaner and to apply to all plugins that handle it.
  • ~ Fixed BB_RUN to display the run box correctly.
  • + Added BB_REGISTERMESSAGE and BB_UNREGISTERMESSAGE to set your plugin up with message handlers.
  • ~ Fixed problem with logging off and killing blackbox.
  • - Removed -rtfm switch.
  • + If blackbox can't find your blackboxrc it will automatically generate one in your windows directory.
  • + If blackbox can't locate your menu file it will automatically generate and use one from your windows directory.
  • ~ Blackbox now accepts either "blackbox.rc" or "blackboxrc".
  • ~ Fixed god-awful message delay bug.
  • ~ Changed compile options and bloated exe up by about 30 kb. However, the shell is much stabler and muuuuch faster because of it.
  • @ No-one has put forward an icon yet so our little afro-dude is gonna stay until someone does.
  • MessageManager
  • ~ Moved new message handling code from blackbox.cpp to it's own class.
  • + Added new message manager which handles all plugin registered messages and dispatches them accordingly.
  • ~ Fixed evil bug that was holding up message deletion.
  • ~ Rewrote entire thing using different STL methods (changed to map+set rather than several vectors, works better).
  • PluginManager
  • ~ Rewrote plugin loading methods.
  • - Removed certain settings from being sent to plugins as they're loaded. beginPlugin now only gets sent a HINSTANCE, it no longer gets sent the parentWnd. Use GetBBWnd() if you want the parentWnd.
  • + Added ability to list loaded plugins. However, this is still buggy and should not be considered useable.
  • ~ Now accepts either "pluginsrc" or "plugins.rc".
  • Settings
  • + Added style reading for all objects (menu, window and toolbar) properly so that future devs can see how the style's are read and formatted. Unused items (toolbar and window) are still commented out but when uncommented, they will work fine.
  • - Removed ParseItem() and the StyleItem class from settings.cpp and moved them to the api.
  • ~ Fixed support for wildcard settings.
  • BImage
  • ~ Slightly altered several pieces of internal code. Fixed up CreateGradientByRect() function to Blt properly (won't be visually detectable, but to my scrupulous vision, it is better).
  • Workspaces
  • - Removed several large chunks of old code that was holding up development due to message lapses.
  • + Re-wrote the entire structure of the vwm. Now follows along the methodology of jugg's bangvwm module for litestep. I have left in a few helper functions from the older workspaces.cpp and this has meant a smoother transition to the new vwm for the menu etc. However, this code will soon be replaced.
  • ~ Changed BB_LISTDESKTOPS to use the new DesktopInfo class from the api.
  • API
  • + Added ParseItem() function to parse a given string into it's style components and fill a StyleItem class with it's values.
  • + Added GetBBVersion() function to automatically return a "Blackbox x.x.x" string. This string is extracted from blackbox.exe's version info and is alot easier for me to update than havign to change the bbapi.h BLACKBOX_NAME setting each time i build (a change to the api.h causes the entire of bb to have to be rebuilt... this usually takes about 5 or 10 minutes, which is never good).
  • ~ Fixed MakeGradient() slightly.
  • ~ Changed BBDESKTOPINFO struct to a DesktopInfo class.
  • + Added StyleItem class which contains all the details of a style's gradient setting.
  • ~ Fixed Log() so that the second parameter is a const string rather than a pointer.
  • ~ Fixed IsInString() to use strlwr() rather than the long nasty way i was doing it before.
  • - Removed an obsolete internal function.
  • ~ Altered menuPath() and stylePath() to return full paths to the menu and style file. This means you can put "menu.rc" or "styles\clouds" in your bbrc and they will internally evalute to the full paths no matter where the program is run from.
  • Menu
  • + Submenu's now don't dissapear when an item is clicked if that menu has been removed from the root or 'dragged' away.
  • - The main menu now dissapears when the workspace menu is opened and vice-versa.
  • ~ Moved certain settings for the menu from here to settings.cpp.
  • ~ DesktopMenu now uses the new DesktopInfo class.
  • + Added [run] setting to the menu. This shows up the run box.
  • + Selecting "SloppyFocus", "AutoRaiseSloppyFocus" or "ClickToFocus" from the [config] menu now applies those settings automatically.
  • - Removed some obsolete key handling code i missed.
  • - With the new message registering code i have removed a large chunk of overhead hacks i had to do before i got the pumping finished.
  • + Added [stylesdir] back in. Before it functioned the same as [stylesmenu] now however, instead of creating a submenu, it parses the styles directly into the current menu.
  • ~ Fixed annoying reconfigure bug. Menu now reconfigures properly on a style change (and re-parses the menu file). However, this has caused some bugs with module people who try and register for BB_MENU and BB_HIDEMENU. Most people shouldn't actually need to do this however.
  • Hook
  • + Added ShellHook support.
  • - Removed alot of useless code that wasn't implemented properly.
  • ~ Fixed code up an awful lot. Should be nearly perfect.
  • Packaging
  • + Now added all the default styles for blackbox. These some of the nicest i have anyways.
  • ~ Updated the menu and the blackbox.rc file to support these styles.
  • SDK
  • ~ Updated SDK to reflect changes made in blackbox 0.0.21.

2001 - Blackbox for Windows 0.0.20 azathoth

  • BBApi
  • + Added IsInString(LPCSTR inputString, LPCSTR searchString) function. Will return true if searchString is found in inputString. Return's false otherwise.
  • ~ Fixed path variables so that you can use alternative ones rather than the default.
  • BBSettings
  • ~ Made a change to the StyleItem class that will speed things up a bit.
  • BBMenu
  • ~ Altered style reading for a small speed increase.
  • - Removed frame bevel code until i re-write the menu (which should be soon now that i've worked out the main details)
  • BImage
  • ~ Okay bevels are always under work. Something so simple is damn hard to do. Right now they are looking okay, but still a bit crazy. The main problem is that i can only write solid lines of colour now, i can't write gradiented lines.
  • ~ Altered the height of menu titles. They are now bigger than normal menu items. (not by much but it does make things nicer).
  • Hook
  • ~ Finally pinned down the /very/ annoying unloading bug.
  • BBPluginManager
  • ~ Changed things to make hook be loaded here.
  • Blackbox
  • ~ Changed style swapping. Now it doesn't have to write to the blackboxrc on each style swap. this will make things SOOOOO much faster for style swapping and will prolly kill alot of bugs that occur when a program tries to access the file while it's being written (some people say they get crashes when there's a netsplit).

2001 - Blackbox for Windows 0.0.17 azathoth

  • BBPluginManager
  • ~ Fixed stupid bug that wouldn't unload more than one plugin.
  • BImage
  • ~ Fixed up some gradients. Elliptical might now be a viable option to use. It is, however, guaranteed to be slow as hell. Looks like i might have to either a) bring galois onto the development board or b) go back and re-learn all the maths i spent 3 years trying to unlean in school.
  • ~ Fixed bevels up a whole heckuva lot. Non-specified bevels are now handled properly which means themes like blackstep work properly.
  • BBApi
  • ~ Fixed BBTokenize to accept NULL as a parameter.
  • ~ Fixed GetOSInfo... i'd never used it before, the one time i do, i find out it's buggy =)

2001 - Blackbox for Windows 0.0.16 azathoth

  • Hook
  • - Removed all x-mouse hook code. Turns out that the only way to do x-mouse on platforms > Win95 is to use the built in m$ settings. (I wrote my own implementation but due to m$ imposed restrictions, it can /only/ work in the way the m$ x-mouse does so it's pointless me putting it in). I have lost many many hours working on this thing thanks to microsoft's disgusting lack of common sense.
  • BBDesk
  • + Re-added all the old m$ style x-mouse support. Now i can get on with more important things... grumble grumble...
  • BBMenu
  • ~ Fixed the menu active problem so that if the menu looses focus it won't hide the submenus. This works great with x-mouse now.
  • ~ Fixed the problem with showing the main menu and auto-raise. No the menu stays above all windows no-matter what x-mouse style you use. If only i'd thought of this earlier!! (Also look at an earlier update and see that the desktop no longer recieves x-mouse focus =)

2001 - Blackbox for Windows 0.0.15 azathoth

  • BBMenu
  • ~ Fixed solid painter problem (colours show properly now).
  • - Removed all damn WM_KEYDOWN referencing code. It aint in Linux so it aint in here!
  • ~ Changed some of the text in the workspace menu to mimic the linux names.
  • ~ Fixed [exec] commands so that they kill the menu upon activation.
  • - Removed all underscore hotkey stuff, it really wasn't needed.
  • - Cleaned up the code alot. This is really turning into a lean and mean menu =)
  • BBWorkspaces
  • ~ Fixed the workspace callback problem of constantly cycling the workspace names if one isn't found.
  • BBWindow
  • - Unloaded the files as they aren't used and it was just bloating the exe somewhat.
  • BBKeys
  • - Messed around with the internals a bit, streamlined and made the code more readable.

2001 - Blackbox for Windows 0.0.14 azathoth

  • BImage
  • ~ Changed bevel code. Removed some settings, kept others. It currently only uses Bevel1 and Raised or Flat. This is cos i haven't had time to look at the bb code properly.
  • Blackbox
  • + Some nice features...
  • + New switches...
  • current switches are:
  • -version
  • -help
  • -install
  • -uninstall
  • and now...
  • -rc path
  • -style path
  • -menu path
  • this lets you specify a new path for the blackboxrc/menu/style file.
  • ~ Changed the help text. Now it's properly formatted.
  • + Changed some code. If there is no blackboxrc file found anywhere, blackbox automatically creates one for you with default settings. If there is no menu, an empty file is created and you'll probably run into parser problems. Or you'll get no menu at all =) The middle menu should work however. If there is no style file found, it will create a default one for you and use all the default settings (quite fugly =).
  • ~ Altered the loading of certain built-in items to improve performance and changed hook loading procedures.
  • BBMenu
  • - Returned [stylesdir] to it's former glory but it is as yet unlike the linux version.
  • ~ Changed the default submenu entry and title height + 2. This gives everything more space to breathe and thigns look better now.
  • BBDesk
  • - Removed all traces of the MS implementation of X-Mouse.
  • Hook
  • + Added full hand written x-mouse support. It now works much better and wont' pick up on the desktop or any blackbox windows. You may notice a slight flicker in the title bar when using SloppyFocus. This is due to M$ internal workings which are super lame. I have to work around that and as a result there is a /slight/ and barely perceptable flicker every once in a while.

2001 - Blackbox for Windows 0.0.13 azathoth

  • BBMenu
  • ~ Changed the way the style folders work. Fixed a bug with [stylesmenu] which would cause it to load files undynamically (they wouldn't auto update on open).
  • ~ Changed the items on the [config] menu to refresh blackbox upon selection.
  • Blackbox
  • - Removed BBKeys from the main build for reasons the shall become clear in a moment...
  • BBApi
  • + Moved some useful functions from BBMenu to the BBApi. I don't know why i left them there anyways =)
  • ~ Changed the magicDWord value to that of Litestep's. Not because i want to emulate ls (*grin*) but because apps like Winamp have this number built in to let them remain on VWM desktops. It also means that if you run ls over bb, they can "sort" of be interchangable and the vwm won't matter =)
  • BBPluginManager
  • + WOOHOO! We have plugin support!!! I wrote up a nice little plugin loading and unloading system and it seems to work perfectly. Use the pluginsrc file to load plugins like the example in there. I have taken bbkeys from the main project and set it as an external dll. You can load it by using the ine in the pluginsrc file. If ya feel like doing somethign blackbox wise, contact me and i'll tell ya what you need in your mod =) (it also support litestep/darkstep mods with only a little bit of jostling)
  • ~ Altered the manager somewhat, i had to remove some STL work and replace it with code that works but will slow me down in the future. I've noted this and hopefully i can have it fixed soon.
  • ~ Altered it yet again, re-added STL stuff and got it working. Thanks to the folks in #c++ for that bit of advice.
  • BImage
  • ~ Changed the way cross-diagonal code renders. This should fix the nasty gdi leak that was happening. (pity it doesn't make it actually /look/ like cross-diagonals tho :(
  • + Added bevels into the code. This is still quite early work and on some styles is looks quite disgusting, but more often than not it looks cool =)
  • ~ Fixed Elliptic from showing now until i get round to fixing the code. Right now it falls through to Diagonal.
  • ~ ARG! Turns out the colours are BACKWARDS!!! ARGGG!!!! Simple to fix but so goddamn annoying... Now everything looks nasty... damn damn damn...

2001 - Blackbox for Windows 0.0.12 azathoth

  • BBMenu
  • ~ Changed the way gradients are used and fixed a large and nasty memory leak.
  • ~ Changed the way borders are handled. Now it actually works (a border with of greater than one made it look stupid)
  • ~ Altered the border code cos it was buggin me.
  • ~ Changed the text alignment some more.
  • ~ Sorted out a nasty font problem.
  • + Menu heights are now directly relational to the font size given in menuFontHeight. (warning, an odd numbered size will result in off-aligned scanlines)
  • ~ Changed [nop] code. Now just shows a blank item, not a seperator bar as before.
  • - Removed alot of useless old code. Cleaned things up alot code-wise.
  • + Added the [config] menu. All it does now is set the values in the blackboxrc. The settings get initialized on a restart.
  • ~ Changed font handling yet again. You can specify "menu.frame.fontHeight:" and "menu.title.fontHeight:". The title size is relational to the title.fontHeight and the frame height is relational to the frame.fontHeight.
  • + Added windows-only settings. [shutdown] brings up the shutdown screen (strangly not working right). [kill] will kill blackbox dead. [logoff] will bring up the logoff screen. all in the format [value] (title).
  • Blackbox / BBMenu
  • + X-Mouse is back in! But don't fret, it turns out you could turn off XMouse all along! You can set the focusModel using the "session.focusModel:" setting in the [config] menu or blackboxrc. It can be set to: AutoRaiseSloppyFocus, SloppyFocus or ClickToFocus. AutoRaise is X-Mouse style window raising, SloppyFocus just focus' the windows when you pass over them but doesn't raise them and ClickToFocus is the standard way of focusing by clicking. These settings are read on restart and reconfigure.
  • ~ Numerous bugfixes, small things too annoying to mention.
  • + Added logging for all errors. The output will go into Blackbox.log. Please send this to me when you get any errors.
  • BBDesk
  • + Added support for "session.fullMaximization". Basically if this is set to true, it will maximize windows to the full height and width of the screen, else it cuts it off at the toolbar level. (as there is no toolbar as yet, it just doesn't set any SDA).
  • + Added WindowShading support. A double click to the title bar of any window will shade and unshade it according to the current state. (thanks go to nivenh for the method of that baby, i had one way of doing it, but let's just say niv's was "simpler" =)). Basically all this windowshading code comes straight from winctrl.dll (well i had to play with it a bit). All thanks go to mirul.
  • + Added the ability to grow the current window upwards and sideways. A right click to the "Maximize" button on the corner of any window will grow it's width to the edges of the screen. A middle click to the same button will grow it's height to the worksace maximum.
  • + A middle click to the titlebar of any window will send the window down to the bottom of the Zorder.
  • ~ Finally fixed BBDesk from showing up on the process' list in the WinNT task manager.
  • BBKeys
  • + New module type thing in BBKeys. Functions just like hotkey for litestep except for the config part. You now need a bbkeysrc file which has to be in the root directory. Check the included file in the zip for settings formats.

2001 - Blackbox for Windows 0.0.10 azathoth

  • BBMenu
  • ~ Fixed the workspaces menu. Should show now.
  • - First off, removed all the old gradient code.
  • + Second, added a whole host of new code. (that's why there is a version boost). It now correctly support's the BImage lib. This has the added bonus of being able to produce... yup, you guessed em, scanlines =) Feel free to play around and see what cool designs you can come up with =) Set the item as "Interlaced" to see the scanlines.
  • + Cleaned up a few little memory issues.
  • + Now supports Rectangle, Horizontal, Vertical, Pipecross etc.. basically everything bar pyramid,elliptical and crossdiagonal... oh yeah, and only horizontal will work on the menu.frame right now...
  • ~ Square folder icons are now much cooler. they are empty and change colour on activation (like linux)
  • ~ The popup looks /slightly/ different no? That's cos it's shrunk down 8 pixels to 12 pixels per menu item. this is identical to linux so no complaints!
  • ~ Changed the [stylesdir] code not to read subdirs. It also now sorts alphabetically.
  • - Removed minimum width settings.
  • ~ Sorted out most of the alignment problems.
  • Blackbox
  • - Removed all XMouse functionality. Too much damn hassle and only empy actually liked it.
  • ~ More damn problems with system wide variables. I "hope" i have them all fixed now.
  • + Added checking for explorer as the shell. (Won't notify though)
  • ~ Fixed the mouse appearing in the corner at startup bug i think.
  • BBSettings
  • + Added checking for pre 0.61 style bullet settings.
  • BBApi
  • ~ Okay, this time i think i /really/ have got the ReadColor() stuff down. Still no support for shading yet.

2001 - Blackbox for Windows 0.0.07 azathoth

  • API
  • ~ Messed around with the ReadColor() code again. Just when i think its fixed it goes and messes up. I fixed it well enough now anyways.
  • ~ Rewrote my formatted tokenizing routine from scratch.... much better now. the previous one wouldn't tokenize anything past a single white space...
  • BBSettings
  • ~ Altered one of the reading paths. imageDither wasn't being read right (it was looking for the wrong string)
  • + Inserted formatting so that it reads the values for image styles (bevel, gradient, flat etc). This was originally done during the config reading for the Menu but i decided it would make more sense to put it into the settings routines.
  • - Removed them when i realised they wouldn't work. i was using strstr() and its case sensitive which means it cant realistically be used. what a waste of an hour and a half...
  • (at current writing its 4am now... that means i've been up working on blackbox for a good.... oooh... 42 hours =) (i brought the kettle into my room and am on my 6th cup of coffee... KMFDM and loud music is keeping me going)
  • + I had a sudden inspiration and wrote all of that stuff out in a super sleek class and it works like a charm now. It's the first piece of code i have ever actually been "proud" of...
  • BBDesk
  • ~ Fixed all the desktop size setting code. it now sets the proper size on entry and restores the previous size on exit.
  • Blackbox
  • ~ Fixed it so that it re-initializes all System-wide parameters i set to their original values upon exit.
  • - Removed annoying Explorer check on startup. I think everyone knows when they are under explorer don't you?
  • + Added [reconfig] support.
  • ~ Fixed all the settings problems. Works a charm now.
  • BBMenu
  • + After spending a good couple of hours re-writing the damn menu to incorperate this new image lib i came upon one helluva large obstacle. I wont' bore you with it now but to fix it will require an entire rethink of the menu process. So i didn't bother with that =) I just wrote another small gradient routine. You are now free to use "Horizontal" to include horizontal gradients. This won't work on the frame settings tho, just the title and selector.
  • ~ Fixed position of arrows when in long named menues and set to "right".
  • + Arrows now reverse themselves if set to left. Thus pointing to the previous folder.
  • + I reversed the selected gradients. Opinions?
  • ~ I have now capped menues with long titled items at 300 pixels.
  • ~ Removed a few chunks of obsolete code.
  • ~ Adjusted submenu showing so that it appears at the position of the first menu item rather than at the title.
  • + Big addition. I have added [stylesdir] and [stylesmenu] support. Currently however it only lists the files in a straight vertical order. This means that if you have a lot of styles in there (like me) it likes long and ugly. Hopefully i can work out a dual column system soon.
  • + Added ability to read pre-0.61.1 styles. (They use retarded values for hilite colours)
  • + Now (in theory) supports bevels... that is, bevel1 and bevel2 in the style...
  • ~ Shrunk the size of the square bullet.
  • @ I also have added pr0npasswords.txt which is (guess what =). Also, another stye by m3gboy... very nice looking...

2001 - Blackbox for Windows 0.0.06 azathoth

  • MENU
  • ~ Fixed all menues. they no longer crash. the menu wasn't killing off its children before exiting which was causing a lockup.
  • ~ Fixed annoying restart bug. i was using SendMessage instead of PostMessage which caused the menu to wait for a return which never came.
  • ~ Fixed the menu so that if bullet's are positioned "left" they no longer overlap the text. all text becomes indented when selected.
  • - Removed a setting from the menu that set the maximum size of a popup window. now they are as long as the longest name. please contact me if you don't like it (long task names can look ugly).
  • ~ Fixed bug that would make the menu appear in its default style rather than the one supplied in the style file.
  • ~ Changed the [include] parsing code. If the file it tries to include isn't there it posts a messagebox and inserts an "[empty]" item.
  • ~ Fixed most of the menu parsing routines to use PostMessage instead of SendMessage, i don't want any more hangups =)
  • ~ Replaced initial WnExec routines with a better hand written ShellExec routine.
  • ~ Changed menu showing position aswell. It now mimicks Linux and appears in the middle of the title rather than at a corner. Also, the cursor for moving windows is the same as the linux one.
  • API
  • ~ Changed the ReadNextCommand() function to strip whitespace from the beginning of lines rather than straight looking for comments. (if there was any whitespace before a comment it would b0rk the line)
  • ~ Finally fixed ReadColor(). It now works a charm.
  • BBDesk
  • ~ Fixed the desktop so that it sets the desktop area on startup to the maximum size (just in case you are coming from explorer straight to bb as it keeps the gap at the bottomf or the taskbar). It restores this on quit.
  • VWM
  • + Major changes to workspace menu. Now has "icons" section listing all currently minimized apps on the computer.
  • + Each workspace name now has its own submenu. This contains all apps that are running (minimized or not) on that desktop.
  • + Right clicking any app in that submenu will zoom it to the current workspace.
  • + Clicking on the vwm name in the menu will now switch to the corresponding vwm.
  • ~ Re-wrote the entire vwm. took it out of the sketchy C base it was in and put it into C++. Had to iron out several bugs and now the vwm is lean and very mean.
  • BBSettings
  • + Added the BBSettings class which recieves all info from the style / blackboxrc files and puts it into memory. This'll speed things up.
  • + Added compile time excluders to stop BBSettings reading values unsupported yet (like windows/toolbar). Noticeable speed increase.
  • + Finally added the WriteRCSettings() function which writes all the values from the blackboxrc currently in memory to the blackboxrc file. Defaults to writing at exit or restart but can be called any time.
  • Blackbox
  • ~ Fixed restart problems and sorted out delete errors that were occasionally coming up.
  • + Added the ability to change styles on the fly. Still rather messy as it has to restart to do it (it writes a new value for the style file to the bbrc and restarts). But restart on my pc is one second anyways. /Slightly/ faster than a Litestep recycle no?
  • + Added Xmouse functionality. It plays up with the bbmenu atm. I'm going to have to do more handle checking to fix that..
  • + Implemented the opaqueMove setting. If set it will just drag the outline border of the window rather than the whole thing.
  • ~ Fixed the version info for the program.
  • @ Still can't get the damn DOS command line main() function to work right. Anyone got any ideas? It keeps going to WinMain()...
  • + Added File error correction for everything. It now checks every request for a file for location. Should fix some nasty crashign bugs i've had in the past.
  • + Added support for the rootCommand setting in the style. Blackbox will try and run whatever is in the rootCommand line on startup or restart.
  • BSetBG
  • + Initial version. Works fine. Not being released until i can sort out solid colour background setting for the desktop. i can set the reg value but don't know how (yet) to system wide update it.
  • BImage
  • + Merged in galois' CGradient lib into the codebase. Parts work okay but the pyramid and radial gradients are just too slow currently. Also, my gradient rendering routines are not suited to anything but the menu atm. When i get the BImage lib up to scratch i'll redo them all.