xenocara/app/fvwm/modules/FvwmButtons/CHANGES

393 lines
17 KiB
Plaintext

Changed since FvwmButtons-200396b
* 110198: Updated manpage
* 110198: Animated panel, button geometry and 'Left', 'Right', 'Center'
options have been added.
* 200396: Updated TODO file some.
* 210396: Fixed Desk buttons that didn't hang correctly.
* 280396: Chuck: Fixed some problems with macro definitions min,max and abs
on AIX
* 280396: Think I fixed the problem that made windows get huge on machines
with non-cleaning mallocs (AIXs) when no global Frame was specified.
* 280396: Somehow the string "*blabla" should have _2_ chars more allocated
than "blabla" or the parser would choke and die on some ELF linux system..
Thanks to Dirk Vangestel for this.
Changed since FvwmButtons-200396
* 200396: Hups, seems I introduced a little bug that made it reluctant to
swallow some windows, particularly shaped ones... Should be back to normal
now.
* 200396: Thanks to Romano again for saving my ass - I managed to remove
the initialization of b->flags, creating major disasters on startup.
Changed since FvwmButtons-130396
* 130396: Did lots and lots of things, actually had pixmaps for backgrounds
working, and had started a complete restructuring of the source (again)
Then the disk crashed. Good. Happy.
* 140396: Fixed real inheritance of swallow flags.
* 140396: Fixed bug which dumped core if Desk buttons were present.
* 140396: Check before redrawing background/padding if it's needed.
* 140396: Gave bitmaps the correct background color.
* 180396: On slow systems, when using the UseOld flag on several buttons,
it could spawn several copies of each program. Now only spawns after
_first_ M_END_WINDOWLIST, not every one.
Also made it honor inherited UseOld flags and not spawn on startup.
* 180396: Some editing... does every cpp understand '# ifdef A' ?
* 180396: Removed a couple of calls to buttonJustify in draw.c..
* 190396: Made the parser properly use tolower() when comparing, preparing for
i18n to LC_CTYPE...
* 200396: Updated somewhat to work with latest fvwmlib picture patch of mine.
* 200396: Again changed the resource name and class, now it is (in ICCCM
compliance) the invoking name and FvwmButtons, respectively.
* 200396: Now also does shaped bitmaps w/o xpm library. You won't notice
until the background pixmaps are done though. Also fixed a memory leak
where the temporary pixmap made for a bitmap was not deleted.
* 200396: Now uses the picture caching introduced with the fvwmlib patch
mentioned above. This patch btw also applies to fvwm menus, could save
major amounts of memory (say 50 equal 16x16 pixmaps - you save 49 times
512 bytes for just the pixmaps and the masks (assuming 8bit display),
plus some overhead. Not to mention it should start much faster!
* 200396: Now uses XTranslateCoordinates instead of XQueryTree to find
real coords when swallowing a window.
Changed since FvwmButtons-120396
* 120396: Now properly avoids modifying icons on monochrome displays. This
used to ruin xpm's mono settings. A patch for the Picture code in fvwmlib
is also needed, get my fvwm-picture-pl2.patch, and also fvwm-menus.patch
which will fix the same problem for fvwm menus.
* 130396: Fixed two typos on the man page, thanks to Brandon for noticing.
* 130396: Improved parser to ignore leading spaces in buttonrc files, and
to accept any amount of whitespace between *FvwmButtons and (...) in
.fvwm[2]rc. Thanks to Alan for pointing this weakness out.
* 130396: The main call to XCreateSimpleWindow would give random x,y coords
unless given a geometry, perhaps that is allowable when using a WM, but not
without. This is now fixed.
* 130396: Now uses XSetWMProperty instead of XmbSetWMProperty, to please
those stuck with X11R4. Thanks to Angiolini Giorgio for the information.
* 130396: Fixed parser to cope with Exec something, i.e. without the ""
empty hangon notifier. It used to garb this up, trying to do Exec mething.
Fixed man page to reflect the change.
Changed since FvwmButtons-110396b
* 120396: Added lots of debug information for swallow/unswallow. Finally did
it all properly when exiting, no more X Errors when restarting fvwm from
FvwmButtons :-) FvwmButtons grabs the server, and goes through the
pending eventlist to decide which windows have been destroyed by fvwm
already before deciding to kill,close or reparent. Or ignore. After all
children are handled, ther server is ungrabbed.
* 120396: Added some debugging output for events and fvwm communication.
Now uses only SendText instead of both SendInfo and SendText (duplicates).
* 120396: Fixed the position detection routine for buttonpresses, should now
be a little more accurate.
* 120396: Fixed stupid negated #ifdef that tried to use the XPM color loading
if you didn't have it, and not if you did.
* 120396: Finally! Removed the superfluous XFree that had made FvwmButtons
unusable to many people! Thanks, thanks and many more thanks to Romano
Giannetti for tracing down this stupid bug! I mean, the variable it freed
wan't even used! Romano is hereby awarded the title "Bugslayer" for this
outstanding feat. Applause!
* 120396: Added some more starting debug info that should be unneeded after
the above fix.
* 120396: Turned _off_ most debug options by default. Moved them to the
header file.
* 120396: Cleaned up a few unused variables. Added #include <ctype.h> to
parse.c, after advice from Romano.
Changed since FvwmButtons-110396
* 110396: Fixed bug where, if Respawn was specified by a container, and a
button had specifed NoRespawn, it would still respawn. Or the opposite
situation, Respawn locally and NoRespawn higher up, would cause NoRespawn.
* 110396: Fixed bug where x padding would be set equal to y padding if no
padding was specified for a button.
* 110396: Wrote a file INSTALL and a samplebuttonrc file.
* 110396: Fixed bug where containers would get padding and information from
parents on redraw, when they were not supposed to.
* 110396: Fixed bug where icons left of title would not be clipped properly
when the button was sized too small.
* 110396: Added error messages telling when a font could not be loaded.
* 110396: Turned on lots of starting info by default (turn it off by
commenting out the defines in FvwmButtons.c) which will hopefully help
people understand what is going on when it dumps core on them.
* 110396: Fixed bug where bitmaps would get drawn with current background
instead of the one given for the button.
* 110396: Fixed ShuffleButtons to reduce the number of rows if there are
too many of them. This should correctly handle single buttons without
giving rows or columns options.
* 110396: FvwmButtons will now not create windows less than 16x16 pixels,
in case you have not provided a geometry or any buttons from which
FvwmButtons can calculate a unit buttonsize.
Changed since FvwmButtons-080396
* 090396: Parser now accepts escaped quoting characters in quote. Only the
current quoting character is unescaped while parsing, i.e:
Action `Exec emacs \`xcb -p 1\` -title \"hello\"`
would give
Exec emacs `xcb -p 1` -title \"hello\"
Also, the string "\\"" would be read to \", as only the sequence \q will
be collapsed, where q is the quoting character.
Thanks to Emiel Witteman <ewittema@wi.leidenuniv.nl> for pointing out the
necessity of this improvement.
* 090396: Rewrote flag handling, now you can specify title flags and swallow
flags in the container part, like Container(Title(Left,Side)) and that will
count for all subbuttons. This also goes for all the swallowing flags, and
these negatives have been introduced: Kill, Hints, NoRespawn, NoOld,
NoTitle. All this is yet not fully tested.
There is no negative for Title(Side) because this is a Hack! (see README)
* 090396: Made a patch to fvwm-2.0.41 that allows any module to pop up a real
Popup menu! Just use it as a regular command - it's like a dream.
* 090396: Changed ResourceName to "FvwmButtons" and ResourceClass to
"FvwmModule", regardless of what name the module is given at runtime.
* 090396: Split up source some more, mostly to ease maintenance and get
faster recompiles.
* 090396: Took a shot at the exposure handler, relaxed the updating a little,
now there is _much_ less flashing when redrawing, and it only redraw parts
that are part of the expose.
* 090396: Moderated ending efforts to WM_DELETE_WINDOW instead of KillClient.
However some programs don't understand that, so remodeled Kill,NoKill flags
to decide if KillClient should be used. The old Kill,NoKill are now
Close,NoClose.
* 090396: Updated the man page somewhat on the flag changes.
* 090396: Rewrote icon handling to use fvwmlib's Picture routines, the same
that are used for fvwm's menus. Made a patch to fix bitmap searching for
this.
* 090396: Tidied away all the colorcloseness settings, it's the same level
as the other xpm stuff used so no extra checking needs be done.
* 090396: Fixed bitmap icons, which converted from 1 to X planes each time
they were drawn, bummer.
* 090396: Actually fixed most problems with resizing to a very small size.
Swallowed windows might still give you X Errors though, if they don't like
being 1x1.
* 110396: Added config option *FvwmButtonsFile string which will read the
config from the file "string" instead. Also, this can be given as an
argument starting with: FvwmButtons FvwmTesting string
This config file is the same as in .fvwm[2]rc, but you don't put
*FvwmButtons in front of all the lines.
The filename will have to be given with full path or be relative to the
dir you started fvwm in. No preprocessor is available, but it does '#'
comments and linecontinuation.
Changed since FvwmButtons-070396
* 080396: Now _really_ works with common PixmapPath and IconPath. I have even
tested it this time :-)
* 080396: Rewrote swallowing: If a window disappears between M_WINDOW_NAME etc
and M_MAP, it is assumed crashed, no further action. But if the window
simply has gotten another parent, we assume some other swallower got to it
before us, so we release our hold and give a new Send_Windowlist to find
another fitting window, and if that fails, spawns one ourself.
Still, best to avoid competition about windows to be swallowed, use
different titles. It still easily fails if it processes an out of date
windowlist.
* 080396: Put in some more debugging output, controlled by the defines in
the head of FvwmButtons.c.
* 080396: Now, when quitting FvwmButtons, it checks to see if a window still
exists before trying to kill it or unswallow it.
* 080396: Added Size w h command, assures a button get at least this large.
Great for buttonboxes with only swallowed windows.
* 080396: Man page: Added Size description, replaced some "frame"s with
"relief" (Maybe the option should be changed also?), added a subsection
on how initial buttonsizes are calculated, changed #908090 to rgb:90/80/90
to conform to X standards, and wrote a blurb saying so, and what to
consider when using the older # method.
* 080396: Fixed redrawing buttons - now the container padding is cleared
correctly also when resized to mismatching sizes.
* 080396: FvwmButtons now allocates only one graphic context instead of 3.
Shadow of buttons are now longer handled specially for monochrome screens.
* 080396: Hacked an option to the Title command, Title(Side) now stacks
Icon and Title side by side. It also left justifies the icon automatically.
Between the icon and title there is the horizontal padding space.
Added it to the man page.
Changed since FvwmButtons-060396
* 060396: Made if startable as "Module FvwmButtons SomeButtons", or even
"FvwmButtons SomeButtons", which will name it SomeButton and does away
with silly softlinks.
* 060396: Fixed the close color allocation via Xpm to work with xpm versions
back to 3.2b, which was released october 92. There was really no need of
using features from 3.4g.
* 060396: Rewrote font loading, for no particular reason.
* 070396: Did some work on individual color settings, now Fore and Back can
be set in buttons and in containers.
* 070396: Take back suggestion that ConfigureNotify is autofollowed by
Expose, not true when no subwindows. Now ConfigureNotify Resize does a
full redraw.
* 070396: Fixed Right option of strings, which was broken. For instance,
when used, title became left justified. Also it was a little confused
about which font to use where.
* 070396: Update man page to specify Back and Fore colors and mention
argument namechange. (I.e FvwmButtons AnotherName invocation.)
Changed since FvwmButtons-040396
* 060396: Removed a bug that would choke on buttons with "Desk xxxx" commands
on them. Thanks to Robert Tarrall <tarrall@plutus.colorado.edu>.
* 060396: Color-closeness behaviour has been disabled by default, as it
requires xpm-3.4g or newer. Several people had trouble with this. It now
avoids this code if your xpm include is too old.
* 060396: Removed bug that made it ignore an xpm when it was in the same
directory searched for bitmaps.
* 060396: Now sets Class and Resource to FvwmButtons (or bound name) instead
of NoClass, NoResource. Code copied from FvwmTalk.
* 060396: Parser no longer accepts '(' and ')' as quoting characters, those
are reserved for optional parameters. String quotation characters available
are "string", 'string' and `string`, the last one should be used if you
want preprocessors to get inside.
* 060396: Some general cleanup of unused variables and unclean typing. Got a
little shocked when I saw what good ol' -Wall came up with.
* 060396: Changed Action syntax, removed Mouse syntax. Mouse # command shall
now be given as Action(Mouse #) command. Future extensions of this will be
Action(Mouse # [Click|DoubleClick|Move [N|S|E|W]]) command and
Action(Key code [moderators]) command.
* 060396: Fixed line continuation in the man page, thanks to Romano Giannetti
<romano@iet.unipi.it> for pointing it out.
* 060396: Swallow changes! There is a new flag UseTitle, which must be used
if you want the button to get the window title as it's title. It will no
longer automatically overwrite. This is not backwards compatible though.
Also there is a change of syntax, all swallow flags must now be given with
the swallow command, like:
Swallow(NoHints, NoKill, Respawn, UseOld, UseTitle) Hangon Command
* 060396: When NoKill is set, windows are unswallowed to their original
geometry (x,y,width,height,borderwidth). Nice in conjunction with UseOld.
Note: If you experience _systematic_, _reproducable_ errors with NoKill,
UseOld, Respawn etc, do not hesitate to report! There are some dustdragons
around.
* 060396: Frame now accepts a negative parameter, this causes the frame to
be inverted for all purposes. Pushing an inverse button makes it stand out
etc. This duplicates the excellent Variable Relief patch by Gregory
Lauckhart <gregl@cs.washington.edu>
* 060396: Did some real updating of the manual page. Even wrote a section
on the arranging algorithm!
* 060396: Put in justification of titles, the syntax is now
"Title[(Left|Right|Center)] string". If the title is too long its tail is
cut off, unless it is Right justified - then its head goes.
Now only stacking order is missing before we have it emulate menus with
icons :-)
* 060396: Fixed code that stores geometry of a swallowed window, now it
really unswallows to same place. Hint: XQueryTree()....
* 060396: Finally got rid of the annoying problem that swallowed programs
sometimes managed put a border on themselves after being positioned.
ResizeRedirectMask to dead ears is like plucking the legs of an insect...
* 060396: Added option NoSize, which will make the initial size estimate
skip that button when calculating sizes. A very long title or an almost
right size icon could ruin you whole setup without it.
Changed since FvwmButtons-020396
* 030396: Fixed the positioning of large windows, which was thoroughly
unusable due to a "bug" in button_belongs_to(). Rewrite touched a little
on ShuffleButtons() too.
* 040396: Fixed bug that made FvwmButtons crash with BUG: Illegal iconwindow
if an icon failed to load for some reason.
* 040396: Added better error messages for GetXPMFile(), also told Xpm to use
whatever closest colors available if not able to allocate exact ones.
* 040396: Made it allocate colors through a call to XpmCreateImageFromData()
to gain from its color closeness algorithms, which gets close colors if no
space is left in the colormap. Better than crashing :-) Should put all the
calls together to make it in one go...
But what to do when not using Xpm?
* 040396: Fixed bug that messed up icon_w and icon_h when failing to load a
bitmap, which messed up buttonsizes and made a BadValue when creating the
main window.
* 040396: Fixed bug, when a font failed in a subcontainer, it would copy it's
parents personal font instead of it's public font, probably just a garbage
pointer. If any subbuttons had titles, it would foul up as above.
* 040396: Actually, it seems it was this: when a button with both icon and
title failed to load it's icon, icon_w and icon_h was never initialized,
but used to calculate button size.