Skip to content

Commit

Permalink
bsetroot now sets xrootpmap_id, pseudo transparent apps should be happy
Browse files Browse the repository at this point in the history
  • Loading branch information
shaleh committed Feb 2, 2002
1 parent 443f549 commit 5005781
Show file tree
Hide file tree
Showing 4 changed files with 333 additions and 177 deletions.
74 changes: 46 additions & 28 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,27 +1,39 @@
-- AUTHORS for Blackbox 0.40.x beta - an X11 Window manager
-- Copyright (c) 1997, 1998 by Brad Hughes, bhughes@tcac.net
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--
-- (See the included file COPYING / GPL-2.0)
--
-- AUTHORS for Blackbox 0.62.x - an X11 Window Manager

Author:
Brad Hughes <bhughes@tcac.net>
Code Maintainer:
Sean 'Shaleh' Perry <shaleh@debian.org>

Contributors:
Current Contributors:
Ben 'xOr' Jansens <xor@orodu.net>
- metric tons of code patches
John Kennis <jkennis@chello.nl>
- bbpager, ideas, and support
Jason 'vanRijn' Kasper <vR@movingparts.net>
- bbkeys, ideas, support
Chris Mecca <flip@linuxguide.org>
- use of his irix machine for testing
Wilbert Berendsen <wbsoft@xs4all.nl>
- man pages and dutch nls file
Luca Marrazzo <marra.luca@libero.it>
- italian nls files
Ales Kosir <ales.kosir@telemach.net>
- Slovenian man pages and nls
SATO Satoru <ssato@adachi.ne.jp>
- Japanese nls and man pages
Jan Schaumann <jschauma@netmeister.org>
- German nls support
Wang Tiejun <wtj@dept3.buaa.edu.cn>
- Chinese nls support
Dale P. Smith <dsmith@altustech.com>
- bsetroot now sets xrootpmap_id atom

Original Author:
Brad Hughes <bhughes@trolltech.com>

Second Author:
Jeff Raven <jraven@psu.edu>

Past Contributors:
Jeffrey Sean Connell <ankh@canuck.gen.nz>
- debugger class code (ommited from sources)
Frank Belew <frb@umr.edu>
Expand All @@ -35,18 +47,24 @@ Contributors:
Keith Bolland <prime@strip.net.nz>
- beta testing, bug reports and suggestions
James Spooner <spoons@xtra.co.nz>
- beta testing, bug reports (beta moron)
- beta testing, bug reports
Fred Knieper <derf@tamu.edu>
- beta testing, bug reports
Steve Udell <hettar@teleport.com>
- beta testing, bug reports, questions (very good ones)
Gregory Barlow <barlowg@ncssm-server.ncssm.edu>
- bug reports and patches/suggestions (original middle click advocate)
Dyon Balding <dyon.balding@eng.monash.edu.au>
- patch for Smart(er)Placement window placement
Mike Cole <mike@mydot.com>
- co-author/hacker of Image.cc (local LUG buddy)
John Kennis <jkennis@chello.nl>
- author of bbtools/beta testing/bug reports
Wilbert Berendsen <wbsoft@xs4all.nl>
- author of blackbox/bsetroot manpages

(Brad's original message):
I would also like to thank the creators of WindowMaker. Reading the existing
code has helped me immensely, and the BImage class follows the RImage data type
very closely (the 8bpp code and dithering code was based off of WindowMaker's
wrlib).

I recently stumbled upon a library called ccmalloc (which is included in the
source tarball with blackbox) that has helped me immensely. Many thanks to
Armin Biere <armin@ira.uka.de> for this debugging aid.

217 changes: 144 additions & 73 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,77 +1,148 @@
ChangeLog for Blackbox 0.50.xx
Enjoy! :)
ChangeLog for 0.62.x

