Details

Here comes the more detailed information about how you can tweak the bbLean Blackbox for Windows shell to your needs.

 

Building the menu

To build your own main menu, you have to edit menu.rc. See also the included default menu.rc for examples.

        [command]  (label)  {data}
Commands for menu structure  
[begin] (label) indicates the begin of the menu, label is optional.
[end] indicates the end of the menu or submenu, required.
[submenu] (label) inserts a submenu into the menu, must be closed by [end]
[include] (filename) This will continue reading items from the indicated file.
[nop] (label) inserts an inactive item with an optional label
Commands for submenus  
[path] (label) {folderpath} insert an submenu with a folder from your computer. In addition to normal paths like {c:/program files}, a number of items may be used to indicate a special shellfolder. See shellfolders.rc for examples.
[insertpath] {folderpath} Similar to above, but will insert any items from the specified path into the current menu. If this menu only contains [insertpath] items, all items will be sorted in one pass.
[config] (label) inserts the ConfigMenu.
[stylesmenu] (label) {path} insert a folder with style files
[stylesdir] {path} insert stylefiles from the specified folder into the current menu.
[workspaces] (label) insert the workspaces menu.
[tasks] (label) insert a menu with the currenly iconized tasks.
Simple commands  
[exec] (label) {command} run a program or command.
[style] (label) {filename} insert an item to apply a new style.
[run] (label) show the windows 'run' dialog
[shutdown] (label) shutdown the computer
[reboot] (label) reboot the computer
[logoff] (label) logoff
[hibernate] (label) hibernate
[suspend] (label) suspend the computer
[lockworkstation] (label) lock workstation
Blackbox internal commands  
[reconfig] (label) re-read the configuration files.
[restart] (label) reload all plugins.
[exit] (label) exits blackbox.
[toggleplugins] (label) show/hide plugins
[aboutplugins] (label) display 'about plugins' info
[aboutstyle] (label) display 'about style' info
Edit commands  
[edit] (label) {file} edit the specified 'file'
[editstyle] (label) edit the current style
[editmenu] (label) edit menu.rc
[editlugins] (label) edit plugins.rc
[editextensions] (label) edit extension.rc
[editblackbox] (label) edit blackbox.rc

Note: The 'edit' commands use the 'blackbox.editor', which is specified in extensions.rc. For example:

    blackbox.editor: plugins\bbnote\bbnote.exe
 

ShellFolders

    [include] (shellfolders.rc)
 

Background

        blackbox.options.smartwallpaper: false
 

Transparency

Transparency may be set from the config menu.

for menus: setting in blackbox.rc

    session.menu.alpha.enabled: true/false
    session.menu.alpha.value: 0-255

toolbar/bbsystembar: setting in blackbox.rc

    session.screen0.toolbar.alpha.enabled: true/false
    session.screen0.toolbar.alpha.value: 0-255

in a stylefile: overrides above settings to set individual transparency for a style

    menu.alpha.value: 0-255
    toolbar.alpha.value: 0-255
 

StickyWindows.ini

List each application to be common among all workspaces on a separate line in StickyWindows.ini, save the changes, and 'reconfigure.'

Click 'Show Appnames' from the config menu to get a list of currently-running tasks and their internal names.

 

Bro@ms

Bro@ms are messages sent to Blackbox and Blackbox plugins to trigger some action.

They may be sent

    [exec] (label) {@BBBroadcastMessage}
    KeyToGrab(LWIN), WithModifier(),
        WithAction(ExecCommand), DoThis(@BBCore.ShowMenu)

Note: Any command, which toggles a setting, can have an argument 'true' or 'false'. For example:

    @BBCfg.fullMaximization         = toggle full maximization
    @BBCfg.fullMaximization false   = full maximization off
    @BBCfg.fullMaximization true    = full maximization on
 

@BBCore

