CTWM 3.7 is released!

I've only released the source tarball, available from the web page.
Binary distributions are welcome and will be published as soon as I
have the time to make the appropriate changes.

    Changes from version 3.6 to 3.7
    -------------------------------

    1 - Workspace context (bkctwmws.patch)

        Makes it possible to bind keys specific to the workspace manager
        (by Björn Knutsson). Use the event context 'workspace' for this.

    2 - New keyword : AlwaysSqueezeToGravity

        If it is enabled, window squeezing always follows window gravity
        (instead of northward when the window has a title).
        (by Rudolph T. Maceyko).

    3 - TwmKeys and TwmVisible menus (dlctwmmenu.patch) :

        Adds TwmKeys (rootmenu listing all keybindings) and TWM Visible 
(rootmenu
        showing only deiconified windows) (by Dan Lilliehorn).


    4 - Preliminary GNOME compliance (see README.gnome and TODO.gnome)
        (by Nathan Dushman).

    5 - IconifyStyle : "normal" "mosaic" "zoomin" "zoomout" "sweep"

        A few 'fancy' graphical effects when you iconify windows, just for fun.

    6 - Jpeg images support : You can now use jpeg image files wherever you
        can use images. Use the jpeg:imagename syntaxe.

    7 - f.showbackground.

        Since we can now use fancy jpeg image for root backgrounds, this 