Changes from 0.40.14 to 0.50.0:
- added util/ subdirectory to place small, utility programs to use in
conjunction with blackbox.
- updated the README... it's still vague and useless, but gives a better
view of whats going on
- the configure script now checks for a few more headers, setlocale and
strftime in addition to basename functions to better include support for
multiple arch/langs/etc.
- updated default menu file... made it a little more general... and made
the default style menu [include]'d instead of explicitly included...
this break off of the style menu allows for custom menus to include the
default style menu for a create selection of styles
- changed all the default styles to use bsetroot instead of xsetroot
- menu handling has been improved... no more than one menu at a time may be
visible on the desktop (save for the root menu and it's tear off menus)
this means that you can't have multiple window menus and the workspace menu
open all at once... which saves screen space and reduces clutter
- much of the code has been reorganzied and reformatted for better
readability... this consists of function name changes and function
"ownership" (which basically means workspaces aren't managed by the toolbar
itself anymore, but by a general screen class on which the toolbar can
operate)
- the workspacemenu now autohides when selecting a window from one of the
window lists
- removed many empty destructors for Basemenu subclasses to improve code
readability
- two new files, Screen.cc and Screen.hh, have been added to the distribution
they add the new class BScreen which was needed for the biggest change of
the Blackbox code base, the addition of multiple screen (i.e. multihead)
support. A separate BScreen is created for each screen, and all screens
work inconjunction with the other... windows can't be passed between
screens, because the X server doesn't allow this (more investigation on
this later)
- the toolbar's clock format is now controlled by the strftime() function...
if configure can't find this function on your system, the old date/time
format is used... with strftime, clicking on the clock doesn't display the
date... as the date may now be part of the clock display... read the man
page for the strftime function to write a format string for your clock,
and place it in .blackboxrc (i.e.
session.strftimeFormat: %I:%M %p on %a, %b %d is my strftime format
string)
- the toolbar has been stripped of it's workspace responsibilities, but this
change has no effect on the end user.
- common code interspersed through out the code has been consolodated into
small functions and called multiple times instead of having the same or
similar code repeated in the same class
- the window startup code has been improved upon again so that shaded windows
are restored between restarts
- some ICCCM code has been updated to properly reflect the state of windows
while shaded or on different workspaces... this state code change should
also fix the JX toolkit problem of deiconifying and nothing being redrawn
- the main Blackbox class has been changed to purely handle X events... it
doesn't manage resources (save for those necessary for proper event
handling, like the focus model for each screen)
- the format of .blackboxrc has changed slightly, the session.menuFile,
session.doubleClickInterval, session.imageDither, session.styleFile,
and session.colorsPerChannel resources are unchanged. However, the
following resources are screen dependant:
Changes from 0.62.1:
- bsetroot now sets _XROOTPMAP_ID, so pseudo transparent apps will be happy

session.screen<num>.strftimeFormat
session.screen<num>.workspaces
session.screen<num>.workspaceNames
session.screen<num>.toolbarRaised
session.screen<num>.focusModel
Changes from 0.62.0 to 0.62.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
- added zh_CN (Chinese) nls support

where <num> is the screen number (zero being default and all that would be
present on a single screen/monitor setup).
- a utility named bsetroot (mentioned above) has been included in the
blackbox distribution, to aid in setting root window patterns (ala
xsetroot). the only different between xsetroot and bsetroot is that
bsetroot doesn't redefine cursors, and doesn't restore defaults if no
arguments are given. bsetroot does support multiple screens, and is ideal
for those setups (instead of running xsetroot for each screen)
Changes from 0.61.1 to 0.62.0:
- the immorel release
- added the ja_JP nls directory and man pages
- 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
- cleanups to compile with g++ 3.0
- make distclean actually removes Translation.m and blackbox-nls.hh.
Also fixed Makefile.am to pass --foreign instead of --gnu when calling
the autotools.
- 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.
- plugged a small leak in ~Toolbar
- 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 a typo in bsetroot.cc: 'on of' -> 'one of'.
- 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.
- updated the manpages and added Dutch NLS support (thanks Wilbert)
- added it_IT nls files, thanks Luca Marrazzo <marra.luca@libero.it>
- the menu file mentioned in the manpage is now based on DEFAULT_MENU
- configure script found basename in -lgen, but did not set HAVE_BASENAME
causing compilation problems on irix and possibly others. Added a call
to AC_DEFINE in AC_CHECK_LIB to fix this.
- menu is no longer installed, you need to copy it yourself
- cleaned up i18n code a little. Several member functions were declared
but never used and getMessage() had a default argument which was also
never used.
- i18n will now compile cleanly on machines without nl_types.h
- the lock modifiers no longer stop blackbox!
- maximize a window via bbkeys and the maximize button is not redrawn, fixed
- now exit with an error code if an unknown option is passed
- 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
- added Slovenian man pages and nls, thanks Ales Kosir
- Toolbar name editing buffer reduced to 128 chars, logic added to make sure
this buffer is not overrun
- added German nls files, thanks Jan Schaumann
- added my name to the code, updated the version output