Shutdown  
@BBCore.shutdown shutdown the computer
@BBCore.reboot reboot the computer
@BBCore.logoff logoff
@BBCore.hibernate hibernate
@BBCore.suspend suspend the computer
@BBCore.lockworkstation lock workstation
@BBCore.exitwindows display standard shutdown dialog
Blackbox  
@BBCore.reconfig reload style-settings and rc-settings
@BBCore.restart unload and reload all plugins
@BBCore.exit exit the blackbox shell
About  
@BBCore.aboutstyle display style info
@BBCore.aboutplugins display plugin info
Edit  
@BBCore.editstyle run the 'blackbox editor' on the current style
@BBCore.editmenu run the 'blackbox editor' on menu.rc
@BBCore.editplugins run the 'blackbox editor' on plugins.rc
@BBCore.editextensions run the 'blackbox editor' on extensions.rc
@BBCore.editblackbox run the 'blackbox editor' on blackbox.rc
@BBCore.edit <file> run the 'blackbox editor' on the specified file

The 'blackbox editor' is specified in extensions.rc:

    blackbox.editor: bbnote.exe
Plugins  
@BBCore.toggleplugins hide/show plugins, if the plugin is configured to 'toggle with plugins'
@BBCore.toggletray hide/show the systembar
Workspaces  
@BBCore.gather gather all windows in the current workspace
@BBCore.EditWorkspaceNames edit the names of workspaces, separate by commata
@BBCore.AddWorkspace add another workspace
@BBCore.DelWorkspace delete the last workspace
@BBCore.SwitchToWorkspace #n switch to the specified workspace number (1..n)
@BBCore.ActivateTask #n switch to the specified task number (1..n)
Menu  
@BBCore.showmenu show a pinned menu, if any, otherwise the main menu
@BBCore.showmainmenu show the main menu
@BBCore.showworkspacemenu show the task menu
@BBCore.showiconmenu show menu of minimized tasks
@BBCore.hidemenu hide menus, except the pinned ones
Other  
@BBCore.style <stylefile> apply the specified style
@BBCore.exec <path to command> execute a command
@BBCore.run show the windows 'run' dialog
@BBCore.showAppnames display a list of the currently running tasks.
@BBCore.crash crashes blackbox :)
 

@BBCfg

Focus model  
@BBCfg.focusModel ClickToFocus window is activated on mouse click
@BBCfg.focusModel SloppyFocus window is activated on mouse over
@BBCfg.focusModel AutoRaiseSloppyFocus window is activated and raised on mouse over
Toolbar  
@BBCfg.toolbar.Hidden hide/show toolbar
@BBCfg.toolbar.Alpha.Value #n toolbar/systembar transparency alpha-value
@BBCfg.toolbar.Alpha.Enabled enable/disable toolbar/systembar transparency
Menu  
@BBCfg.menu.bulletPosition default/left/right default means 'as specified in the style'
@BBCfg.menu.popupDelay #n sets the delay, until a menu is dismissed when the mouse is outside it's parent item. 80 seems a convenient value to me.
@BBCfg.menu.mouseWheelFactor #n menu mousewheel scrolling factor
@BBCfg.menu.alpha.Value #n transparency alpha-value
@BBCfg.menu.alpha.Enabled enable/disable transparency
@BBCfg.menu.snapWindow snap windows to screen edges
@BBCfg.menu.onTop set menus on/not on top
@BBCfg.menu.pluginToggle toggle menus with plugins
@BBCfg.menu.sortbyExtension sort files by extension rather than by filename
Graphix  
@BBCfg.fullEllipticGradient Apply the full range from Color to ColorTo to the elliptic gradient. May be turned off for backwards compatibility with some (rare) styles, which were designed under different conditions.
@BBCfg.enableBackground enable/disable the internal background. Turn it off, if you want to set the wallpaper otherwise.
DestopArea  
@BBCfg.desktop.marginLeft #n set margin for maximized windows (-1 = off)
@BBCfg.desktop.marginRight #n set margin for maximized windows (-1 = off)
@BBCfg.desktop.marginTop #n set margin for maximized windows (-1 = off)
@BBCfg.desktop.marginBottom #n set margin for maximized windows (-1 = off)
@BBCfg.fullMaximization toggle maximizing to full screen.
Plugins  
@BBCfg.plugin.add add a plugin to the plugin-list and plugins.rc
@BBCfg.plugin.load <plugin> load/unload a plugin as listed in the plugin menu
@BBCfg.plugin.inslit <plugin> toggle slit mode for a plugin as listed in the plugin menu
Misc  
@BBCfg.tasks.followActive automatically change workspace to active task
@BBCfg.tasks.currentOnly show only tasks of current workspace in the alt-tab window
 

