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.
- Lines starting with # or ! are ignored
- Each menu item consists of 1-3 fields
[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
- you may include items from shellfolder.rc into your menu as needed
- include all items with
[include] (shellfolders.rc)
- upper letter case for the items is required
Background
- bbLean paints gradient backgrounds on its own, without bsetroot.
- bbLean also paints images when used in conjunction with bsetroot 2.0b. (This is faster and doesn't alter wallpaper settings in 'Display Properties.')
- Multi-monitor support: bsetroot 2.0b has been updated for bbLean 1.10 and will create an image, which spans over the entire virtual desktop area, when the "-vdesk" switch is given. This switch is always passed by bbLean, when the 'smartwallpaper' option is on (default).
- You may enable/disable the background-rootcommand completely in the config menu.
- To allow the OS to paint the wallpaper instead of bb, put this into extensions.rc:
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
- from the menu, in menu.rc:
[exec] (label) {@BBBroadcastMessage}
- from a key shortcut, in bbkeys.rc:
KeyToGrab(LWIN), WithModifier(),
WithAction(ExecCommand), DoThis(@BBCore.ShowMenu)
- and by other means, for instance by the 'BroamBox' plugin.
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:
- %#c Long date and time representation, appropriate for current locale.
- %#x Long date representation, appropriate to current locale.
- %#d,H,I,j,m,M,S,U,w,W,y,Y Remove leading zeros (if any).
- %#a,A,b,B,p,X,z,Z,% # flag is ignored