;; load-icon-mgr.gwm --- Install and setup use of icon manager ;; ;; Author: Anders Holst (aho@sans.kth.se) ;; Copyright (C) 1995 Anders Holst ;; Last change: 9/2 ;; ;; This file is copyrighted under the same terms as the rest of GWM ;; (see the X Inc license for details). There is no warranty that it ;; works. ;; ;; --------------------------------------------------------------------- ;; ;; This file is intended for use with *other* profiles than VTWM. ;; It sets up the necessary things to use the multiple icon managers ;; defined in "vtwm-icon-mgr.gwm". ;; ;; Load it from somewhere at the end of your *rc.gwm. ;; ;; First some necessary functions (if (not (boundp 'defname-in-screen)) (defunq defname-in-screen args (for var args (defname var screen.)))) (if (not (boundp 'black)) (: black (color-make "Black"))) (if (not (boundp 'white)) (: white (color-make "White"))) (if (or (not (boundp 'defaults-to)) (not (boundp 'declare-screen-dependent))) (load "utils")) ;; ;; Some reasonable user defaults. ;; ------------------------------ ;; Change these in your own profile. Check "vtwm-icon-mgr.gwm" for ;; more customization variables. ;; (defaults-to icon-mgr-xpos -6 icon-mgr-ypos 6 icon-mgr-sort t icon-mgr-omit-list '(XLoad XClock XBiff Gwm (window-is-transient-for)) ) (declare-screen-dependent icon-mgr-background icon-mgr-title-background) (for screen (list-of-screens) (if (= screen-type 'color) (progn (defaults-to icon-mgr-background (color-make "tan") icon-mgr-title-background (color-make "peru"))))) ;; Don't touch this one (setq icon-mgr-window-feedback ()) ; Only VTWM windows provide focus feedback ;;---------------------------------------------------------------------------- (defunq add-hook (hook expr) (if (not (boundp hook)) (set hook expr) (= (# 0 (eval hook)) 'progn) (set hook (+ (eval hook) (list expr))) (set hook (+ '(progn) (list (eval hook)) (list expr))))) (add-hook opening (icon-mgr-add)) (add-hook closing (icon-mgr-remove)) (add-hook screen-opening (icon-mgr-show)) ;; Some variables from the vtwm-profile that "vtwm-icon-mgr.gwm" uses. (if (not (boundp 'setup-done)) (setq setup-done t)) (if (not (boundp 'raise-on-iconify)) (setq raise-on-iconify ())) (if (not (boundp 'raise-window-orig)) (setq raise-window-orig raise-window)) (if (not (boundp 'virtual-update)) (setq virtual-update ())) (if (boundp 'no-set-focus) (setq autofocus (not no-set-focus)) (and (boundp 'keyboardFocusPolicy) (boundp 'autoKeyFocus)) (setq autofocus (not (= keyboardFocusPolicy 'explicit))) (not (boundp 'autofocus)) (setq autofocus ())) ;; Sorry, have to do this to make it work in the MWM-profile. (if (boundp 'tooClose) (setq tooClose 0)) ;; This is a piece of surgery to get around the case when "load-virtual" ;; is loaded before "load-icon-mgr". The icon manager has to modify the ;; original function, not the wrapped one. (if (and (boundp 'iconify-window-orig) (= (type iconify-window-orig) 'subr) (not (= (type iconify-window) 'subr))) (progn (: saved-wrapped-iconify-window iconify-window) (: iconify-window iconify-window-orig) (load "vtwm-icon-mgr") (: iconify-window-orig iconify-window) (: iconify-window saved-wrapped-iconify-window)) ;; Else (load "vtwm-icon-mgr"))