pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/35637 CVS commit: pkgsrc/wm/ctwm



The following reply was made to PR pkg/35637; it has been noted by GNATS.

From: OBATA Akio <obache%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: PR/35637 CVS commit: pkgsrc/wm/ctwm
Date: Sat, 17 Feb 2007 08:27:11 +0000 (UTC)

 Module Name:   pkgsrc
 Committed By:  obache
 Date:          Sat Feb 17 08:27:11 UTC 2007
 
 Modified Files:
        pkgsrc/wm/ctwm: Makefile distinfo
        pkgsrc/wm/ctwm/patches: patch-ac
 Removed Files:
        pkgsrc/wm/ctwm/patches: patch-aa
 
 Log Message:
 Update ctwm to 3.8a.
 Patch provided by maintainer, Rhialto in PR 35637.
 
     Changes from version 3.7 to 3.8
     -------------------------------
 
     1 - Global cleanup
 
        There were some variables shadowing others, things not being
        safely initialized, that sort of thing.
        [Richard Levitte]
 
     2 - Fixed several memory leaks found by
        "Nadav Har'El" <nyh%math.technion.ac.il@localhost>.
        [Olaf "Rhialto" Seibert]
 
     3 - Merged in the f.movetitlebar command. By default this is bound to
         alt-left-click in the titlebar.
        [Olaf "Rhialto" Seibert]
 
     4 - Fixed the following issues:
        Poking at the code, it looks like InitVirtualScreens() is called
        before the configuration file is parsed which would explain what
        I see since there's no attempt to create them after the config
        file read.
 
        Moving the call after the config parsing causes things to work.
 
        I've run into a few other issues that I fixed with the attached
        patch:
 
                - shadow menus on the right screen open the shadow on
                  the left screen
                - shadow menus on the left screen open on top of the
                  window
                - windows on the right screen disappear after startup
        [Todd Kover]
 
     5 - Adjustments to ctwm.man:
        I noticed a couple of small errors.
 
        One is that the window list arguments for the opaque
        keywords are now optional, are listed with square brackets
        in the man page.  The other is that the two Threshold
        keywords are shown in the man page as requiring curly-
        brackets, but they are not required or accepted in
        configuration files.
        [Ross Combs]
 
     6 - improve algoritm to deal with mismatched geometry of virtual
        screens
 
       - allow windows to be dragged from one virtual screen to another and
        have them switch workspaces appropriately
 
       - handle restarts properly with virtual screens, including preserving
        where windows were placed within workspaces regardless of which
        virtual screen a window was on; preserve across restarts
        [Todd Kover]
 
     7 - WMapCreateCurrentBackGround() and WMapCreateDefaultBackGround()
        would skip remaining virtual screens if not all parameters are present.
 
       - small type errors. [Olaf "Rhialto" Seibert].
 
     8 - There were some directives in the config file that wanted to set some
        setting for all virtual screens. However since that list is (now) only
        set up after parsing the config file, they failed to work.  Moreover,
        these settings were basically meant to be global to all virtual
        screens, so a better place for them is somewhere in *Scr.  They all
        related to the Workspace Manager, so I moved them from struct
        WorkSpaceWindow to struct WorkSpaceMgr.
 
        The affected directives are StartInMapState, WMgrVertButtonIndent,
        WMgrHorizButtonIndent, MapWindowCurrentWorkSpace,
        MapWindowDefaultWorkSpace.  The window and icon_name, even though not
        user-settable, were also moved.
 
        This is basically change #7 above done right.
        [Olaf "Rhialto" Seibert]
 
     9 - Re-introduced TwmWindow.oldvs, used to avoid calling
        XReparentWindow() when possibe (it messed up the stacking order
        of windows). However, maybe the use of .vs should be rethought a
        bit: in Vanish() it is now set to NULL with the old value kept
        in .oldvs.  However the window is still a child of the same vs.
        Maybe it is better not to set it to NULL and then, when *really*
        changing the virtual screen, .vs can be used instead of .oldvs.
 
        This whole "virtual screen" thing is unexplained in the manual,
        which even uses it as a synonym for "workspace" already in the
        introduction paragraph. (There also does not seem to be a way
        now to test virtual screens in captive windows) I suspect that
        all this causes lots of confusion, and when cleared up, can
        simplify the code a lot.
 
        I also fixed up the horrible indentation in the functions
        where I changed something.
        [Olaf "Rhialto" Seibert]
 
    10 - Fixed interaction between "inner" and "outer" workspace
        selection with "captive" windows. This was because the Gnome
        "_WIN_WORKSPACE" property is used in 2 conflicting ways: for
        client windows it indicates which workspace they are in, for
        root windows it indicates which workspace they show. Captive
        windows are both. Also, the initially selected inner workspace
        is now the first, not the same as the outer workspace (this had
        a different cause).
        [Olaf "Rhialto" Seibert]
 
    11 - Introduce Scr->XineramaRoot to store the root window that
        encompasses all virtual screen rootwindows. This further reduces
        any need to use RealRoot and/or CaptiveRoot.
        Add a schematic drawing that clarifies the relation between the
        various root-type windows.
        [Olaf "Rhialto" Seibert]
 
    12 - Get rid of all non-locale code and make I18N the silent default
        (doesn't have to be mentioned any more).
        THIS WILL BREAK CTWM ON OLDER (PRE-LOCALE) ENVIRONMENTS.
        I strongly recommend an upgrade to "post-locale" standards.
        [Richard Levitte]
 
    13 - Enhance RandomPlacement with a displacement argument, so the
        pseudo-radomness can be of displacements other than +30+30.
        Here's an example for a pretty funky displacement:
 
                RandomPlacement "on" "-30-100"
 
        [Richard Levitte]
 
    14 - Extend the Info window with the geometry seen from the lower
        right corner as well.
        [Richard Levitte]
 
    15 - Extend the pointer button specification for title buttons
        to take modifiers.
        As part of this change, the following title pointer button
        specification is deprecated:
 
                Button {j} : {function}
 
        in favor of the following, for consistency:
 
                Button {j} = {function}
 
        The old way still works, but is considered bad form and will
        be removed in ctwm 4.0.
        [Richard Levitte]
 
    16 - Fix position of buttons in Occupy window, to make them centered.
        (and spread the remaining space evenly in 4).
        [Olaf "Rhialto" Seibert]
 
    17 - "TwmWindow.group" was once apparently set to 0 when a window had
        no group leader but this was changed to pointing to its own
        window.  This resulted however in many places checking for both
        conditions, and several checking only for 0 which could not
        occur anymore. Changed it back to 0 (so we can now distinguish
        again windows that really indicate themselves as group leader,
        if we wish) and this gave rise to some simplifications.
 
        Also, there were various loops through all TwmWindows looking
        for a group leader (or a transientfor), I replaced them with
        GetTwmWindow() which uses the Xlib function XFindContext() which
        uses a hash table lookup. This should be more efficient.
 
        When you change the occupation of a group member window, it is
        now applied to the group leader (which in turn affects all
        members).
 
        I tried this with ExMH, the only program that uses a real group
        leader that I could find. Iconifying the leader unmaps the
        members. What should "squeezing" do? ExMH also has an icon
        window (see ICCCM 4.1.9, 3rd option) which behaves weirdly; this
        may be a bug in ExMH (see exmh-2.7.2/exmh.BUGS) even though fvwm
        somehow handles it better.
        [Olaf "Rhialto" Seibert]
 
    18 - When Squeezing a window group leader, unmap the member windows,
        just like happens with iconification.
        [Olaf "Rhialto" Seibert]
 
    19 - Simplifications c.q. de-duplications of code regarding the
        WorkSpaceManager and Occupation windows. This includes coding
        the layout of these windows only once instead of twice (at
        initialisation and when resizing). If it's wrong now at least it
        should be consistent.
        When changing occupation via functions like
        f.movetonextworkspace, also move complete window groups (just
        like when you do it via the Occupation window).
        Also fixed changing the occupation of the Occupation window.
        Documented (so far) undocumented possibility to edit the labels
        of workspaces on the fly (what use this is, I'm not sure).
        Removed some unused variables.
        [Olaf "Rhialto" Seibert]
 
    20 - Get rid of the USE_SESSION and X11R6 macros and make them the
        silent default.  Also cleaned out a few references to the macro
        X11R4, which hasn't been used for ages.
        THIS WILL BREAK CTWM ON OLDER (PRE-X11R6) ENVIRONMENTS.
        I strongly recommend an upgrade to a newer X11 release.
        [Richard Levitte]
 
    21 - Modified the random placement so a negative X displacement has
        the first "random" window start near the right edge instead of
        the right and a negative Y displacement has the first "random"
        window start near the bottom edge instead of the top.
        [Richard Levitte]
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.20 -r1.21 pkgsrc/wm/ctwm/Makefile
 cvs rdiff -r1.12 -r1.13 pkgsrc/wm/ctwm/distinfo
 cvs rdiff -r1.6 -r0 pkgsrc/wm/ctwm/patches/patch-aa
 cvs rdiff -r1.2 -r1.3 pkgsrc/wm/ctwm/patches/patch-ac
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 



Home | Main Index | Thread Index | Old Index