BBPager 1.0
description
BBPager is a VWM (Virtual Window Manager) plugin for Blackbox for Windows. It allows you to see window positions on other workspaces, change workspaces using the pager, focus windows on any workspace, and move windows from one workspace to another.

BBPager 1.0 requires Blackbox for Windows 0.0.81 or later.

Insert random tagline here. =Q)

NC-17

revision history

BBPager 1.0 (2003-03-13) / NC-17

  • Changed the way windows are filtered to display more windows, e.g. Delphi apps
  • Converted static arrays to vectors to help lower memory footprint
  • Added support for moving windows!
  • BBPager can now accept keyboard input for menu shortcuts
  • Added docs!
  • BBPager 0.8.5 (2003-02-24) / NC-17

  • Original release
  • future releases?
  • [your wish goes here - send me your ideas! :D ]
  • known issues
  • windows do not span across desktops
  • license information
    © 2003 Laurence Skegg [NC-17]

    BBPAGER IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF THE AUTHOR OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    initial setup

    To load BBPager you simply need to add the relative path of the plugin (from your Blackbox directory) to the Blackbox configuration file plugins.rc (located in the Blackbox directory). For example, if you installed Blackbox into c:\Blackbox, and BBPager.dll is located in c:\Blackbox\plugins\BBPager\, you should add the line...

    plugins\BBPager\BBPager.dll (for 2k/xp users)
    plugins\BBPager\BBPager_9x.dll (for 9x/me users)

    ...to plugins.rc. Simple, eh? :)

    You should also have a look at the bbpager.rc file before you load the plugin, in case there are any settings you would want to customise. These settings are shown below.

    how to use BBPager...

    Mouse Input

    Once the plugin is loaded, several things can be done with a simple click on the pager window:

    Left Click  by default this focuses windows inside desktops, outside lets you drag the pager
    Left Click + Ctrl  this lets you drag the pager around wherever you click it
    Middle Click  by default this picks up a window in the pager and lets you drag it around
    Right Click  outside desktops this accesses the plugin menu, inside this changes desktop by default
    Right Click + Ctrl  anywhere in the pager this accesses the plugin menu

    The Menu

    The plugin menu let's you change or select various things, and most should be self-explanatory. However, there is one submenu worth mentioning - the "Settings" submenu.

    This submenu let's you "Save Settings" (current) to file, or "Reload Settings" that you have edited. These are important because a) BBPager only writes settings when you tell it to, or on plugin shutdown, and b) you do not need to reconfigure bb4win in order to have BBPager reload settings from the bbpager.rc file.

    The "Edit Style" entry opens the bbpager.bb file in your preferred editor. This file is for changing the way BBPager looks. Any setting specified in that file overrides any definition found in the current style file bb4win is using. You can also change the way windows and the active desktop are rendered with this file.

    Keyboard Input

    When BBPager is the focused window (i.e. after clicking on it), it can accept keyboard input. Below are keys you can press to access a few functions quickly. Note for the positioning you need to have numlock on.

    Numpad Keys 1-9, except 5  Set BBPager position (7 is TopLeft, 3 BottomRight, etc.)
    Numpad Subtract  Reload Settings
    Numpad Add  Save Settings
    Enter or Backspace  Toggle autohide
    Escape  This cancels window movement if a window has been grabbed in the pager

    Miscellaneous Notes

    Dragging: When in autohide mode this is not possible - this is where the positioning menu comes in handy. You cannot drag the pager window off the screen.

    Autohide: Enabling autohide when the pager window is not on a screen edge will cause the pager to snap to the nearest screen edge and enter the hidden state.

    Moving windows: When an active window is moved, the workspace is changed to the one it is moved to. When unfocused windows are moved the workspace does not follow the window. Maximised windows cannot be moved within the same workspace. When they are moved to another workspace they will stay in their maximised state. Maximised windows use the cursor position to decide which desktop it is dragged to, while unmaximised windows use upper left corner of the window to decide this.

    bbpager.rc settings

    I have included a default configuration file bbpager.rc in the .zip. If a configuration file for some reason (e.g. you deleted it <g>) can not be found at startup (BBPager will first search for it in the same directory as the plugin, then in the Blackbox directory), BBPager will automatically create one for you in the same directory as the plugin. Normally, you do not need to edit this file manually, however you may want the to change the button settings to your preference. You may also want to tweak the alpha transparency value (for 2k/xp only, see below) to your liking.

    bbpager.position.x: 0  X position of the pager
    bbpager.position.y: 895  Y position of the pager
    bbpager.desktop.width: 40  Width of virtual desktops in the pager
    bbpager.desktop.height: 30  Height of virtual desktops in the pager
    bbpager.alignment: vertical  Chooses whether rows or columns are used
    bbpager.columns: 2  Number of columns to constrain desktops to in vertical mode
    bbpager.rows: 2  Number of rows to constrain desktops to in horizontal mode
    bbpager.desktopChangeButton: 2  Mouse button to use for changing desktops
    bbpager.windowMoveButton: 3  Mouse button to use for moving windows
    bbpager.windowFocusButton: 1  Mouse button to use for focusing windows
    bbpager.raised: true  Always on top?
    bbpager.autoHide: false  Toggle autohide mode for the pager
    bbpager.snapWindow: true  Snap window to screen edge?
    bbpager.transparency: false  Toggle transparency
    bbpager.transparency.alpha: 200  Value of transparency (0-255). Larger is more opaque
    bbpager.desktopNumbers: true  Show numbers of desktops?
    bbpager.desktopWindows: true  Display windows?

    Please note that BBPager automatically saves the current running configuration when you quit or restart Blackbox, overwriting the previous contents of the file. If you want to change these values and make BBPager read them again, edit the file, and then select "Reload Settings" from the plugin's "Settings" submenu.

    Mouse buttons: For setting mouse buttons to certain actions, 1 is the Left Mouse Button, 2 is the Right Mouse Button, and 3 is the Middle Mouse Button.

    bbpager bro@ms

    @BBShowPlugins  Standard BB bro@m to show all plugins
    @BBHidePlugins  Standard BB bro@m to hide all plugins
    @BBPagerReload  Make BBPager reload its settings
    @BBPagerSave  Make BBPager write your current settings to disk

    @BBPagerPosition TopLeft  These set the position of the pager window to that specified :)
    @BBPagerPosition TopCenter
    @BBPagerPosition TopRight
    @BBPagerPosition CenterLeft
    @BBPagerPosition CenterRight
    @BBPagerPosition BottomLeft
    @BBPagerPosition BottomCenter
    @BBPagerPosition BottomRight

    @BBPagerInternal OpenRC  Open the bbpager.rc file with your preferred editor
    @BBPagerInternal OpenStyle  Open the bbpager.bb file with your preferred editor
    @BBPagerInternal Vertical  Change the alignment to vertical mode
    @BBPagerInternal Horizontal  Change the alignment to horizontal mode
    @BBPagerInternal ToggleSnap  Toggle snap window to edge
    @BBPagerInternal ToggleRaised  Toggle window always on top
    @BBPagerInternal ToggleHide  Toggle whether autohide is enabled or not
    @BBPagerInternal ToggleTrans  Toggle use of transparency (2k/xp only)
    @BBPagerInternal ToggleNumbers  Toggle whether numbers are displayed on desktops
    @BBPagerInternal ToggleWindows  Toggle whether windows are shown on desktops
    @BBPagerInternal About  Display message box about the plugin

    acknowledgements
    Everyone who has tested BBPager and given helpful feedback whether it was critical or praising :) Qwilk of course for the lovely documentation layout and ever-helpful SDK!