Welcome to bbconf, the all-in-one blackbox configuration tool.
Never heard of blackbox before? Well, let's just say that it's the
best Window Manager for X that's out "there" in our humble opinion.
Simply put, this little utility here has such lofty goals as being
the one place where you can configure anything and everything you
need to that has to do with blackbox.
bbconf aims to do that through the use of plugins--plugins which
allow you to configure anything you wish about blackbox or its
helper applications such as bbkeys, bbpager, bbapm, bbmail, bbpal,
etc.
bbconf is distributed with 4 plugins that allow you to configure
blackbox's keybindings, blackbox's styles/themes, and your blackbox
menus and submenus. The architecture of the plugins themselves are
very simple and elegant -- making it easy for anyone else to add
onto the distributed plugins to make it easy to configure whatever
else you want to for your blackbox/X sessions.
Update from version 3.5 to 3.5.2.
from the CHANGES file:
Changes from version 3.5 to 3.5.1
1 - f.initsize : resets a window to its initial size given by the
WM_NORMAL_HINTS hints.
2 - f.ring : Selects a window and adds it to the WarpRing, or removes it if
it was already in the ring. This command makes f.warpring much more
useful, by making its configuration dynamic (thanks to Philip Kizer
<pckizer@tamu.edu>).
3 - f.jumpleft, f.jumpright, f.jumpup, f.jumpdown : takes one integer
argument (the step). These function are designed to be bound to keys,
they move the current window (step * {X,Y}MoveGrid) pixels in the
corresponding direction. stopping when the window encounters another
window (ala f.pack).
Changes from version 3.5.1 to 3.5.2
1 - f.moveresize : Takes one string argument which is a geometry with the
standard X geometry syntax (e.g. 200x300+150-0). Sets the current
window to the specified geometry. The width and height are to be given
in pixel, no base size or resize increment are used.
2 - AutoLower et f.autolower : from Kai Grossjohann
(Kai.Grossjohann@CS.Uni-Dortmund.DE). Same as autoraise but with lower.
3 - WindowRingExclude : Takes a window list as argument. All listed windows
will be excluded from the WarpRing.
4 - A new menu : 'TwmIcons' same as 'TwmWindows', but shows only iconified
windows. I did this when I got bored of having icons. Now I have no
icons and no icon managers. I use this menu to deiconify windows.
When I was young, I liked to have brightly colored icons, but now that
I am getting old(er), I prefer a bare desktop.
Changes since 0.61.1:
- the lock modifier code handles user redefined modifiers better
- check if the locale actually needs multibyte support before using multibyte
functions
- use srcdir in all of the makefiles
- general code touchups
- blackbox-nls.hh is always generated even if --disable-nls is used.
This allows us to not have all of those hideous #ifdef NLS chunks.
Nothing to worry about, if you do not want NLS this does not affect you
- Workspace::placeWindow() cleanups. Also a speed bump from reducing the
use of iterator->current() and changing the delta from 1 to 8
- fixed a desciptor leak in BScreen::parseMenuFile, seems opendir
lacked a matching closedir.
- fix transient window handling code in Workspace::removeWindow() so
transients give focus back to their parents properly. The code originally
handled sloppy focus then transient windows, so we just flopped the
if/elsif. This is immediately noticable with web browsers and their open
location windows.
- fixed list::insert so you really can insert at item number 2. While there
I cleaned up the code a bit.
- added decoration to the atom state stored in a window
- fixed the window menu gets left open when another window button is pressed
issue with a call to windowmenu->hide() in window->maximize()
- applied xOr's patch for decoration handling
- applied xOr's patch for the maximize, shade, unmaximize bug
- applied Kennis' patch for sending incorrect Slit configure notices
- BlackboxWindow's flags have been moved into a flags structure
- applied xOr's patch for border handling
- resizing a window turns off its maximized flag. Before a resized window
thought it was still maximized and maximizing a double action
- BlackboxWindow::withdraw no longet sets the state to Withdrawn.
This confused some X clients.
- the menu file mentioned in the manpage is now based on DEFAULT_MENU
- menu is no longer installed, you need to copy it yourself
- the lock modifiers no longer stop blackbox!
- maximize a window via bbkeys and the maximize button is not redrawn, fixed
- autoraise and multiple dialog windows yields segv bug fixed
also lengthened the default auto raise delay from 250 to 400
- another iteration of autoraise and dialog box handling, this time we
noticed that nothing ever reset blackbox.focused_window to 0 when a window
was removed
- check if the window is visible before changeBlackboxHints() calls maximize
- placeWindow no longer takes edgeSnapThreshhold into account
- ignore style files ending in ~
- support locale specifiers with @euro in them
- Toolbar name editing buffer reduced to 128 chars, logic added to make sure
this buffer is not overrun
As well as NLS improvements and other minor bug fixes.
all dependencies on packages depending on "png" which contain shared
libraries, all for the (imminent) update to the "png" package.
[List courtesy of John Darrow, courtesy of "bulk-build".]
* New conditional command ThisWindow.
* Better support of non ISO-8859-1 window and icon titles.
* Bug fixes
Apart from fixing a number of minor or rare problems, it addresses
slow opaque window movement and resizing that was not encountered in
the 2.2.x releases. If you do not use opaque window movement or resizing
and did not encounter any of the bugs described below you do not need
to upgrade. System administrators are strongly encouraged to move to
2.4.6 from any earlier 2.4.x release.
By default the apm applet is always compiled in unless the lite support is
enabled which turns off way too much.
So, split the apm option out into it's own option and test for it by checking
in Makefile.common for apmvar.h's existance. If it doesn't exist pass
--disable-apm. This makes this compile again on machines that do not have
machine/apmvar.h (and are NetBSD) such as macppc.
Bump version via PKGVERSION to nb1.
Added DefaultGeometry option to database. That should allow to place
window with specifyed geometry when no USPosition was requested,
instead of dragging it around. Useful for things like Netscape.
Example:
Style "*escape*" DefaultGeometry 800x600+10-100
Afterstep-1.8.10 added "Xinerama" support (whatever that is) which we
have to disable in "configure" to build, and multi-head support -- which
is untested on NetBSD.
Follows is the complete ChangeLog since 1.8.9:
1.8.10 patch 1 (sasha+Geoff Burling+Jan Fedak)
o Numerous man page and usage fixes by Geoff Burling.
o Fixed bug in DefaultGeometry handling where check for USPosition/Size
should have been negated.
o Fixed compilation bug in lib/parse.c
o Fixed minor typho in afterstep man page.
o Debugged background setting on multihead config. It apperas that
asetroot cannot be run with -l if it is named other then asetroot.
Otherwise background selection from the menu does not work.
o Updated Clean to use ProcessModuleArgs. Added global var display_name
that is set to --display argument value or env var $DISPLAY 's value.
MOst modules must be updated to remove var with the same name from
main().
o Applied patch from Jan Fedak to add startup geometry to database
parameters.
o Applied patch from Jan Fedak to fix hotkeys in menus.
o Applied patch to get AfterStep to change Icon when Title is changing.
New feel option - FollowTitleChanges in feel has to be used to enable
this feature.
o Fixed Tile's -h handling.
o added support for maximization to not exceed screen size, while
working with xinerama.
o man pages fixes.
o Fixed socket/pipes reading loops to not cause 100% CPU utilization
under CYGWIN and in some cases even on Unix.
o Fixed Menus pointer location handling to use coordinates from events
and not abuse XQueryPointer. Otherwise menus were behaving strange
whenever events were late due to one reason or others.
1.8.9 patch 1 (sasha)
o Fix X libraries order, to have Xext preceed X11 - causes problems on
some Solaris systems.
o fixed two warnings related to time.h
o commented out dependency checking to avoid problems for users with old
compilers. It is not needed in stable series anyways.
o Added functionality to WindowsDesk function. If second argument is
10000 then first is relative desk number, instead of exact.
o Implemented Xinerama support. When window is initially placed - it
will be appropriately moved to not appear in between monitors, unless
user requested geometry explicetely.
o When Xinerama is active, and asetroot is requested to scale or pad
background image to the screen size it will use size of the first head
( the one with origin of 0,0 ).
o Implemented separate Feel, Look, Background and Init/Restart functions
for different screens in multihead config with no Xinerama.
o We now read $TMPDIR in order to locate /tmp directory, and falling back
to /tmp if envvar is not set.
o somewhat fixed Align and Pad fields in the Asetroot config parsing.
Perkin (sketch@rd.bbc.co.uk), modified slightly by me.
Excerpt from ChangeLog since last version (0.3.11):
2001-07-13
Added -V option.
Start the run up to 1.0. Hopefully this will involve solving the
IE bug, but right now I'm not very concerned about it.
2001-08-24
Grab everything with Mod3Mask as well - this should circumvent the
NumLock problem.
2002-01-03
If an app maps itself (EVIL! EVIL! EVIL!), switch to the virtual
desktop it's on before raising it.
2002-01-22 (vatten@users.sourceforge.net)
Added support for vdesk - an external virtual desktop manager
that works by iconifying windows and mapping them back again.
2002-01-24 (vatten@users.souceforge.net)
Added support for the combination of vdesk and the internal
virtual desktop manager.
2002-01-25
Move all the key bindings out into a separate include file and
add a line in Makefile to override KILL key (for cygwin).
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
removal of USE_GTEXINFO
INSTALL_INFO added to PLIST_SUBST
`${INSTALL_INFO}' replace `install-info' in target rules
print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
makeinfo command usage
See -newly added by this commit- section 10.24 of Packages.txt for
further information.
New features:
-------------
* New style BackingStoreWindowDefault which is the default
now. Fvwm no longer disables backing store on windows by
default. This may help with some applications that do not redraw
properly.
* Reduced the time in which fvwm attempts to grab the pointer.
Bug fixes:
----------
* Fixed minor problems in popping sub menus up and down.
* Fixed moving windows between pages with the keyboard.
* Fixed the size of the geometry window that was broken sometimes.
* Fixed problem with pointer warping to another screen on a dual
head setup.
* Fixed a problem with the focus in internal Ddd and Netscape
windows.
* Fixed unmanaged window when window was mapped/unmapped/mapped too
fast.
* Fixed MiniScroll's auto repeating in FvwmScript.
* Fixed a crash with the UseStyle style in combination with
HilightBack.
* Fixed excessive redraws of the windows under a window being shaded.
* Fixed a minor memory leak in the Style command.
* Fixed pixmap background of FvwmButtons behind buttons with only
text.
* Fixed a crash in FvwmIconBox when the application provided an
illegal icon.
* Fixed a configure problem with libstroke-0.5.1.
* Fixed bug that sometimes caused unnecessary redraws when a style
was changed.
* Fixed crash when something like "$[$v]" appeared in a command.
* Fixed parsing of conditions with more than one comma.
[Note: If you've used Windowmaker before, you might want to read
the NEWS file included with the distribution (on each update, really).]
More interesting changes:
- Disabled window birth animation by default (while it was ok with normal
windows, it was very annoying with menus editing in WPrefs.app)
- Added ability to shade/unshade a window using the mouse wheel.
- Added "Save workspace state" switch button on the exit confirmation panel
(based on a patch sent by Jan Tomka <judas@linux.sk>)
- SIGTERM is now handled and saves the internal state before exiting (like
SIGHUP and SIGINT already do). Now a "kill wmaker_pid" will exit cleanly
saving dock/clip/session information on exit.
- Deminiaturizing a window that is also shaded, will perform an unshade too.
(Note that this only applies to deminiaturizing shaded windows. Unhiding
an application will keep the shaded/unshaded state of windows.)
- Removed compile time option for definable cursors and made them available by
default.
- Mapping a new window that belongs to a running application that is hidden,
will unhide the application.
- Removed the collapse appicons thing.
- Added real appicon sharing (apps of the same kind will have a single shared
appicon).
- Fixed user and global defaults domain merging to preserve values present in
global but not in user, in sub-dictionaries.
- Made dock/clip steal appicons of applications that were started from a
shell/xterm or from the main menu, if there is a docked appicon of that
class that is not running at the time the app is launched.
- Added animation to show that the appicon was stolen by the dock (the way
NEXTSTEP did - map an appicon as it normally would have been, then slide it
to the position the docked appicon is).
- Updated the animation constants for scrolling/sliding/shading to better
adapt to newer/faster machines. Also used wusleep(10) when the delay was 0
to get rid of the jerky animation when there was no delay.
- Saving a domain file will first strip all entries that are also present in
the global domain as well and are exactly the same. This fixes a bug where
settings from the global domain file were merged in the user domain file
and further changes in the global domain file for those merged values was
ignored making a system admin unable to set global defaults for all users
using the global domains.
Also, some bug fixes and localization updates.