Wed Dec 8 11:05:38 1999 Greg J. Badros * ui-constraints-classes.scm: Fix some of the descriptions for the buttons. Make the prompt for the alignments mention "Vertical" or "Horizontal" instead of using identical prompts. Wed Dec 8 11:03:37 1999 Greg J. Badros * constraint-investigator.scm: Remove the close button; mostly did this for usability study, but also seems extraneous so may be worth leaving out. Tue Dec 7 15:14:50 1999 Greg J. Badros * ui-constraints-composition.scm: Write out the class-creator for compositions after they are recorded so that they can be reloaded later in a mechanical (if tedious) way. Later this should be written to a file and automatically reloaded, but for now I need the functionality for user testing. Tue Dec 7 14:52:50 1999 Greg J. Badros * ui-constraints.scm: Added `ui-constraint-class-creator' to return a list to eval to re-create a recorded constraint-class. * ui-constraints-composition.scm: Make the ui-cnctr lambda of a recorded macro be swizzlable-to-disk by use quasiquote and unquote to make explicit the lexical bindings that were previously only implicit. Expose a couple of functions publicly that are needed by the lambda. Tue Dec 7 13:33:49 1999 Greg J. Badros * ui-constraints-classes.scm: Error in cnctr-anchor if window is #f. * gtk.scm: Make sync-and-add-timer-hook public. Mon Dec 6 16:27:22 1999 Greg J. Badros * flash-window.scm: Fix position of interactive spec for stop-flashing-window. Mon Dec 6 16:21:18 1999 Greg J. Badros * nonants.scm: Fix bug in calling set-window-highlighted-nonant! with a #f window argument. Mon Dec 6 15:52:30 1999 Greg J. Badros * ui-constraints-classes.scm: ws change: added commented-out code. * ui-constraints-buttons.scm: Put record/stop button first. Turn animation back on since it is get-window-with-nonant-interactively that is broken, not the animations. Mon Dec 6 12:41:18 1999 Greg J. Badros * gnome-panel-menus.scm: New version from Michael Schmitz: "sort order is now taken into account, more functions are now public, lots of documentation has been added." Sun Dec 5 17:41:37 1999 Greg J. Badros * key-mover-xtest.scm, key-mover.scm: Make returned procedures be interactive. Sun Dec 5 15:25:37 1999 Greg J. Badros * Makefile.am (scwm_gtk_scheme): Added gtk-about.scm * gtk-about.scm: Added. Sun Dec 5 14:53:12 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Added gnome-panel-menus.scm (forgot to when I first added that module). Sun Dec 5 14:48:42 1999 Greg J. Badros * minimal.scm: Make it rely on (app scwm optargs) and make some procs interactive (thus needing that module). Sun Dec 5 12:04:49 1999 Greg J. Badros * flash-window.scm, winops.scm: Make a bunch of procs interactive that weren't before. Sat Dec 4 21:40:46 1999 Greg J. Badros * ui-constraints-classes.scm: Fixed dirvector->string -- was testing for 1 in vector positions, instead of just #t or #f. Fixed incorrect call to do get-window-with-nonant-interactively properly for anchor constraint. * ui-constraints-composition.scm: Do not create a new window class if the composition is recorded with an empty name -- treat that as aborting the record (though the constraints added during the record will still remain; that behaviour maybe should change) Sat Dec 4 21:15:05 1999 Greg J. Badros * ui-constraints-classes.scm: Update the tooltip help to be laid out a little bit narrower (just by adding blanks to end of first line). * ui-constraints-buttons.scm: Turn off animations by default (use new global public variable to decide). Sat Dec 4 20:19:17 1999 Greg J. Badros * constraint-investigator.scm: Make only enabled constraints get drawn. Sat Dec 4 19:53:25 1999 Greg J. Badros * ui-constraints.scm: Fix typo -- it's delete-ui-constraint! (forgot ! before). * ui-constraints-toggle-menu.scm: Drop the composition menu items now that they are in the toolbar. * ui-constraints-classes.scm: Added `two-window-or-more-nonant-prompter' that uses get-window-nonant-interactively and use it for ui-cnctr-align and ui-cnctr-strict-relpos. Fix `valign-nonant->string' to report "left" "center" or "right" instead of top/middle/bottom. * ui-constraints-buttons.scm: Make animation happen only when inside the toolbar. * highlight-current-window.scm: Needed to use window-selection module. Sat Dec 4 15:35:03 1999 Greg J. Badros * base.scm: Added `add-hook-once!' and `append-hook-once!' * ui-constraints.scm: Added `delete-all-constraints'; use for-each, not map. Added pixmap2-name field to ui-constraint-class objects. * ui-constraints-composition.scm: Use `add-hook-once!', use no pixmaps for the composition additions. * ui-constraints-classes.scm: Updated for extra field in ui-constraint-class objects. Use second pixmap for two of the buttons. Still need to provide a right-click menu for stopping the animation. * ui-constraints-buttons.scm: Added `animate-pixmaps', and animate them when both pixmap-name and pixmap2-name fields are set. Added record/stop-recording buttons (mutually-exclusive). * constraint-investigator.scm: Use add-hook-once!. Added "Delete all" constraints button. Sat Dec 4 12:28:38 1999 Greg J. Badros * fvwm-eval.scm: Move `fvwm-none' here and make it non-public * fvwm-compat.scm: Move `fvwm-none' out to fvwm-eval.scm. Added some docstrings. * flux.scm: Added a docstring. Fri Dec 3 10:05:51 1999 Greg J. Badros * snap.scm: Added docs for wininfo. Define wininfo-[nesw] more consicely as aliases for car, cadr, etc. * cursor.scm: Need nonants module, avoid race condition at startup by using startup-hook. Fri Dec 3 10:02:54 1999 Greg J. Badros * debianapps-menu.scm: New version from Francesco w/ some light modifications by me. He: cleaned up code; made make-debianapps-menu pass args through to menu to permit, e.g., a side-image. Added *debian-menu-path* option: Perhaps a file list would be better here > (something as '("/etc/X11/scwm/scwm_menus" "/home/cesco/personal_menus")), > but I do'nt know if I can use the #:path type in this case; borrowed some code from Greg's system.scwmrc to make the generated menu > more good looking. I kept out some menu entries because they call proprietary > programs (Netscape): this is not very good for a debian package Thu Dec 2 09:26:25 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Added cursor.scm * wininfo.scm: Make windows-overlap? ignore iconified windows and really return a boolean. Added list-overlapping-windows, list-non-overlapping-windows. * nonants.scm: Permit symbolic names for nonants in nonant-decoration. * cursor.scm: Added; support for pixmap resizing cursors. Wed Dec 1 17:09:12 1999 Greg J. Badros * netscape.scm: Update netscape-win to use the window-with-pointer if it is a netscape window. Improves behaviour (IMO) for Finds within the bookmarks list. Wed Dec 1 11:38:56 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Fix missing backslash. Wed Dec 1 09:10:41 1999 Greg J. Badros * viavoice.scm: Needs task-switcher module. Tue Nov 30 09:01:18 1999 Greg J. Badros * fvwm-module.scm: Eliminate bogus conditional definition of `basename' procedure since Guiles we care about have that primitive. * gnome-panel-menus.scm: Added, from Michael Schmitz. Sun Nov 28 15:00:29 1999 Greg J. Badros * ui-constraints.scm, ui-constraints-composition.scm, ui-constraints-classes.scm, simple-constraints.scm, constraints.scm, ui-constraints-toggle-menu.scm: Added use-module of (cassowary constraints). I'm not sure how the primitives from that are getting linked into my scwm, and Robert Chassell is having problems so maybe this helps. Sun Nov 28 10:17:24 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Update for added file, below. * debianapps-menu.scm: Added, from Francesco Tapparo. * winops-menu.scm: Update for rename to make-menu-window-theme. * std-menus.scm: Added menu-desk, menu-quit-verify from system.scwmrc. Rename menu-global-theme, menu-window-theme to `make-menu-global-theme' and `make-menu-window-theme' since they are procs that return menus, not bound directly to menus. Fri Nov 26 09:50:21 1999 Greg J. Badros * Makefile.am: Update file list for name change, new modules. Thanks to Robert Chassell for bug report. Thu Nov 25 14:14:13 1999 Greg J. Badros * animation.scm: export new `animate-windows' primitive * visibility-reporter.scm: Added doc comments to appease scwmdoc. * ui-constraints.scm: Use constraint-animation module and animate constraints when disabling/enabling constraints. * ui-constraints-classes.scm: Fix bug in call of `xlib-set-line-attributes!' * defoption.scm: doc bugfix. * window-configuration.scm: Added `window-configuration->xform-to-it', and use `animate-windows' to make changes of global state animate all windows at once instead of sequentially. Added some doc comments to appease scwmdoc. Thu Nov 25 14:09:50 1999 Greg J. Badros * constraint-animation.scm: Added; support animating multiple windows to new positions/sizes on a resolve. * constraint-investigator.scm: Added, renamed from below. * ui-constraints-gtk-toggle-menu.scm: Removed -- renamed to constraint-investigator.scm. Wed Nov 24 12:42:45 1999 Greg J. Badros * base.scm: Fix menu-title to permit extra #:args. Thanks to bug report from Michael Schmitz. Wed Nov 24 07:38:11 1999 Greg J. Badros * winops.scm: Move move-or-shade, move-or-deiconify into system.scwmrc; drop dependence on animation module (was cyclic). Tue Nov 23 12:21:35 1999 Greg J. Badros * visibility-reporter.scm: Added to demonstrate visibility hooks. Thu Nov 11 14:57:48 1999 * winops.scm: Added missing use of animation module. * winops-menu.scm: Use image-left for menu-window-shove, and mark it as a #:submenu instead of an action. * snap-constraints.scm: Turn on constraint solver if necessary when `snap-initialize' is executed. * send-string.scm: Use `send-key', not `send-key-press'. * fvwm-module.scm: Added `fvwm2-pager-window' Wed Oct 27 09:02:46 1999 Greg J. Badros * prompt-binding.scm: Remove incorrect mention of `getter' from prompt-binding. Thanks Anders Vinjar! 1999-10-27 Robert Bihlmeyer * xprop-extras.scm (X-properties->string): Harmful line deleted. Tue Oct 26 17:13:37 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Added snap-constraints.scm * ui-constraints.scm: Added `ui-constraints-involving-two-windows', `move-after-deleting-constraints', `move-after-deleting-inferred-constraints'. * snap.scm: ws change. * snap-constraints.scm: Turn off some debug code. Avoid another constraint being inferred when windows are already related by another ui-constraint object. Tue Oct 26 16:11:20 1999 Greg J. Badros * snap-constraints.scm: Added; make the inferred snap persistent. Not perfect, but good enough for a demo. Tue Oct 26 15:11:05 1999 Greg J. Badros * snap.scm: Re-indent. Tue Oct 26 13:53:44 1999 Greg J. Badros * style-options.scm: Add the 'hint handler before the 'normal handler for add-window-both-option to try to get decor.scm's theme switching to work. This fixes things for me, finally. * flux-gtk.scm: Use old title as init value when renaming a window. Tue Oct 26 11:48:17 1999 Greg J. Badros * wmconfig-menu.scm: Do not try to process directories as files. * xlock-menus.scm: Make `xlock-query-modes' public. * flux.scm, winops.scm: Moved `toggle-focus', `move-or-shade', `move-or-deiconify' from flux.scm to winops.scm * flux.scm: Do not require libguile-config-stamp to be bound. * base.scm: Fix bug in `exe' -- was causing (interactive) declaration to be eval'd. Fix bug in xterm-other-host. Thanks Anders Vinjar! * *.scm: Use optget, not scwm-option-get, for brevity. * winlist-menu.scm: Updated docs for `show-window-list-menu'. * prefs-menu.scm: Needs flux.scm, drop "Specify Parameters" submenu. * group.scm: Make `popup-window-group-menu', `popup-window-group-menu-no-warp' both public. Mon Oct 25 12:23:36 1999 Greg J. Badros * ui-constraints-composition.scm: Give a better description to composition-recorded macros. Mon Oct 25 12:04:56 1999 Greg J. Badros * nonants.scm, lambda-startup-logo.scm: Use new `make-image-or-warn' * message-window.scm: Avoid error when image is not found. Clean up intro comments. * lambda-startup-logo.scm: Make `logo-remove' public. * base.scm: Added `make-image-or-warn' added \n to `image-not-found-message' Sun Oct 24 12:08:47 1999 Greg J. Badros * fvwm-module.scm: Better formatting of debugging output. Sat Oct 23 15:08:41 1999 Greg J. Badros * synth-events.scm, gnome-hints.scm: Update for rename to send-button. Sat Oct 23 13:17:18 1999 Greg J. Badros * prefs-menu.scm: Deprecate the module. * nonants.scm: Be more robust in case anchor.xpm cannot be loaded. * lambda-startup-logo.scm: Use image-not-found-message * base.scm: Added `image-not-found-message' * fvwm-module.scm: Added a newline in debugging code. * winlist-menu.scm: Document show-window-list-menu's new permit-alt-release-selection? Fri Oct 22 17:56:06 1999 Greg J. Badros * winops.scm: Needs winlist, wininfo (fixes unbound variables when using the viavoice interface). Fri Oct 22 17:37:06 1999 Greg J. Badros * winops.scm: Use window-with-pointer, not get-window, for focus-or-toggle-raise (otherwise we'd nearly always get the window that has the focus). Fri Oct 22 17:27:17 1999 Greg J. Badros * winops.scm: Added `focus-or-toggle-raise' * minimal.scm: Use white on navyblue for highlighted window titlebar. * hover-focus.scm, flux.scm: Fix for rename to `window-focus-style' (of get-window-focus) Wed Oct 20 18:00:18 1999 Greg J. Badros * task-switcher.scm, winops-menu.scm, flux-gtk.scm: Needs winlist-menu. Tue Oct 19 18:02:23 1999 Greg J. Badros * winops.scm: Needs nonants module, fix interactive decl for make-toggling-winops to have a comment so it gets recognized (fixes bug w/ C-S-M-button1 -- toggle-window-raise). * winlist.scm: Make listify-if-atom public, since winlist-menu needs it now. * wininfo.scm: ws change. Tue Oct 19 15:44:24 1999 Greg J. Badros * fvwm-eval.scm: Comments update from Alexander Vorobiev. Tue Oct 19 11:31:54 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Added winlist-menu.scm * winlist.scm: Move some code out into new winlist-menu.scm * winlist-menu.scm: Added (using code that was in winlist.scm) * wininfo.scm: Use winlist again. * window-configuration.scm: Do not use winlist. * highlight-current-window.scm: Do not use window-selection. * group.scm: Use winlist. * flux.scm: Drop sleep-ms -- now in base.scm * base.scm: Added sleep-ms (was in flux.scm) * animated-iconify.scm: Drop half, sleep-ms (they are elsewhere), move-point-pair (was unused). Tue Oct 19 09:22:38 1999 Greg J. Badros * group.scm: Needs wininfo. * animated-iconify.scm: No longer uses winlist. * winops.scm, winlist.scm: Rewrite header of `make-toggling-winop' to not use the double parens ((make-t-wo ...)) format and just return an interactive lambda instead. Moved `focus-change-warp-pointer' and `warp-placement' from winlist. * winops-menu.scm: Needs wininfo. * wininfo.scm: No longer uses winlist. * window-selection.scm: No longer uses group. * stylist.scm: Needs wininfo. * nonants.scm: No longer uses window-selection. * minimal.scm: Move the backtrace to *after* printing the error message so it makes a little more sense. Mon Oct 18 15:50:06 1999 Greg J. Badros * group.scm: Use tile module for tile-window-interactively (fixes bug in the group menu when windows are selected). Mon Oct 18 09:33:46 1999 Greg J. Badros * minimal.scm: Show a backtrace when a module load fails. Mon Oct 18 09:02:01 1999 Greg J. Badros * ui-constraints.scm: Fixed symbol that was incorrectly changed to `focus-window' in last big round of renaming changes. Sun Oct 17 19:01:35 1999 Greg J. Badros * message-window.scm: Use window-visible-frame-size to pick location of message-window. Fixes bug reported by Tessa Lau re: the message window being mis-placed for shaded windows. Thanks Tessa! * base.scm: Added `window-visible-frame-size' Sun Oct 17 16:11:10 1999 Greg J. Badros * style-options.scm: Added `add-window-both-option' Sun Oct 17 14:41:11 1999 Greg J. Badros * window-selection.scm: Fix bug: Use define*-public when using (interactive) spec for `unselect-all-windows' * gnome-hints.scm: Move *gnome-desktop-number* to end and give it a setter. Fix typo in use-module of the style module (was styles). * decor.scm: Use style module. Sun Oct 17 13:57:44 1999 Greg J. Badros (on behalf of A. Vorobiev) Changes from Alexander Vorobiev to improve fvwm-eval handling for use with FvwmKb module: http://linuxfan.com/~sparrow/software. * winlist.scm: Make filter-only-except public * fvwm-eval.scm: Make extract-command be more sophisticated in handling missing ] at end. Fix "Current" command, implemented "ChangeDecor" command. Added `get-one-string-arg' helper. * fvwm-module.scm: Fixed uses of logior to (not (zero? (logand type mask))). This makes modules' selecting of the messages they want to receive work properly. Added more debugging code. Sun Oct 17 12:29:25 1999 Greg J. Badros * ui-constraints-classes.scm: ws change. Sun Oct 17 12:00:14 1999 * basic-styles.scm: Use #:use-style to express inheritance instead of duplicating code. Sun Oct 17 10:20:17 1999 * winops.scm: Added a bunch of procs from flux.scm including toggle-maximize-{vertical,horizontal,both}, nonant->gravity. Rename window-unshade, window-shade, window-shaded? to unshade-window shade-window and shaded-window? Use interactive spec appropriately. * winlist.scm: Added `show-icon-list-menu', `show-xterm-window-list-menu' from system.scwmrc. * wininfo.scm: Update for iconified-window? name change. * window-selection.scm: Added interactive specs. * virtual.scm: Added `switch-to-{first,second}-desk' procs, updated for deiconify-window name change. * viavoice.scm: Updated for name change to toggle-maximize-vertical. Drop dependence on flux. * undo.scm: Added interactive specs (switch to define*-public form in many cases to support the declaration). * ui-constraints.scm: Updated for focus-window name change. * ui-constraints-composition.scm: Reindented, new line breaks. Fixed a bug in missing `list' application, too. * ui-constraints-classes.scm: Use ui-constraint-out-focus-width of 2, not 1, as the lines were hard to see. Fixed a bug in wrong number of args to translate-point. * time-convert.scm, stringops.scm: Fix typo in name of file after #Id# line. * tile.scm: Use window-selection and rectangle modules, and added `tile-windows-interactively' from flux * stylist.scm: updated for name chnages: sticky-window? and iconified-window? * style.scm: Updated for name changes, (un)shade-window, (de)iconify-window, (un)stick-window. Added use of experimental add-boolean-both-option. * style-options.scm: Added `add-boolean-both-option' (experimental) * std-menus.scm: Drop dependence on flux, break out xlock-menus.scm. * register.scm: Added docs and interactive specs. Updated for name change: focus-window. * reflection.scm: Use "" for them (added the brockets). Update procedure-is-interactive? to check for the interactive property. Added various procs from flux. * quote.scm: Added interactive specs and docs. * prompt-binding.scm: Separate out the two procs for each binding into separate lines. Much more useful now. Added some extra (still non-functioning) buttons. * primopts.scm: Added *highlight-foreground*, *highlight-background* * prefs-menu.scm: Drop dependence on flux.scm * optargs.scm: Added support for interactive specifications as the form right after the docstring. Must use define* forms to permit interactive specs. * netscape.scm: Added interactive specs, docs. * minimal.scm: Update for deiconify-window name change. * last-mapped-window.scm: Added interactive specs and use winops to get focus-change-warp-pointer. * kde-hints.scm: Updated for focus-window, (de)iconify-window name change. * hover-focus.scm: Drop dependence on flux, update for iconified-window? and focus-window name changes. * group.scm: Added `make-window-group-menu' and other procs from flux, updated for (de)iconify-window name change. * gnome-hints.scm: Added `gnome-install-window-styles', Added interactive specs, updated for name changes. * fvwm-module.scm: Updated for iconified-window? name change. * fvwm-eval.scm: Updated for focus-window, (un)shade-window, (de)iconfiy-window, iconified-window? sticky-window? name changes. * focus-titlebar.scm: Reformatted. * flux.scm: Moved lots of code out to new modules. * flux-gtk.scm: Added interactive specs. * face.scm: ws change. * dir-focus.scm: Added `dir-focus-*' procs from system.scwmrc with interactive specs and docs added. * decor.scm: Try to make decor a "both" option (theme changing was not working with it as a hint, so it needs to also be a style option). * cascade.scm: Updated for name changes. * base.scm: Updated for name changes, added *xterm-user-shell-options*, `start-xterm', `xterm-other-host' * animation.scm: Updated for name changes: stick-window? and shaded-window? * animated-iconify.scm: Added interactive specs, updated for name changes, added `animated-deiconify-to-vp-focus' * animated-edge-moves.scm: Added docs and interactive specs. * Makefile.am: Added all the new .scm files. * winops-menu.scm, xlock-menus.scm, titlebar-buttons.scm, task-switcher.scm, synth-events.scm, shove-window.scm, session.scm, rectangle.scm, lambda-startup-logo.scm, describe.scm, basic-styles.scm: Added (mostly code ripped out of flux.scm or system.scwmrc to factor it out better). Wed Oct 6 17:30:34 1999 Greg J. Badros * Makefile.am: Added corba.scm and viavoice-smrc.scm (make check reported them as missing) Wed Oct 6 15:27:28 1999 Greg J. Badros * ui-constraints-gtk-toggle-menu.scm: Use spacing of 1 between constraint instances. Use two-column table, with second column hboxes containing enable checkboxes AND the delete buttons. Give that box right alignment so things line up better. Give the whole ui some spacing, move the three standard buttons into a single hbuttonbox at the button of the UI. Much improved look! Mon Oct 4 22:50:47 1999 Greg J. Badros * ui-constraints-classes.scm (one-window-prompter): Return just the window, not a list of a single window. This was causing problems for the min/max height/width buttons when pre-selecting. * style.scm: Go back to border-width being a hint. I can't get everything to work with it as a hint right now. * netscape.scm (netscape-google-search-cut-buffer): Noop if no cut-buffer string. Mon Oct 4 17:20:55 1999 Greg J. Badros * flux.scm (config-request-animate): Convert to virtual coordinates before calling the animation functions that take virtual, not viewport coordinates. * base.scm: Let vpx->vx, vpy->vy, vx->vpx, vy->vpy pass a #f through w/o error. Mon Oct 4 14:12:49 1999 Greg J. Badros * style.scm: Make border-width a hint so that it takes effect earlier. Thanks to E. Jay Berkenbilt for bug report! * minimal.scm: Turn off buffering of output port for recent guile versions that need it (this so that the system.scwmrc doesn't need to do it itself). Sun Oct 3 15:44:01 1999 Greg J. Badros * viavoice.scm, ui-constraints.scm, register.scm, property-respond.scm, fvwm-module.scm, fvwm-eval.scm, flux.scm, dir-focus.scm, constraints.scm, animation.scm: Use new names window-with-pointer, window-with-focus * flux.scm: Added `focus-window-with-pointer' Sat Oct 2 00:30:30 1999 Greg J. Badros * flux.scm: Added `resize-quarterscreen' Sat Oct 2 00:01:10 1999 Greg J. Badros * xprop-extras.scm: Rename copy-window-title-to-cut-buffer0 to copy-window-title-to-cut-buffer; paste-window-title-from-cut-buffer0 to paste-window-title-from-cut-buffer. * window-configuration.scm: Added `push-window-configuration', `pop-window-configuration', `window-configuration-menu'. And define `window-configuration-menu' to expose this functionality. * wavplay.scm: Do not try to play a sound that couldn't be found. * flux.scm: Added shortcut keys for the window-ops menu. Added Configuration submenu. Added `config-request-animate' to do animated configure requests. Fri Oct 1 21:54:59 1999 Greg J. Badros * constraints.scm: Do not use bind-four-modifier-key-events here. Leave keybindings to .scwmrc. Fri Oct 1 17:08:15 1999 * wavplay.scm: Use defined? not scwm-module-loaded? to see if esound was loaded okay. 1999-10-01 E. Jay Berkenbilt * xprop-extras.scm (X-cut-buffer-string): changed to use X-fetch-bytes, just added to miscprocs.c. (X-set-cut-buffer-string!): changed to use X-store-bytes, just added to miscprocs.c. Fri Oct 1 16:35:42 1999 Greg J. Badros * minimal.scm: Drop commented out rubber-band-mask setting. Thu Sep 30 10:12:38 1999 Greg J. Badros * Makefile.am: Added last-mapped-window.scm. * menus-extras.scm: Added REST args to fold-menu-list-by-group to let, e.g., hover-delay, popup-delay be set for the window list by resource menus. * last-mapped-window.scm: Added. Thanks to Craig Kaplan for idea! Wed Sep 29 23:09:12 1999 Greg J. Badros * gnome-hints.scm: Added some commented out debugging. Do not set a window to be maximized when it is also set to be minimized (gmc desktop_icons are this way, and maximizing them was causing them to lose their y positioin -- all went to (0,0) in error). Wed Sep 29 17:54:17 1999 Greg J. Badros * window-configuration.scm: Use atomic resize-fram with positions in `copy-window-configuration' (and use animated version for now-- optional later). Thanks E. Jay Berkenbilt for noticing the problem and suggesting a correct fix. * minimal.scm: Added `append-hook!' which might make more sense to use by default (more intuitive behaviour, though less efficient [small beans, though]). Wed Sep 29 11:43:25 1999 Greg J. Badros * flux.scm: Use animated-deiconify-to-vp-focus. * animated-iconify.scm: Added iconify-animation-offsets and use it. Rename `animated-deiconify-to-last-viewport-position' to `animated-deiconify-to-viewport'. Drop `animated-deiconify-to-current-viewport'. Wed Sep 29 10:04:07 1999 Greg J. Badros * decor.scm: Make use-decor a window-hint option, not a window-style option, so changes in border sizes and titlebar heights affect initial positioning properly. Thanks E. Jay Berkenbilt for the bug report! Tue Sep 28 23:08:37 1999 * winops.scm: Only define `print-window' if xpr program exists, use path-cache module. * winlist.scm: Propoagate the hover-delay and popup-delay items to submenus for `make-window-list-menu'. * prompt-color.scm: Use prompting-shell. * listops.scm: ws change * flux.scm: Rename `menu-window-move' to `menu-window-shove', call it "shove" not "move" in menus. Fix window group menu from the root menu. * base.scm: (C) update. Tue Sep 28 17:47:36 1999 Greg J. Badros * doc.scm: Remove superfluous dependence on flux module. Tue Sep 28 17:21:23 1999 Greg J. Badros * flux.scm: Forgot to use-module face. Tue Sep 28 14:57:35 1999 Greg J. Badros * preferences.scm: Switch *preferences-use-notebook* to default to #f since the listbook format is nicer and the new guile-gtk has the bug that this was tweaking fixed. Tue Sep 28 14:42:26 1999 Greg J. Badros * prompting-shell.scm, prompt-proc.scm, prompt-font.scm, prompt-file.scm, prompt-color.scm, prompt-binding.scm, preferences.scm, stylist.scm: Use "clicked" signal instead of "pressed" signal on the various buttons Tue Sep 28 13:16:23 1999 Greg J. Badros * register.scm: Fix type "Emacs"->"Scwm". * flux.scm: Move `add-left-button', `add-right-button' from system.scwmrc, added `reset-buttons!' * stylist.scm: Use hbutton-box for widgets along bottom, fix `run-hooks' to `run-hook'. Add a menu-separator to the menu. Now this is functional again. Mon Sep 27 15:19:41 1999 Greg J. Badros * undo.scm: Move bindings into system.scwmrc; they shouldn't be in the module. Sat Sep 25 17:26:09 1999 Greg J. Badros * wavplay.scm: Handle SCWMDIR not set w/o error. Sat Sep 25 15:16:52 1999 Greg J. Badros * stringops.scm, flux.scm: Added `string-has-prefix', `string-ci-has-prefix'; move `remove-suffix' here from flux. * reflection.scm: Added `procedure-string->procedure' * prompt-proc.scm: Move gtk-clist-get-row-values to front. Use procedure-string->procedure. Put widgets in a frame and use some more reasonable spacing (inspired by prompt-binding.scm). * prompt-binding.scm: Hook the things together. Now its a really nice browsing interface, but doesn't yet let you change anything. * flux.scm: Added `proc-doc' that caches the documentation as it reads it from file, if necessary. Sat Sep 25 13:11:13 1999 Greg J. Badros * prompt-binding.scm: Make insert/delete buttons insensitive until they do something useful. Do signal connections at the end after all widgets are defined. Sort the commands and the bindings. Sat Sep 25 12:32:53 1999 Greg J. Badros * reflection.scm, flux.scm: Move procedure->string to reflection, from flux. * prompt-proc.scm: Some cleanup. * prompt-binding.scm: Added * Makefile.am: Added prompt-binding.scm Fri Sep 24 20:45:59 1999 Greg J. Badros * reflection.scm: Make `procedure-is-interactive?' only check for required args == 0. Fri Sep 24 15:19:24 1999 Greg J. Badros * gtk-menu.scm: Honour #:extra-label, make it right-justified in the menuitem. Fri Sep 24 15:00:55 1999 Greg J. Badros * flux.scm: Added #&rest args to window-task-switcher-menu, added `window-task-switcher-menu-backwards'. Fri Sep 24 12:20:39 1999 Greg J. Badros * gtk.scm: Let `image->gtk-pixmap' handle string pseudo-images, too, so it is a little more flexible. * gtk-menu.scm: Define `scwm-gtk-menu-title', `scwm-gtk-menu-separator', `menuitem->scwm-gtk-menuitem'. Permits scwm-gtk-menus to be created w/o using any of the standard Scwm menuing framework. Fri Sep 24 11:39:09 1999 Greg J. Badros * gtk.scm: Added `image->gtk-pixmap' * gtk-menu.scm: Added `scwm-gtk-menuitem' to honour image-left attribute of menuitems. Now gtk-menus can have mini-icons. Fri Sep 24 11:14:15 1999 Greg J. Badros * flux.scm: Added menu-window-move, and include it in the small window ops menu. Fri Sep 24 09:26:47 1999 Greg J. Badros * wavplay.scm: Use (getenv "SCWMDIR") instead of scwmdir. Fri Sep 24 09:11:01 1999 * simplebiff.scm, message-window.scm, window-selection.scm, hover-focus.scm, gtk.scm, flux-gtk.scm, flash-window.scm, edge-ops.scm, auto-raise.scm, ScwmClock.scm: Use msec for timer-hooks. * gtk.scm: Reduce frequency of gratuitous gtk event handles from every 50ms to every 150ms. * time-convert.scm: Drop usec fns since timer-hooks now use msec. * flux.scm: Drop add-ms-timer-hook! since timer-hooks are in ms now, anyway. 1999-09-23 Jeff Nichols * ui-constraints-classes.scm: Added nonant support to strict-relative-position. Now parts of windows can be kept relative to parts of other windows. * window-locations.scm: window-left-top was incorrectly returning a list of x and y locations rather than (X . Y) Thu Sep 23 15:44:58 1999 Greg J. Badros * flux.scm: Use filter-map, not map, for make-menuitems-from-menu-information-list. * prefs-menu.scm: Drop use of user-options. Thanks Francesco Tapparo for the bug report. * Makefile.am, gtk-menu.scm: Added gtk-menu module. Thu Sep 23 13:28:15 1999 Greg J. Badros * winlist.scm: Rename `default-winlist-proc' to `focus-change-warp-pointer'. * flux.scm: Drop focus-change-warp-pointer, fix `toggle-focus' * flux-gtk.scm: Bugfix on show-window-list-matching-interactively. Thu Sep 23 11:45:44 1999 Greg J. Badros * winlist.scm: Change `show-window-list-menu' to take warp-to-index (not warp-to-first) and have permit-alt-release-selection as another argument. Update uses. * flux.scm: Update uses of `show-window-list-menu', make window-task-switcher-menu go to the third item initially (the window that second-most-recently had the focus) * flux-gtk.scm: Update uses of `show-window-list-menu' Thu Sep 23 00:09:56 1999 Greg J. Badros * netscape.scm: Added `cgi-escapify-space'; this (and uri-escapify-comma) should be remove in favor of using some guile module with this support. Added google stuff from system.scwmrc. * fvwm-compat.scm: Added note re: display-depth being same as (list-ref X display-info 2) when setting PLANES. * flux.scm: Added lots of procs from system.scwmrc that didn't belong there. * flash-window.scm: Added `raise-and-stop-flashing' from system.scwmrc. * image-path-suggestor.scm: Added * Makefile.am: Added above. Tue Sep 21 22:02:16 1999 Greg J. Badros * wininfo.scm: Make window-center-position return the frame size, not the client size (mostly so that the return value is the right length for what placement.scm was using it for. * window-locations.scm: Use round/ for half, added `window-viewport-position-of' procedure. * viavoice.scm: Added `vv-terminate'. * defoption.scm, preferences.scm: Added type `sound' (treated as a string for now) * placement.scm: Rename `interactive-place' -> `place-interactively', added `near-window-placement' * netscape.scm: added a bunch of options, added `enable-dynamic-netscape-actions' and move code here form system.scwmrc. * Makefile.am, wavplay.scm: Added. Tue Sep 21 15:02:43 1999 Greg J. Badros * viavoice.scm: Use installed location of grammar. Fix order of testing matches for commands so it works. Tue Sep 21 14:55:14 1999 Greg J. Badros * window-configuration.scm, tile.scm, fvwm-eval.scm, cascade.scm: Use new name `resize-frame' (was `resize-frame-to'), `resize-window' (was `resize-to') * viavoice.scm: More debugging stuff. * base.scm: Added `vpx->vx', `vpy->vy', `vy->vpy', `vx->vpx' * animated-edge-moves.scm: Fix `animated-move-to-center' * winops.scm: Use c-animation module, simplify maximize and unmaximize (hopefully not incorrectly!) and make them honour new variable *maximize-animatedly* Mon Sep 20 23:23:33 1999 Greg J. Badros * std-menus.scm, rgb-database.scm, path-cache.scm, flux.scm, file.scm: use conditional use-modules, instead of expanding out define-module twice to pick whether or not the popen module is included based on guile-version. * flux.scm: Added `make-X-geometry', `float->integer' Mon Sep 20 17:29:07 1999 Greg J. Badros * animated-iconify.scm: Use xlib-set-line-attributes!, not removed xlib-set-line-width! * ui-constraints-classes.scm: Use default of 'solid for xlib-set-line-attributes, and use symbolic 'on-off-dash for the rest where 1 was used before * base.scm: Added convenience `dispaly-depth' variable. Mon Sep 20 13:35:07 1999 Greg J. Badros * viavoice.scm: call (vv-initialize) after module is loaded. * ui-constraints-gtk-toggle-menu.scm: Fix initialization bug, remove some old code. 1999-09-20 Jeff Nichols * ui-constraints.scm: Added options to the draw-constraints* functions to limit drawing to only constraints which are enabled. * ui-constraints-classes.scm: Improved visual constraint representations. * constraints.scm: Added option to start-constraints which allows the user to specify whether they would like disabled constraints displayed. Sun Sep 19 20:15:21 1999 Greg J. Badros * nonants.scm: Put *nonant-highlight-color* in winops, not own group. * preferences.scm: Drop the stupid (eval sym) lines that were causing an unbound variable warning. Clean up (and re-indent) unrelated code. Sun Sep 19 18:42:56 1999 Greg J. Badros * nonants.scm: Use new C primitives, define option *nonant-highlight-color* * viavoice.scm: Only do action if accepted. Only tile if selected-windows-list is non-empty. Sun Sep 19 16:18:18 1999 Greg J. Badros * flux.scm: Added `window-background-color' Sun Sep 19 14:15:40 1999 Greg J. Badros * nonants.scm: Added `nonant-decoration', `highlight-window-nonant', `unhighlight-window-nonant', and make the mark-nonant-motion-handler use them instead of message windows. We still need to use message-windows for persistent markers until I make something that lets a corner/side color change remain persistent (or make the C code aware of highlighting noants). Sun Sep 19 09:26:04 1999 Greg J. Badros * ui-constraints-gtk-toggle-menu.scm, ui-constraints-gdk-drawing.scm, stylist.scm, prompting-shell.scm, prompt-string.scm, prompt-range.scm, prompt-proc.scm, prompt-font.scm, prompt-file.scm, prompt-enum.scm, prompt-color.scm, prompt-bool.scm, preferences.scm, gtk.scm, ScwmDeskButtons.scm, ScwmButtons.scm, ScwmBiff.scm: Remove some gtk-widget-show calls and just use the simpler gtk-widget-show-all on a parent after the children have been added. Sat Sep 18 14:06:16 1999 Greg J. Badros * ScwmBiff.scm: Replace incorrectly positioned define with a let binding instead. Patch from Glenn Trigg. (Needed for >= guile-1.3.2). * flux.scm: Moved some stuff from system.scwmrc to here. Make `{next,prev}-visible-non-iconified-window' use focussable-window? and also ignore shaded windows. Sat Sep 18 14:02:09 1999 Greg J. Badros * viavoice.scm: Handles lots more commands, easier to change the grammar now w/o restarting. * viavoice-smrc.scm: Map SMRC response codes to symbolic names (for debugging, reporting) Fri Sep 17 21:50:25 1999 Greg J. Badros * preferences.scm: Quote symbols too, when outputting them to .scwm-options (not just lists). Need this to fix "undefined symbol mouse/click" when reading .scwm-options with new focus-type option. Thu Sep 16 16:01:36 1999 Greg J. Badros * viavoice.scm: Use flux module, invert default of do-animation, clean up debug formal parameter names. * flux.scm: Move some procs here from system.scwmrc. Thu Sep 16 13:10:45 1999 Greg J. Badros * viavoice.scm: Clean up a bit, make easier to start up, added use of animated-edge-moves module for "move window north west", etc. * animated-edge-moves.scm: Added. * Makefile.am: Added animated-edge-moves.scm Thu Sep 16 11:54:45 1999 Greg J. Badros * Makefile.am: Added prompting-shell.scm, viavoice.scm * prompt-range.scm, prompt-font.scm, prompt-enum.scm, prompt-color.scm, prompt-bool.scm: Use prompt-shell module to reduce amount of redundant code. * viavoice.scm, prompting-shell.scm: Added. 1999-09-16 Jeff Nichols * ui-constraints.scm: Fixed doc strings associated with recently added functions (see below entry). 1999-09-16 Jeff Nichols * ui-constraints.scm: Added draw-constraints-of-window and undraw-constraints-of-window functions. * constraints.scm: Added draw-constraints-with-focus option to start-constraints along with helper functions. This allows either all constraints to be drawn or only those attached to the focus window. Wed Sep 15 13:59:58 1999 Greg J. Badros * Makefile.am: Added prompt-enum.scm * prompt-enum.scm: Added * primopts.scm: Added `*default-focus-style*' option. (Not perfect because of window-style's behaviour that it overrides settings on all matched windows. * preferences.scm: Handle 'enum type * defoption.scm: Added prompt-from-symbol and #:name opotion for changing the prompt. Wed Sep 15 13:47:07 1999 Greg J. Badros * prompt-enum.scm: Added Tue Sep 14 14:29:29 1999 Greg J. Badros * gnome-hints.scm: Add _WIN_SUPPORTING_WM_CHECK property to the bpress_win also, so panel recognizes that a GNOME-compliant wm is running. Mon Sep 13 22:43:15 1999 Greg J. Badros * preferences.scm: Turn on *preferences-use-notebook* by default since the *preferences-use-notebook* == #f is buggy. Mon Sep 13 22:23:34 1999 Greg J. Badros * winops.scm, themes.scm, primopts.scm, message-window.scm, gnome-hints.scm, fvwm-module.scm, face.scm, edge-ops.scm, base.scm, auto-raise.scm: Added define-scwm-group call for preferences groups that are used. * preferences.scm: Added *preferences-use-notebook* and add a listbox-based preferences UI (that is still buggy -- causes a coredump in guile-gtk code). * defoption.scm: Added `define-scwm-group', related procs. * prompt-range.scm: Make the scale size automatically instead of fixing the size. * std-menus.scm: Comment out the *context-map* variable for now. * winops.scm: Move the *opaque-move-percent* and *resize-opaquely-proc* into group 'winops, not 'window-movement Mon Sep 13 11:48:54 1999 Greg J. Badros * std-menus.scm, flux.scm, file.scm, rgb-database.scm, path-cache.scm: Use guile-version, not (minor-version) for testing guile versions. Mon Sep 13 11:48:11 1999 Greg J. Badros * minimal.scm: Define guile-version variable to be, e.g., 1.33 so it's easier to use as a test. Sun Sep 12 21:44:16 1999 Greg J. Badros * Makefile.am (scwm_common_scheme): Added reflection.scm. 1999-09-08 Jeffrey Nichols * winops.scm: Optional parameters for show-titlebar-in-place and hide-titlebar-in-place were missing some parens. * ui-constraints-classes.scm: Added the sum-to-width and sum-to-height constraint classes. * Makefile.am: added hooks.scm Wed Sep 8 18:12:40 1999 Greg J. Badros * base.scm: Wrote `window-class', `window-resource' using WM_CLASS (they were primitives, now renamed to *-hint). Tue Sep 7 16:39:05 1999 Greg J. Badros * base.scm: Added `use-placement-hint' for use especially with GNOME desktop gmc icons. * gnome-hints.scm: Added comment re gnome-hints file. Tue Sep 7 15:50:57 1999 Greg J. Badros * themes.scm: Move remove-suffix into flux.scm, and use basename instead from here. Fix initialization of *theme-path*. Thanks Dirk Hermann. * flux.scm: Moved `remove-suffix' here from themes.scm since themes.scm no longer needs it Mon Sep 6 23:01:36 1999 * test-case.scm: Return answer, not #. * reflection.scm: Workaround (procedure-source current-module) bug. Fix `procedure-required-formals' to not consider a rest args to be a required argument (it kind of is, but can get bound to an empty list). Added `apropos-internal-with-modules', `procedure-is-interactive?', etc. * prompt-range.scm: Tweak some of the look. * prompt-proc.scm: Much, much improved version that operates as a primitive documentation browser, too. Still could use lots of work, of course. * preferences.scm: Put ok, apply, cancel buttons all on the same row and make them look better. No more stupid "Done and dismiss" button! * constraints.scm: Make the solver variable public at the top-level so we can get at it. (Changed because of a possible quirky behaviour--- might be wholly unnecessary, but could be useful anyway, so I'm keeping it). * minimal.scm, base.scm: Move hook compatibility stuff from base.scm into minimal.scm. Mon Sep 6 19:59:24 1999 * winlist.scm: Fix `show-window-list-menu' -- was completely broken since split into make-window-list-menu. * reflection.scm: Added `procedure-apropos'. Mon Sep 6 17:56:34 1999 * doc.scm: Added `hook-documentation', `object-documentation' * base.scm: Added `hook?' since it's missing from Guile-1.3.[23] -- maybe will be in guile-1.3.4? Mon Sep 6 17:17:37 1999 * test-case.scm: Display error message on failures so I can just load in a whole file -- optional via display-test-case-errors variable. * reflection.scm: Improved significantly... works with primitives now, too, thanks to fancier scwm-snarf extraction process * optargs.scm: Re-instate reverted changes, and fix bug that caused me to revert them (was returning # from second branch of lambda* macro. * face.scm: Use #&rest, not .; the docs in optargs say that the . is okay, but it fails for me. Mon Sep 6 12:28:46 1999 Greg J. Badros * window-selection.scm, ui-constraints.scm, property-respond.scm: Use `define-scwm-hook' * defoption.scm: Fix documentation, unfold a gratuitous apply. * minimal.scm, ScwmButtons.scm: ws change * hooks.scm: Added `define-scwm-hook' to permit associating a docstring with scheme-level hooks. Mon Sep 6 10:38:56 1999 Greg J. Badros * gnome-hints.scm: Use the bpress_win for the _WIN_SUPPORTING_WM_CHECK so that the wm_properties_capplet can shutdown Scwm (it appears to do so by XKillClient-ing that window -- we were using the root window, before, which of course cannot be killed). Sun Sep 5 20:28:25 1999 Greg J. Badros * optargs.scm: Revert back since my changes broke stuff. Sun Sep 5 19:50:50 1999 Greg J. Badros * reflection.scm: Added docs to `procedure-formals', added `procedure-keyword-arguments', `procedure-optional-arguments'. Sun Sep 5 19:34:00 1999 Greg J. Badros * optargs.scm: Added setting of 'optargs-arglist procedure property on lambda* (and cousin) procedure definitions. * reflection.scm: Added -- better support for interactive programming with Guile/Scwm. Sun Sep 5 12:49:37 1999 Greg J. Badros * minimal.scm: Set _WIN_WM_NAME, _WIN_WM_VERSION properties on the root window. Sat Sep 4 01:09:24 1999 Greg J. Badros * prompt-proc.scm: Fixed a bad define placement using a let. Sat Sep 4 00:22:10 1999 Greg J. Badros * base.scm: Added `half' to simplify integer division by 2. * gnome-hints.scm: Implement button-proxying support. Added `gnome-desktop-press' and related procedures. Use message-window to be the button-proxy window, and announce support for it. * placement.scm: Added `center-placement' * winlist.scm: Change `show-window-list-menu' to `make-window-list-menu' and add a `show-window-list-menu' on top of that. Thu Sep 2 13:41:09 1999 Greg J. Badros * window-selection.scm: Move nonant markers closer to edge. Still problems with accidentally selecting the markers -- big problem if you click on the nonant marker, then the window returned is #f. * nonants.scm: Added motion-handler and make `get-window-with-nonant-interactively' use it so that there is some feedback that where you click matters. Still needs a better icon, and perhaps a better marking mechanism than a message window. * highlight-current-window.scm: Added start-highlighting-selected-window, end-highlighting-selected-window Wed Sep 1 19:11:01 1999 Greg J. Badros * ui-constraints.scm: Added a description field to ui-constraint-class objects, update vector accessors. Description field is to be used for tooltips, etc. * ui-constraints-classes.scm: Clean up prompts (drop "Select ..."), use with-message-window-shown so that they don't stick around in case of error. Greatly improve docs and names of buttons. * ui-constraints-buttons.scm: Use description for the tooltip text. Wed Sep 1 18:06:18 1999 Greg J. Badros * property-respond.scm: Split up monolithic property-changed-respond function. Added handling of 'alert property that is a bit less invasive than the flashing property. * prompt-string.scm: Have the entry widget grab the focus, and position the widget a bit better vertically. * flux-gtk.scm: Warp-to-first for show-window-list-matching-interactively. Wed Sep 1 15:21:08 1999 Greg J. Badros * window-selection.scm: Rename select-window-add-selection to `select-window-add', `select-window-remove', and `select-window-toggle'. Added `select-matching-windows', `unselect-matching-windows'. Drop the add/remove-add/remove hooks -- just use `add-hook!' and `remove-hook!' instead. Correct some docstring typos. * stylist.scm: Drop the "..." suffix/prefixes in menu names. Renamed `window-style-menu' to `make-window-style-menu' for cst w/ make-window-group-menu. * flux.scm: Added Style menu to the small window ops menu. Make `make-window-group-menu' have options for selecting multiple windows based on resource/class. Wed Sep 1 10:29:48 1999 Greg J. Badros * ScwmButtons.scm: Change some define-s to letrec to avoid "Bad define placement". Wed Sep 1 00:37:52 1999 Greg J. Badros * themes.scm: Fix theme-names to not use a define after a begin to avoid a bug in guile-1.3.2 (that I still see in guile-1.3.3 in this instance, though I'm not sure if I'm mis-linking, etc. -- the scheme code is easy enough to fix here, though. Tue Aug 31 09:26:18 1999 Greg J. Badros * std-menus.scm: Added a FIXME * focus-titlebar.scm: Added (C), improve comments. * Makefile.am: Added focus-titlebar.scm Mon Aug 30 21:52:10 1999 Greg J. Badros * focus-titlebar.scm: Added -- support option to display titlebar only on the window with the focus. Mon Aug 30 21:49:57 1999 Greg J. Badros * winops.scm: Drop FIXMEs on hide/show-titlebar-in-place; I just fixed the bug. Mon Aug 30 16:01:27 1999 Greg J. Badros * xprop-extras.scm: Added `X-set-cut-buffer-string!', `copy-window-title-to-cut-buffer0', `paste-window-title-from-cut-buffer0' * flux.scm: Added a "Title" submenu to `make-small-window-ops-menu' that lets you copy and paste window titles. Mon Aug 30 11:58:24 1999 Greg J. Badros * std-menus.scm: Move *xlock-query-program* definition earlier in file. Mon Aug 30 10:19:42 1999 Greg J. Badros * std-menus.scm: Use *xlock-query-program* as a scwm-option. Fri Aug 27 02:12:34 1999 Greg J. Badros * modifier-key-bindings.scm: Use #f for XKM_* variables if the modifier doesn't exist (instead of (cons 255 #f)). This makes the previous change effective. Fri Aug 27 01:50:12 1999 Greg J. Badros * constraints.scm: Only bind modifier keys if all are non-#f. Thu Aug 26 21:12:44 1999 Greg J. Badros * flash-window.scm: Avoid trying to flash a window that has been closed (was getting an error). * window-selection.scm, ui-constraints.scm: Use `run-hook', not `call-hook-procedures' * property-respond.scm: Added window-flashing-start-hook, window-flashing-stop-hook. * minimal.scm: Define run-hook if not defined and use that interface, instead of always creating a new `call-hook-procedures' sometimes in terms of run-hook. Thu Aug 26 13:01:41 1999 Greg J. Badros * ui-constraints-classes.scm: More map bug-fixes where lists were of different lists. Updated the draw procs for keep-above, keep-left and the constructor for keep-left (ctr for keep-above I fixed earlier) Wed Aug 25 16:53:08 1999 Greg J. Badros * window-selection.scm: Use filter-map to eliminate invalid windows when returning the list of selected windows for `selected-windows-list' (e.g., when you have a selected window that closes itself or that you close; this was causing errors in other operations that were using the list of selected windows) Wed Aug 25 15:26:19 1999 Greg J. Badros * nonants.scm (get-window-with-nonant): Use window-context, since this is used in places that `get-window' used to be used (e.g., window-selection from the group menu). * flux.scm: Use animation, animated-iconify modules. Move my make-small-window-ops-menu and make-window-group-menu into here. Wed Aug 25 12:26:30 1999 Greg J. Badros * ui-constraints-classes.scm: Fix bug in use of map where the two lists were not the same length-- just shorten the second list by 1. Wed Aug 25 11:37:13 1999 Greg J. Badros * window-selection.scm: Use make-hook, instead of '(). * ui-constraints.scm: Drop all the add-*-hook! and remove-*-hook!; these were unnecessary all along, and code is clearer using add-hook! and remove-hook!. Use make-hook instead of '(). * ui-constraints-gtk-toggle-menu.scm, ui-constraints-buttons.scm: Use add-hook!, remove-hook! not {add,remove}-*-hook!. * ui-constraints-composition.scm: Drop gratuitous begin inside function. Use add-hook!, remove-hook!, not {add,remove}-*-hook! * stylist.scm: Use make-hook, not (). * style.scm: ws change. * std-menus.scm, rgb-database.scm, path-cache.scm, flux.scm, file.scm: Use popen module if minor-version > 3 * minimal.scm: Write call-hook-procedures using run-hook if it is defined. * fvwm-module.scm: Make module-broadcast take 9 arguments, not rest args, since hooks now do checking on number of arguments. * base.scm: Define reset-hook! and make-hook! if we're using <= 1.3 Tue Aug 24 23:42:46 1999 Greg J. Badros * themes.scm,preferences.scm,minimal.scm,menus-extras.scm: Fix FIXME comments to mention guile-1.3.2, not guile-1.4. Tue Aug 24 14:03:26 1999 Greg J. Badros * stylist.scm: Expose window-style-menu fn, instead of popup-style-menu function. Mon Aug 23 21:11:51 1999 Greg J. Badros * winlist.scm: Do not break with more than 36 (26+10 -- the number of shortcut keys) windows in a window list. Sun Aug 22 15:51:31 1999 Greg J. Badros * stylist.scm: Use gtk-label-set-text, not gtk-label-set (was renamed in guile-gtk package). Make popup-style-menu public. Do not use deprecated button name. Sun Aug 22 11:38:18 1999 Greg J. Badros * group.scm: Added a FIXME about invoking the interactive-move-new-position-hook when moving windows within a group. Fri Aug 6 17:33:29 1999 Greg Badros * animated-iconify.scm (animated-deiconify-to-last-viewport-position): Fix bugs in this. Was using deiconify-to-current-viewport, not just deiconify to actually do the final positioning of the window. * winlist.scm (show-window-list-menu): Make flash-window-proc, unflash-window-proc default to flash-window-on and unflash-window, respectively Fri Aug 6 17:03:29 1999 Greg Badros * Makefile.am (scwm_common_scheme): Added register.scm Fri Aug 6 17:00:00 1999 Greg Badros * base.scm: Fix `with-message-window-shown' -- do not evaluate the message window argument multiple times -- just do so once and use that value repeatedly. * modifier-key-bindings.scm: Added `mod-mask-XXXX?' procs for testing if a modmask has a modifier set. * window-configuration.scm: Added `window-configuration?' * register.scm: Added -- similar to registers in GNU Emacs. Fri Aug 6 12:24:17 1999 Greg Badros * winlist.scm: Make hover-delay default to 0, not #f, in show-window-list-menu. Tue Aug 3 16:31:48 1999 Greg Badros * modifier-key-bindings.scm: Added unbind-* procedures to undo the multi-key bindings. 1999-08-04 Jeff W. Nichols * ui-constraints-composition.scm: Fixed an existing bug which prevented the composition code from working since constructors were modified to take a window list parameter instead of several window parameters. 1999-08-02 Greg Badros * number-convert.scm, menus-extras.scm, highlight-current-window.scm, flash-window.scm, face.scm, dir-focus.scm, base.scm, animated-iconify.scm, ScwmClock.scm, ScwmButtons.scm, ScwmBiff.scm: Documented a bunch of public functions (dir-focus.scm, also made some functions private instead of documenting them). 1999-08-01 Greg Badros * winops.scm: Added some FIXME comments. Sat Jul 31 20:10:56 1999 Greg Badros * constraints.scm: Use bind-four-modifier-key-events; was conflicting with some bindings in gjb.scwmrc. * modifier-key-bindings.scm: Added bind-four-modifier-key-events Fri Jul 30 16:12:08 1999 Greg Badros * ui-constraints.scm: Need listops module for filter-map proc. * winops.scm: Switch to 'northwest gravity on maximization to work around a bug. Tue Jul 27 13:32:56 1999 Greg Badros * ui-constraints-classes.scm: Initialize the vector to return with #f, not 0, in nonant->dirvector. 1999-07-29 Jeff W. Nichols * winops.scm: Added a method to sort a list of windows based on the position of their middle. * ui-constraints-composition.scm: Adapted ui-constraints-composition to work with the window-selection module. If the correct number of selections exists, selected windows will be used to create the constraint rather than prompting. * ui-constraints-classes.scm: Adapted keep-above and keep-to-left-of constraint classes to work with the window-selection module and two or more selections. Constraints are based on window position. 1999-07-28 Jeff W. Nichols * ui-constraints-classes.scm: Added support for using the new nonant selection abilities of window-selection to the ui constructors of ui-constraints-classes. * window-selection.scm: Modified the show-selected-nonants and hide-selected-nonants methods to turn on and off all nonant markers. 1999-07-28 Jeff W. Nichols * window-selection.scm: Added new code for nonant markers. The nonant selected at the time of the window is marked until the window is deselected. This feature will later be used by constraints. * window-locations.scm: Removed get-window-nonant method and moved it to nonants.scm. * ui-constraints-classes.scm: Add import of nonants module. * nonants.scm: Add import of base module. * flux.scm: Removed window-locations import and added nonants import. The get-window-nonant method moved between these two modules. * Makefile.am: Added nonants.scm to the list of modules. 1999-07-27 Jeff W. Nichols * nonants.scm: A new module containing the all of the general purpose nonant methods. The purpose of this was to get a couple nonant routines out of misc. other modules. * gnome-hints.scm: Modified the viewport-position-change-hook use in this module to conform to the new four argument format. Sun Jul 25 15:40:00 1999 Greg Badros * Makefile.am: Added a bunch of files that were missing. Used "make check"; thanks Stephen Tell for noticing I needed the new files listed. Sun Jul 25 13:21:05 1999 Greg Badros * window-selection.scm: Be sure unselect-all-windows succeeds-- use a catch and check for window-valid? before trying to unflash the windows in the list. * group.scm: Remove extraneous top-level expression. Sat Jul 24 22:14:23 1999 Greg Badros * ui-constraints.scm, window-selection.scm: s/-hook-list/-hook/g; the longer name is a bit redundant and inconsistent. Also, the various add and remove procs should get replaced with a single interface that works from both Scheme and C. This stuff has changed a bit in guile-1.3.1, too, complicating matters. * tile.scm: Use `move-window', not `move-to'; fixes viewport/virtual bug. * listops.scm: Added FIXME re: `filter-map' ignoring #unspecified-s, too, as a convenience. Sat Jul 24 20:55:16 1999 Greg Badros * ui-constraints.scm: Added `ui-constraints-involving-window', `delete-ui-constraints-involving-window!' and use the latter on the window-close-hook Sat Jul 24 19:57:04 1999 Greg Badros * ui-constraints-buttons.scm: Only enable a constraint if make-ui-constraint-interactively returns non-#f. Sat Jul 24 19:02:58 1999 Greg Badros * ui-constraints.scm: Use message-window. Fix mis-naming of constraint-class-remove-hook-list to constraint-class-delete-hook-list. Change error messages to mention function name so it's easier to figure out what went wrong. Display a message window if a ui-constraint cannot be made interactively. * ui-constraints-classes.scm: Change two-window-prompter to bail once a window is not picked. Use two-window-prompter only for ui-cnctr-{[hv]size,strict-relpos}. Added one-window-prompter, and use it. Use eqv? not eq? for testing numbers. Just use booleans for their truth values instead of testing w/ eq?. * base.scm: Ensure MWN is a message-window in with-message-window-shown. Clean up select-window-interactively. Sat Jul 24 14:47:44 1999 Greg Badros * ui-constraints-classes.scm: Fix some little cut and paste bugs. Correct names of pixmaps for the min-[hv]size pictures. 1999-07-24 Jeff W. Nichols * ui-constraints.scm: Added a check to make-ui-constraint-class such that when adding a new constraint class all existing constraint classes with that name were deleted. * ui-constraints-buttons.scm: Used object properties to associate button with constraint class and added method to remove the associated button when a constraint class was removed. Also modified window properties so that button window would shrink as buttons were removed. Fri Jul 23 23:32:16 1999 Greg Badros * path-cache.scm: Typo fix: :use-module, not :use-modules. * ui-constraints-buttons.scm: Added newline at end of file. 1999-07-22 Jeff Nichols * ui-constraints-classes.scm: Finished modifying the ui constructors for working with the window-selection module. All constraint classes may be constructed by pre-selecting windows using the window-selection module. NOTE: Compositions are an exception for now. * window-selection.scm: Added hooks which are called when windows are added and removed from the selection list. 1999-07-22 Jeff Nichols * ui-constraints.scm: Updated comments on structure of a UI-CONSTRAINT-CLASS pseudo-object. * ui-constraints-toggle-menu.scm: Added menu items for starting and stopping the recording of a composition per request of Greg Badros. * ui-constraints-classes.scm: Added support for the window selection utility to several of the constraint classes. With the supported classes, it is now possible to select windows using the window-selection module and then click the button in the button bar to constrain those windows. In some cases, support has been added for constraining an arbitrary number of windows. Wed Jul 21 18:04:05 1999 Greg Badros * path-cache.scm: Needs string-fun module. 1999-07-21 Jeff Nichols * ui-constraints-buttons.scm: Modified and updated the standard ui-constraints button panel to be more configurable (pixmaps and layout are settable) and support the dynamic addition of constraint classes (necessary for dealing with ui-constraint-compositions). Tue Jul 20 11:17:04 1999 Greg Badros * flux.scm: Needed highlight-current-window module. Tue Jul 20 11:16:40 1999 Greg Badros * path-cache.scm: Added `program-exists?' using search-path (thanks Bernard Urban!), and use it instead of which when zsh does not exist. Mon Jul 19 16:54:55 1999 Greg Badros * group.scm: ws change. * flux.scm: Added interactive-move-selected-group-or-window * highlight-current-window.scm: Added (moved from gjb.scwmrc). Mon Jul 19 15:17:01 1999 Greg Badros * minimal.scm: Do not invoke set-rubber-band-mask! -- that gets done via C code to ensure that the GC is already initialized. Sun Jul 18 16:31:26 1999 Greg Badros * flux.scm: Update describe-key to handle new list format for get-key-event. Added `describe-mouse'. * quote.scm: Added; for quoting keystroke and mouse events. Requires xtest extension for now, and includes other useful xtest abstractions. Sun Jul 18 13:44:43 1999 Greg Badros * flux.scm: Added WIN args to a lot of procs that used to only work on the curent-window. Sun Jul 18 01:31:32 1999 Greg Badros * flux.scm: Get rid of add-timer-hook for describe-key; fixed `get-key-event' primitive instead. Sun Jul 18 00:33:42 1999 Greg Badros * flux.scm: Added `add-ms-timer-hook!' for convenience since usec are almost never what I want. Sat Jul 17 23:58:52 1999 Greg Badros * dir-focus.scm: Some tweaks to make work better (some bugfixes, probably; I'm ignoring dir-focus.gwm now). Sat Jul 17 23:43:06 1999 Greg Badros * wininfo.scm: Make `visible?' check that the window is not iconified, too. * dir-focus.scm: Added. Ported from GWM WOOL source. Sat Jul 17 23:08:43 1999 Greg Badros * gnome-hints.scm: Do not window shade the Gnome Panel (prints a warning message for now). From Robert Bihlmeyer's patch to the list on 28 Mar 1999. Sat Jul 17 21:23:41 1999 Greg Badros * minimal.scm: Fix uses of obsoleted contexts. * face.scm: Added `set-left-button-face!', `set-right-button-face!' to avoid needing to deal with the stupid fvwm2 numbering convention. Sat Jul 17 19:59:56 1999 Greg Badros * animated-iconify.scm: Set 'last-viewport-position property in animated-iconify, and add animated-deiconify-to-last-viewport-position to bring it back to where (relative to the viewport) it was before * ScwmButtons.scm: Added some bugs notes. * flux.scm: Added `procedure->string', `context->string', `raw-binding->string', `procedure->bindings-description' (for doing scwm-whereis, among other things). Sat Jul 17 16:15:43 1999 Greg Badros * listops.scm: Fix commments for iota, reverse-iota (starts/ends at 0, not 1). Sat Jul 17 02:06:39 1999 Greg Badros * modifier-key-bindings.scm, message-window.scm: doc fixes. * minimal.scm: Make process-use-scwm-module private. * key-mover-xtest.scm: Added. * winops.scm, wininfo.scm, window-locations.scm, window-configuration.scm: Doc fixes, rename formals in some cases. Fri Jul 16 17:34:11 1999 Greg Badros * message-window.scm: Added optional shaped argument to make-message-window-with-image, pass it along to message-window-set-image! * flux.scm: Needed to use `tile' module for tile interactively. 1999-07-15 Jeff Nichols * ui-constraints-composition.scm: Added a new module to support the construction of constraint "compositions". The interface to this module exists purely through scheme function calls for now, but a graphical ui is coming. With this module, you may record a series of ui-constraint applications and then compile that set into a "composition" that you can then reuse as a new constraint type. * ui-constraints.scm: Added a new option to the make-ui-constraint function. This new option, in the form of the key visible?, specifies whether or not the newly constructed ui-constraint should be added to the global list or not. The add hooks are also not called if the ui-constraint is not added to the list. * ui-constraints.scm: Added a function to obtain a ui-constraint-class object given it's textual name. This routine could easily be generalized to fetch based on any property should that feature become necessary. * Makefile.am: Added ui-constraints-composition.scm to the list scheme modules. Thu Jul 15 09:40:32 1999 Greg Badros * base.scm: Make `select-window' return the (car (select-viewport-position)) iff it is a window? object -- otherwise return #f; now select-viewport-position returns a window ID integer as its car, but that would break too much code using `select-window' expecting a #f for no-window. Thu Jul 15 09:31:43 1999 Greg Badros * minimal.scm: Added note re: environment-bound? in G1.4 Tue Jul 13 23:11:55 1999 Greg Badros * message-window.scm: Added `make-message-window-with-image' convenience procedure. * flash-window.scm: Added `window-flashing?', docs. Have `flash-window-on' return the window it flashed. * minimal.scm, base.scm: Move `call-hook-procedures' into minimal.scm from base.scm, and make the use-scwm-modules stuff call the load-processing-hook (for showing startup progress (e.g., animating spinning logo)). 1999-07-13 Jeff Nichols * window-locations.scm: Added window-center-middle procedure for returning a point that corresponds to the exact middle of the window. The return format is the same as other routines within the module. * ui-constraints.scm: Reorganized the hook procedures so that they all occurred in the same place in the file. Added new hooks that are called whenever a constraint class is added or removed from the global list. This will allow the ui-constraints-button window to respond dynamically to newly added compositions. Also added a new hook to support compositions which is called everytime a constraint is added. This is similar to the constraint-add hook which exists, except that is passes the constructor argument list as a parameter to the hook function. * ui-constraints-classes.scm: Generalized the alignment constraints to have vertical and horizontal alignment constraint class over the previous align-tops, align-left, etc. Added relative, minimum, and maximum size constraint class. Added a strict relative position constraint class. Also changed instances of quadrant to nonant (a clearer name). The module also no longer requires the simple-constraints module. Fri Jul 9 15:13:16 1999 Greg Badros * flux.scm: Added `describe-key' moved here from gjb.scwmrc Wed Jul 7 15:39:24 1999 Greg Badros * fvwm-eval.scm: Patch from Danius Michaelides to add support for the MoveToDesk command Mon Jul 5 17:38:16 1999 Greg Badros * preferences.scm: Move *favorite-colors* option into prompt-color.scm. Somehow it can't access the option even if that module is used, so I turn it off, below, too. For another day's wondering... * prompt-color.scm: Use defoption, but comment out the *favorite-colors* option -- something isn't kosher but I've not time now to look into it. Mon Jul 5 17:14:46 1999 Greg Badros * ui-constraints-classes.scm: Biggish cleanup of some of the newer code to make a bit better scheme style. Rename quadvec->string to dirvector->string. Renamed quadrant->vector to nonant->dirvector. use #t/#f in dirvector-s, not 1/0. Mon Jul 5 17:07:43 1999 Greg Badros * flux.scm: Fix typo, make `interactive-set-window-gravity!' more robust. * base.scm: Added `with-message-window-shown' macro. Switch order of args to seelct-window, select-viewport-position -- the cursor is first, now. Mon Jul 5 15:50:34 1999 Greg Badros * flux.scm: Added `nonant->gravity', `interactive-set-window-gravity' using a nifty pixmap cursor of an anchor. Use window-locations module for get-window-nonant. * window-locations.scm: Rename `get-window-quadrant' to more accurate `get-window-nonant', and fix its documentation a bit. Mon Jul 5 15:47:38 1999 Greg Badros * snap.scm: Patch from Danius Michaelides-- bug fix, avoid infinite loop. Also no longer mess with the new-position-hooks; snapping only occurs at the end of the move. Sun Jul 4 23:55:03 1999 Greg Badros * base.scm: Added `keycode->keysym', in terms of `keymask-keycode->string'. Sun Jul 4 21:15:39 1999 Greg Badros * winops.scm: Added toggle-titlebar-in-place toggling winop. * flux.scm: Added `tile-windows-interactively', `enclosing-rectangle', and `window-corners'. Sun Jul 4 19:01:13 1999 Greg Badros * prompt-color.scm: Make favorites default to *favorite-colors*. Fixed bug in not setting title in advance, and calling prompt-color-hbox with arguments in the wrong order. * preferences.scm: Added option `*favorite-colors*' * edge-ops.scm: Move module variables before the scwm-option that uses one of them. * base.scm: Drop #:favorites from color options -- Thanks Carl Witty for this suggestion! Sun Jul 4 14:02:03 1999 Greg Badros * fvwm-module.scm: Fix bug: M_ICONIFY_WINDOW was used, not M_ICONIFY. Can we get better error messages (e.g., a backtrace) on a packet eval? This was way too hard to find given how simple the bug is. * fvwm-eval.scm: Added some comments. Sat Jul 3 22:42:59 1999 Greg Badros * prompt-proc.scm: Fix let* bug in prompt-proc-hbox. Also, return the entry, too, so that an "activate" signal on the text widget can exit. Sat Jul 3 22:00:26 1999 Greg Badros * std-menus.scm: Use defoption module. make *context-map*'s procedures have names so they can be read in. * preferences.scm: Make procedure reader from port work on procedures that have arguments. * minimal.scm: Fix process-use-scwm-modules error handling to have the second proc take (key . args). * menus-extras.scm: Use defoption module. Added range and favorites to *menu-max-fold-lines* * edge-ops.scm: Use defoption module. Sat Jul 3 20:48:24 1999 Greg Badros * winops.scm, flux.scm: Rename `move-opaquely?' to `*move-opaquely-proc*', `resize-opaquely?' to `*resize-opaquely-proc*'; make them scwm-options. * std-menus.scm: Rename `context-map' to `*context-map*' and make it a scwm-option. * preferences.scm: Added `dummy-prompt-hbox' for unknown types, and handle them reasonably gracefully. * minimal.scm: ws change * menu-extras.scm: Rename `default-menu-max-fold-lines' to `*menu-max-fold-lines*' and make scwm-option. * edge-ops.scm: Rename `samf-edge-scroll-delay' to `*edge-ops-scroll-delay*', `edge-ops-scroll-backoff' to `*edge-ops-scroll-backoff*'. Make them scwm-options. * defoption.scm: Added 'alist:re->string type in documentation (still unsupported). Sat Jul 3 19:51:35 1999 Greg Badros * preferences.scm: Use my new `eval-after-load' to protect against undefined symbols. * minimal.scm: Added `scwm-module-loaded?' and `eval-after-load' features. Make `use-scwm-modules' return a list with the modules that succeeded in it, instead of just list of booleans. Also, improve error handling by calling handle-system-error when a module does not load properly. * flux.scm: ws change. * defoption.scm: Save the module name with the scwm-option so that they the option remembers what needs to be loaded to access it and does not try to set! an undefined variable. Sat Jul 3 00:15:25 1999 Greg Badros * std-menus.scm: ws change * message-window.scm: Added `make-message-window-win-copy', `with-frozen-root-window' Fri Jul 2 22:34:48 1999 Greg Badros * wmconfig-menu.scm: Added comment about resizing the image. Sat Jun 26 16:56:53 1999 Greg Badros * prefs-menu.scm: Added note about obsolescence-- do not want to remove it yet, though. Sat Jun 26 13:30:47 1999 Greg Badros * tests/demo.scm: Added some extra sample code. * tests/windows-matching.scm: Added. * tests/cursor.scm: Added Sat Jun 26 13:09:54 1999 Greg Badros * number-convert.scm: Added * xprop-extras.scm: Added comment. * netscape.scm: Added uri-escapify-comma, use it in netscape-goto-url so that uri's with embedded commas get handled properly. * listops.scm: Updated comment to point MS at an incomplete comment. 1999-05-16 Jeff W. Nichols * ui-constraints-buttons.scm: A change required by ui-constraints-gdk-drawing. The gdk drawing module requires a visible gtk window to initialize. Since the constraint buttons are always available, they seemed like a good choice. * ui-constraints-gdk-drawing.scm: A module that essentially duplicates the functionality of xlib-drawing except that it goes through gdk to do so. Requires the latest version of guile-gtk from cvs. * ui-constraints-gtk-toggle-menu.scm: Gave the toggle menu window a better name. Tue May 11 15:06:11 1999 Greg Badros * Makefile.am: Added some missing files. Sun May 9 14:44:11 1999 Greg J Badros * property-respond.scm: Added; handles flash, flashing property changes on windows. Very useful with my xterm patch to permit a control sequence to set an X property. * flash-window.scm: Use "red" as the default, and make the color inside the function, and use red when the make-color returns a non-color. * doc.scm (documentation): Permit matching the initial substring of the line, since hooks now have the number of arguments appended to the end of the line in the scwm-hooks.txt file and they were not matching. * base.scm (maybe-make-color): Wrap in a catch to handle color parse errors, and return #f in those cases. Fri May 7 08:37:03 1999 Greg J Badros * message-window.scm: Default to 14 point font, not 24 pt. 1999-05-04 Robert Bihlmeyer * stylist.scm: Made a proper module. (select-style-for): Unified color and boolean options. Options are now in a table, with activation checkbuttons to their right. Options only contribute to the style if active. Tue May 4 16:19:55 1999 Greg J Badros * auto-raise.scm: Added missing use-module of (app scwm style) * prompt-string.scm: Use * 8, not 10, as the factor for text widths. Still not right -- should find the width of the text in the font in use. Tue May 4 16:19:00 1999 Greg J Badros * tests/demo.scm: Added bigger icons for run-ScwmButtons demo. Tue May 4 14:29:23 1999 Greg J Badros * flux-gtk.scm: Fix prompt in show-window-list-matching-interactively, use time-convert module Tue May 4 12:41:59 1999 Greg J Badros * flux-gtk.scm: Added `show-window-list-matching-interactively'. * flash-window.scm: Convert from string colors to color objects. 1999-05-03 Robert Bihlmeyer * stylist.scm: New file, GTK interface to the window-style system. * stringops.scm (string-join): Return null string instead of #f. * xprop-extras.scm (MWH-*, MWF-*, MWD-*): New flag constants for _MOTIF_WM_HINTS. (mwm-functions->string, mwm-decorations->string): New functions decoding parts of _MOTIF_WM_HINTS. (X-properties->string): Handle _MOTIF_WM_HINTS. Represent unknown types as a list of hex values - these were lumped together with CARDINAL/INTEGER and in decimal. Mon May 3 11:38:41 1999 Greg J Badros * ScwmBiff.scm: Patch from Glenn Trigg to fix some X warnings. Sun May 2 18:03:07 1999 Greg J Badros * flash-window.scm: Added #:continually option to flash-window, added `stop-flashing-window' to turn the flashing off. Sun May 2 15:29:59 1999 Greg J Badros * ui-constraints-gtk-toggle-menu.scm: Added commented out code for testing at the top of the file. * flux.scm: Rename move-all-windows-relative to move-nonsticky-windows-relative since the latter is the right thing (arguably, of course). Sun May 2 09:29:49 1999 Greg J Badros * gtk.scm: Added `gtk-window->scwm-window' but relies on a new primitive not in guile-gtk-0.16 yet. 1999-05-02 Jeff W Nichols * ui-constraints-gtk-toggle-menu.scm: Fixed the enabling/disabling ability of the toggle menu. The checkbox is updated regardless of where the ui-constraint is enabled or disabled. Also modified the routine that shows the toggle menu to auto- initialize the toggle-menu if it has not been initialized yet. Sat May 1 19:08:41 1999 Greg J Badros * Makefile.am (scwm_common_scheme): Added ui-constraints-gtk-toggle-menu.scm to be installed. 1999-05-01 Jeff W Nichols * ui-constraints-gtk-toggle-menu.scm: Created a new constraint instance widget. Allows enabling/disabling and removal of constraints from the toggle menu. Enabling/disabling currently does not work. * ui-constraints.scm: Removed the disable-hook from the ui-constraint-class in favor of allowing a similar hook for each ui-constraint instance. Sat May 1 18:03:40 1999 Greg J Badros * ScwmButtons.scm: Turn on auto-orient in example. Sat May 1 17:51:55 1999 Greg J Badros * base.scm: Simplify and fix `move-to'. * auto-raise.scm: Move the `provide' to the end-- causes inexplicably problems when (use-module (app scwm auto-raise) is at the start of my .scwmrc file if the provide is at the beginning of this file. Very strange, indeed! * animation.scm: Simplify and correct `animated-move-to' -- some of the extra junk seems to have been added (maybe by me!) as workarounds to the bug in convert_move_data that I just fixed. Sat May 1 14:36:34 1999 Greg J Badros * prompt-color.scm: Use maybe-make-color in apply, and fix bogus let bindings when mis-edited before. Sat May 1 13:43:18 1999 Greg J Badros * prompt-color.scm: Permit "#f" and "inherit" as values in color selection (should be split into color-or-inherit type). * base.scm: Added "inherit" to favorites list for menu-hl-fg-color, menu-hl-bg-color. * tests/demo.scm: Use auto-orient feature of ScwmButtons -- also fix the class name in the window-style (it's ScwmButtons again, not ScwmButtons2). Sat May 1 11:40:54 1999 Greg J Badros * ScwmButtons.scm: New version from Glenn Trigg-- adds auto-orient options. Slightly updated by me to use-scwm-modules, and commented out debugging display-s. * base.scm: Permit "#f" and "inherit" to mean use #f for the color setting (to allow menu-hl-fg-color, menu-hl-bg-color to inherit menu-fg-color, menu-bg-color). Fri Apr 30 16:14:50 1999 Greg J Badros * undo.scm: Added... support for multi-level undo using a partial global state. Keybindings using H- are defined, and saving states must be done manually (until we get a reasonable advice mechanism so we can do this w/o adding code to other modules). This is not completely, but decided I'd check it in anyway so people can see that it has no impact on the size of the system unless you use it. 1999-04-30 Jeff W Nichols * ui-constraints-gtk-toggle-menu.scm: Changed the flash and unflash routines (that are very similar to those in ui-constraints-toggle-menu.scm) to take a window list as described below. Also added constraint drawing and erasing on enter and exit from a menu button. This makes flashing consistent with the regular toggle menu. * ui-constraints-toggle-menu.scm: Changed the flash-windows-of-constraint and accompanied unflash routine to take a window list rather than a cn. This ensures that anchor constraints flash even though their cn does not point directly at a window. 1999-04-29 Jeff W Nichols * ui-constraints-gtk-toggle-menu.scm: Added code to support auto- removal of buttons from the window when a ui-constraint object is removed. Also fixed a bug where you could not initialize the gtk-toggle-window after constraints were created. * ui-constraints.scm: Added a field to the ui-constraint object for holding the button used in the gtk-toggle-window. Also fixed a bug in delete-ui-constraint! in which the constraint was not removed from the solver when the ui-constraint object was removed. Wed Apr 28 19:49:31 1999 Greg J Badros * tests/demo.scm: Minor changes from just before demoing Scwm to RMS. 1999-04-28 Robert Bihlmeyer * flux.scm (X-properties->string): Moved to xprop-extras.scm. * xprop-extras.scm (X-properties->string): Moved from flux.scm. Tue Apr 27 21:03:52 1999 Greg J Badros * tests/demo.scm: Added -- sample code showing lots of features of Scwm. For RMS, and also for Linux User's of Victoria Scwm talk on 4-May-1999 (GMT+10). Tue Apr 27 20:53:32 1999 Greg J Badros * window-selection.scm: Add a timer hook to call handle-pending-events while doing the next select. Looks a little bit nicer for me, even though it introduces a harmless race for the correct behaviour. Use time-convert module for the hook. * preferences.scm: Added ";; -*- scwm -*-" prefix when writing out the options file. * message-window.scm: Change default size to 24pt, not 10pt -- 10pt was too small. * flux-gtk.scm: Use-modules xprop-extras, needed for set-window-title! * base.scm: Use 'menu-title-font in `menu-title', not (opt-get *menu-title-font*) (we want the default font to be whatever is in 'menu-title-font so it'll change dynamically). * ScwmButtons.scm: Added tooltip arguments for sample code. 1999-04-26 Jeff W. Nichols * ui-constraints-gtk-toggle-menu.scm: Modified the gtk toggle window to work in realtime. The window can either be used as popup or as a permanent window which updates as constraints are added. Currently does not update when constraints are removed. * ui-constraints.scm: Fixed some inefficiencies in the ui-constraint-class-disable-hook. Also added constraint-add and constraint-delete hooks using the 'call-hook-procedures' method just added by Greg (see below). Mon Apr 26 08:16:54 1999 Greg J Badros * base.scm: Added `call-hook-procedures' for some basic scheme-level support of invoking a hook list. * ui-constraints-gtk-toggle-menu.scm: ws change, do use-module on flash-window as it *is* needed (was commented out). 1999-04-25 Jeff W. Nichols * ui-constraints-gtk-toggle-menu.scm: Added a new toggle menu for the constraint user interface which uses GTK. This is the initial step towards making an easier and more functional toggle menu. * ui-constraints-classes.scm: Commented out a line that caused the constraint system to be reset everytime this module was used. Sun Apr 25 18:50:32 1999 Greg J Badros * ui-constraints-toggle-menu.scm: Added missing use-module of (app scwm flash-window) that I forgot to introduce before. Drop use of flux.scm. Added #:hover-delay of 100 (better when demoing). Sun Apr 25 16:22:57 1999 Greg J Badros * wmconfig-menu.scm, winlist.scm, std-menus.scm, preferences.scm, flux.scm: Use menu-title instead of menu-item for titles, use menu-separator exclusively for separators (not menu-title any longer, since it is no longer an alias for menu-separator) * ui-constraints-toggle-menu.scm: Use menuitem, menu-title, not make-menuitem. * base.scm: Added menu-title-font var, *menu-title-font* option, set-default-menu-title-font! setter, #:title-font #:hl-{fg,bg} options to menu-style. Make `menu-title' a proper procedure instead of an alias for menu-separator. * listops.scm: Added `flatten' Sun Apr 25 16:14:31 1999 Greg J Badros * test-case.scm: Added (from tests/test.scm) Fri Apr 23 09:25:04 1999 Greg J Badros * winlist.scm: ws change. * themes.scm, menus-extras.scm: Use sort module * prompt-string.scm, preferences.scm, flux-gtk.scm: fix occurrences of string-prompt to now current name prompt-string Thu Apr 22 20:39:07 1999 Greg J Badros * ScwmClock.scm, ScwmButtons.scm, ScwmBiff.scm: New versions from Glenn Trigg. Thu Apr 22 17:00:10 1999 Greg J Badros * xprop-extras.scm: Addes some sample code in comments Thu Apr 22 16:46:49 1999 Greg J Badros * xprop-extras.scm: Added `window-other-id' to access the SCWM_OTHER_ID environment variable of the running process. Wed Apr 21 16:17:54 1999 Greg J Badros * winops.scm, group.scm: Switch order of args in get-window calls. * base.scm: Switch order of args in select-window, and rename kill? to cursor. Tue Apr 20 21:12:07 1999 Greg J Badros * xprop-extras.scm: Added `window-pid' * minimal.scm: Turn off using handle-system-error in use-scwm-modules as it causes immediate exiting for me -- I thought this had worked before. Also added a mouse binding to enable deiconify action on icons since sometimes you need to be able to deiconify an icon to do something to an xterm from within a super-minimal scwm. * file.scm: Added `first-line-output-of-system-cmd' to avoid blocking waiting for more output, and added `execute-with-pidprop' to support the scwm_set_pid_property mechanism for using `window-pid' primitive. * base.scm: Change `scwm-system' to return a list -- exit-status and child-pid. Add doc that the child-pid is not CMD, but the sh that is used to exec the CMD. Other doc fixes. 1999-04-19 Robert Bihlmeyer * flux.scm (WH-*): New constants, being the flag values of WM_HINTS. (WSH-*): New constants, being the flag valuse of WM_SIZE_HINTS. (X-properties->string): New function, which generates a readable listing of X properties of a window (like xprop(1) does). (show-X-properties): New function, which displays a message window with the output of `X-properties->string'. * listops.scm (repeat): New function, to generate lists of repeating values. * stringops.scm (number->hex-string): New function, converts a number to its hex representation. (window-state->string): New function, converts X11's window-state to a human-readable form. (gravity->string): New function, converts X11's gravity to a human-readable form. (string-join): New function, like Perl's `join'. Mon Apr 19 20:19:15 1999 Greg J Badros * preferences.scm: Added `save-preferences', `load-preferences'. These should work, modulo the option variable referencing problem due to variables possibly being hidden inside modules. 1999-04-19 Jeff Nichols * ui-constraints-classes.scm: Added an anchor constraint class. This is a multi-purpose class which can anchor a window in any way possible. This replaces the former keep-top-at-value, keep-right-at-value, and keep-left-at-value constraints. Also added a generic routine to generate a constructor function for the existing constraints which matches the new return values that are expected by the ui-constraint code. * ui-constraints.scm: Added an optional disable-hook parameter to the ui-constraints-class object. This hook is called whenever an instance is enabled or disabled. Modified the ui-constraint-instance format to have a list of cn objects associated with it rather than a single cn value. This required modifications in make-ui-constraint and the enable and disable functions. Modified the expected return values of the instance constructors. The ui-constructor is now expected to return the appropriate argument list for the regular constructor. The regular constructor can take any values, rather than just a window list as before. The regular constructor is now expected to return a list of at least two elements, the cn-list and the window-list. It may optionally put more items in this list. Those items are placed in the optional data section of the ui-constraint object. * ui-constraints-toggle-menu.scm: Modified the window flashing code to look for a list of cn values rather than a single cn. Makes the toggle menu conform to the new format for a ui-constraint object. * window-locations.scm: Added 'get-window-quadrant' for getting the obtaining the location within a window in which the user clicked when using select-viewport-position. Also fixed changed window-size to window-frame-size in window-left-middle. 1999-04-15 Sam Steingold * flux.scm (window-info): added `get-window-focus'. Thu Apr 15 19:39:17 1999 Greg J Badros * window-selection.scm: In select-multiple-windows-interactively, call handle-pending-events so any selection actions get processed by scwm. Especially useful in delete-multiple-windows-interactively, since otherwise the killed windows do not unmap and it can be hard to select the next window if it's obscured by a dead one. * flux.scm: Use window-selection module (needed by delete-multiple-windows-interactively) Thu Apr 15 19:15:09 1999 Greg J Badros * Makefile.am: Added window-selection.scm to install list * std-menus.scm, flux.scm: Moved `execute-on-selection', `exe-on-selection' from flux.scm * window-selection.scm: Added-- way cool (IIDSSM) window selection stuff that does even cooler things with group.scm (even w/o the constraint solver!) * flux.scm: Moved window selection stuff into new window-selection.scm * flash-window.scm: Added flash-window-on, giving #:unflash-delay #f. * minimal.scm: Try to report errors better when loading modules; reverse the module list before calling process-use-scwm-modules so it more closely matches what use-modules would've done. * group.scm: Added `group-window' to give a window from a group (since a group may now be a list). Use it to make interactive-move-group work. Use a dynamic-wind to be sure the interactive-move-new-position-hook gets the drag-other-along callback removed even in case of error. 1999-04-14 Robert Bihlmeyer * wininfo.scm: Use module (app scwm winlist) to import `list-windows'. Wed Apr 14 20:30:38 1999 Greg J Badros * winlist.scm: Use flash-window module. * base.scm: Fix move-window-relative to use x,y, not dx,dy Wed Apr 14 10:10:06 1999 Greg J Badros * Makefile.am (scwm_common_scheme): List all the other missing .scm files that I added yesterday. I need to run make check more regularly! Wed Apr 14 10:06:33 1999 Greg J Badros * minimal.scm: Added `use-scwm-modules' macro, `process-use-scwm-modules' procedure. Simplifies and makes using modules from .scwmrcs much more robust. Tue Apr 13 19:55:14 1999 Greg J Badros * stringops.scm, file.scm: Move `write-all' to stringops.scm from file.scm * preferences.scm: Use `scwm-option-set!', not just `set!' for setting the options in the string to be written to file. * doc.scm: use stringops. 1999-04-13 Sam Steingold * Makefile.am (scwm_common_scheme): added stringops.scm. Tue Apr 13 19:08:12 1999 Greg J Badros * flux.scm: Moved lots of functionality out into other/new modules (the additions below are from flux.scm); some re-arrangement. * file.scm: Added `write-all', `read-until-eof', `output-of-system-cmd' * base.scm: Use hash-fold for hash-table->alist if it is available (it is in newer guiles). Rewrote move-window-relative using delta-position, and added `delta-position'. Added `run-dot-xclients-at-startup' and `run-dot-xclients-script'. * winlist.scm: Turn off enumerate-hotkeys option if by-resource option is on. Added `select-window-from-window-list'. * wininfo.scm: Added from flux.scm: `find-window-by', `find-window-by-name', `find-window-by-class-resource'. Rewrote the latter two to use the ?? matcher procedures. * prefs-menu.scm: New use-modules for possible new dependencies. Is there any good way to check for dependencies? * message-window.scm: Added `display-message-briefly!' * listops.scm: Added `list-without-elem'. * flash-window.scm: New module with `flash-window', `unflash-window' * key-mover.scm: New module with `key-mouse-moves' and `key-viewport-moves' * netscape.scm: New module with various netscape functionality enhancements. * send-string.scm: New module with synthetic events code. * stringops.scm: New module with `make-string-usable-for-resource-key', `bool->string', `color->string', `size->string', `chop-newline', `to-string' * xprop-extras.scm: New module with `set-window-title!', `X-cut-buffer-string', `get-wm-command', `X-atomic-property-set-if-unset!' Mon Apr 12 19:12:56 1999 Greg J Badros * ui-constraints-buttons.scm: Call gtk-widget-show on the buttons before the pixmaps (avoids some gtk warnings for me, I think). * gtk.scm: Use find-file-in-path for gtk-pixmap-new-search-scwm-path. * group.scm: Permit `group->windows' to take a list of windows as the group, and just return it. Thus, we can use flux.scm's new `selected-windows-list' proc and treat the highlighted windows as a group. * flux.scm: Drop `select-window-interactively-and-highlight'. Added `selected-windows-list', `select-window-and-toggle-highlight', `unselect-all-windows'. Fix `flash-window' and `unflash-window' to be a bit more robust. (How do you delete object properties?) * constraints.scm: Do not call (start-constraints) at load time. Mon Apr 12 17:55:24 1999 Greg J Badros * preferences.scm: Added `scwm-options-string' proc to return a string that can be evaluated to set all the options to the values that they are currently. Added read-{color,font,proc} and use them via read-hash-extend so that colors, fonts, and procedures can be read in from their printable forms (procedures with some obvious module-related snafus). This goes a long way to making preferences persistable! Mon Apr 12 17:49:15 1999 Greg J Badros * themes.scm: Do not catch errors-- it's far more useful to see the error output for now. 1999-04-11 Todd Larason * image-loaders.scm ((support-image-conversion)): don't actually do anything if ImLib is being used - it's not needed, and it won't work, since xpm-load won't be there. Mon Apr 12 08:16:42 1999 Greg J Badros * base.scm: Fixed some leftover hl-color-text (renamed to hl-color-fg) Sun Apr 11 19:26:56 1999 Greg J Badros * base.scm: Added *menu-hl-bg-color*, *menu-hl-fg-color* options. Added `maybe-make-color'. Added hl-color-fg, hl-color-bg, hl-relief? options to `menu' proc. Some doc fixes. Sun Apr 11 17:47:07 1999 Greg J Badros * virtual.scm: Fix window-position-in-viewport to ensure that at least half of the width and half of the height of the window is put in the current viewport. (Was just favoring the top-left point of the window). Sun Apr 11 17:32:05 1999 Greg J Badros * winlist.scm: Added enumerate-hotkeys option to `show-window-list-menu'; Thanks to Eric Beuscher for patch! Sun Apr 11 16:50:08 1999 Greg J Badros * gtk.scm: Do not dispatch gtk events if the server is grabbed. (Uses new `X-server-grabs' primitive) Sat Apr 10 17:06:19 1999 Greg J Badros * hover-focus.scm: Fixed the : -> #: in the define-scwm-option, and added the define of the hover-focus-window variable. Also make hover-focus windows default to 'click focus style, and revert when hover-focus is turned off on them. Added exported `uninstall-hover-focus' proc, too. * base.scm: Added fg, bg, font keyword args to menuitem proc, and set them using new setters. * style.scm: Change default-style-condition-handler from window-match?? to resource-match?? as matching on titles really is the wrong behaviour (and I finally got annoyed enough by this because an xterm started up sticky w/ nofocus just because the last program I started in it was an "xload" [I make my xterm title display the last program it was running for more than 5 seconds]). 1999-04-09 Robert Bihlmeyer * prompt-color.scm (prompt-color-hbox): Initialize the color selection dialog with the current color. * preferences.scm (scwm-options-notebook-page): Removed the help buttons. Instead put tooltips on everything and its children. * style.scm: Made #:no-titlebar a hint style option. New styles: #:highlight-{bg,fg,foreground,background}. * prompt-font.scm (prompt-font): prompt-font-hbox was called incorrectly. Fri Apr 9 11:31:24 1999 Greg J Badros * prefs-menu.scm: Update some proc names in a comment. * base.scm: Rename set-menu-* to set-default-menu-*, and use the new names. Fri Apr 9 11:04:27 1999 Greg J Badros * base.scm: Renamed set-menu-* to set-default-menu-*. Use new names, set-menu-look! and set-menu-title! instead of set-menu-menu-look!, etc. Sun Apr 4 01:24:34 1999 Carl R. Witty * prompt-color.scm (prompt-color-hbox): Fix cut-and-paste bug. Thu Apr 8 09:00:23 1999 Greg J Badros * gtk.scm: Use name `gdk-get-leader-window-id' for the proc that I hacked into gdk that I called `gdk-lead-window'. guile-gtk-0.16 will have the new proc with its longer name (and also the needed bug fixes) 1999-04-07 Robert Bihlmeyer * Makefile.am (scwm_gtk_scheme): Some scm .files were omitted. Wed Apr 7 17:27:53 1999 Greg J Badros * winlist.scm: Added Ken Pizzini's warp-placement feature. Use the 'warp-placement property of a window (a list of two elements) to control where the pointer gets warped to when a window is selected. Wed Apr 7 08:03:15 1999 Greg J Badros * prompt-proc.scm: ws change. * gnome-hints.scm: use-module (app scwm animation) to fix bug Sam Steingold reported. * animation.scm: Added a comment Wed Apr 7 07:54:53 1999 Greg J Badros * winlist.scm (show-window-list-menu): Permit hover-delay and popup-delay arguments and pass them along. Fix bug in passing of warp-to-first (it was going to the menu proc, not to the popup-menu proc due to a misplaced paren). * flux.scm: Give a hover-delay of 0 to select-window-from-window-list so that the window gets highlighted right away. * base.scm (menu): Be sure popup-delay and hover-delay are both bound and not #f before using them. Tue Apr 6 12:39:55 1999 Greg J Badros * *.scm: Replace hilight with highlight. Tue Apr 6 11:13:40 1999 Greg J Badros * Makefile.am: Fix typo. Mon Apr 5 15:43:05 1999 Greg J Badros * Makefile.am: Updated for additions of .scm files below. Mon Apr 5 15:21:19 1999 Greg J Badros * prompt-string.scm: Rename prompt-proc-hbox to simple-prompt-proc-hbox so as to not conflict with the real prompt-proc-hbox. * prompt-proc.scm: Added. Requires some bug-fixes to guile-gtk-0.15 to not seg fault. * rgb-database.scm: Added. * preferences.scm: Try attaching tooltips to the hbox-es, but it doesn't work on hboxes for me. To what can they be attached? * message-window.scm: Added opts: *message-window-{fg,bg}-color* * gtk.scm: Added missing use-module of (app scwm optargs). * base.scm: Make menu color setters call make-color as needed. Make background-system a public proc. * auto-raise.scm: Move option to end after the window-style exists so that the call to the setter when define-scwm-option expands doesn't error. * prompt-file.scm, prompt-color.scm: Moved the gtk-entry-set-text to after the gtk-combo-set-popdown-strings since it otherwise seemed to get set to the first popdown string. * sort.scm: Reverse the order that the comparator is used so that it sorts in the same order as the primitive sort in guile-1.3+. Mon Apr 5 09:50:42 1999 Greg J Badros * Makefile.am: Drop user-options.scm -- that file was removed. Fri Apr 2 15:39:12 1999 Greg J Badros * gtk.scm: Added gdk-leader-window variable and set it if gdk-lead-window proc exists (that proc is in a patch to guile-gtk-0.15). Used by scwm destroy-window primitive to avoid having scwm destroy one of its own gtk/gdk windows. Fri Apr 2 15:35:58 1999 Greg J Badros * preferences.scm: Adde use-modules of (app scwm sort) since sort primitive was added in guile-1.4. Thu Apr 1 19:14:14 1999 Greg J Badros * base.scm: Added *menu-font*, *menu-text-color*, *menu-bg-color* options. * preferences.scm: Handle 'color, 'font, 'file better. Reverse order of sorting groups so it is forward alphabetical. * message-window.scm: Added *message-window-font* as an option * face.scm: Added *window-font* as an option. * defoption.scm: Improve re-load behaviour -- do not reset scwm-options list. Improve docs on define-scwm-option. Added permit-disable, layout-hint properties. Require a docstring and a type. Make `optget' a synonmym for scwm-option-get. * prompt-color.scm, prompt-font.scm, prompt-file.scm: Added, for prompting for the various things using gtk. Thu Apr 1 10:21:55 1999 Greg J Badros * prompt-string.scm: Added prompt-proc-hbox, for prompting for a procedure name (as a string, for now, though a cool procedure selector/definer dialog would be so totally great that I might have to write it!) * auto-raise.scm, primopts.scm: Move *auto-raise* option into the auto-raise.scm module (it was here only for testing/demonstration of a boolean). Make default-auto-raise-{focus,unfocus}-proc options. * preferences.scm: Handle type 'proc using new prompt-proc-hbox. * fvwm-module.scm: Make *fvwm2-module-path*, *debug-fvwm-module* option variables. Thu Apr 1 08:58:21 1999 Greg J Badros * prompt-range.scm: Handle digits properly, make the adjust widget use better arguments (gnome-desktop-number was coming up with a slider from 1 to 5 only, instead of 1 to 10). Wed Mar 31 17:27:30 1999 Greg J Badros * prompt-range.scm: Set size of scale to 300 wide, do not fill or expand the scale, and do not expand the label * primopts.scm: Change *auto-raise* to 'focus group, not 'focus-behaviour. * preferences.scm: Use a GtkNotebook widget, sort based on types, improve layout a lot. Pretty usable now. * menus-extras.scm: Make split-list-by-group public, and second arg optional for initial condition. * flux.scm: Added move-all-windows-relative. * defoption.scm: Added note about some new types ('command, 'percent-or-on-off) [not yet support specially, but worth distinguishing]. * base.scm: Use define-scwm-option, instead of **VAR. Drop scwm-user-var, use *foo* option names. Added move-window-relative. * hover-focus.scm, gnome-hints.scm, flux.scm, auto-raise.scm: Use define-scwm-option instead of **VAR * winops.scm: Use defoption, rename each option foo to *foo*. Fix bug in default-move-opaquely? (was using opaque-resize-percent). Define *foo*'s as scwm options. 1999-03-30 Robert Bihlmeyer * group.scm (deiconify-group): Would call a nonexistent function. Tue Mar 30 20:23:37 1999 Greg J Badros * Makefile.am: Added edge-ops.scm * edge-ops.scm: Contributed by Sam Falkner; I fixed his 'east <-> 'west hack since that bug has been corrected in the C code. Thanks Sam! Tue Mar 30 19:02:20 1999 Greg J Badros * base.scm: Added hash-table->alist (should be a guile proc, so I put it here) 1999-03-29 Robert Bihlmeyer * style.scm (window-unstyle): New function, opposite of `window-style'. Mon Mar 29 20:55:39 1999 Greg J Badros * Makefile.am: Added install of ScwmBiff.scm, time-convert.scm Mon Mar 29 14:43:07 1999 Greg J Badros * preferences.scm: Added help buttons to show documentation in a message-window. This could instead use a gtk window of some sort. Also added some broken code to try to support tooltips, but I don't have docs to help figure this out. * message-window.scm: provide scwm-message-window. Added comments on public functions. * flux.scm: Added comments, make unflash-window more robust. * file.scm: Added doc comments. * defoption.scm: ws, add doc comment for define-scwm-option-proc. * base.scm: ws. Mon Mar 29 10:39:46 1999 Greg J Badros * prompt-range.scm: Use optional digits argument, and set to 0 for prompt-integer-range. * primopts.scm: Added `*edge-scroll-delay*', `*edge-move-threshold*', use time-convert module. * preferences.scm: Simplify prompt for the dialog to just the name of the option (i.e., drop "Set " prefix) * time-convert.scm, flux.scm: Added, moved ms->usec, sec->usec from flux. * ScwmClock.scm: use time-convert.scm Mon Mar 29 09:28:34 1999 Greg J Badros * prompt-string.scm: Added prompt-path-hbox, and use-module (app scwm file) for it. * prompt-range.scm: Added prompt-integer-range-hbox. * preferences.scm: Clean up option-widget-and-getter -- make it use the new *-hbox procs. Do `scwm-options-dialog' right, with apply button, and make ok/apply take effect. Works for me now! * file.scm: Fix bug in (path-list->string-with-colons '()). Mon Mar 29 08:10:12 1999 Greg J Badros * ScwmBiff.scm: Added, from Glenn Trigg. * simplebiff.scm: New version from Glenn Trigg -- added activate-proc, deactivate-proc keyword arguments, and return a lambda to remove the hook. This version is required for his first version of ScwmBiff. Sun Mar 28 20:05:38 1999 Greg J Badros * preferences.scm, prompt-bool.scm, prompt-range.scm, prompt-string.scm: lots of changes to use key args, to separate building of widget from building of top level. Now have `scwm-options-dialog' proc -- still incomplete as I don't invoke the setters yet, but I'm outta time. Sun Mar 28 16:37:12 1999 Greg J Badros * Makefile.am: Added missing .scm files to the install list. Added a "check:" target that diffs *.scm and the listed files so that it's easy to keep this file in synch with the directory contents. Sun Mar 28 16:36:27 1999 Greg J Badros * primopts.scm: Check for feature scwm-auto-raise, not just auto-raise, as the feature namespace is shared across the whole system. Sun Mar 28 16:13:12 1999 Greg J Badros * flux-vars.scm: Removed-- replaced by preferences stuff. * prefs-menu.scm: Ws change. * fvwm-module.scm: Use path-list->string-with-colons instead of insert-colons and list->string. * flux.scm: use-module message-window, + added comment re: sans-final-newline. * file.scm: Added path-list->string-with-colons, string-with-colons->path-list. Use (ice-9 string-fun) for separate-fields-discarding-char for latter. * doc.scm: Make doc-files public. * base.scm: Added pix->%x, pix->%y (inverses of %x, %y) * auto-raise: provide 'scwm-auto-raise for testing whether the module is loaded. * themes.scm, theme-impl.scm: Rename theme-path to *theme-path* and use a define-scwm-option macro to define it. Sat Mar 27 20:38:04 1999 Greg J Badros * defoption.scm: Added. A pretty complete `define-scwm-option' implementation. It might need revising for scheme style, and has lots of potential for further improvements, but is already pretty useful. Partially inspired by Emacs's customize. * preferences.scm: `gui-set', `option-menu', `popup-option-menu', ans `scwm-options-menu'. Mostly replaces the functionality in prefs-menu module, but does it using the information gleaned from define-scwm-option invocations of loaded modules. * primopts.scm: Added a handful of `define-scwm-option' calls for options that are managed by primitives and not real variables. Also added for a test boolean flag. (A test string option is in themes.scm) * prompt-bool.scm, prompt-range.scm: Added. * prompt-string.scm: Added -- renamed from string-prompt.scm for consistency and a better prefix. Also made the entry box size itself a bit better, and removed the homogeneous flag from the hbox container so that the prompt doesn't get bigger when resizing. Fri Mar 26 11:09:25 1999 Maciej Stachowiak (mstachow@racerx) * style.scm (#:squashed-titlebar): Fix typo. Fri Mar 26 15:38:00 1999 Greg J Badros * message-window.scm: Added `message-window-copy-style!' and `make-message-window-clone-default' * flux.scm: Use make-message-window-clone-default for display-message-briefly's message window. Thu Mar 25 17:44:09 1999 Greg J Badros * style.scm: Added #:squashed-titlebar, #:no-side-decorations as full-fledged boolean-options. They're still not laid out ideally, but now they take effect immediately using new `force-reset-window-frame!' primitive. * base.scm: Added #:submenu option to menuitem to force the menu-item to be treated as a sub-menu; use #:submenu instead of #:action when you've got a submenu -- see gjb.scwmrc's menu-global-theme example. Fix bug in `scwm-is-constraint-enabled?' Added #:popup-delay and #:hover-delay options to `menu' constructor (they use new set-menu-popup-delay! and set-menu-hover-delay!) Thu Mar 25 12:38:10 1999 Greg J Badros * snap.scm: Added, from Danius Michaelides * style.scm: Lame doc for window-style. * menus-extras.scm: Make sorted-by-car-string public, since it is used by winlist.scm * ScwmButtons.scm: Use #!, !# style comments for some sample code. 1999-03-23 Robert Bihlmeyer * wininfo.scm (wildcard->regexp): Would not treat escaped * and ? correctly. 1999-03-23 Maciej Stachowiak * tile.scm (tile): Pass #:raise option rather than #:restack to tile-windows. Wed Mar 24 19:18:54 1999 Greg J Badros * themes.scm: Rename force to force? for style and so I don't hide `force' Wed Mar 24 19:02:21 1999 Greg J Badros * std-menus.scm: Make menu-window-theme menu-global-theme functions, with force? optarg for defeating caching. Wed Mar 24 18:53:51 1999 Greg J Badros * listops.scm: Fix bug in there-exists? -- thanks to Glenn Trigg for patch. * themes.scm: Added load-cached-theme. Also added theme-names, by Glenn Trigg and it now uses listops. * std-menus.scm: Added menu-window-theme andd menu-global-theme, from Glenn Trigg, now uses style, themes. Wed Mar 24 15:34:48 1999 Greg J Badros * base.scm: Drop with-window-no-wind -- bug is gone so this is superfluous. Wed Mar 24 11:57:57 1999 Greg J Badros * winops.scm: Use the other fix for the below problem -- use scwm-user-var when referencing move-opaquely? and resize-opaquely? from the winops module. User variables need standardization. Wed Mar 24 09:54:32 1999 Greg J Badros * winops.scm: Move move-opaquely? and resize-opaquely? into the root module, and use default-move-opaquely? and default-resize-opaquely? if the respective predicate is #f. This fixes the bug whereby redefining the testing predicates doesn't work because they were in the winops module (Sam Steingold reported this.) Tue Mar 23 15:47:05 1999 Greg J Badros * flux-gtk.scm: Added -- flux procs that require gtk module. * flux.scm: Move rename-window-interactively to new flux-gtk so that flux doesn't require gtk (in case gtk is broken or non-existent for a user). 1999-03-22 Robert Bihlmeyer * group.scm: New file, containing window group operations. * test/group.scm: New file, tests for the above. * flux.scm: Removed `group-leader-id' and `group->windows', since group.scm provides them. * Makefile.am: group.scm added. Mon Mar 22 18:58:16 1999 Greg J Badros * base.scm: Move reset-hook! to be in the root module. Mon Mar 22 16:39:06 1999 Greg J Badros * winops.scm, prefs-menu.scm: Make `default-move-opaquely?' and `default-resize-opaquely?' always return opaque-move-percent/opaque-resize-percent if they are boolean. Make opaque-move-menu uses #t for All, #f for Never. Added `opaque-resize-menu'. * flux.scm: Improve `first-word' to stop at tabs, too. Added `netscape-goto-url' and rework `netscape-goto-cut-buffer-url' to use it. * doc.scm: Put doc-files definition before the define-module so it goes in the root module. * winops.scm, style.scm, prefs-menu.scm, minimal.scm, fvwm-compat.scm. flux.scm, doc-files.scm, base.scm: Clean up some FIXGJB comments, switch to new format. Mon Mar 22 13:44:35 1999 Greg J Badros * base.scm: Only add reset-hook! if it's not defined (guile >1.3 has C-based hooks with reset-hook! defined. * flux.scm: Added `group-leader-id' and `group->windows'. * fvwm-compat.scm: Added %x-permit-negative and %y-permit-negative (maybe should be default behaviour for %x and %y. Thu Mar 18 12:04:40 1999 Greg J Badros * winops.scm, style.scm, bincomm.scm: Fixed some indentation/ws issues that M-x unbalenced-parent complains about. Thu Mar 18 08:09:30 1999 Greg J Badros * wininfo.scm: Make rectangle-overlap? and intersection-area public Wed Mar 17 19:19:55 1999 Greg J Badros * menus-extras.scm, Makefile.am: Fixed missing dependence on (app scwm base), and install this file. Wed Mar 17 18:32:13 1999 Greg J Badros * ui-constraints.scm, simple-constraints.scm, ui-constraints-toggle-menu.scm: Added commented-out use-module of (cassowary-constraints) -- it's built in to --with-cassowary configured scwms still, but might not be later. * ui-constraints-classes.scm: Needs (app scwm optargs) * base.scm: Fix select-window to use define*-public. Wed Mar 17 12:50:02 1999 Greg J Badros * constraints.scm: Cleaned up a bit, added `start-constraints'. * base.scm: Added `select-window' written in terms of `select-viewport-position' primitive (which used to be the select-window primitive). Wed Mar 17 12:04:47 1999 Greg J Badros * constraints.scm: Added `end-constraints' to stop using the solver. Wed Mar 17 11:54:04 1999 Greg J Badros * ui-constraints.scm, ui-constraints-buttons.scm: Fiddle w/ comments to provide some more useful s-exp for interactive evaluation. * ui-constraints-classes.scm: Make cnctr-keep-top-at-value, cnctr-keep-left-at-value, cnctr-keep-right-at-value to all table option enable? arguments, and honour them. * simple-constraints.scm: Don't define solver in here, do it in constraints.scm. Fixed missing test of enable? before adding constraint in keep-tops-even. Use (scwm-master-solver) throughout, instead of "solver" * constraints.scm: Added `reset-scwm-constraints' and call it. Perhaps I should add a menu item to gjb.scwmrc to reset the constraint solver. Fri Mar 12 19:49:51 1999 Greg J Badros * string-prompt.scm: Use dialog style instead of toplevel. Set the position of the window based on pointer position (still not right, though). * prefs-menu.scm: Minor changes to docs, some actiosn. * flux.scm: Added rename-window-interactively (use string-prompt because of this). Added read-until-eof, output-of-system-cmd, chop-newline. Still need some asynchronous execution of scheme command on the output of a system cmd. Fri Mar 12 17:12:05 1999 Greg J Badros * menus-extras.scm: Added -- moved fold-menu-list and split-list out from base.scm, added fold-menu-list-by-group and split-by-resource. * winlist.scm: Added by-resource option to show-window-list-menu, and rework that proc a lot. Instead of using fold-menu-list, use split-by-resource if the menu would be too tall (as checked by new menu-max-fold-lines proc. Use the menus-extras module to get at the new functionality * std-menus.scm: Use menus-extras module to get at fold-menu-list * flux.scm: Run .xclients in the background (added "&") * base.scm: Move fold-menu-list and split-list out into menus-extras module. Wed Mar 10 20:20:08 1999 Greg J Badros * flux.scm: Added `run-dot-xclients-at-startup', `run-dot-xclients-script' Wed Mar 10 19:59:00 1999 Greg J Badros * winlist.scm: fold-menu-list of the window-list in case it gets too long. Thanks to Warwick Harvey for the bug report! 1999-03-01 Maciej Stachowiak * bincomm.scm: Fixed remaining obvious 64-bit bugs. Probably more remain. * fvwm-module.scm: Send auxiliary config info like fvwm does. Patch from Danius Michaelides. 1999-02-27 John Kodis * Makefile.am: Added hover-focus.scm to the scwm_common_scheme installation list. * hover-focus.scm: New module to automatically focus a click-to-focus window when the mouse hovers over it for a while. 1999-02-16 Maciej Stachowiak * optargs.scm (lambda*): Handle empty argument lists properly. 1999-02-13 Maciej Stachowiak * base.scm (popup-menu-from-decoration): Moved here from flux.scm. Changed to align the menu exactly to the button rather than to the window (which looked kind of weird). Also, always left align. * flux.scm: Removed `popup-menu-from-decoration'. 1999-02-11 Maciej Stachowiak * animated-iconify.scm: Added missing close paren. * animated-iconify.scm: Added `animated-toggle-iconify' * animated-iconify.scm: Make `animated-iconify', `animated-deiconify' and `animated-deiconify-to-current-viewport' animate from the window size and position to the icon size and position, instead of the previous behavior. * fvwm-module.scm: Enhance error output on a communication error. * bincomm.scm: Fix some obvious problems with 64-bit versions. Patch from Janne Sinkkonen . * animation.scm: Export `animated-resize-window', `animated-resize-frame' and `animation-delay'. 1999-02-10 Greg J Badros * ui-constraints-classes.scm: Set the xlib-drawing-mask so that the drawing is visible on a 32 bit display. Change names-- e.g., keep-top-at-value -> anchor-top. Also update pixmap names for the anchor constraints 1999-02-09 Maciej Stachowiak * gnome-hints.scm: Expanded documentation and added optional debugging code. 1999-02-09 Sam Steingold * gnome-hints.scm: new user variable - `gnome-desktop-number'. Use it in `enable-gnome-hints'. new user variable - `gnome-shade-animated'. Use it in `gnome-update-state'. Do not enable gnome hints by default, wait for the user to set the user options. 1999-02-08 Maciej Stachowiak * gnome-hints.scm: Enable by default when loading module. * gnome-hints.scm: Fully support _WIN_STATE, _WIN_LAYER and _WIN_WORKSPACE including notification of internal state. Remove debugging statements. Gnome hint support should now be complete, with the following caveats: (1) separate vertical and horizontal maximization are not really properly supported; nothing really uses this AFAIK so it doesn't matter much; (2) layers are hacked by pretending layer <= 4 is one layer, and layer =>5 is another; and (3) dock-layer windows are not avoided when maximizing. Rewrites of the maximize code and a layer implementation should fix this. * winops.scm: Use window-properties instead of object-properties for maximized state, so useful notification can happen. 1999-02-08 Maciej Stachowiak * virtual.scm (move-to-viewport): Typo fixed. Patch from Sam Falkner . * gnome-hints.scm: Fully support _WIN_AREA and _WIN_AREA_COUNT. * flux.scm: Account for module name changes. * Makefile.am (scwm_common_scheme): Update file list. * gnome-hints.scm: Added support for nearly all gnome hints. _WIN_AREA_COUNT, _WIN_AREA, _WIN_STATE and _WIN_LAYER still do not update properly in response to internal state changes, but other than that, everything should work. * kde-hints.scm: Minor bugfixes: use `window-close-hook' rather than `X-DestroyNotify hook', since windows may be closed without being destroyed. Make `client-message-hook' expect a window as its first argument. (Untested - I don't have KDE installed) 1999-02-08 Maciej Stachowiak * kde-hints.scm: Renamed from kwm-emulation.scm * animated-iconify.scm: Renamed from animate-iconify-window.scm * path-cache.scm: Renamed from cached-program-exists.scm 1999-02-04 Sam Steingold * placement.scm: remove `peek'. Sun Jan 31 13:13:35 1999 Greg Badros * ui-constraints-classes.scm: Fix drawing of keep-to-left-of now that windows are kept in their original order in the ui-constraint objects. 1999-01-30 Maciej Stachowiak * gnome-hints.scm: Preliminary version of gnome hints support. Only the client list, workspace and hints properties are supported for now, expect the rest soon (layers will be faked by making windows past some layer threshold kept-on-top until there is real layer support in scwm). 1999-01-29 Jeff Nichols * simple-constraints.scm: Folded "v" into the v-related function * window-locations.scm: Use (app scwm base), made return viewport positions instead of virtual positons * ui-constraints-classes.scm: Added new menuname-as-class-name, updated drawing procs, added some new constraint classes, some abstractions for drawing * ui-constraints-toggle-menu.scm: Use new menuname proc * ui-constraints.scm: Lowercase var names, change draw proc arguments, added menuname proc to ctr, use vector not lists Fri Jan 29 09:34:58 1999 Greg Badros * Makefile.am (scwm_common_scheme): Regenerate the scwm_common_scheme variable automatically since it was way out of synch w/ the existing files list. (Are the long lines a big problem for anyone? or for Automake?) 1999-01-29 Sam Steingold * Makefile.am: install animate-iconify-window.scm. Tue Jan 26 15:58:08 1999 Greg Badros * string-prompt.scm: Pack the prompt label in with expand set to false so only the entry widget expands when resized. * simple-constraints.scm: Added synopsis doc comments, declare variable v. * fvwm-module.scm: Make fvwm2-module-send-window-list private (I had made it public for debugging reasons long ago when I was more clueless about the module system). 1999-01-26 Sam Steingold * placement.scm (place-at-point-internal): call `move-inside-current-viewport'. Mon Jan 25 17:35:13 1999 Greg Badros * message-window.scm: Fix `resize-message-new-size-hook' to take all the extra arguments I just added so the window can report in client units and pixel positions as well. Mon Jan 25 16:55:02 1999 Greg Badros * animate-iconify-window.scm: Added animate-deiconify-to-current-viewport, wrote animate-iconify-or-deiconify in terms of a win-pos and win-size, not an explicit window---this better supports animate-deiconify-to-current-viewport. * virtual.scm: Added current-viewport-offset-xx, current-viewport-offset-yy, window-position-in-viewport, and deiconify-to-current-viewport Sat Jan 23 17:43:35 1999 Greg Badros * animate-iconify-window.scm: Added. Still issues remaining with deiconify and viewports/desks. Sat Jan 23 14:33:10 1999 Greg Badros * base.scm: Added MESSAGE-WINDOW argument to `select-window-interactively' to permit re-using an existing message window when prompting. * window-locations.scm: Have all the procs return point pairs, (X . Y) instead of lists of points. * ui-constraints-toggle-menu.scm: Flash the constrainted windows in addition to drawing the constraint representation. Added "Enable all" and "Disable all" menu options. * ui-constraints-classes.scm: Cleaned up a lot -- use ui-constraint-prompter-msgwin and make it more obvious by default. Use new versions of xlib-* procedures, and use two-window-prompter to factor out some commonality in prompting procedures. * ui-constraints-buttons.scm: Try to reduce the amount of extra padding in the button bar. May illustrate a bug in Scwm's handling of no title bar. * ui-constraints.scm: Added `enable-all-constraints'. * message-window.scm: Bugfix -- interactive-move's were not displaying the message-window because msgwin-{enabler,disabler}-table had a cut & paste error. * gtk.scm: Added comment for scwm-gtk-sync. * flux.scm: Added proc-when-selected argument to `select-multiple-windows-interactively'. Wrote `delete-multiple-windows-interactively'. * doc.scm: Make documentation-debug #f by default. Sat Jan 23 10:49:43 1999 Greg Badros * constraints.scm: Use ui-constraints-toggle-menu, and bind it to C-M-S-c * ui-constraints-toggle-menu.scm: Added Fri Jan 22 17:58:26 1999 Greg Badros * constraints.scm: Drop the window-style, since it used something from my .scwmrc * gtk.scm: Fix bug in `gtk-pixmap-new-search-scwm-path' * ui-constraints-classes.scm: Added keep-to-left-of, use indicative pixmaps Fri Jan 22 17:14:44 1999 Greg Badros * constraints.scm: Added -- top level module for constraint support in Scwm Fri Jan 22 16:29:45 1999 Greg Badros * gtk.scm: Added `gtk-pixmap-new-search-scwm-path' for finding pixmaps in image-load-path * window-locations.scm: Define `half' that does truncation and use it instead of dividing by 2 so we don't get floating point numbers. Use `window-frame-size' not `window-size' (get values in pixels) * ui-constraints.scm: Added pixmap-name argument to make-ui-constraint-class, use it. Drop draw-loop -- use map. Added `disable-all-constraints'. Fix bug in diable-ui-constraint * ui-constraints-classes.scm: Added keep-above, fix drawing code to use window-locations module * ui-constraints-buttons.scm: Added tool-tips and pixmaps. Fri Jan 22 16:17:14 1999 Greg Badros * modifier-key-bindings.scm: Added -- from scheme/tests/keycode.scm Fri Jan 22 08:49:05 1999 Greg Badros * ui-constraints.scm: Use simple-constraints module, and refer to the solver using the new `scwm-master-solver' accessor instead of the variable `solver' from simple-constraints.scm Fri Jan 22 08:43:51 1999 Greg Badros * window-locations.scm, ui-constraints-classes.scm, ui-constraints-buttons.scm, simple-constraints.scm: Added Thu Jan 21 12:05:10 1999 Greg Badros * winops.scm (default-resize-opaquely, default-move-opaquely): Use <= for the test so 100% means full-size windows will work opaquely. Thanks Eli Barzilay! Thu Jan 21 12:02:28 1999 Greg Badros * kwm-emulation.scm: Use X-PropertyNotify-hook to catch changes in KWM_WIN_ICONIFIED and honour them -- this makes the middle-button clicking on the task bar work. Fix bug in initialization in SETTING of CURRENT_DESKTOP. Remove kwm-kpanel-winid var, and rename kwm-module-windows to kwm-module-winids. Fix -reset routine to remove the property hook handlers. Wed Jan 20 16:53:01 1999 Greg Badros * ui-constraints.scm: Use error more pervasively. Rename ui-constraint-enable to ui-constraint-enabled?. Use vectors of characters as obids (not strings). Make UI-CTR semantics be that it only returns the list of args for the real ctr. Implement make-ui-constraint-interactively in terms of make-ui-constraint. Fix the returned constraint instance objects to have the enabled flag, the constraint-class object, etc., and update accessors to go to the right places. Rewrote ui-constraint-windows to use cl-windows-of-constraint instead of building the window list into the ui-constraint instances (in case some of the arguments are not windows... I suppose we could put a real list of windows in the ui-constraint object using `window?'). Wed Jan 20 14:23:09 1999 Greg Badros * ui-constraints.scm: Bug fixes. Use "error" instead of returning #f when wrong type argument; use set! to side-effect global -- cons is side effect free; simplify ui-constraint? and ui-constraint-class? predicates -- use pair? not list?. Documentation still needs to be inside the procedures, ui-constraint-class still is wrong because the ui-constraint objects do not refer to their ui-constraint-class objects. Wed Jan 20 13:23:23 1999 Greg Badros * ui-constraints.scm: Use delq, not remove-from-list, fix some typos, begin adding some documentation, begin using (error ..) instead of returning #f when accessors are called w/ wrong objects, etc. Wed Jan 20 10:37:42 1999 Greg Badros * ui-constraints.scm: Added * kwm-emulation.scm: Some general clean up, try to handle window-list better, and try handling iconifications. Mon Jan 18 15:33:41 1999 Greg Badros * string-prompt.scm: Added to provide string-prompting capabilities. Still could use work, but is already useful in a limited way. Mon Jan 18 13:44:32 1999 Greg Badros * base.scm: Fixed select-window-interactively-- it was badly broken from the message window rewrites Sat Jan 9 11:27:10 1999 Greg Badros * animation.scm: Fix some of the example animated-move-to calls; 'x, 'y are no longer valid -- uses #f instead to mean "no change" Sun Dec 27 14:48:35 1998 Maciej Stachowiak * placement.scm: Several useful procedures that place windows (place-in-viewport, place-on-desk, interactive-place, place-at-point) and several that return placement procedures according to various parameters (in-viewport-placement, on-desk-placement, interactive-placement, at-point-placement, virtual-switch-placement) * virtual.scm: Various useful things for viewport/desktop management. Procedures to compute useful aligned/integral viewport coordinates (containing-aligned-viewport, nearest-aligned-viewport, window-aligned-viewport win); useful functions for moving windows around relative to virtual space (move-window-to-viewport, move-inside-viewport, move-inside-aligned-viewport, move-inside-current-viewport, move-inside-own-viewport); procedures to set the current viewport position in interesting higher-level ways (move-to-viewport, align-viewport, warp-to-window-viewport); and a macro that saves and restores teh current desktop and viewport (save-virtual-excursion). * flux.scm (move-window-to-viewport, in-viewport, place-at-point, move-inside): Removed; virtual.scm and placement.scm have more general replacements (roughly bases on these). * base.scm (round/): New procedure that divides one number by another and returns the nearest integer, useful to implement percentages and integer division for coordinates. All the %-procedures have been converted to use round/. * wininfo.scm (window-center-position): New procedure that returns a list of the coordinates 1998-12-23 Sam Steingold * Makefile.am (scwm_common_scheme): reokaced move-resize-message-window.scm, move-with-message-window.scm, resize-with-message-window.scm, standard-move-resize-message-window.scm, with message-window.scm. (apparently Maciej forgot to check in Makefile.am). Tue Dec 22 04:05:39 1998 Maciej Stachowiak * message-window.scm: Consolidate message window stuff. Added `message-window-options' to allow enabling and disabling of various message windows and customization of positioning/tracking behavior, and `message-window-style' to provide the familiar interface for setting the appearance of a message window. * resize-with-message-window.scm, move-resize-message-window.scm, standard-move-resize-message-window.scm, move-with-message-window.scm: Removed (obsoleted by message-window.scm) * Makefile.am: install and distribute message-window.scm, do not install or distribute resize-with-message-window.scm, move-resize-message-window.scm, standard-move-resize-message-window.scm, move-with-message-window.scm. 1998-12-21 Todd Larason * desk-background.scm: simplification: fallback to default only if nothing is set for a desk, not for each component separately. This leads to both simpler code and more consistent/understandable behavior. Sat Dec 19 02:42:52 1998 Carl R. Witty * wininfo.scm (title-match??, class-match??, resource-match??, icon-title-match??, client-hostname-match??): Typo fix in doc. 1998-12-15 Todd Larason * Makefile.am (scwm_common_scheme): install message window files * desk-background.scm: use-module (app scwm optargs) Sat Dec 12 00:15:14 1998 Carl R. Witty * winlist.scm (list-windows): Update doc. (winlist-skip?): Typo fix in doc. (show-window-list-menu): Update doc. * std-menus.scm (xlock-options): Made xlock very nice, instead of very greedy. * stacking.scm (list-windows-above): Typo fix in doc. (raise-window-above): Fix bug. * listops.scm (filter): Typo fix in doc. * flux.scm (make-file-menu): Changed default editor to emacs. (bool->str): Update doc. (find-window-by): New function. (find-window-by-name, find-window-by-class-resource): Rewritten to use find-window-by. (use-change-desk-commands): Don't error if the vector isn't long enough. * base.scm (hotkeys-from-name): Don't error if the last letter is an '&'. * wininfo.scm (window-geometry-string): Update doc. (window-overlaps-window?): Update doc. * winops.scm (window-frame-area): Rewrite doc. * wininfo.scm (wildcard->regexp): Rewrite doc. (wildcard-matcher, wildcard-match?): Update docs. (client-hostname-match??): Typo fix. * prefs-menu.scm (user-option-menuitem): Made non-public. * flux.scm (use-change-desk-commands): Rewrite doc. * face.scm (title-style, border-style, button-style): Update docs. * winlist.scm (should-circulate-skip?): Typo fix in doc. * cached-program-exists.scm (cached-program-exists?): Update doc. * doc.scm (documentation): Update doc. 1998-12-13 Robert Bihlmeyer * tests/session.scm: New file for SM tests. 1998-12-09 Robert Bihlmeyer * flux.scm (take-screenshot): New function. 1998-12-06 Todd Larason * desk-background.scm: initial implementation of a high-level interface for setting desktop backgrounds. Sat Dec 5 12:26:47 1998 Greg Badros * flux.scm: Fixed bugs in previous checkin's display-message-briefly Sat Dec 5 12:05:31 1998 Greg Badros * base.scm: Added back in the menu-* variables to avoid order dependency in initialization; added select-window-interactively to mimic the old primitive by the same name -- uses message window SMOBs now. * flux.scm: Rewrite display-message-briefly to use message-window SMOBs, add gravity->alignments proc since it's more generally useful * move-resize-message-window.scm, move-with-message-window.scm, resize-with-message-window.scm, standard-move-resize-message-window.scm: Added -- by Jeff W. Nichols. Supports previously-built-in support for message window display of move position and resize size during interactive moves and resizes. 1998-12-04 Todd Larason * animation.scm: doc update * base.scm: minor doc updates * cached-program-exists.scm: doc updates * doc.scm: doc update * face.scm: minor doc updates * flux.scm: documentation fixes * fvwm-eval.scm: documentation for eval-fvwm-command * fvwm-module.scm (end-window-list): no longer public * image-loaders.scm: documentation for image-loader functions * listops.scm: fix documentation of and-map and or-map to match actual funcationality * module-types.scm: fix typo in defintion of M_DEWINDOWSHADE * prefs-menu.scm: doc update * stacking.scm: "nitpicking" doc fixes * std-menus.scm: typo fix and doc clarification * style.scm: doc updates, with some minor code rearrangement * theme-impl.scm: initial documentation * themes.scm: initial documentation * wininfo.scm: minor doc updates * winlist.scm (list-windows): workaround for scwmdoc bug * winops.scm: doc update All of the above are from Carl R. Witty Thanks much! 1998-12-04 Sam Steingold * doc.scm (documentation): cleaned up. (doc-files): added more files. Thu Dec 3 10:28:26 1998 Maciej Stachowiak * doc.scm, base.scm: Make no attempt to define user-settable variables in the root module. That was only ever needed for variables that the C code (brokenly) looked up with gh_lookup, which we are not doing for any of the affected vars. * flux.scm: Replace uses of interactive-resize-maybe-opaque and interactive-move-maybe-opaque with interactive-move and interactive-resize respectively. * winops.scm: Replace interactive-resize-maybe-opaque and interactive-move-maybe-opaque with interactive-move and interactive-resize which take a optional boolean `opaquely?' argument which defaults to the result of calling `move-opaquely?' or `resize-opaquely?' on the argument. The former definitions of those two predicates have been prefixed with `default-' and the original names were defined as the `default-' versions; this is to facilitate user documentation. set! hack-interactive-move and hack-interactive-resize from minimal.scm to the non-hack versions so they will work right automagically if you use this module. Don't attempt to define any variables in the root module. Various reordering and commenting. * minimal.scm: Use hack-interactive-move and hack-interactive-resize, temporarily defined to the rubber-band versions, in complex operations. * tile.scm: Use raise parameter instead of restack; change default to 'restack-only; fix documentation to say "tile" instead of "cascade"; thanks to Eli Barzilay . Wed Dec 2 08:42:49 1998 Maciej Stachowiak * tile.scm: New procedures `tile-windows' and `tile'. Similar to cascade.scm, inspired by Andrew Veliath's FvwmTile. Tue Dec 1 21:24:57 1998 Maciej Stachowiak * cascade.scm (cascade-windows): Don't nest a let* immediately in a let, just use a let*. * Makefile.am (scwm_common_scheme): Make sure to install all Scheme files (other than minimal.scm). Bug report from Carl R. Witty (cwitty@newtonlabs.com). 1998-12-01 Sam Steingold * flux.scm (move-inside): new function: ensures that the window is inside the viewport. (place-at-point): new function: place the window at mouse point. 1998-11-22 Todd Larason * base.scm (scwm-user-var): change #:menu-look tag to #:look for (menu) form, to match (menu-style) and reduce redundancy Fri Nov 20 15:06:59 1998 Greg Badros * animation.scm: Added doc comment that got lost when this got moved into a scheme file. Changed the default for move-pointer-too to #t (since this takes viewport positions, I think it's justified, and matches the old behaviour) Fri Nov 20 02:03:27 1998 Maciej Stachowiak * ScwmDeskButtons.scm: A trivial pager-like thing (still need to find a way to color the button of the current desk differently). * ScwmClock.scm: Example scwmlet using guile-gtk, a sort-of "xclock -digital" replacement. * tests/scwm-gtk.scm: Remove cruft unneeded w/ new interface, make a bit more interesting. * gtk.scm: New module to do all the grungework when you want to use Gtk+ with scwm. Wed Nov 18 03:32:19 1998 Maciej Stachowiak * auto-raise.scm: Various minor bug fixes; make unfocus-proc actually work. Thanks to Craig Struble for the bug report. Also, use window-focus-change-hook in lieu of broadcast-hook. Minor doc tweak. Also, do not attempt to put variables in the root module. That is not good. Tue Nov 17 01:25:14 1998 Maciej Stachowiak * wininfo.scm: Really really fix the regexp/icase bug. Fix confirmed by Craig Stuble. Mon Nov 16 14:54:14 1998 Maciej Stachowiak * Makefile.am: Make sure all scheme files are noticed by `make dist'. * wininfo.scm (define-string-matcher): Finally, a real fix for the regexp/icase thing, from Craig Struble . Thanks! 1998-11-16 Sam Steingold * animation.scm (animated-move-to): use `display-height' and `cadr' for y instead of `display-width' and `car'. Sun Nov 15 14:35:03 1998 Maciej Stachowiak * wininfo.scm (define-string-matcher): Try another way to pass regexp/icase properly (whee). * shutdown-opts.scm: New module which exports shutdown-options procedure, a way to configure whether you want scwm to switch to viewport (0 0) and/or move all windows to the current viewport at shutdown. Makefile.am: install it. * themes.scm, fvwm-modules.scm: Expect shutdown-hook procedures to get a restarting? argument * wininfo.scm (define-string-matcher): Pass value of regexp/icase, not the quoted symbol regexp/icase, to make-regexp. Bug report from Craig Struble . Sat Nov 14 14:40:24 1998 Maciej Stachowiak * Makefile.am: install report-usage.scm * report-usage.scm: New file which has a function to log usage. If this works, users could log usage by doing: (use-modules (app scwm report-usage)) (report-scwm-usage) and we can remove support for logging usage from the core. * style.scm: Add back style-one-window. * animation.scm: Export set-animation! 1998-11-11 Robert Bihlmeyer * flux.scm (extreme): New function - calculates extreme values of predicates. Tue Nov 10 10:02:02 1998 Greg Badros * flux.scm: Fix netscape-new-window variable to use comment-based docstring, and added the closing paren that was missing (as noticed by Ken Pizzini) Mon Nov 9 10:34:40 1998 Maciej Stachowiak * Makefile.am: Install animation.scm, themes.scm, theme-impl.scm Sun Nov 8 17:59:23 1998 Maciej Stachowiak * themes.scm, theme-impl.scm: A start at implementing "themes", i.e. packages that can be loaded into scwm setting only the look, but not messing with the feel. Right now this handles only window decorations and backgrounds. Menu support is one obvious thing that needs to be added. However, theme support is being designed to be flexible, so themes can be used per-window, and eventually per-menu when menu support is added. See the new "themes" directory in the distribution for example themes. Themes may be directories, tar files, or gzipped tar files. themes.scm is meant to be imported into a scwmrc; it provides `use-themes' for handling global theme settings and a `#:use-theme' style option for setting themes per-window. theme-impl.scm is meant to be imported by theme control files and provides important functionality for them. * minimal.scm: Some changes to minimize unnecessary hogging of colors (don't define colors or things that reference them to global variables). Sat Nov 7 15:47:30 1998 Maciej Stachowiak * wininfo.scm: Export always? and never? predicates. * style.scm: Significant rewrite; use new representation of styles which includes the test condition and which makes a chain of styles itself a style; this will make theme support much easier and will help add advanced features, like intelligent style merging which will ensure you don't waste memory if you change styles a lot. New exported procedures include `clear-style', `make-conditional-style' and `apply-style', other than that the interface is mostly the same. Also, `window-style' and friends will now complain about bad keyword options. * style-options.scm: Change the way style options are stored; abstract accessors style-option:handler, style-option:type and style-option:cumulative should now be used to get info about style options. The various procs for adding style options have extra arguments for specifying type and the cumulative setting. A style option is "cumulative" if setting it more than once should not wipe out earlier settings, for instance #:use-style or #:other-proc. * file.scm: Don't check if the file is a directory in `find-file-in-path' or `filename-is-complete?'. Wed Oct 28 00:03:55 1998 Maciej Stachowiak * cascade.scm: Fixed a bug in cascade (use raise, not restack to test desired raise behavior). * cascade.scm: Added `cascade' and `cascade-windows', inspired by Andrew Veliath's FvwmCascade module for fvwm. However, this version is more flexible, takes one eighth the code, excluding comments, and was coded and tested in two hours including docs. For a good time, try binding something to (lambda () (cascade #:by-stacking #t #:reverse #t)). Tue Oct 27 22:55:35 1998 Maciej Stachowiak * winlist.scm: Document #:reverse options. * winlist.scm: Add #:reverse optional argument to list-windows and show-window-list-menu - you might very well want to go in the reverse of the stacking order, for instance. * base.scm: Remove references to animatio-related options in move-to. * animation.scm: Re-export animated-move-window, animated-window-shade, and animated-window-unshade from the c-animation module. Add animated-toggle-window-shade and animated-move-to. Users should only need to import this module directly, not c-animation, since it re-exports the primitives. * style.scm: Make #:start-window-shaded option use window-unshade, not un-window-shade. * winops.scm: remove various -animated operations from here. * wininfo.scm: Numerous bug fixes to the new stuff here. 1998-10-23 Robert Bihlmeyer * flux.scm, prefs-menu.scm, std-menus.scm: Use `user-name' instead of `USER', `user-home' instead of `HOME'. * flux.scm: Remove `USER' and `HOME'. Thu Oct 22 05:44:55 1998 Maciej Stachowiak * Makefile.am: Install listops.scm and file.scm 1998-10-20 Robert Bihlmeyer * tests/misc.scm: test-caseification of older tests. New tests for `user-name' and `user-home'. Mon Oct 19 04:07:15 1998 Maciej Stachowiak * style.scm: Added default-style-condition-handler public variable (set to window-match?? by default) which is the procedure applied to string style conditions to get a predicate. Edited Greg's comment on this code to note he can now do this and be happy: (set! default-style-condition-handler class-match??) (set! default-matcher-type 'regexp) * wininfo.scm: Added a new system of predicate makers which return `eq?' predicates when given `equal?' arguments. This will become important with some of the upcoming changes to style handling. Predicates and meta-predicates added include: title-match?? STRING #&optional TYPE CASE-SENSITIVE class-match?? STRING #&optional TYPE CASE-SENSITIVE resource-match?? STRING #&optional TYPE CASE-SENSITIVE icon-title-match?? STRING #&optional TYPE CASE-SENSITIVE client-hostname-match?? STRING #&optional TYPE CASE-SENSITIVE Each of these returns a predicate which matches an appropriate aspect of a window to the given pattern string; TYPE may be 'exact, 'regexp or 'wildcard; CASE-SENSITIVE may be #t or #f. always? WIN Returns #t for any value of WIN. never? WIN Returns #f for any value of WIN. win-and?? . PREDICATES win-or?? . PREDICATES win-not?? PREDICATE Returns a predicate that, when applied to a window, is the logical and, logical or, or logical not of the application of PREDICATES or PREDICATE. Some simplification is done. window-match?? STRING #&optional TYPE CASE-SENSITIVE Does the logical or of `title-match??', `class-match??' and `resource-match??' on the same arguments. wildcard-matcher should be deprecated in favor of this. The public variables default-matcher-type and default-matcher-case-sensitive control the default values of TYPE and CASE-SENSITIVE in all the above. * optargs.scm: Fix minor bug that stress-testing with real scwm runs found. Sun Oct 18 16:14:59 1998 Maciej Stachowiak * listops.scm: Fix some argument name mismatches among declarations, docstrings and bodies. Added `delete-duplicates'. 1998-10-18 Todd Larason * base.scm: add menu-side-image, menu-side-bg-color, menu-side-bg-color-set and menu-bg-image variables, (set-menu-background!): if (not menu-side-bg-color-set), set menu-side-bg-color to the new menu bg color (set-menu-side-image!): new function (set-menu-side-background!): new function (set-menu-bg-image!): new function (menu-style): new tags #:bg-image, #:side-image and #:side-bg (menu): image-side, color-bg-image-side and image-bg change default values, to enable menu-style to set them 1998-10-17 Todd Larason * flux.scm (position-message-window!): add a '.' to the end of the doc string * base.scm (set-menu-foreground!, set-menu-background!, set-menu-stipple!, set-menu-font!, set-menu-look!): added documentation (unset-message-window-position!): added '.' at end of doc string 1998-10-16 Sam Steingold * flux.scm (system-info-string): fix alignment. Thu Oct 15 08:03:03 1998 Greg Badros * winops.scm (maximize): Patch from Ken Pizzini to handle partially off the left and top windows by moving them wholly on screen when maximized Wed Oct 14 00:39:02 1998 Maciej Stachowiak * listops.scm: New file of list operations. Better than common-list because: more traditional Scheme names and interfaces are used and all implementations are tail-recursive. Should go in guile-core someday, IMO. winlist.scm, style.scm, fvwm-module.scm: use listops.scm instead of common-list.scm; replace calls to `pick' with `filter'. `filter' is better anyway, it doesn't reverse the result like filter does. * fvwm-module.scm: Remove `filename-is-full-path?' and `find-file-in-path'. file.scm: New file to segregate generic file operations that should be more generally available. add `find-file-in-path' and `filename-is-full-path?' (renamed to `filename-is-complete?'). 1998-10-13 Robert Bihlmeyer * std-menus.scm (context-map): New variable. (make-context-menu): New function. * flux.scm (execute-on-selection): New function. (exe-on-selection): New function. * advice.scm: Added a first shot at advising. This is probably not very usable yet. Some kind scheme guru should improve/reimplement this. Sun Oct 11 17:40:15 1998 Maciej Stachowiak * face.scm: Specify #&allow-other-keys for `title-style', `border-style' and `button-style'. * optargs.scm: New version supporting the following new features: - More stringent error reporting for lambda* argment list syntax. - `#&rest' available as a synonym for `.' to specify a rest argument. - An error is reported if an unknown keyword argument is passed to a procedure declared with #&key arguments, unless `#&allow-other-keys' is specified in the declaration. - Better code is generated by the macros. - `defmacro*' and `defmacro*-public' are provided; they may be used to declare macros with optional or keyword arguments. Sat Oct 10 14:25:29 1998 Greg Badros * flux.scm: Added `use-change-desk-commands' and make make-rhosts-menu a public function 1998-10-09 Sam Steingold * std-menus.scm (make-hosts-menu): accept a (host . command) as an element of host-list. 1998-10-07 Todd Larason * base.scm (menu-style): treat #:font the same as the other options; new option #:look 1998-10-06 Todd Larason * tests/menus.scm: update tests for new make-menu argument order * tests/menu-test.scm: update tests for new make-menu argument order * tests/arctic-theme.scm: test/demonstrate more of the ways menu looks can be created & used * minimal.scm: set-menu-foreground! and set-menu-background! primitives renamed set-not-menu-foreground! and set-not-menu-background!; set-menu-stipple! removed; default-menu passes colors and font to make-menu as they're now required arguments * base.scm: new procedures: set-menu-stipple!, set-menu-font! and set-menu-look! (menu-stipple-color): new (menu-look): new (set-menu-foreground!): simplified; no need to wrap primitive (set-menu-background!): simplified; no need to wrap primitive (set-menu-stipple!): new (set-menu-font!): new (set-menu-look!): new (menu): #:color-stipple defaults to 'menu-stipple-color; #:menu-look added 1998-10-05 Todd Larason * Makefile.am: install cached-programs-exists.scm Mon Oct 5 12:55:58 1998 Greg Badros * winlist.scm: Added #:by-focus option to list-windows; added #:show-last-focus-time option to show-window-list-menu * wininfo.scm: Added `time-t->seconds-ago' and use it in also added `window-last-focus-time-string' Sun Oct 4 20:25:26 1998 Maciej Stachowiak * fvwm-eval.scm ("Exec"): Don't attempt to apply string-append to args; it's one long string already. Thanks to Doug McNaught . Made "Echo" use `display' instead of `write'. * cached-program-exists.scm: Make cached-program-exists? check debug-program-cache each time called so debugging can be turned on dynamically; make debug-program-cache a public definition so the user can `set!' it from his or her .scwmrc. Sun Oct 4 16:51:29 1998 Greg Badros * flux.scm: Use cached-program-exists module and cached-program-exists? procedure. Also use new `first-word' on exename so that options to the executable are ignored 1998-10-01 Todd Larason * flux.scm: renamed set-message-window-position-align! to position-message-window! per Greg's suggestion * base.scm (menu): add color-stipple and extra arguments Wed Sep 30 13:57:14 1998 Greg Badros * fvwm-module.scm: Make debug-fvwm-module default to #f Mon Sep 28 08:14:23 1998 Greg Badros * winops.scm: Ken Pizzini's fixes to maximize to use client units, and have unmaximize only undo changes attributable to the last maximize action. Sat Sep 26 20:38:30 1998 Greg Badros * base.scm: Added `background-system' from Jim Blandy, as an alternative to `scwm-system'. We'll need to settle on one function for this, but both are now present 1998-09-25 Todd Larason * flux.scm: Added set-message-window-position-align! as a more convenient interfact to set-message-window-position!. A better name would be appreciated. Thu Sep 24 12:07:09 1998 Greg Badros * style.scm: Go back to using after-new-window-hook instead of before-place-new-window-hook for the window styles. Todd's patch may have fixed the placement-related bugs in a cleaner way. Wed Sep 23 17:28:34 1998 Greg Badros * style.scm: Use before-place-new-window-hook instead of after-new-window-hook for styles (before-place-new-window-hook is new, to fix placement bug) Wed Sep 23 11:11:58 1998 Greg Badros * minimal.scm: undefine X-grab-server, X-ungrab-server after with-grabbed-server is defined * base.scm: No longer define with-grabbed-server here -- do it in minimal.scm so we can undefine the primitives that are just used for writing it * flux.scm: Added find-window-by-class-resource 1998-09-22 Todd Larason * flux.scm: use-module (app scwm wininfo) to get visible? defined; Added X-atomic-property-set-if-unset! implemented with with-grabbed-server primitive; Minor cleanup on run-in-netscape, and allowing a netscape window to be passed to send a command to a particular one. * base.scm: Added with-grabbed-server Mon Sep 21 11:15:34 1998 Greg Badros * flux.scm: Make flash-window take keyword args for color and unflash-delay, and use them instead of optional positional arguments. Fixes `select-window-from-window-list' so that it correctly highlights the currently-selected window in its hover action Mon Sep 21 10:28:48 1998 Greg Badros * flux.scm: Added `select-window-group' to allow choosing multiple windows interactively. Sat Sep 19 12:01:16 1998 Greg Badros * base.scm: Added `with-window-no-wind' macro, since there seems to be a bug in extra calls to select window when broadcast-config-hook is non empty and an interactive-move is invoked inside a dynamically-wound with-window -- see tests/with-window.scm; drop answer var from with-window, since dynamic-wind returns the value of the middle thunk. Fri Sep 18 15:57:18 1998 Greg Badros * winlist.scm (show-window-list-menu): Added an ignore-winlist-skip option * flux.scm: Added `netscape-goto-cut-buffer-url', `netscape-win'; added ignore-winlist-skip option to `select-window-from-window-list'. Fix X-cut-buffer-string to return the car of the returned list, and verify that the property was a string. Also added Todd Larason's way-cool `run-in-netscape'. * base.scm: make move-to handle sticky windows better. Make `with-window' macro use dynamic-wind 1998-09-17 Todd Larason * base.scm (unset-message-window-position!): Added, to move message window to default center-screen position * Makefile.am (ETAGS_ARGS): Build TAGS file from .scm files Thu Sep 17 16:18:55 1998 Greg Badros * wininfo.scm (windows-overlap?): Use window-virtual-position, not window-position, to take sticky windows into account, and for window-geometry-string * flux.scm: Fix move-window-to-viewport to be an absolute viewport, not a relative one, update docs. Update window-info string to give both virtual and viewport information * base.scm: Added window-virtual-position, to give a virtual position even for sticky windows Thu Sep 17 12:07:41 1998 Greg Badros * base.scm: Fix uses of WIN to be win. Duh. * flux.scm (popup-menu-from-decoration): Don't inc y so much. Thu Sep 17 11:05:33 1998 Greg Badros * flux.scm: Extend printable-char->keysym-string to be (nearly?) complete -- the special characters now work for me. Thu Sep 17 09:16:53 1998 Greg Badros * flux.scm: Added `delta-position' and `move-window-relative' (the latter uses new `with-window' macro * base.scm: Make bell an alias for beep (instead of a macro). Added `with-window' macro using new `set-window-context!' and `window-context' primitives Wed Sep 16 08:56:14 1998 Greg Badros * winops.scm (maximize, unmaximize): Use move-window-viewport-position, instead of just move-window, and use window-viewport-position to get the current position, instead of window-position. Tue Sep 15 09:37:57 1998 Greg Badros * base.scm: Added image-align option to `menu'. Thanks Todd Larason! Tue Sep 15 08:31:28 1998 Greg Badros * winops.scm: More changes to maximize from Ken Pizzini. Gets the unmaximize to undo the maximize, while still moving minimally to perform the maximize. Mon Sep 14 15:53:31 1998 Maciej Stachowiak * fvwm-module.scm (basename): Define if not provided by Guile. Mon Sep 14 10:01:35 1998 Greg Badros * winops.scm: Rework maximize, added unmaximize-no-move. Thanks Ken Pizzini! Sun Sep 13 19:29:10 1998 Greg Badros * flux.scm: Fixed typo bug in X-synthetic-send-string -- use `win' instead of `w' Sun Sep 13 13:00:37 1998 Greg Badros * winlist.scm: Only use [un]flash-window-proc if not #f Sun Sep 13 10:39:07 1998 Greg Badros * winops.scm: Use window-viewport-position for maximize so max/unmaxed windows do not drift with the viewport-position * prefs-menu.scm: Fix typo in Sam's name * flux.scm: Added some doc comments, remove window-title-height and window-border-width -- use new less hacky versions * base.scm: Defined `window-title-{height,width}' in terms of new primitive `window-title-size' Sat Sep 12 13:58:23 1998 Greg Badros * base.scm: Added `icon-viewport-position', use `virtual->viewport' for that and `window-viewport-position' Fri Sep 11 17:08:01 1998 Greg Badros * winlist.scm: Added {un,}flash-window-proc to show-window-list-menu so that we can do stuff like this: (define (show-xterm-window-list-menu) (show-window-list-menu #:only (lambda (w) (string=? (window-class w) "XTerm")) #:warp-to-first #t #:flash-window-proc flash-window #:unflash-window-proc unflash-window)) to flash windows that are currently highlighted. Needs better configurability for hover timeouts, but that'll wait until after the event rewrite, as menus may change a bit then. Fri Sep 11 15:49:33 1998 Greg Badros * flux.scm: Added `unflash-window', and make `flash-window' store old colors in scheme properties, instead of a lambda closure (for support of highlighting the current window using hover hooks in the menuing code [during window-list popups]) Fri Sep 11 13:41:03 1998 Greg Badros * winops.scm: Added animated-move-window (taking virtual coords). * base.scm: Added a bunch of utility functions to the base module: viewport->virtual, virtual->viewport, viewport-size, viewport-{x,y}-position, vx-, vy- Fri Sep 11 11:49:55 1998 Greg Badros * base.scm: Clean up comment for scwm-system, drop apply from execlp call; Improve docs for x-, y-, and add viewport-[xy]-position and vx-, vy- for virtual-coordinate analogues of x- and y- (e.g., for move-window, which takes virtual coordinates) Thu Sep 10 14:39:46 1998 Greg Badros * wininfo.scm: Fix uses of window-position to use window-viewport-position as appropriate. Added more documentation. * flux.scm: Added scwm-version-date to show-system-info Thu Sep 10 11:08:53 1998 Greg Badros * wininfo.scm: simply reindented * prefs-menu.scm: Fix spelling in doc * flux.scm: Added `close-all-xlogo-windows' * fvwm-module.scm: Make add-window non-public again (changed for debugging a while back), and give comment response (to MS's GJBFIX note) about why o_nonblock is necessary on the output pipe. Wed Sep 9 14:25:21 1998 Greg Badros * flux.scm: Added `display-message-briefly' Wed Sep 9 12:40:50 1998 Greg Badros * base.scm: Added use-scwm-system variable to control whether `system' or `scwm-system' is used. Wrote `scwm-system' to work around a problem in my Linux system's "system" call which ends up having scwm/guile propagate a SIGINT to the child processes in the same process group. Make execute use use-scwm-system to decide on using either `system' or `scwm-system'. Tue Sep 8 17:12:59 1998 Greg Badros * doc.scm: Added use of scwm-variables.txt, don't print "trying ..." messages for each file -- comment out Tue Sep 8 13:55:35 1998 Greg Badros * winops.scm: Fix typo in close-window -- Thanks Dale Smith! Tue Sep 8 10:39:59 1998 Greg Badros * base.scm, minimal.scm: Remove uses of set-menu-mwm-style!, as that primitive and variable are gone now * fvwm-eval.scm: Fixed fvwm-command "Scroll" to use percent of screen, not number of pixels. Thanks Dale Smith! Mon Sep 7 13:47:14 1998 Greg Badros * base.scm: Document some user vars: xterm-command, remote-shell-command, default-menu-max-fold-lines (renamed from default-max-fold-lines) Mon Sep 7 12:18:00 1998 Greg Badros * base.scm: Fix doc reference to set-title-justify! Mon Sep 7 11:23:46 1998 Greg Badros * base.scm: Fix scwm-is-constraint-enabled? proc Sun Sep 6 16:20:20 1998 Greg Badros * auto-raise.scm: Added VAR comments, and move the vars into the root module. Also added default-auto-raise-unfocus-delay instead of falling back to the default-auto-raise-delay since these delays seem conceptually asymmetric to me * Makefile.am, user-options.scm: added user-options.scm (autogenerated from doc/Makefile.am) Sun Sep 6 15:37:45 1998 Greg Badros * winops.scm: Mark variables with ;;;**VAR + comment Sat Sep 5 15:34:59 1998 Greg Badros * base.scm: fix unbalenced paren. * Makefile.am: Added sort.scm * winlist.scm, wininfo.scm, flux.scm: Document more procedures, and rename var "w" to "win", "w2" to "win2" Sat Sep 5 14:39:40 1998 Greg Badros * sort.scm: Added -- This may just be temporary until we start packaging some other useful procs from, e.g., slib * bincomm.scm, decor.scm, winops.scm: Document more procedures Sat Sep 5 13:21:02 1998 Greg Badros * base.scm: Fix typo of extra paren -- thanks Juha Pohjalainen! Fri Sep 4 18:57:49 1998 Greg Badros * winops.scm: Added docs for some user variables, and document them a bit better. Very tentative format. In particular, it'd be better if doc strings worked on variables (are they supposed to?) Fri Sep 4 18:54:56 1998 Greg Badros * tests/constraint-stacking.scm, test/fvwm2-modules.scm: Added Fri Sep 4 11:52:12 1998 Greg Badros * base.scm (window-viewport-position): Check for sticky windows and handle them correctly. Fri Sep 4 08:44:31 1998 Greg Badros * winops.scm: Make display-area a variable, and use display-width, display-height * fvwm-module.scm: Added debug-fvwm-module var, turn on non-blocking, make more public function for debugging. * fvwm-eval.scm: Use move-window-viewport-position synonym instead of move-to. Use display-width, display-height vars * fvwm-compat.scm: Use display-width, display-height vars * doc.scm: put doc-files in the root module * bincomm.scm: binary-write was using default port of current-input-port, not current-output-port. fixed. * base.scm: Define vars display-width, display-height and use them. 1998-09-03 Robert Bihlmeyer * tests/test.scm (test-case): Add TITLE argument. * tests/properties.scm: Use it. Test `X-property-set!' with NAME != TYPE. Thu Sep 3 15:21:17 1998 Greg Badros * base.scm: Fix docs of move-to -- it uses a viewport position; added move-window-viewport-position as a synonym for move-to * fvwm-eval.scm: Reindent. Wed Sep 2 17:15:37 1998 Greg Badros * flux.scm (flash-window): Make it restore the background color properly, and make it also set the highlight background color (uses the new primitives get-window-colors, get-highlight-window-colors, and set-window-highlight-background! Wed Sep 2 13:31:50 1998 Greg Badros * base.scm: Do not assume a color is a string -- check first when redefining set-menu-{foreground,background}! * winops.scm: Added `resize-window' as a synonym for `resize-to' as the latter may soon be deprecated. Wed Sep 2 11:56:36 1998 Greg Badros * winops.scm: Put opaque-{resize,move}-percent in the root module by define-ing before the define-module (same hack as in base.scm) * prefs-menu.scm: Check scwm-is-constraint-enabled? for opaque-move menu -- use opaque-{move,resize}-percent variable * base.scm: Added `scwm-is-constraint-enabled?' Wed Sep 2 10:57:00 1998 Greg Badros * flux.scm: Added `X-cut-buffer-string' Wed Sep 2 09:58:52 1998 Greg Badros * flux.scm: Use window-viewport-position in popup-menu-from-decoration choosing where to put the menu on screen. Tue Sep 1 16:31:25 1998 Greg Badros * base.scm: Added move-to, since move-window is the primitive that move-to used to be. move-to moves a window to a viewport position, move-window (the primitive) moves a window to a virtual position * winops.scm: Updated docs for animated-move-to. 1998-09-01 Robert Bihlmeyer * tests/test.scm: New file containing testing facilities. * tests/properties.scm: Use them. 1998-08-31 Robert Bihlmeyer * flux.scm, wininfo.scm: Scheme sources adapted to new X property interface. * tests/properties.scm, tests/window-opns.scm: Removed tests for old X property interface, added some for the new one. Tue Aug 25 14:37:43 1998 Maciej Stachowiak * optargs.scm: Preserve docstrings for precedures defined by lambda* (and therefor define* and define*-public). Fri Aug 21 15:59:15 1998 Greg Badros * ALL: Added RCS-Id as first line, canonicalize copyrights (add 1998, me where appropriate) * flux.scm, face.scm, bincomm.scm, base.scm, auto-raise.scm: Added some documentation, changed formal param "w" to "win" as useful. Fri Aug 14 19:24:34 1998 Greg Badros * wininfo.scm, wmconfig-menu.scm: Document a proc in each. Fri Aug 14 17:13:35 1998 Greg Badros * winops.scm: Added vars `opaque-move-percent' and `opaque-resize-percent', procs `window-frame-area' and `display-area', user-procs `resize-opaquely?' and `move-opaquely?', and procs `interactive-move-maybe-opaque', `interactive-resize-maybe-opaque', `move-or-raise-maybe-opaque', `resize-or-raise-maybe-opaque'. Document toggle-maximize. * std-menus.scm, prefs-menu.scm: Use new form of run-in-xterm w/ key arg xterm-options * flux.scm: use-module winops, and use interactive-{move,resize}-maybe-opaque when doing interactive-{move,resize}s * base.scm: Drop xterm-command to just "xterm", and make run-in-xterm now take #:xterm-options STRING to give options to the xterm program. It is assummed that "-e" is used as the argument to invoke the CMD. Also added `scwm-user-var' macro as a means at dynamically looking up a variable in `the-root-module'. This may not be the right way to do this-- feedback is appreciated. Thu Aug 13 16:20:43 1998 Greg Badros * minimal.scm: Document all functions. Thu Aug 13 16:04:20 1998 Greg Badros * base.scm: Document all public functions. The define*-public docstrings aren't accessible, though, and the emacs interface seems to not permit %x as a procedure name. Also changed run-in-xterm to have the -e option already, and fixed std-menus and prefs-menu for that convention. * prefs-menu.scm, std-menus.scm: Above mentioned fix to uses of run-in-xterm. Thu Aug 13 11:19:40 1998 Greg Badros * wininfo.scm: Fix percent visible to use window-frame-size, not window-size Wed Aug 12 17:21:31 1998 Greg Badros * winops.scm, flux.scm: move "animated-move-to" into here (from flux), and use (app scwm base) module * wininfo.scm: Added intersection-area and percent-visible from Todd Larson, and use them in rectangle-overlap? Wed Aug 12 15:31:33 1998 Greg Badros * winops.scm: Use resize-frame-to and window-frame-size for maxmize function * wininfo.scm: Use window-frame-size, except for window-geometry-string which now uses the size in resize-inc units * flux.scm, base.scm: Use window-frame-size for w%x, w%y, etc. Fri Aug 7 17:57:49 1998 Maciej Stachowiak * stacking.scm: Add this new module with list-windows-above, list-windows-below, raise-window-above (corrected from previous version), lower-window-below, lower-by-one and raise-by-one. * winops.scm: Remove raise-window-above and lower-window-below from here. * winlist.scm: Add #:by-stacking keyword arg to list-windows, and show-window-list-menu. Also, since `pick' reverses the result, reverse it again. * wininfo.scm: Add windows-overlap? procedure to determine if two windows overlap. Add window-overlaps-window? wrapper for this which basically Currys it. 1998-08-07 Robert Bihlmeyer * style.scm: First shot at making squashed-titlebar available as a style option. s-t rocks. Thu Aug 6 19:26:36 1998 Greg Badros * wininfo.scm: Fix from Todd Larason to use the display-size coordinates minus 1 as args to rectangle-overlap? Wed Aug 5 20:13:15 1998 Greg Badros * wininfo.scm: Fix wildcard->regexp to turn ? into ., instead of into .?; rename window-machine-name to window-client-machine-name * minimal.scm: Fixes to resize-or-raise and move-or-raise by Stephen Tell. Do not raise unless it's not a move or resize event. * flux.scm: Added get-wm-command, make-string-usable-for-resource-key, and S.Senda's make-rhosts-menu. Sun Aug 2 16:31:41 1998 Greg Badros * winops.scm: Added lower-window-below, raise-window-above as front-ends to restack-windows. * wininfo.scm: added MSFIX: re: wildcard converter. Added window-machine-name (ideally this could get exposed to an improved wildcard-matcher that distinguishes among Class, Resource, Title, Icon-name, Window-machine-name, etc). * flux.scm: Added printable-char->keysym-string and use it to make X-synthetic-send-string work with embedded spaces, newlines, etc. It's a very primitive keyboard macro facility, now. Added color->string as an accessor to the name property of a color color->object. * doc.scm: Need to use (app scwm flux) for write-all 1998-08-01 Maciej Stachowiak * fvwm-module.scm (send-mini-icon-packet): Use cdr-assq, not assq (and define it above). This should fix Greg's recently reported bug w/ mini-icons. 1998-08-01 Maciej Stachowiak * fvwm-eval.scm ("ClickTime"): Replace set-click-time! with set-click-delay! 1998-07-31 Maciej Stachowiak * base.scm, face.scm, fvwm-eval.scm, minimal.scm: Replace set-window-font! with set-title-font! 1998-07-31 Maciej Stachowiak * base.scm (set-edge-resistance!, set-edge-scroll!, set-edge-wrap!): Added these convenience wrappers, but people should migrate to the new versions. 1998-07-30 Maciej Stachowiak * decor.scm (#:use-decor): Deal with reversing the arguments to set-window-decor! for this style option. * fvwm-eval.scm: Major improvements from Danius Michaelides ; many more fvwm commands are now supported. See the end of the file for the complete support status. Thu Jul 30 20:21:18 1998 Greg Badros * flux.scm: Added select-multiple-windows-interactively (plus example with restack-windows), and select-window-from-window-list (plus example) * prefs-menu.scm: Cleanup a bit for lack of set-opaque-move-size! -- no real attempt to make the new parameter functional, though Wed Jul 29 19:20:46 1998 Greg Badros * doc.scm: Added * flux.scm: Move doc-files and documentation into doc.scm; Added find-window-by-name and window-bottom from Harvey Stein. Mon Jul 27 20:07:17 1998 Greg Badros * flux.scm: use opaque moves by default, for interactive-move-window-with-pointer, etc. * Added opaque-interactive-move, opaque-interactive-resize; improve messages on warning callbacks 1998-07-24 Greg Badros * flux.scm: Use string-append, duh. 1998-07-23 Greg Badros * flux.scm: Added new doc-files variable setting to use the new (scwm-path-prefix) primitive. (For the new `documentation' procedure which accesses scwm-procedures.txt) 1998-07-23 Maciej Stachowiak * fvwm-module.scm (add-window): Determine the icon file correctly. Thanks to Danius Michalides for the bug report. 1998-07-21 Maciej Stachowiak * fvwm-module.scm: New interface to launching fvwm2 modules. This should be a better base for fvwm2 emulation, as well as a more convenient interface for users. Added/renamed/modified: variable: fvwm2-module-path register-fvwm2-module-config MODULE-TYPE . ARGS append-fvwm2-module-config MODULE-TYPE . ARGS clear-fvwm2-module-config MODULE-TYPE get-fvwm2-module-config MODULE-TYPE run-fvwm2-module MODULE-NAME #&optional OTHER-ARGS CONFIG-INFO CONFIG-FILE kill-fvwm2-module FMOD kill-all-fvwm2-modules kill-fvwm2-modules-by-name MODULE-NAME See the comment at the top of the file for more details. Tue Jul 21 14:31:08 1998 Greg Badros * tests/constraints.scm: Added sample of how to write constriants using embedded cassowary constraint solver. Constraints are now available at the scheme in nearly their full generality. 1998-07-20 Maciej Stachowiak * fvwm-module.scm: Ignore SIGPIPE if using fvwm modules; they have a tendency to break the pipe when you kill them w/o sending KillMe (at least for me) for some reason. * base.scm (color-property): Added color-property procedure. Reversed order of key and object on image-property and font-property to be consistent and Schemey. 1998-07-20 Maciej Stachowiak * fvwm-eval.scm ("WarpToWindow"): Make the fvwm2 "WarpToWindow" command pick a window to warp to if none specified. Kind of stupid, but complete. * fvwm-module.scm: Support the broadcast-mini-icon-hook. Also, make send-window-list send the complete list of information, just like fvwm2 sends it. Many things were missing before. * fvwm-module.scm (run-fvwm-module): Make sure to do something more sensible when reciving a packet that specifies no window. Patch from Danius Michaelides * fvwm-eval.scm: Handle the case where no window is specified more gracefully. Add support for Exec, Restart, Quit, Resize, Lower, and WarpToWindow fvwm commands. Add support for a special Eval command; this lets Fvwm modules evaluate arbitrary Scheme expressions, allowing for FvwmButtons configs for instance, to be very flexible. Patch from Danius Michaelides 1998-07-15 Maciej Stachowiak * style.scm: Added #:placement-proc and #:transient-placement-proc style options, to allow setting user-defined placement procedures. See C code directory ChangeLog for rationale on splitting these, and what procedures may be used from within a placement proc. Mon Jul 6 01:51:30 1998 Maciej Stachowiak * auto-raise.scm: Replaced window-from-window-id with id->window. * fvwm-module.scm: Removed now useless definition of id->window. 1998-07-06 Greg Badros * prefs-menu.scm: Added animation-ms-delay define, since it must be known before the prefs-menu definition. * flux.scm: add an extra menu-separator after menu-title, to make look more like the prefs-menu and xlock-menu 1998-07-04 Greg Badros * std-menus.scm: Use xlock-query-program to decide what to run to query the modes for the screensaver * base.scm: comment out the remove-hook! macro, since there is also code that defines the macro iff it's not already defined; add reset-hook! macro set invalid-interaction-hook and cannot-grab-hook to ring the bell with (beep) 1998-06-26 Maciej Stachowiak * fvwm-module.scm(run-fvwm-module): Add a few sanity checks to make sure running a nonexistent module won't break things. 1998-06-23 Maciej Stachowiak * std-menus.scm: Use the (ice-9 regex) module. 1998-06-20 Maciej Stachowiak * fvwm-module.scm: Use the new input hook system (add-input-hook! and remove-input-hook!, instead of using add-input-hook and counting on the hook being a one-shot). Wed Jun 10 02:19:58 1998 Maciej Stachowiak * auto-raise.scm, flux.scm: minor typos fixed, thanks to Shuji Narazaki for the bug report and patch. Mon Jun 1 20:34:30 1998 Maciej Stachowiak * Makefile.in: regenerated with automake 1.3 Thu Apr 2 18:08:09 1998 Maciej Stachowiak * minimal.scm: Set the rubber band mask to something better so the rubber band actually shows up on 16bpp and higher systems by default. Bug report from Francesco Tapparo . Mon Mar 30 15:38:00 1998 Maciej Stachowiak * auto-raise.scm: New auto-raise module. The #:auto-raise, #:auto-raise-delay, #:auto-raise-focus-proc, #:auto-raise-unfocus-proc and #:auto-raise-unfocus-delay window style options added by this module control auto-raise. Still not as general as I'd like (it should be possible to set an arbitrary number of independent focus-unfocus pairs so you could do typical autoraise and the maximize-unmaximize hack independently with different timeouts), but will e eventually. See the file for exaple usage. Makefile.in: Install auto-raise.scm Sun Mar 29 18:19:57 1998 Maciej Stachowiak * fvwm-module.scm: Define and export kill-all-fvwm-modules which kills all active fvwm modules; add it to the shutdown hook. * style.scm: Use new-style new-window hooks. * minimal.scm: Remove reliance on old-style new-window hooks; they're not really needed anymore anyway, AddWindow should set default colors of some sort. Sun Mar 29 10:47:24 1998 Greg Badros * flux.scm: Add transient? to window-info * fvwm-eval.scm: Fix typo that showed up with FvwmWinList Sun Mar 29 15:04:31 1998 Maciej Stachowiak * base.scm: Add thunk macro. * base.scm: Only define remove-hook! if not already defined by Guile. Fri Mar 27 19:25:19 1998 Maciej Stachowiak * fvwm-module.scm: Use the new interface for broadcast hooks. * base.scm: Added remove-hook! to complement guile's add-hook!. Thu Mar 26 11:32:29 1998 Maciej Stachowiak * fvwm-module.scm: Send more information to the module in send-window-list (still not quite all that fvwm sends). Also a few minor bug fixes. FvwmWinList now works. * fvwm-eval.scm: Added support for "Focus" and "Iconify" fvwm builtins, reportedly needed by TkDesk. Wed Mar 25 14:38:03 1998 Greg J. Badros * flux.scm: use-module (ice-9 regex) * prefs-menu.scm: define-module misnamed the module -- removed trailing `s' from the name so prefs-menu matches the file name. Also added a comment about ask-string and how it might work... Tue Mar 24 16:43:32 1998 Greg Badros * Makefile.in (install): install flux.scm Tue Mar 24 16:09:00 1998 Greg Badros * fvwm-compat.scm: Added all the FvwmM4 simple macros like X_RESOLUTION, and CLASS * flux.scm: added sleep-ms and X-synthetic-send-string Tue Mar 24 14:15:16 1998 Maciej Stachowiak * fvwm-module.scm: Append newlines to the configuration strings; this is needed to make the pager happy with geometry specifications and maybe other things. Bug report and patch from Bucky LaDieu . Mon Mar 23 15:47:45 1998 Greg Badros * Added flux.scm: Pulled out a bunch of functions from gjb.scwmrc (many originally from sds.scwmrc) and put here so we could share them better as we decide how to migrate the functionality into standard functionality (or do something different). Wed Mar 11 21:05:11 1998 Maciej Stachowiak * fvwm-compat.scm, bincomm.scm, fvwm-module.scm: Use close-port instead of close for guile 1.2 compatablility. Bug report from Bucky LaDieu . Tue Mar 10 22:39:58 1998 Greg Badros * fvwm-compat.scm: Added a bunch of commented out functions for FvwmM4 pre-defines; these need to be fleshed out, but I wanted to get the code started so I could see/think about what new primitives we'll need to support the defines. Fri Mar 6 02:50:47 1998 Maciej Stachowiak * fvwm-module.scm: Slight corrections to the extra argument stuff; also, broadcast the page info to modules that request the window list. * base.scm: A few changes to make menu-style work right. * fvwm-module.scm: Added optional other-args argument to module. Thu Mar 5 00:33:50 1998 Maciej Stachowiak * fvwm-eval.scm: Added support for the KillMe fvwm module command, so modules can kill themselves. 1998-03-04 Jens-Ulrik Petersen * winlist.scm (circulate): Improved its behaviour when there is no window with focus. Mon Mar 2 23:49:19 1998 Maciej Stachowiak * std-menus.scm, wmconfig-menu.scm: minor fixes from Sam Steingold Sun Mar 1 02:21:15 1998 Maciej Stachowiak * Makefile.in: Install the new modules. * fvwm-module.scm: A new module that allows fvwm2 modules to be run from within scwm. The relevant procedures are run-fvwm-module and kill-fvwm-module. * fvwm-eval.scm: A new module to support evaluating fvwm2rc lanugage expressions. The primary use is for the fvwm module support code. The principal export is fvwm-eval which takes a string expression and optionally a module (as returned by run-fvwm-module) and a window. * bincomm.scm: A new module for binary communication; it's intended to be used by the fvwm module code, but code to support other legacy module protocols may want to use it as well. It may be helpful to rewrite this in C someday. Sat Feb 28 01:34:28 1998 Maciej Stachowiak * image-loaders.scm: A new file that supports loading images in foreig formats through several converters. Slower than native loading, but better than nothing. Exported procedures are ImageMagick-loader and netpbm-loader, which try to use their namesake packages to convert the image to xpm and then try to load it, try-everything-loader which tries both in order and will support any other available conversion methods in the future, and support-image-conversion, a simple wrapper which establishes try-everything-loader as the default loader. Makefile.in: Install image-loaders.scm. * Makefile.in: Install wmconfig-menu.scm, std-menus.scm * base.scm: Added run-in-xterm from Sam Steingold * std-menus.scm: Renamed the former xlock-menu.scm to this and added make-hosts-menu, a useful menu for a set of hosts to telnet to. * wmconfig-menu.scm: Added documentation and miscellaneous fixes from Sam Steingold . Wed Feb 25 21:39:58 1998 Maciej Stachowiak * wmconfig-menu.scm: New module contributed by Sam Steingold - this provides the function make-wmconfig-menu, which parses the Red Hat 5.0 /etc/X11/wmconfig directory and returns a mennu which reflects its contents. The title and name of the menu, and the directory to scan, may optionally be specified in that order. Appropriate defaults are provided. * xlock-menu.scm: New module contributed by Sam Steingold - the key exciting bit is the make-xlock-menu function which creates a menu with several xlock screensaver choices. The optional argument specifies wether or not to lock the screen when launching screensavers; the default is #f. * base.scm: Added fold-menu-list and exe, contributed by Sam Steingold. fold-menu-list takes a menu and an optional number of lines, and splits it at that number of lines (or 30 by default), adding "more..."-labeled submenu entries. exe is just a wrapper around execute that returns a procedure which will run the specified command. * minimal.scm: Changed load-font reference to make-font * base.scm: Changed references to load-font to use make-font instead; defined load-font as make-font for compatability; font-property function for getting single properties of a font. Fri Feb 20 04:42:04 1998 Maciej Stachowiak * base.scm: Added image-property convenience wrapper to get at individual image properties. * style.scm: Added #:show-icon and #:force-icon options, removed some crufty old comments. Fri Dec 12 16:15:28 1997 Greg Badros * base.scm: Permit a string action in a menuitem to mean (execute string), permit string color-bg and color-text in a menu, use 'menu-text-color, 'menu-bg-color, and 'menu-font as the defaults so they can be redefined later -- note that the user must still define these variables in their .scwmrc before building menus or else the quoted symbol doesn't work (symbol table scope issue due to modules?) Sun Nov 30 11:56:30 1997 Greg J. Badros * base.scm: Use new menuing interface: menu-title and menu-separator are new variables, (menu ..) and (menuitem ..) are new public definitions * minimal.scm: Use new primitive menu interface -- make-menu and make-menuitem. * winlist.scm: Make show-window-list-menu use new menuing interface Mon Nov 10 05:43:11 1997 Maciej Stachowiak * fvwm-compat.scm: In fvwm-pipe-read, use dup to properly connect the pipe to the standard output for the subprocess. * style.scm: Use make-image in lieu of make-picture. Mon Nov 10 00:16:04 1997 Greg J. Badros * winops.scm: added toggle-window-shade-animated Sun Nov 9 16:45:50 1997 Maciej Stachowiak * base.scm: Added a new more abstract syntax for menu items to allow more flexibility in changing the menu implementation; procedures menu-title, menu-separator and menu-item should be used to specify menu items instead of explicitly passing symbols or lists. * style.scm: stop using set-icon-maybe-name! and set-mini-icon-maybe-name! and comment them out; would rather have string handling in the primitvs for now. Sat Nov 8 20:35:26 1997 Greg J. Badros * style.scm: allow pixmaps or strings in window styles Fri Nov 7 03:26:00 1997 Maciej Stachowiak * base.scm: Renamed title-style to simple-title-style; the real title-style is now in face.scm. * face.scm: New file face.scm which implements a friendlier interface to title, button and border styles than the primitve interface. The exported procedures are title-style, border-style and button-style; they are somewhat analogous to the fvwm builtins with similar names. Mon Nov 3 01:12:41 1997 Maciej Stachowiak * decor.scm: Add the #:use-decor style option. 1997-10-31 Jens-Ulrik Holger Petersen * winlist.scm (#:winlist-skip): add-boolean-style-option 1997-10-24 Jens-Ulrik Holger Petersen * Makefile.in (mostlyclean): New target. * wininfo.scm (window-geometry-string): Format geometry output in standard way. * winlist.scm (winlist-skip?): Fixed; was constant #f. Thu Oct 23 20:03:30 1997 Maciej Stachowiak * decor.scm: Added some basic support for decors: the call-with-decor procedure and with-decor macro. * style.scm, style-options.scm, winlist.scm, winops.scm: Split style.scm into styles.scm which provides the various style commands and style-options.scm which provides the tables of style options and hooks to add new ones. style.scm now does not need to use every module that may define procedures that should be available as style options; the files can just use the (app scwm style-options) module and define relevant options themselves. This was done for #:circulate-skip, #:circulate-skip-icon, #:winlist-skip, and #:start-maximized. Tue Oct 21 21:04:31 1997 Maciej Stachowiak * style.scm: Change #:mwm-buttons from a style option to a hint option. Mon Oct 20 06:10:38 1997 Maciej Stachowiak * winlist.scm: Circulate (and therefore prev-window and next-window) were giving an error when no window in the window list satisfied the given conditions. This is now fixed. Bug reported by Jens-Ulrik Holger Petersen . * wininfo.scm: in-viewport-any-desk? and visible? were not working correctly when the viewport is away from 0,0; this is fixed. Bug reported by Jens-Ulrik Holger Petersen . Sun Oct 19 01:33:50 1997 Maciej Stachowiak * Makefile.in: Use mkinstalldirs to create the scwm scheme directory if necessary. Sat Oct 18 02:19:58 1997 Maciej Stachowiak * wininfo.scm: wildcard-matcher: reversed the order of the if and then clauses in (if full-regexp ...). Patch from Mikael Djurfeldt Fri Oct 17 18:18:55 1997 Maciej Stachowiak * style.scm: The 'new-window and 'new-window-hint event handlers were changes to call the old handler first and then execute the style hooks. Also, the #:lenience style option was added. * base.scm: Fixed a bug in move-viewport - the let syntax was incorrect. Bug report and fix from Holger Petersen * Makefile.in: Added VPATH support.