FVWM: Library, WindowList, MouseWarp & Menu patch

From: Albrecht Kadlec <albrecht_at_auto.tuwien.ac.at>
Date: Thu, 26 Sep 96 03:37:09 +0200

patch (including man pages) at:
        <URL:http://www.auto.tuwien.ac.at:80/~albrecht>

attached a small overview over the new features.

check it out,
Bugs not reported till Okt 1st have to be take care of by YOU

(You see, the men in green will take me away.
It'll take for at least a month, till I can look into my account again.)
I've finally put my money where my mouth was, and put a week of effort into
this.

Hope, you can use it.
Hope it finds it's way into the release.

albrecht





User level changes:

MenuStyle forecolor backcolor shadecolor font style mousewarp

        mousewarp separated from mwm/fvwm distinction

Popup PopupName command
Menu MenuName double_click_action command
        optional Command parameter

Prev [condition] command
Next [condition] command
None [condition] command
        enhanced condition to recognize all binary style flags
        and "WindowID #"
        (is there any test, if a windowid is valid, fvwm coredumps,
        if the user hardcodes an invalid windowid ?)
        (PS to Chuck: I'd still like to have the functions that need a
        window parse an optional numeric windowID argument.)

WindowList option[condition] command
        included #ifdef MINI_ICON support (by Brady Montz)
        added IconName, Geometry, MiniIcon & Sorted option
        added condition (a'la Prev/Next/None)
        added optional command (a'la Menu/PopUp) to WindowList,

        I now use:
        WindowList -geometry+miniicon[.iconic-sticky-ontop-circulateskip]

        and
        AddToFunc WindowListFunction "I" Next [windowid $0] focus
        + "I" Next [windowid $0] raise
        + "I" Next [windowid $0] iconify -1



this all uses my reworked library (somewhat):

        it's a drop in of current lib.

        prototypes added to fvwmlib.h
                (module authors should include fvwmlib.h and remove
                lib prototypes from their files in the long run)
        
        provided parsetables concept to get rid of endless
                if (!mystrcasecmp(line,"Windowlistskip",14))
                parsing constructs for binary options.

        consistent use of isspace() ... macros
                (they're faster than if's anyway)

        MatchToken
                faster way to parse options than mystrncasecmp
                currently there's a
                #define mystrncasecmp(a,b,n) (!MatchToken(a,b))
                to use the new function for parsing
                (mystrncasecmp was _never_ used for anything else)
                This will vanish as soon as the last mystrncasecmp
                vanishes.

        SkipSpaces & other handy macros (ripped from here & there)

        stripcpy merged with CopyString
                they both did the same, but had different weaknesses
                #defined CopyString using stripcpy

        #define SendInfo SendText
                since they were the same anyway.

        seekright()
                This should be the base for consistent parsing in
                fvwm: if only this function is used, quoting will be
                consistent throughout .fvwm2rc.

                If you need extended functionality, add it here, so
                everybody will benefit. (e.g: I could imagine moving
                the environment variable expansion in here)

        #define GetNextToken with seekright()
                (ripped from FvwmButtons, thanks, Jarl)

                This is an attempt to clear the quoting jungle:
                (somewhere there's NO quote parsing, somplace
                GetNextToken() was used, and somewhere seekright() was
                used, with GetNextToken being halfways between the
                other two possibilities.

                This could have serious effects on existing .fvwm2rc
                files, since it makes the quoting djungle more
                consistent, therefore there are now less places where
                unquoted (backslashed) quotes are handed down to the
                application.
                My .fvwm2rc works without changes.

                When all occurences of GetNextToken are replace by
                seekright, this macro will vanish.
                GetNextToken might then reappear with a new parameter
                format and new semantic (maybe non-malloc-copying)

                (I would have liked to keep the name GetNextToken,
                but it simply has the worse Interface.)
        
BUGS:
        on a last glance the menu delimiters don't seem to work any more.
        will look into this tomorrow.
-- 
Jesus, Mother Mary and a cloaked man are playing golf. Jesus tees off
and gets a hole-in-one. Mother Mary tees off and gets a hole-in-one.
The cloaked man tees off and misses the green completely and goes into
the water-trap. A fish spurts the ball out of the water, a bird
catches it and gives it to a squirrel, who drops it in the hole. Jesus
says "Dad, are you going to play golf, or what?"
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Wed Sep 25 1996 - 20:48:01 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:59 BST