Subject: CVS commit: pkgsrc/wm/blackbox
To: None <>
From: Jan Schaumann <>
List: pkgsrc-changes
Date: 09/19/2002 18:54:49
Module Name:	pkgsrc
Committed By:	jschauma
Date:		Thu Sep 19 15:54:48 UTC 2002

Modified Files:
	pkgsrc/wm/blackbox: Makefile PLIST distinfo

Log Message:
Update the fabolous Blackbox windowmanager to latest 0.65.0 Release
(the first major release from the new maintainer, IIRC).  Many new goodies,
bugfixes and overall improvements.  This closes PR pkg/18131.

Changes from 0.62.1 to 0.65.0:
  - added Taiwan Chinese (zh_TW), Hungarian (hu_HU), Latvian (lv_LV),
    Korean (ko_KR), Norwegian (no_NO), Polish (pl_PL), Romanian (ro_RO) and
    Ukrainian (uk_UA) nls files and updated most of the others.
  - removed the Estonian (ee_ET) and Turkish (tr_TR) locales due to their
    being heavily out of date and unmaintained
  - remove slit and netwm as compile time options
  - strip much of BaseDisplay's original functionality and move it to the
    blackbox class.
  - huge amounts of internal cleanups
  - added emacs local variables to each file that prevent the addition of tabs
  - added a file which contains useful functions with no obvious home.
  - move code over to the STL
  - removed several unused variables and otherwise reduced the memory usage
    of the objects in Blackbox.  For the record the binary is roughly 100k
    larger than 0.62.0 and that is mostly due to the STL but there is also a
    fair bit of new code.  However for the most part blackbox runs faster and
    is still one of the leanest window managers out there today.
  - bsetroot now sets _XROOTPMAP_ID, so pseudo transparent apps will be happy
  - beginnings of a strut implementation.  toolbar and slit are removed from
    the available screen area if 'full maximize' is not set
  - XReparentWindow sends an UnmapNotify to the window manager however
    in certain cases the window is already unmapped so the window manager
    never gets the event and the unmapNotify event is where reparentNotify was
    handled.  Added a reparentNotifyEvent handler in the BlackboxWindow class
    and a new case in the Blackbox class's process_event function.
  - no more blackbox->grab/ungrab calls everywhere
  - compression of motion and expose
  - Now we have one function which turns ~/ into /home/user/.  This is now
    called everywhere this expansion should be done.  Even added this to the
    resource.menu_file so now the menu file may be specified as
  - added a TimerQueue which is a priority_queue with the ability to release
    items it contains before they reach the top of the queue.  Also added a
    TimerQueueManager protocol class which BaseDisplay now inherits from.
  - BTimer now defaults to NOT recurring.  Most of the timers in blackbox were
    one shots so I saw little benefit in defaulting to repeating timers.
  - update transient handling, should solve issues with apps like acroread.
    added a getTransientInfo() method of the BlackboxWindow class which
    handles checking the transient state in X and setting the appropriate
    variables on the window.  To attack the infinite loops this
    function ensures that client.transient != this and we check for loops
    of the form A -> B -> C -> A.  The new transient code also allows for one
    window to have multiple transients so applications like xmms and web
    browsers are better behaved.
  - even better ICCCM support and focus handling
  - wmswallow works
  - fix for clock clipping in the toolbar
  - better support for non decorated windows and toggling decor
  - the geometry window shown when moving or resizing a window now handles the
    parentrelative setting better.  parentrelative support has been improved
    for all of the other widgets as well.
  - better window group handling
  - improved edge snap support (still no window to window snapping)
  - changing preferences no longer leads to windows being raised
  - the window's "send to" menu ignores the current workspace, which is a
    better UI approach
  - new placeWindow algorithm.  Blows the old one out of the water.  Not only
    is it faster but it is also cleaner code too (-:  Went from number 5 in
    the profiling results to under 30.  Image rendering is now the slowest
    part of managing of new windows.
    Because of the new code layout, support is now there for new and
    different layout options but this will wait for after 0.65.0.
  - smart window placement ignores shaded windows now
  - new option in the Config menu which allows Scroll Lock to disable
    Blackbox's keybindings.

To generate a diff of this commit:
cvs rdiff -r1.7 -r1.8 pkgsrc/wm/blackbox/Makefile
cvs rdiff -r1.2 -r1.3 pkgsrc/wm/blackbox/PLIST
cvs rdiff -r1.3 -r1.4 pkgsrc/wm/blackbox/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.