Changes from 0.61.0 to 0.61.1:
- fixed some of the code to explicitly use colormaps so that when
blackbox decides to use a non-default visual everything will
still work (although it may look darn ugly)
- optimizations to the deiconify/raising code to (hopefully) deal
with a rather nasty bug, plus make things a little more efficient
- changed the code so that the close button is always redrawn on
button release events, just in case the client decides not to
close in response to the message (see Acroread)
- tinkered with the Makefiles again to make sure Blackbox
completely cleans up after itself during an uninstall
- fixed a glitch in window placement that was making Blackbox
place some larger windows at coordinates near 2**31
- merged in a patch from nyz which fixed a bug with not sending
configure events when a window is both moved and resized (eg
when the left resize grip is used) as well as optimized some
of the show/hide code to use the stacking order
- fixed a bug in blackbox's support of the X shape extension...
it wasn't correctly resetting the bounding region after a window
was resized
- fixed a glitch with the geometry window where it would persist
if the client was unmapped while in motion
- tweaked the code for decorating transient windows so that it
is possible to use MOD1+Mouse3 to resize transients as long as
there is not some other reason to disable functions.resize


Changes from 0.60.3 to 0.61.0:
- added slightly updated copies of the blackbox/bsetroot manpages.
- reworked the Windowmenu code so that using the second mouse
button on the Send To menu moves you along with the window
- merged in bsd-snprintf.(h|c) from openssh so that Blackbox can
compile on older boxes without (v)snprintf in their standard lib.
- fixed a pair of problems where blackbox was not returning icons
and slit apps to a useable state at shutdown
- fixed a problem with menus not getting layered correctly after
a reconfigure or menu reload
- changed the behavior of the various MOD1+ButtonPresses on windows...
they should now be more consistent with the button behavior on the
decorations :
. MOD1+Button1 raises and moves the window (unchanged)
. MOD1+Button2 lowers the window (used to resize the window)
. MOD1+Button3 resizes the window (new button combo)
- fixed a small but _extremely_ annoying bug exposed by cvsup
- styled frames are now a thing of the past... the textures formerly
known as window.frame.(un)focus have been replaced by solid colors
window.frame.(un)focusColor... the thickness of the frame is now
determined by frameWidth, which will default to bevelWidth if not
specified
- middle clicking on a window in a workspace's window list now moves
the window to the current workspace
- fixed a minor glitch with the appearance of window labels for
certain newly-started apps (i.e. rxvt)
- added a new configure option for both the toolbar and the slit --
autohide. Hopefully this should help quell the demands for the
removal of the toolbar...
- added code to better handle apps that change the window focus
- changed the command execution code (used to handle rootCommands
and executable menu items) to be more robust... compound commands
should now work
- a new-and-slightly-improved implementation of unstyled frames should
mean slightly better performance than previously
- fixed a couple of stupid bugs in the new code for handling
Solid Flat textures more efficiently
- fixed the nls makefiles so that they respect DESTDIR, behave better
if you reinstall over an existing installation, and actually remove
their files on a make uninstall
- added cthulhain's bsetbg script to the util directory... see the
file README.bsetbg for more information
- added Estonian, French and Danish translations

Loading

0 comments on commit 5005781

Please sign in to comment.