function
        unmaps all windows in the current workspace. This is a toggle function,
        if all windows are unmapped, they are all remapped. Better bind this
        function in the root context.

    8 - Preliminary support for Xinerama extention. You can define 'virtual'
        screens (it's better if they correspond to you actual screens). The
        thing is that you can see several workspaces at the sams time, one per
        virtual screen. Of course, you cannot view the same workspace (or the
        same window) in 2 vscreens at the same time. The syntax is :

VirtualScreens {
    "1280x1024+0+0"
    "1600x1200+1280+0"
}

        for 2 screens, the first one (on the left) is 1280x1024, the second one
        (on the right) is 1600x1200.

        This is preliminary, because this has not been extensively tested. I did
        this because I have now 2 screens, but I was unable to get them working
        properly, so I use only one.


    [ At this point, Claude has stopped working on CTWM, and the project
      is now in the hands of Richard Levitte <[EMAIL PROTECTED]>. ]

    9 - Changed Imakefile to support a distribution target.

   10 - Changed :xpm:cross to become a bit larger and have a slightly more
        3D appearance, and is visible even in very dark configurations.

   11 - Make AlwaysSqueezeToGravity to work for all windows (if no window
        list is given).

   12 - New keyword: NoImagesInWorkSpaceManager

        If it's enabled, background images aren't displayed in the workspace
        map.

        This was contributed by Thomas Linden.

   13 - New command line option: -cfgchk

        If used, CTWM will only parse the configuration file and indicate
        if it found errors or not.

        This was contributed by Matthew D. Fuller.

   14 - DontMoveOff patch (by Björn Knutsson)

        Change the behavior of DontMoveOff/MoveOffResistance so that
        when you attempt to move a window off screen, it will not move
        at all until it's been moved #MoveOffResistance pixels (as
        before), but at this time it will no longer "snap", but
        instead it will start moving off screen. This means that you
        still have the old behavior of DontMoveOff, but now with the
        ability to move a window off screen less that
        #MoveOffResistance pixels.

   15 - Random placement and DontMoveOff patch (by Björn Knutsson, changed)

        When random placement was used, DontMoveOff wasn't honored.
        This behavior has now changed so a window will be kept within
        the screen when at all possible.  When the window is too
        large, it's top or left edge (or both) will be placed in
        coordinate 0.
        This change differs a little bit from Björns contribution by
        not using rand() at all.

   16 - f.warpring patch (by Björn Knutsson)

        If IconManagerFocus is set, there's no reason why the icon
        manager should get enter and leave events.  This fixes some
        disturbing in the warpring that would otherwise happen.

   17 - f.movetoprevworkspace,
        f.movetonextworkspace,
        f.movetoprevworkspaceandfollow,
        f.movetonextworkspaceandfollow patch (by Daniel Holmström)

        Makes it possible to move a window to the previous or next  
        workspace and, if you like, go to that workspace and focus 
        the moved window.

   18 - f.fill "vertical" patch (by Daniel Holmström)

        Expands the window vertically without overlapping any other window, 
        much like { f.fill "top" f.fill "bottom" } but with the exception 
        that it doesn't expand over window borders. It also sets the 
        windows 'zoomed' to F_FULLZOOM, so one can toggle between this 
        size, original and maximized.

   19 - RESIZEKEEPSFOCUS bugfix patch (by Daniel Holmström)

        If a window is maximized with togglemaximize and then restored 
        it might loose focus if the cursor is outside the restored window. 
        This hack puts the cursor at the left-top corner of the window.

   20 - f.zoom bugfix patch (by Daniel Holmström)

        f.zoom now doesn't move the window up (as it sometimes did before)

   21 - IgnoreTransient patch (by Peter Berg Larsen)

        New keyword with list of windows for which to ignore transients.

   22 - Workspace switch peformance optimization (by MC)

        Stops ctwm from redrawing windows that occupy all workspaces when
        switching from one workspace to another.

   23 - GTK "group leader" bugfix (by Olaf 'Rhialto' Seibert)

        Makes ctwm aware of the mysterious GTK group leader windows.

   24 - Resize cursor with non-3D-borders bugfix (by Olaf 'Rhialto' Seibert)

        BorderResizeCursors now works also for top and left borders when
        non-3D-borders are used.

   25 - Memory leak bugfix (by Simon Burge)

        GetWMPropertyString in util.c no longer leaks memory.

   26 - Warpring bugfix (by Takahashi Youichirou)

        Solves these two problems when warping the pointer to the 
        next/previous mapped window:

        o Sometimes the pointer moved right too much and ended up outside
          the title bar.

        o When the active window was closed and the pointer ended up on the
          root window, the pointer wouldn't warp until moved with the mouse. 

   27 - NoWarpToMenuTitle patch (by Julian Coleman)

        Fixes the sometimes annoying feature that the cursor is warped to the 
        menu title if the menu won't fit on the screen below the current 
        pointer position. 

        This patch introduces a new keyword "NoWarpToMenuTitle" keyword to 
        turn this off. 

   28 - Scr->workSpaceMgr.windowFont font init bugfix (by Martin Stjernholm)

        The Scr->workSpaceMgr.windowFont in workmgr.c is now initialized.

   29 - Full GNU regex patch (by Claude Lecommandeur)

        It is now possible to use full GNU regex for window or class names by
        defining USE_GNU_REGEX in Imakefile. It is disabled in the default
        Imakefile.

   30 - DontToggleWorkSpaceManagerState patch (by Dan 'dl' Lilliehorn)

        New keyword to turn off the feature toggling the workspace manager
        state to/from map/button state when you press ctrl and the workspace
        manager window is in focus.

   31 - TWMAllIcons patch (by Dan 'dl' Lilliehorn)

        Adds the TWMAllIcons menu, listing all iconified windows on all
        workspaces.

   32 - f.changesize patch (by Dan 'dl' Lilliehorn)

        Adds the function f.changesize which allows you to change the size
        of the focused window via menus and keybindings.

        Example:
        "Down"     = c|s: all           : f.changesize "bottom +10"

   33 - f.changesize bugfix and improvement (by Dan 'dl' Lilliehorn)

        Fixes focusproblems with f.changesize and adds the ability to set
        a new fixed size of a window.

        Example:
        "F1"       = c|s: all           : f.changesize "640x480"

   34 - When crashing, ctwm now refers to [EMAIL PROTECTED] instead of
        [EMAIL PROTECTED]

   35 - Changed all the code to use ANSI C prototypes instead of the old
        K&R style.
        [Richard Levitte]

   36 - Only use the DefaultFunction if no function was found.
        [Richard Levitte]

   37 - Correct DontMoveOff

        The DontMoveOff checks when calculating random placement
        wasn't satisfactory.  It ended up placing all windows that
        were small enough to fit in a random place at +50+50 with no
        exception.  The behavior has now been changed to only apply
        to very large windows (almost as large as or larger than the
        screen).  At the same time, the RandomPlacement algorithm and
        the DonMoveOff checks have been tweaked to keep the title
        height in mind, so centering and coordinates correspond to the
        realities of the rest of CTWM.
        [Richard Levitte]

   38 - Correct resizing from menu

        Choosing resize from the menu when not having 3D borders moved
        the target window down and right by a border width.  This was
        an error in window position calculations.
        [Richard Levitte]

   39 - Enhanced info window

        Added the outer geometry.  Added the 3D border width.
        [Richard Levitte]

   40 - Restart on subsequent SIGHUPs

        Reworked the code that catches a SIGHUP and has ctwm restart as
        a result.  The restarting code has moved from Restart() to the new
        DoRestart().  Restart() now only sets a flag, and CtwmNextEvent()
        has been changed to react to that flag and call DoRestart().  From
        now on, CtwmNextEvent() is always used to get the next event, even
        when no animations are going on.
        [Richard Levitte]

   41 - A number of VMS-related changes

        DEC/HP PC is a bit picky, the X11 environment is a little bit
        different, and there were some sign/unsigned conflicts and one
        too large symbol (the VMS linker truncates anything beyond the
        31 first characters of any symbol name), so some tweaks were
        needed to get CTWM to build cleanly on VMS.
        [Richard Levitte]

   42 - Allow gcc users to build with paranoia

        To make it easier to find possible problems, the Imakefile macro
        GCC_PEDANTIC can be defined in Imakefile.local.
        [Richard Levitte]

   43 - Allow spaces in sound files.

        The .ctwm-sounds file parser would clip sound files at the first
        spaces.  That won't do for sound libraries where file names may
        have spaces in them.  The parser now accepts spaces in file names,
        and will trim spaces from the beginning and the end of both file
        names and event tokens, allowing for a slightly more flexible
        format.
        [Richard Levitte]

   44 - ctwm.spec

        Added a specification file for RPM building.
        [Richard Levitte]

   45 - More info for m4

        The m4 subprocess now gets the variable PIXMAP_DIRECTORY, which
        is defined to the directory where the pixmaps are installed, and
        the new flags IMCONV, GNOME, SOUNDS, SESSION and I18N.
        [Richard Levitte]

   46 - Document sounds

        The sounds system is now documented in the man page.
        [Richard Levitte]

   47 - Build RPMs

        Added the target "rpm" to build an RPM directly from a distribution
        tarball.
        [Richard Levitte]

   48 - Make life easier for package builders

        Added the possibility to configure where some libraries can be found
        through the use of USER_* make variables in Imakefile.local.  Added
        a lot more commentary in Imakefile.local-template.
        [Richard Levitte]

   49 - Make it easier to configure on VMS

        Moved all the configuration definitions to descrip.local-template,
        and instruct the users to copy that file to descrip.local and make
        all needed changes there.
        [Richard Levitte]

   50 - Changed all relevant occurences of [EMAIL PROTECTED] to
        [EMAIL PROTECTED]
        [Richard Levitte]


Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte                         [EMAIL PROTECTED]
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis

Reply via email to