@BBSystemBar

General  
@BBSystembarWidthPercent #n bar width
@BBSystembarOnTop always on top
@BBSystembarLinkToToolbar link to toolbar
@BBSystembarPluginToggle toggle with plugins
@BBSystembarToolbarSize same height as the toolbar
Placement  
@BBSystembarTopLeft Top Left
@BBSystembarTopCenter Top Center
@BBSystembarTopRight Top Right
@BBSystembarBottomLeft Bottom Left
@BBSystembarBottomCenter Bottom Center
@BBSystembarBottomRight Bottom Right
Icons  
@BBSystembarIconSaturation #n icon saturation
@BBSystembarIconHue #n icon hue
Display  
@BBSystembarToggleSystray Tray on/off
@BBSystembarToggleTasks Tasks on/off
@BBSystembarReversedTasks reversed task order
@BBSystembarCurrentOnly show only tasks in current workspace
@BBSystembarSysmenu show systemmenu on rightclick
@BBSystembarTBStyle0 tasks text only
@BBSystembarTBStyle1 tasks icon only
@BBSystembarTBStyle2 tasks text and icons
Settings  
@BBSystembarEditRC edit settings
@BBSystembarAbout about
Windows  
@BBSystembarMinimizeAll minimize all windows
@BBSystembarRestoreAll restore all windows
@BBSystembarCascade cascade windows
@BBSystembarTileV tile vertically
@BBSystembarTileH tile horizontally
 

@BBLeanBar

General  
@bbLeanBarWidthPercent #n bar width
@bbLeanBarOnTop always on top
@bbLeanBarAutoHide auto hide
@bbLeanBarPluginToggle toggle with plugins
@bbLeanBarSmallIcons toolbar height
Placement  
@bbLeanBarTopLeft Top Left
@bbLeanBarTopCenter Top Center
@bbLeanBarTopRight Top Right
@bbLeanBarBottomLeft Bottom Left
@bbLeanBarBottomCenter Bottom Center
@bbLeanBarBottomRight Bottom Right
Icons  
@bbLeanBarIconSaturation #n icon saturation
@bbLeanBarIconHue #n icon hue
Display  
@bbLeanBarReversedTasks reversed task order
@bbLeanBarCurrentOnly show only tasks in current workspace
@bbLeanBarSysmenu show systemmenu on rightclick
@bbLeanBarTBStyle0 tasks text only
@bbLeanBarTBStyle1 tasks icon only
@bbLeanBarTBStyle2 tasks text and icons
Settings  
@bbLeanBarEditWorkspace edit workspace name
@bbLeanBarEditRc edit settings
@bbLeanBarAbout about
Windows  
@bbLeanBarMinimizeAll minimize all windows
@bbLeanBarRestoreAll restore all windows
@bbLeanBarCascade cascade windows
@bbLeanBarTileV tile vertically
@bbLeanBarTileH tile horizontally
 

@BBLeanSkin

BBLeanSkin  
@BBLeanSkinToggleLog toggle log window on/off
@BBLeanSkinToggleSkin toggle skinning
@BBLeanSkinEditRC edit settings
@BBLeanSkinEditExclusions edit exclusions.rc
@BBLeanSkinAbout about box
 

Clock Formatting

These codes are used for formatting the toolbar clock with the setting in blackbox.rc, for example:

    session.screen0.StrftimeFormat: %#I:%M:%S %p
Label Value
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01 - 31)
%H Hour in 24-hour format (00 - 23)
%I Hour in 12-hour format (01 - 12)
%j Day of year as decimal number (001 - 366)
%m Month as decimal number (01 - 12)
%M Minute as decimal number (00 - 59)
%p Current locale's A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 - 59)
%U Week of year as decimal number, with Sunday as first day of week (00 - 53)
%w Weekday as decimal number (0 - 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first day of week (00 - 53)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00 - 99)
%Y Year with century, as decimal number
%z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown
%Z same as above
%% Percent sign

Alternative Formats

the # sign modifies some of the above as follows: