Newsgroups: comp.archives Path: utzoo!utgpu!news-server.csri.toronto.edu!ox.com!emv From: colas@avahi.inria.fr (Colas Nahaboo) Subject: [xpert] new GWM update on expo Message-ID: <1991Jan3.022809.10558@ox.com> Followup-To: comp.windows.x Sender: emv@ox.com (Edward Vielmetti) Reply-To: colas@avahi.inria.fr (Colas Nahaboo) Organization: The Internet References: <9101021613.AA07012@avahi.inria.fr> Date: Thu, 3 Jan 91 02:28:09 GMT Approved: emv@ox.com (Edward Vielmetti) X-Original-Newsgroups: comp.windows.x Archive-name: x11/window-manager/gwm/1991-01-02 Archive: expo.lcs.mit.edu:/contrib/gwm/gwm-1.7_gamma.tar.Z [18.30.0.212] Original-posting-by: colas@avahi.inria.fr (Colas Nahaboo) Original-subject: new GWM update on expo Reposted-by: emv@ox.com (Edward Vielmetti) I have just put gwm-1.7_gamma on expo (and avahi) doc is still 1.6b, but I updated the CHANGES files, which is included in this message. Recent Mike Newton profile is included as "mon-keys.gwm". Here are the changes from 1.6b The version will turn to plain 1.7 as soon as I have updated the latex doc... 1.7_gamma (90/12/28) deep clean up: profile reorg, xpm2, bugs This version is the result of collecting all the contributed patches sent to me, chasing the last bugs hiding in dark corners, and reorganizing the standard profile code for having a much cleaner for adding things. Gwm 2.0 being late, this is to have a solid gwm version to play with meanwhile. WARNING: The LaTeX doc is not yet updated, hope to do it in Feb 91. INCOMPATIBILITIES WITH PREVIOUS PROFILES: - gwm now uses XPM v2 format to read color images, not anymore XPMv1. converters from v1 to v2 are included in the XPM v2.8 distrib included in the xpm subdirectory, files xpm1to2.perl (perl script), and from ppm to xpmv2: ppmtoxpm2.c (C program). Perl is a language available by anonymous ftp from prep.ai.mit.edu. Xpm1 file won't be recognized, but gwm won't break, just display the X logo instead. NEW FUNCTIONS: - new events enter-window-not-from-grab & leave-window-not-from-grab used for tricky interactions in menus. - color-components function returns (R G B) list of primary color components of a color made by color-make. - wool: trace-func.gwm package to add ability to individually trace wool functions by trace-func and untrace-func - wool: Jay Berkenbilt's match-windowspec function to choose decos by regular expressions on window names or class is included in utils.gwm BUGS CORRECTED: - clients started as iconic before gwm launch now work OK. (bug report: John Mackin , David Hogan ) - setting window-size bugged on windows which didn't have resize incr hints set. - basebars without titlebars on non-rectangular windows triggered an error (bug found by Frank Mangin ) - a random bus error due to uninitialized variable in redecoration of windows fixed - gwm didn't handle resizes or move too early after initial mapping - could crash if window was destroyed too fast. More generally, all (I hope) timing bugs have been chased to death... - bus errors while moving windows with move-opaque shouldn't appear anymore - \xNN escape sequence in strings for specifiying chars by hex value was bugged. - rotate-cut-buffer was bugged - (boundp '()) was returning () - set-icon didn't work - unmapped group leaders were mapped (never-mapped toplevel widgets for instance) - the propagate argument provided to send-user-event survived function invocation. - simple-win.gwm: title stayed of inactive color in some cases - Carl Witty : confined windows could get 1 pixel off the right & down of screen - John Carr : make decoration windows have background "none" to decrease flashing. I forgot to include this patch in 1.6b - wool: (exit insts...) were evaluating inst after restoring old context! - wool: exit out of a for didn't restore correcetly the old values - + misc bugs... Globally safer when X errors happen at unexpected times COMPATIBLE ENHANCEMENTS: - send-key-to-window automatically adds "shift" as modifier to upper-case letters sent, to behave as expected when sending a string with mixed upper/lower case. Pointed by Frank Mangin . - pixmap-load now supports symbolic color overriding, a XPM v2 feature (e.g (pixmap-load "mailbox" "flag" "Red" "sky" (color-make "Blue"))) - menu-make skips nil entries - make-string-usable-for-resource-key traps now blanks & * as well as . - traps Program sizes <= 1 for this brain-dead motif 1.1 STANDARD PROFILE: - I now use the "amc-lisp" indent style under emacs for indenting wool code. amc-lisp.el is provided with the epoch distribution. - all client specifications for set-window, set-icon et al. now can be either class-name, class-name.client-name, class-name.client-name.window-name, or class-name.client-name.window-name.machine-name. *-notation is supported. You can say (set-window "Xman*Manual_Page" foo) - decos are now evaluated at *deco* time, not when reading profile as before. At evaluation, the deco is recursively processed (up to 10 times) till a decoration is obtained. (an atom/string is taken as a file name and loaded, a function is called without args, a list is evaluated). This should supress a lot of complicated quoting in decos. This should not break existing decos, and you can then supress most of the quoting you were forced to use with the previous method. - raise-on-move, raise-on-resize and raise-on-iconify global flags. - exemple .profile.gwm is much cleaner (and commented) - Jay Berkenbilt cute mini virtual screen package included. Use by loading "vscreen" at the start of your profile, then move along by Ctrl-Alt-Keys. Map available by root menu (see item "VS Show" in menu). see vscreen.gwm on how to customize. - Rod Whitby: float package (was called auto-raise) included to make windows always on top or to the background use by loading "float", then new items added on window/icon menu. This package uses visibility events, so can miss some cases and may enter (exitable) loops if 2 floating windows overlap. - Rod Whitby: unconf-move package, allows you to still move/resize windows off screen boundaries, even if confine-windows is set (by using the control key) - Rod Whitby: suntools-keys package to iconyfy windows with F7 or L7, and to toggle raise/lower with F5 or L5 - Mike Newton's (newton@gumby.cs.caltech.edu): mon-keys.gwm package to add many WM functions on functions keys, such as F1/F2 to go to next/previous window - icon-groups package now adds 3 ways to iconify in the menu item for iconifying: iconifying all group, this window (default), all other windows of the group. - dvrooms: Philippe Kaplan added a flag dvroom.icon-box, which, if set to t will make dvrooms non-exclusive (more than one open at a time) - added the "float" package of Rod Whitby to make window always float before others, or sink to the background - menu code is cleaned up: menus are now a list of items during profile, where loaded packages can modify this list. The menu is then built from the list after user profile is read. These lists are window-pop-items, icon-pop-items, root-pop-items. - menu buttons can now be strings, pixmaps, or any lisp expression returning a pixmap - multi-item entries in menus (with multi-item-make) - menus now have a default action triggered when button is released before menu is mapped. (nothing was done before) Default action is set by the menu-default-action function - reparse-standard-behaviors simplified, and window- & icon-behavior now do not include anymore standard-behavior, you must include it when building your fsms from these behaviors - dvroom package new dvroom.auto-add flag to tell if new windows will get automatically included in current room. - new "customize" function to generically modify decos by context E.g.: (customize simple-icon any Xman simple-icon.background (color-make "MistyRose")) simple-icon and term-icon are customizable this way now thus having a standard interface for customizing all packages on a client basis - screen-tile & icon-pixmap are defaulted-to intead of set. - the provided rxterm script in data/ subdir now works with full internet adresses - the "client info" menu item now pops-up an independant window. - bugs in simple-ed-win corrected by duanev@mcc.com (Duane Voth) - "reload" item no more included in root menu (reloading profile is often not sufficent...) MWM PROFILE: mwm profile is not affected by the standard profile modifications - Carl Witty patches: mwm profile: f.maximize corrected: If executed from a menu, it didn't correctly change the state of the window's zoom button It did set the zoom button's pixmap incorrectly, although this was corrected as soon as a leave-window event is generated. keyboard menu traversal more sensible new functions: (f.eval (? "Hello")) will print hello when it is executed. (f.identify) pops up a window which giving information about the current window. (f.delete) uses the WM_DELETE_WINDOW protocol to delete a window. (f.load "mwm") will reload the mwm profile. (f.raise_lower) is my version, which doesn't raise a window unless another on-screen window actually obscures it. (f.raise_move) is obvious. (f.refresh_win) didn't do anything before; now it does. (f.warpto "emacs") warps the mouse to the first emacs window found and brings it to the front. I implemented it for a friend who likes twm. I didn't like the look of disabled menu items in the mwm profile, with that line drawn through them, so I added some modifications to allow disabled menu items to be displayed in a different color instead. TWM PROFILE: twm profile is not affected by the standard profile modifications - Carl Witty patches: Some patches to make the icon manager in the twm profile act more like the one in the X11R4 twm. That is, when the cursor is in the icon manager, the focus is set to the window whose bar the cursor is over. The patches also change it so that the icon manager doesn't resize when a window is iconified or deiconified. CHANGES TO THE DOC: - LaTeX doc is not yet updated. 1.7 will be 1.7_alpha/beta/gamma.... with doc updated - John Mackin corrections to the man page - casey@gauss.llnl.gov (Casey Leedom): namespace doc entries out of order Colas Nahaboo, BULL Research FRANCE -- Koala Project -- GWM X11 Window Manager Internet: colas@mirsa.inria.fr, Phone: (33) 93.65.77.70, Fax: (33) 93 65 77 66 INRIA Sophia, 2004, rte des Lucioles, B.P.109 - 06561 Valbonne Cedex, FRANCE