Loads and loads and loads of updates.
authorSteve Youngs <steve@sxemacs.org>
Thu, 13 Feb 2020 16:27:17 +0000 (02:27 +1000)
committerSteve Youngs <steve@sxemacs.org>
Thu, 13 Feb 2020 16:27:17 +0000 (02:27 +1000)
* init-el: Add code to load up XWEM, disabled unless XWEM_RUNNING
env var is set via xinitrc.

* 00-build.el: Update copyright.

* 01-vars-sy.el: Update copyright.
Set gc-cons-threshold waaaaay high.  My SXEmacs instances are
significantly snappier now.
Commented out the unicode stuff.
Whitespace / fill tidy.
(run-at-time): defadvice it to prevent `args-out-of-range' error
for times set in the past.
(ffi-wand): require it from here now.

* 02-keys-sy.el: Update copyright.

* 03-c-mode-sy.el: Update copyright.
Whitespace / fill tidy.

* 04-w3-sy.el: Update copyright.

* 05-latex-sy.el: Update copyright.
Reinstate latex-units and font-latex.
(TeX-printer-default,TeX-printer-list): Update to reflect new
printer.
(reftex-mouse-view-crossref): Bind to 'Shift button='.
(sy-LaTeX-mode-hook): New.  Replaces the ugly #'lambda I had
hanging off LaTeX-mode-hook.
Whitespace / fill tidy.

* 06-tex-site-sy.el: Update copyright.

* 07-html-sy.el (sy-htmlize-appendix): Use #'format-time-string to
get rid of a hard-coded year.
Update copyright.
Whitespace / fill tidy.

* 08-sounds-sy.el: Update copyright.

* 09-toolbar-sy.el (toolbar-redo-icon): Find the icon with
.#'locate-data-file.
Whitespace / fill tidy.

* 10-pkgs-sy.el: Update copyright.
Update note about fsf-compat pkg.
(func-menu): require it and don't bind any keys globally. Use
'fume-menu-path' to put the "Functions" menu into the "View" menu
instead of toplevel before "File".
Don't take #'turn-on-fast-lock off of 'font-lock-mode-hook'.
(recent-files): Make it a submenu under "File".
(recent-files-save-file): Keep it in 'user-init-directory'.
(recent-files-dont-include): Keep boring crud out of the recents.
Bind #'redo to 'C-f2' only.
(sb-image): require it.  There's a bug, but I've a howm note about
it to fix it in the SXE speedbar package.
(speedbar-frame-plist): Name the frame, no scrollbars, and a tad
wider.
(dframe-reposition-frame-xemacs): This was a no-op in dframe.el.
The GNU version of it works fine so defalias it.
(sy-speedbar-kill): New. Helps with positioning the speedbar
frame.
(vc-handled-backends): Set to just GIT.
(find-file-hooks): remove 'vc-xemacs-hg-find-file-hook'.
(eshell-directory-name): Put it in user-init-directory.
(auto-insert-path): Changed the location of my templates
directory.
(git): require.
(howm-directory,howm-keyword-file,howm-history-file): Move it to
user-init-directory.

* 11-cal-sy.el: Update copyright.
(cedet-compat): require.
(calendar-latitude,calendar-longitude): Pedantly more accurate.
(calendar-and-diary-frame-parameters): Use a dedicated frame for
my calendar.
(timeclock): require.  Trying it out.  Kinda like xwem-worklog,
which I may use to improve it.
Whitespace / fill tidy.
Refresh the calendar at midnight.

* 12-misc-sy.el: Update copyright.
Nuked the "Top << | >> Bot" menu buttons.
Moved the "Motion" menu into a submenu under "Cmds".
Moved the "Kill-Ring" menu into a submenu under "Edit".
Added a new directory abbrev... "^/init"
Adjusted default and initial frame plist
(toolbar-info-frame-plist): No menubar.
Whitespace / fill tidy.

* 13-bbdb-sy.el: Update copyright.
(emails): Add steve@sywriting.com.

* 14-fonts-sy.el: Update copyright.
Trying out fast-lock instead of lazy-shot/lock.
Remove emchat stuff.

* 15-supercite-sy.el: Update copyright.

* 16-riece-sy.el (riece-command-mode-hook): Turn on flyspell
mode.
Update copyright.
Whitespace / fill tidy.

* 17-emchat-sy.el: The entire file is commented out.  ICQ, from a
3rd party client POV is 100% dead.  Leaving the file here for
posterity and just in case it has anything useful I can
re-purpose.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
19 files changed:
00-build.el
01-vars-sy.el
02-keys-sy.el
03-c-mode-sy.el
04-w3-sy.el
05-latex-sy.el
06-tex-site-sy.el
07-html-sy.el
08-sounds-sy.el
09-toolbar-sy.el
10-pkgs-sy.el
11-cal-sy.el
12-misc-sy.el
13-bbdb-sy.el
14-fonts-sy.el
15-supercite-sy.el
16-riece-sy.el
17-emchat-sy.el
init-el

index 7ef98dd..58b5d97 100644 (file)
@@ -1,11 +1,11 @@
 ;; 00-build.el --- Loads the required crap for all my init files   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Monday Aug 26, 2013 16:51:28 steve>
+;; Time-stamp: <Thursday Feb 13, 2020 22:54:52 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/00-build.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
index 2523577..87db01d 100644 (file)
@@ -1,11 +1,11 @@
 ;; 01-vars-sy.el --- Various variables   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:15:40 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 13:35:35 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/01-vars-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 ;;     
 
 ;;; Code:
+
+;:*=======================
+;:* Keep garbage collection out of my way.
+;;
+(setq gc-cons-threshold 50000000)
+
+
 ;:*=======================
 ;:* Set default font (I do this in vars-sy.el because it is called first)
 (defvar sydeffaces
 
 ;:*=======================
 ;:* Set the default font
-(set-face-property 'default 'face "-*-Terminus-medium-r-*-*-*-140-*-*-*-*-iso8859-*")
+(set-face-property
+ 'default
+ 'face "-*-Terminus-medium-r-*-*-*-140-*-*-*-*-iso8859-*")
 
 ;:*=======================
 ;:* Stuff. Lots of stuff...
 
 (setq-default
- buffers-menu-grouping-function 'group-buffers-menu-by-mode-then-alphabetically
- buffers-menu-sort-function 'sort-buffers-menu-by-mode-then-alphabetically
+ buffers-menu-grouping-function
+ 'group-buffers-menu-by-mode-then-alphabetically
+ buffers-menu-sort-function
+ 'sort-buffers-menu-by-mode-then-alphabetically
  buffers-menu-submenus-for-groups-p t
  case-fold-search t
  case-replace t
   "Gnus directory.")
    
 (defvar message-directory (paths-construct-path 
-                       (list (user-home-directory) "Gnus"))
+                          (list (user-home-directory) "Gnus"))
   "Gnus directory.")
 
 
 ;:*=======================
 ;:* Unicode shit
-(unless (fboundp 'ucs-to-char)
-  (when (featurep '(and mule mule-ucs-autoloads))
-    (require 'un-define)
-    (and (coding-system-p (find-coding-system 'utf-8))
-        (setq-default buffer-file-coding-system
-                      (coding-system-name
-                       (find-coding-system 'utf-8))))))
+;; (unless (fboundp 'ucs-to-char)
+;;   (when (featurep '(and mule mule-ucs-autoloads))
+;;     (require 'un-define)
+;;     (and (coding-system-p (find-coding-system 'utf-8))
+;;      (setq-default buffer-file-coding-system
+;;                    (coding-system-name
+;;                     (find-coding-system 'utf-8))))))
+
+;:*=======================
+;:* Fix #'run-at-time
+;;  You get an `args-out-of-range' error if you try to set a #'run-at-time
+;;  to go off in the past.  That's not as silly as it sounds, think of
+;;  things you want to run once per day.  At some point the 'time' will be
+;;  in the past for the current day.
+(or (featurep 'timer-funcs)
+    (require 'timer-funcs))
+
+(defadvice run-at-time (before future-run-at-time first activate)
+  "If TIME is in the past, set it for tomorrow."
+  (when (stringp time)
+    (let ((tspec (timer-parse-time time)))
+      (if tspec
+         (progn
+           (setq time
+                 (ceiling
+                  (itimer-time-difference tspec (current-time))))
+           (if (< time 0)
+               (setq time (+ time 86400))))))))
    
+;:*=======================
+;:* Here because sometimes... order important it is
+(require 'ffi-wand)
+
 ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*
 (message "variables initialiased")
index 50a2572..44254ac 100644 (file)
@@ -1,11 +1,11 @@
 ;; 02-keys-sy.el --- Keybindings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday Aug 16, 2013 09:38:11 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 11:56:43 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/02-keys-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
index 0b5f273..19c511c 100644 (file)
@@ -1,11 +1,11 @@
 ;; 03-c-mode-sy.el --- Set up C mode   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday Aug 16, 2013 09:39:52 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 12:00:39 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/03-c-mode-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
@@ -77,8 +77,10 @@ Key-bindings:
   (c-set-style "linux")
   (setq mode-name "Linux/C"))
 
-(unless (member '("^.*/linux.*/.*\\.[ch]$" . linux-c-mode) auto-mode-alist)
-  (add-to-list 'auto-mode-alist '("^.*/linux.*/.*\\.[ch]$" . linux-c-mode)))
+(unless (member '("^.*/linux.*/.*\\.[ch]$" . linux-c-mode)
+               auto-mode-alist)
+  (add-to-list 'auto-mode-alist
+              '("^.*/linux.*/.*\\.[ch]$" . linux-c-mode)))
 
 ;:*=======================
 ;:* C style for XEmacs core source files
@@ -91,8 +93,10 @@ Key-bindings:
   (c-set-style "gnu")
   (setq mode-name "XE/C"))
 
-(unless (member '("^.*/xemacs.*/.*\\.[ch]$" . xemacs-c-mode) auto-mode-alist)
-  (add-to-list 'auto-mode-alist '("^.*/xemacs.*/.*\\.[ch]$" . xemacs-c-mode)))
+(unless (member '("^.*/xemacs.*/.*\\.[ch]$" . xemacs-c-mode)
+               auto-mode-alist)
+  (add-to-list 'auto-mode-alist
+              '("^.*/xemacs.*/.*\\.[ch]$" . xemacs-c-mode)))
 
 ;:*=======================
 ;:* C style for SXEmacs core source files
@@ -108,8 +112,10 @@ Key-bindings:
   (make-variable-buffer-local 'c-enable-xemacs-performance-kludge-p)
   (setq c-enable-xemacs-performance-kludge-p t))
 
-(unless (member '("^.*/sxemacs.*/.*\\.[ch]$" . sxemacs-c-mode) auto-mode-alist)
-  (add-to-list 'auto-mode-alist '("^.*/sxemacs.*/.*\\.[ch]$" . sxemacs-c-mode)))
+(unless (member '("^.*/sxemacs.*/.*\\.[ch]$" . sxemacs-c-mode)
+               auto-mode-alist)
+  (add-to-list 'auto-mode-alist
+              '("^.*/sxemacs.*/.*\\.[ch]$" . sxemacs-c-mode)))
 
 ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 (message "C mode initialised.")
index ec8f7c6..f1d1a20 100644 (file)
@@ -1,11 +1,11 @@
 ;; 04-w3-sy.el --- W3 Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday Aug 16, 2013 09:40:38 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 12:01:38 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/04-w3-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
index 9d86811..e18a1bb 100644 (file)
@@ -1,11 +1,11 @@
 ;; 05-latex-sy.el --- LaTeX Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday Aug 16, 2013 09:44:34 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 16:45:05 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/05-latex-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 (require 'latex)
 (require 'reftex)
 (require 'reftex-vars)
-;(require 'latex-units)
-;(require 'font-latex)
+(require 'latex-units)
+;; loading the .elc causes byte-optimiser warnings. No doubt it is
+;; incompatible GNUisms of some kind.  Explicitly loading the .el gets
+;; around it.
+(require 'font-latex "font-latex.el")
 
 ;:*=======================
 ;:* Shutup the byte-compiler
   (expand-file-name "documents/TeX" (getenv "HOME")))
  TeX-outline-extra nil
  TeX-parse-self t
- TeX-printer-default "HP Single"
- TeX-printer-list 
- '(("HP Single" "dvips -f %s|lpr -PHP_Single@bastard" "lpq -PHP_Single@bastard")
-   ("HP Duplex" "dvips -f %s|lpr -PHP_Duplex@bastard" "lpq -PHP_Duplex@bastard")
-   ("HP Photo" "dvips -f %s|lpr -PHP_Photo@bastard" "lpq -PHP_Photo@bastard")
-   ("HP draft" "dvips -f %s|lpr -PHP_draft@bastard" "lpq -PHP_draft@bastard")))
+ TeX-printer-default "Single Colour"
+ TeX-printer-list
+ '(("Duplex Colour" "dvips -f %s|lpr -PDuplex_Colour" "lpq -PDuplex_Colour")
+   ("Single Colour" "dvips -f %s|lpr -PSingle_Colour" "lpq -PSingle_Colour")
+   ("Duplex Grey" "dvips -f %s|lpr -PDuplex_Grey" "lpq -PDuplex_Grey")
+   ("Single Grey" "dvips -f %s|lpr -PSingle_Grey" "lpq -PSingle_Grey")
+   ("Photo" "dvips -f %s|lpr -PPhoto" "lpq -PPhoto")
+   ("DL Envelope" "dvips -f %s|lpr -PDL_Envelope" "lpq -PDL_Envelope")))
 
 (setq-default LaTeX-default-options "a4paper,12pt")
 (setq-default TeX-master t)
@@ -165,6 +170,9 @@ Replacement for count-lines-region."
  reftex-use-multiple-selection-buffers t
  reftex-vref-is-default t)
 
+(define-key reftex-mode-map [(shift button=)]
+  'reftex-mouse-view-crossref)
+
 ;:*=======================
 ;:* Index support
 ;;When writing a document with an index you will probably define
@@ -192,28 +200,22 @@ Replacement for count-lines-region."
 
 ;:*=======================
 ;* Hooks.
-(add-hook 'reftex-load-hook
-          #'(lambda ()
-             (define-key reftex-mode-map [(shift button2)]
-               'reftex-mouse-view-crossref)))
-
-(add-hook 'LaTeX-mode-hook 
-         #'(lambda () 
-             (turn-on-auto-fill)
-             (setq TeX-shell "/bin/bash")
-             (make-local-variable 'ispell-extra-args)
-             (push "-t" ispell-extra-args)
-             (turn-on-reftex)
-             (add-to-list
-              'TeX-command-list
+(defun sy-LaTeX-mode-hook ()
+  (turn-on-auto-fill)
+  (setq TeX-shell "/bin/zsh")
+  (make-local-variable 'ispell-extra-args)
+  (push "-t" ispell-extra-args)
+  (turn-on-reftex)
+  (add-to-list 'TeX-command-list
               '("xpdf" "xpdf %s.pdf" TeX-run-silent t nil))
-             (add-to-list
-              'TeX-command-list
+  (add-to-list 'TeX-command-list
               '("gv" "gv %s.ps" TeX-run-silent t nil))
-             (add-to-list
-              'TeX-command-list
+  (add-to-list 'TeX-command-list
               '("pdflatex" "pdflatex -interaction=nonstopmode %t"
-                TeX-run-command nil t))))
+                TeX-run-command nil t)))
+
+(add-hook 'LaTeX-mode-hook #'sy-LaTeX-mode-hook)
+
 
 ;; Add a couple more things if we're in X
 ;;(when (and (device-on-window-system-p)
@@ -230,6 +232,7 @@ Replacement for count-lines-region."
        LaTeX-section-toc
        LaTeX-section-section
        LaTeX-section-label))
+
 ;:*=======================
 ;:* Texinfo
 ;; This is _NOT_ the texinfo-mode that comes with AucTeX, because that
@@ -265,7 +268,9 @@ Replacement for count-lines-region."
        ("@node \\(.*$\\)" 1 font-lock-warning-face)
        ("^@[cfvkpt]index \\(.*$\\)" 1 font-lock-variable-name-face)))
 
-(defun sy-texinfo-menu () (easy-menu-add texinfo-mode-menu))
+(defun sy-texinfo-menu ()
+  (easy-menu-add texinfo-mode-menu))
+
 (add-hook 'texinfo-mode-hook #'sy-texinfo-menu)
 (add-hook 'texinfo-mode-hook #'font-lock-mode)
 ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*
index e76ab26..598845f 100644 (file)
@@ -1,11 +1,11 @@
 ;; 06-tex-site-sy.el --- Because AUCTeX is stupid   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday Aug 16, 2013 09:45:38 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 12:48:57 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/06-tex-site-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
index 54aa9df..b9cabfe 100644 (file)
@@ -1,11 +1,11 @@
 ;; 07-html-sy.el --- HTML settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Wednesday Dec 30, 2015 18:18:26 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 13:05:05 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/07-html-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
@@ -201,7 +201,7 @@ Get the latest <a href=\"/src/foo.el\">version here</a>."
 ;; logos to the bottom of the page, together with a copyright notice.  This
 ;; is the raw HTML for that.
 (defconst sy-htmlize-appendix
-  "<!--  Logos -->
+  (concat "<!--  Logos -->
 <p>
 <br>
 <!--  SXEmacs Logo -->
@@ -224,14 +224,16 @@ Get the latest <a href=\"/src/foo.el\">version here</a>."
 </p>
 <!--  End Valid HTML / CSS-->
 
-    <h6>Copyright &#169; 2015 Steve Youngs<br>
+    <h6>Copyright &#169; "
+         (format-time-string "%Y")
+         " Steve Youngs<br>
      Verbatim copying and distribution is permitted in any medium,
     providing this notice is preserved.<br>
 <!-- hhmts start -->
 <!-- hhmts end -->
    </h6>
 
-")
+"))
 
 ;; Appends the above to each page.  Run from `htmlize-after-hook'.
 (defun sy-htmlize-append ()
index 2e6da2c..b9b77c0 100644 (file)
@@ -1,11 +1,11 @@
 ;; 08-sounds-sy.el --- Sound set up   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:16:59 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 13:33:32 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/08-sounds-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
index f7ab8d6..159b871 100644 (file)
@@ -1,11 +1,11 @@
 ;; 09-toolbar-sy.el --- Toolbar set up   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:17:25 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 13:37:36 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/09-toolbar-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 
 (defvar toolbar-redo-icon
   (toolbar-make-button-list
-   (expand-file-name "redo.xpm"
-                    (file-name-as-directory
-                     (expand-file-name "etc/SXEmacs"
-                                       (getenv "HOME"))))))
+   (locate-data-file "redo.xpm")))
 
 (defun toolbar-irc ()
   (interactive)
    (locate-data-file "emoney.png")))
 
 (and (device-on-window-system-p)
-     (set-specifier default-toolbar 
-                   '([toolbar-file-icon toolbar-open t "Open a file"] 
-                     [toolbar-folder-icon toolbar-dired t "Edit a directory"] 
-                     [toolbar-disk-icon toolbar-save t "Save buffer"] 
-                     [toolbar-printer-icon toolbar-print t "Print buffer"] 
-                     [toolbar-cut-icon toolbar-cut t "Kill region"] 
-                     [toolbar-copy-icon toolbar-copy t "Copy region"] 
-                     [toolbar-paste-icon toolbar-paste t "Paste from clipboard"] 
-                     [toolbar-undo-icon toolbar-undo t "Undo"]
-                     [toolbar-redo-icon toolbar-redo t "Redo"]
-                     [toolbar-spell-icon toolbar-ispell t "Check spelling"] 
-                     [toolbar-replace-icon toolbar-replace t "Search & Replace"] 
-                     [toolbar-compile-icon toolbar-compile t "Start a compilation"] 
-                     [toolbar-debug-icon toolbar-debug t "Start a debugger"]
-                     [toolbar-emoney-icon toolbar-emoney t "Manage your millions with eMoney"]
-                     [toolbar-irc-icon toolbar-irc t "Be productive with Riece"]
-                     [toolbar-news-icon gnus-other-frame t "Gnus"]
-                     nil 
-                     [toolbar-info-icon toolbar-info t "Don't Panic!!"])))
+     (set-specifier
+      default-toolbar 
+      '([toolbar-file-icon toolbar-open t "Open a file"] 
+       [toolbar-folder-icon toolbar-dired t "Edit a directory"] 
+       [toolbar-disk-icon toolbar-save t "Save buffer"] 
+       [toolbar-printer-icon toolbar-print t "Print buffer"] 
+       [toolbar-cut-icon toolbar-cut t "Kill region"] 
+       [toolbar-copy-icon toolbar-copy t "Copy region"] 
+       [toolbar-paste-icon toolbar-paste t "Paste from clipboard"] 
+       [toolbar-undo-icon toolbar-undo t "Undo"]
+       [toolbar-redo-icon toolbar-redo t "Redo"]
+       [toolbar-spell-icon toolbar-ispell t "Check spelling"] 
+       [toolbar-replace-icon toolbar-replace t "Search & Replace"] 
+       [toolbar-compile-icon toolbar-compile t "Start a compilation"] 
+       [toolbar-debug-icon toolbar-debug t "Start a debugger"]
+       [toolbar-emoney-icon toolbar-emoney t "Manage your millions with eMoney"]
+       [toolbar-irc-icon toolbar-irc t "Be productive with Riece"]
+       [toolbar-news-icon gnus-other-frame t "Gnus"]
+       nil 
+       [toolbar-info-icon toolbar-info t "Don't Panic!!"])))
 ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 (message "Toolbar set successfully")
index 3539f10..836205f 100644 (file)
@@ -1,11 +1,11 @@
 ;; 10-pkgs-sy.el --- Various XE Package Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:17:46 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 15:30:24 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/10-pkgs-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
@@ -47,7 +47,8 @@
 ;;
 ;;   I want to point out that I DO NOT blindly install the "sumo"
 ;;   packages.  I only install what I need and use.  And I absolutely
-;;   DO NOT have the "fsf-compat" package installed.
+;;   DO NOT have the "fsf-compat" package installed, although I do
+;;   have overlay.el from there.  It just makes my life a tad easier.
 
 ;;; Credits:
 ;;
 
 ;:*======================
 ;:* func-menu
+(require 'func-menu)
 (add-hook 'find-file-hooks 'fume-setup-buffer)
 (add-hook 'Manual-mode-hook 'turn-on-fume-mode)
-(define-key global-map "\C-cl" 'fume-list-functions)
-(define-key global-map "\C-cg" 'fume-prompt-function-goto)
-(define-key global-map '(control button3) 'mouse-function-menu)
+(define-key fume-mode-map [(control button3)] #'mouse-function-menu)
 (setq
  fume-display-in-modeline-p t
- fume-menubar-menu-location "File")
+ fume-menu-path '("View"))
 
 ;:*======================
 ;:* font-lock
-(remove-hook 'font-lock-mode-hook 'turn-on-fast-lock)
+;(remove-hook 'font-lock-mode-hook 'turn-on-fast-lock)
 (require 'font-lock)
 
 ;:*======================
 ;:* recent-files.el --- Maintain menu of recently opened files.
 (when (featurep 'menubar)
   (require 'recent-files)
-  (setq recent-files-non-permanent-submenu t)
+  (setq recent-files-non-permanent-submenu t
+       recent-files-menu-path '("File")
+       recent-files-add-menu-before "Insert File..."
+       recent-files-save-file
+       (expand-file-name ".recent-files.el" user-init-directory)
+       recent-files-dont-include
+       '(#r"\.config/sxemacs/\(howm\|diary\).*$"
+         #r"sxemacs/timelog$"
+         #r"info/dir$"
+         #r"\.\(newsrc*\|bbdb\)$"
+         #r"init\.d\.el"))
   (recent-files-initialize))
 
 ;:*======================
 ;:* Kyle Jones' redo package.
 (when running-xemacs
   (require 'redo)
-  (global-set-key "\C-^" 'redo)         ; for tty-s...
-  (global-set-key [(control ?6)] 'redo) ; ...and for X
-  (global-set-key "\M-_" 'redo))        ; universal
+  (global-set-key [(control f2)] 'redo))
+
 (require 'scroll-in-place)
 
 ;:*======================
 ;:  not end the comment.  Blank lines do not get comments.
 (require 'newcomment)
 (global-set-key '(control f12)  'comment-or-uncomment-region)
-(global-set-key '(meta f12) 'uncomment-or-uncomment-region)
+(global-set-key '(meta f12) 'comment-or-uncomment-region)
+
 
 ;:*======================
 ;:* parens that mark sexpressions
 
 ;:*======================
 ;:* Speedbar
+;;; FIXME: <<< Speedbar Tooltips
+;;; >>> ~/programming/SXEmacs/packages/xemacs-packages/speedbar/speedbar.el
 (setq
  speedbar-query-confirmation-method 'none-but-delete
  speedbar-show-unknown-files t
                                 speedbar-trim-words-tag-hierarchy
                                 speedbar-simple-group-tag-hierarchy
                                 speedbar-sort-tag-hierarchy)
- speedbar-track-mouse-flag t
- speedbar-use-tool-tips-flag t
;; speedbar-track-mouse-flag t
;; speedbar-use-tool-tips-flag t
  speedbar-visiting-tag-hook 'speedbar-recenter-to-top)
 
 (when (featurep 'menubar)
                                   (frame-visible-p speedbar-frame))]
                   "--"))
 (global-set-key [(f4)] 'speedbar-get-focus)
+(require 'sb-image)
 (require 'sb-info)
 (require 'sb-texinfo)
 (eval-after-load "speedbar" '(load-library "sb-texinfo"))
 (autoload 'w3-speedbar-buttons "sb-w3"
   "W3 specific speedbar button generator.")
 
-;; Speedbar frame props (so I can use matched windows in Sawfish)
+;;; Speedbar frame props
+;;  'name' (so I can use matched windows in Sawfish)
 (setq speedbar-frame-plist
       (plist-put speedbar-frame-plist 'name "Speedbar::Frame"))
+;; No scrollbars
+(setq speedbar-frame-plist
+      (plist-put speedbar-frame-plist 'scrollbar-height 0))
+(setq speedbar-frame-plist
+      (plist-put speedbar-frame-plist 'scrollbar-width 0))
+;; A little wider than default
+(setq speedbar-frame-plist
+      (plist-put speedbar-frame-plist 'width 25))
+
+;; FIXME: see... <<< PKGFix
+;; Try to load the speedbar on the right of the current frame
+(defalias 'dframe-reposition-frame-xemacs 'dframe-reposition-frame-emacs)
+(setq speedbar-default-position 'right)
+
+;; Speedbar only does the repositioning thing if the frame has to be
+;; created.  If you have only closed the speedbar frame with 'q'
+;; instead of deleting it with 'Q' then the frame remains live.  As
+;; there is no perceptible speed difference of coming back from
+;; either a closed or deleted speedbar frame the following will
+;; force a delete-frame even if you are only closing it.
+(defun sy-speedbar-kill ()
+  (when (frame-live-p speedbar-frame)
+    (delete-frame speedbar-frame)))
+
+(add-hook 'speedbar-before-delete-hook #'sy-speedbar-kill)
+
+
 ;:*======================
 ;:* Shell-mode
 (autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
 ;:*======================
 ;:* Balloon Help (now in calendar settings)
 
+
 ;:*======================
 ;:* Version Control
 (vc-load-vc-hooks)
+;; #'vc-load-vc-hooks brings in vc-xemacs which adds this hook. I
+;; would never need it.
+(remove-hook 'find-file-hooks 'vc-xemacs-hg-find-file-hook)
 (setq
- vc-handled-backends '(Arch SVN GIT CVS MCVS RCS)
+ ;; I pretty much only use git now so there's no point in VC trying to
+ ;; handle any other type.
+ vc-handled-backends '(GIT)
  vc-follow-symlinks t)
 
 ;:*======================
 ; :* Eshell
 ;(require 'pcmpl-arch)
 (setq 
+ eshell-directory-name
+ (file-name-as-directory
+  (expand-file-name "eshell" user-init-directory))
  eshell-ask-to-save-history 'always
  eshell-save-history-on-exit t
  eshell-banner-message (concat "Welcome to Eshell on "
                               ("Perl"       . "perl-insert.pl")
                               ("Sh"         . "sh-insert.sh")))
 
-(add-to-list 'auto-insert-path '"~/etc/SXEmacs/templates/")
+(add-to-list 'auto-insert-path '"~/documents/Templates/")
 
 ;; Don't auto-insert into AucTeX style .els
 (defadvice TeX-auto-store (around no-auto-insert activate)
 ;:*=======================
 ;:* My git shit
 (require 'sy-git)
+(require 'git)
 
 ;:*======================
 ;:* Emacs Lisp List
 ;:* Howm thing. (this needs mule, but that is default so no biggie)
 (require 'howm)
 
+(setq
+ howm-directory (file-name-as-directory
+                (expand-file-name "howm" user-init-directory))
+ howm-keyword-file (expand-file-name "howm-keys" user-init-directory)
+ howm-history-file (expand-file-name "howm-history" user-init-directory))
+
 ;; howm has the unfortunate name that ends in `wm' which is what
 ;; winmgr-mode uses, so nuke winmgr-mode from auto-mode-alist
 (remove-alist 'auto-mode-alist "\\.[^/]*wm2?\\(?:rc\\)?\\'")
 
 ;; Another problem with howm... it fucks up window configuration
 (defadvice howm-keyword-search (before howm-save-kw (&rest args) activate)
 "Save window configuration before viewing howm buffers."
 (window-configuration-to-register ?h))
+ "Save window configuration before viewing howm buffers."
+ (window-configuration-to-register ?h))
 
 (defadvice howm-list-grep-fixed (before howm-save-win1 (&rest args) activate)
 "Save window configuration before viewing howm buffers."
 (window-configuration-to-register ?h))
+ "Save window configuration before viewing howm buffers."
+ (window-configuration-to-register ?h))
 
 (defadvice howm-list-grep (before howm-save-win (&rest args) activate)
 "Save window configuration before viewing howm buffers."
 (window-configuration-to-register ?h))
+ "Save window configuration before viewing howm buffers."
+ (window-configuration-to-register ?h))
 
 (defadvice howm-list-todo (before howm-save-win (&rest args) activate)
 "Save window configuration before viewing howm buffers."
 (window-configuration-to-register ?h))
+ "Save window configuration before viewing howm buffers."
+ (window-configuration-to-register ?h))
 
 (defadvice howm-list-active-todo (before howm-save-win (&rest args) activate)
 "Save window configuration before viewing howm buffers."
 (window-configuration-to-register ?h))
+ "Save window configuration before viewing howm buffers."
+ (window-configuration-to-register ?h))
 
 (defadvice riffle-kill-buffer (after howm-restore-win (&rest args) activate)
   "Restore the original window configuration."
   (jump-to-register ?h))
 
-(setq howm-directory (file-name-as-directory
-                     (expand-file-name "howm" user-init-directory)))
-
 ;; howm fucks up font-lock'ing like you wouldn't believe, adding a
 ;; call to `turn-on-font-lock' here at least restores a certain level
 ;; of normalcy.
 
 ;; Turn it on where I need it
 (add-hook 'lisp-interaction-mode-hook #'turn-on-howm-mode)
-;; You gotta be fooking kidding me, this prevents lisp-initd.el from
-;; compiling the generated .el (moved to init.el)
-;(add-hook 'emacs-lisp-mode-hook #'turn-on-howm-mode)
 (add-hook 'text-mode-hook #'turn-on-howm-mode)
 (add-hook 'latex-mode-hook #'turn-on-howm-mode)
 (add-hook 'c-mode-hook #'turn-on-howm-mode)
 (add-hook 'sh-mode-hook #'turn-on-howm-mode)
+;; You gotta be fooking kidding me, this prevents lisp-initd.el from
+;; compiling the generated .el (moved to init.el)
+;;;;; (add-hook 'emacs-lisp-mode-hook #'turn-on-howm-mode)
 
 ;; Turn it off where I don't
-(add-hook 'emchat-log-mode-hook #'turn-off-howm-mode)
 (add-hook 'html-mode-hook #'turn-off-howm-mode)
 (add-hook 'texinfo-mode-hook #'turn-off-howm-mode)
 
-;;; Various other howm problem fixes
+;; Various other howm problem fixes
 
 ;; I'm having a big problem with howm/font-lock/message-mode playing
 ;; nicely together.  This gives me font-locking in message-mode, plus
 ;; howm functionality, but no howm font-locking.  I can live without
 ;; howm font-lock in one buffer.
 (add-hook 'message-mode-hook #'(lambda ()
-                                (font-lock-mode)
-                                (font-lock-mode)))
+                                (font-lock-mode)
+                                (font-lock-mode)))
 ;; XEtla/howm probs
 ;(add-hook 'xetla-changelog-mode-hook #'turn-on-font-lock)
 ;(add-hook 'xetla-log-edit-mode-hook #'turn-on-font-lock)
 ;; ChangeLogs
 (add-hook 'change-log-mode-hook #'font-lock-mode)
 
-;;:*=====================
-;;:* snap!
-;;  save/load snapshot of application to/from text
-;;  Usage:
-;; 
-;;  (1) M-x snap-record on application, e.g. Wanderlust.
-;;  (2) Yank (C-y) on any buffer, e.g. *scratch* or ~/memo.txt.
-;;  (3) M-x snap-play on yanked text ==> snapshot (1) is restored.
+;:*=====================
+;:* snap!
+;; save/load snapshot of application to/from text
+;; Usage:
+
+;; (1) M-x snap-record on application, e.g. Wanderlust.
+;; (2) Yank (C-y) on any buffer, e.g. *scratch* or ~/memo.txt.
+;; (3) M-x snap-play on yanked text ==> snapshot (1) is restored.
 (require 'snap)
 
-;;;; env var trickery.
+;; env var trickery.
 (setq snap-abbreviate-environment-variables
       '("HOME" "JAVA_HOME" "module_path"))
 
index 1593141..d00943d 100644 (file)
@@ -1,11 +1,11 @@
 ;; 11-cal-sy.el --- Calendar Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:18:15 steve>
+;; Time-stamp: <Friday Feb 14, 2020 01:18:48 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/11-cal-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 ;;; Code:
 ;:*=======================
 ;:* Calendar
+(require 'cedet-compat)
 (require 'diary-lib)
 ;(require 'calendar)
 (setq 
- calendar-latitude -27.3
- calendar-longitude 153.0
+ calendar-latitude -27.47
+ calendar-longitude 153.02
  calendar-location-name "Brisbane"
  calendar-time-zone 600
- calendar-standard-time-zone-name "EST"
  cal-tex-diary t
 ; calendar-date-display-form ; see: "Howm Integration" below
 ; '((if dayname (concat dayname ", ")) day " " monthname " " year)
  number-of-diary-entries 7
  view-diary-entries-initially t)
 
+;; Use a dedicated frame for my calendar
+(setq calendar-and-diary-frame-parameters
+      '((name . "Calendar")
+       (title . "Calendar")
+       (height . 40)
+       (width . 80)
+       (minibuffer . t)
+       (default-toolbar-visible-p . nil)
+       (default-gutter-visible-p . nil)
+       (menubar-visible-p . t))
+      calendar-setup 'one-frame)
+
 ;:*=======================
 ;:* Todo
 ;; Turning this off for a while to see if I can get used to using Howm
 ;;  "Add TODO item." t)
 ;;(global-set-key "\C-ct" 'todo-show) ;; switch to TODO buffer
 ;;(global-set-key "\C-cn" 'todo-insert-item) ;; insert new item
-;;(setq
-;; todo-prefix "&%%(todo-cp)"
-;; todo-file-do (expand-file-name ".todo-do" (getenv "HOME"))
-;; todo-file-done (expand-file-name ".todo-done" (getenv "HOME"))
-;; todo-file-top (expand-file-name ".todo-top" (getenv "HOME"))
-;; todo-time-string-format "%3b, %d")
+;; (setq
+;;  todo-prefix "&%%(todo-cp)"
+;;  todo-file-do (expand-file-name "todo-do" (paths-construct-path
+;;                                        (list user-init-directory
+;;                                              "todo-mode")))
+;;  todo-file-done (expand-file-name "todo-done" (paths-construct-path
+;;                                            (list user-init-directory
+;;                                                  "todo-mode")))
+;;  todo-file-top (expand-file-name "todo-top" (paths-construct-path
+;;                                          (list user-init-directory
+;;                                                "todo-mode")))
+;;  todo-time-string-format "%3b, %d")
 
 ;:*=======================
 ;:* Fancy Diary with perdy colours!
@@ -246,33 +264,6 @@ characters on the line."
              (setq fancy-diary-font-lock-keywords
                    (fancy-diary-font-lock-keywords))))
 
-;:*=======================
-;:* Appointments
-(require 'appt)
-(require 'balloon-help)
-(balloon-help-mode 1)
-(setq 
- balloon-help-background "BlanchedAlmond"
- balloon-help-foreground "Black"
- display-time-24hr-format t
- display-time-day-and-date t
- display-time-no-mail-balloon "What! No mail? That can't be right."
- display-time-mail-balloon-show-gnus-group t
- display-time-mail-balloon-max-displayed 20
- display-time-mail-balloon-gnus-split-width 19
- display-time-mail-balloon-enhance-gnus-group
- '("private.*")
- display-time-mail-balloon-suppress-gnus-group
- '("\\(SPAM.*\\|returned\\.mail\\)"))
-(display-time)
-(appt-initialize)
-(setq 
- appt-message-warning-time 30
- appt-display-format 'echo
- appt-audible t
- appt-display-mode-line t
- appt-announce-method 'appt-persistent-message-announce)
-(appt-activate 1)
 ;:*=======================
 ;:* Holidays
 (defvar displayed-month)
@@ -359,6 +350,7 @@ Ever-so-slightly modified to include the Easter Monday holiday."
  islamic-holidays nil
  general-holidays nil
  local-holidays nil
+ oriental-holidays nil
  other-holidays nil)
 
 ;; Set up standard Aussie holidays
@@ -410,6 +402,35 @@ Ever-so-slightly modified to include the Easter Monday holiday."
        (sy-easter-holidays)))
 (setq mark-holidays-in-calendar t)
 
+;:*=======================
+;:* Appointments
+(require 'appt)
+(require 'balloon-help)
+(balloon-help-mode 1)
+(setq 
+ balloon-help-background "BlanchedAlmond"
+ balloon-help-foreground "Black"
+ display-time-24hr-format t
+ display-time-day-and-date t
+ display-time-no-mail-balloon "What! No mail? That can't be right."
+ display-time-mail-balloon-show-gnus-group t
+ display-time-mail-balloon-max-displayed 20
+ display-time-mail-balloon-gnus-split-width 19
+ display-time-mail-balloon-enhance-gnus-group
+ '("private.*")
+ display-time-mail-balloon-suppress-gnus-group
+ '("\\(SPAM.*\\|returned\\.mail\\)"))
+(display-time)
+(appt-activate 1)
+(setq 
+ appt-message-warning-time 30
+ appt-display-format 'echo
+ appt-audible t
+ appt-display-mode-line t
+ appt-announce-method 'appt-persistent-message-announce)
+(add-hook 'appt-make-list-hook #'appt-included-diary-entries)
+(appt-activate 1)
+
 ;:*=======================
 ;:* Howm integration
 (setq
@@ -572,6 +593,31 @@ Ever-so-slightly modified to include the Easter Monday holiday."
          #'(lambda ()
            (local-set-key [(hyper ?d)] 'calendar)))
 
+;:*=======================
+;:* timeclock
+;;
+;; Track time spent doing certain things
+(require 'timeclock)
+(setq timeclock-file (expand-file-name "timelog" user-init-directory))
+(setq timeclock-relative nil)
+(add-hook 'kill-emacs-query-functions 'timeclock-query-out)
+(timeclock-modeline-display)
+
+(define-key ctl-x-map "ti" 'timeclock-in)
+(define-key ctl-x-map "to" 'timeclock-out)
+(define-key ctl-x-map "tc" 'timeclock-change)
+(define-key ctl-x-map "tr" 'timeclock-reread-log)
+(define-key ctl-x-map "tu" 'timeclock-update-modeline)
+(define-key ctl-x-map "tw" 'timeclock-when-to-leave-string)
+
+
+
+;:*=======================
+;:* Start itimer to refresh just after midnight
+;;
+;; This needs my `future-run-at-time' advice.
+(run-at-time "00:01" 86400 #'redraw-calendar)
+
 ;:*=======================
 ;:* Get the show on the road
 (defun sy-calendar-setup ()
index a928c9f..0ed9b7a 100644 (file)
@@ -1,11 +1,11 @@
 ;; 12-misc-sy.el --- Miscellaneous Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:18:40 steve>
+;; Time-stamp: <Friday Feb 14, 2020 01:39:28 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/12-misc-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
@@ -130,7 +130,52 @@ instead."
 ;:* Additions to the menubar.
 (when (featurep 'menubar)
   (require 'big-menubar)
-  (add-menu-button nil ["Fr%_ame" make-frame t] "Help"))
+
+  ;; Get rid of stuff from big-menubar that I don't like/use
+  (delete-menu-item '("Top"))
+  (delete-menu-item '("<<"))
+  (delete-menu-item '(" | "))
+  (delete-menu-item '(">>"))
+  (delete-menu-item '("Bot"))
+  (delete-menu-item '("Motion"))
+
+  ;; Add back the "Motion" menu, but as a submenu under "Cmds"
+  ;; Motion menu.
+  (add-submenu
+   '("Cmds")
+   '("Motion"
+     ["Goto Mark"                  exchange-point-and-mark (mark t)]
+     ["Goto Line..."                          goto-line           t]
+     "---"
+     ["End of Balanced Parentheses ( )"       forward-list        t]
+     ["Beginning of Balanced Parentheses ( )" backward-list       t]
+     ["Next Opening Parenthesis ("            down-list           t]
+     ["Previous Opening Parenthesis ("        backward-up-list    t]
+     ["Next Closing Parenthesis )"            up-list             t]
+     "---"
+     ["End of Balanced Expression"            forward-sexp        t]
+     ["Beginning of Balanced Expression"      backward-sexp       t]
+     "---"
+     ["End of Function"                       end-of-defun        t]
+     ["Beginning of Function"                 beginning-of-defun  t]
+     "---"
+     ["Next Page"                             forward-page        t]
+     ["Previous Page"                         backward-page       t]
+     "---"
+     ["End of Buffer"                         end-of-buffer       t]
+     ["Beginning of Buffer"                   beginning-of-buffer t]
+     "---"
+     ["Save Current Position..."              point-to-register   t]
+     ["Goto Saved Position..."                register-to-point   t]
+     "---"
+     ["Set Marker..."                         set-user-marker     t]
+     ["Goto Marker..."                        goto-user-marker    t]
+     ["List Markers"                          list-markers        t]
+     "---"
+     ["Set Goal Column"                       set-goal-column     t]
+     ["Cancel Goal Column"          (set-goal-column t) goal-column])
+   "Abbrev"))
+
 
 ;:*======================
 ;:* create a Kill-Ring menu
@@ -155,9 +200,9 @@ instead."
                        t)
                     (setq count (1+ count))))
               kill-ring))))
-  (add-submenu nil '("Kill-Ring"
-                    :included kill-ring
-                    :filter select-and-yank-filter)))
+  (add-submenu '("Edit") '("Kill-Ring"
+                          :included kill-ring
+                          :filter select-and-yank-filter)))
 
 ;:*======================
 ;: resize-minibuffer-mode makes the minibuffer automatically
@@ -204,7 +249,9 @@ instead."
 ;:*======================
 ;:* Image formats
 (require 'image-mode)
-(require 'ffi-wand)
+;; Needed to load this earlier for some reason that I have long since
+;; forgotten, so it is now in 01-vars-sy.el
+;;(require 'ffi-wand)
 (Wand-find-file-enable)
 
 ;:*======================
@@ -218,9 +265,9 @@ instead."
 
 ;; FFI/libWand for image files in Dired
 (defun sy-dired-wand ()
 (interactive)
 (let ((file (dired-get-filename)))
-    (Wand-display file)))
+ (interactive)
+ (let ((file (dired-get-filename)))
+   (Wand-display file)))
 
 (define-key dired-mode-map [?b] #'sy-dired-wand)
 
@@ -278,15 +325,6 @@ instead."
       (mode . hyper-apropos-mode)
       (mode . Info-mode)
       (mode . Manual-mode)))
-    ("EMchat"
-     (or
-      (mode . emchat-buddy-mode)
-      (mode . emchat-log-mode)
-      (mode . emchat-network-mode)
-      (mode . world-mode)
-      (mode . emchat-history-mode)
-      (name . "\\*emchat-debug\\*")
-      (filename . "/home/steve/\\.emchat/history/.*")))
     ("Riece"
      (or
       (mode . riece-channel-list-mode)
@@ -319,30 +357,25 @@ instead."
 
 ;:*======================
 ;:* from.el - check whose sent us mail
-;(require 'from)
-;(setq 
-; from-mailspools
-; '("~/mail/INBOX")
-; from-use-other-window nil
-; from-quit-command 'kill-buffer
-; from-highlight-regexp
-; #r"Merge-Req\|e\(icq\|mchat\)\|pa\(?:ckages\|tch\)\|sxemacs\|x\(?:e\(?:macs\|tla\)\|wem\)")
+(require 'from)
+(setq 
+ from-mailspools '("~/mail/INBOX")
+ from-use-other-window nil
+ from-quit-command 'kill-buffer
+ from-highlight-regexp
+ #r"Merge-Req\|e\(icq\|mchat\)\|pa\(?:ckages\|tch\)\|sxemacs\|x\(?:e\(?:macs\|tla\)\|wem\)")
 
 ;:*======================
 ;:* PS-Print
-;; FIXME: make this work, it looks interesting!
-;(require 'ps-print)
-;(require 'ps-mule)
-;(require 'ps-bdf)
-;(require 'lpr)
-;(setq 
-; bdf-directory-list
-; '("/usr/share/fonts/bdf")
-; ps-multibyte-buffer 'bdf-font-except-latin
-; ps-paper-type 'a4
-; printer-name "/dev/lp0"
-; ps-printer-name ""
-; ps-print-color-p nil)
+(require 'ps-print)
+(require 'ps-mule)
+(require 'ps-bdf)
+(require 'lpr)
+(setq 
+ bdf-directory-list '("/usr/share/fonts/bdf")
+ ps-multibyte-buffer 'bdf-font-except-latin
+ ps-paper-type 'a4
+ printer-name "Duplex_Colour")
 
 ;:*======================
 ;:* Line and Column numbers.
@@ -371,7 +404,8 @@ instead."
        ("^/src" . "/usr/src")
        ("^/sxe" . "/home/steve/programming/SXEmacs")
        ("^/core" . "/home/steve/programming/SXEmacs/core/sxemacs.git")
-       ("^/web" . "/home/steve/programming/SXEmacs/web/website")))
+       ("^/web" . "/home/steve/programming/SXEmacs/web/website")
+       ("^/init" . ,(expand-file-name "init.d" user-init-directory))))
 
 ;:*======================
 ;:* The beginnings of procmail-mode.el.
@@ -427,13 +461,17 @@ instead."
 ;:*======================
 ;:* Set the frame geometry
 (unless (getenv "XWEM_RUNNING")
-  (setq initial-frame-plist '(top 23 left 26 width 95 height 40)
-       default-frame-plist '(top 3 left 26 width 95 height 40 name "SXEFrame")))
+  (setq default-frame-plist
+       '(name "SXEFrame" width 90))
+  (setq initial-frame-plist '(width 90)))
+
 
 ;:*======================
 ;:* The Beginnings of a Finance package
-(require 'emoney)
 (setq
+ emoney-accounts-directory
+ (file-name-as-directory
+  (expand-file-name "emoney" user-init-directory))
  emoney-bank-url "https://internetbanking.suncorpbank.com.au/"
  emoney-date-format "%Y-%m-%d"
  emoney-default-account "scorp-main.emy"
@@ -441,6 +479,8 @@ instead."
  emoney-save-after-recalculate t
  emoney-use-new-frame t)
 
+(require 'emoney)
+
 ;:*======================
 ;:* Modeline enhancements.
 ;;
@@ -495,6 +535,7 @@ instead."
 (setq 
  abbrev-mode t
  allow-deletion-of-last-visible-frame t
+ bookmark-default-file (expand-file-name "bookmarks" user-init-directory)
  bookmark-save-flag 1
  complex-buffers-menu-p t
  etalk-process-file "talk"
@@ -515,10 +556,8 @@ instead."
 (customize-set-variable 'user-mail-address "steve@steveyoungs.com")
 (setq query-user-mail-address nil)
 (blink-cursor-mode 1)
-;; Currently trying to live in a Unicode (UTF-8) world, so this is
-;; off.
-; (when (featurep 'mule)
-;   (set-language-environment "Latin-1"))
+(when (featurep 'mule)
+  (set-language-environment "Latin-1"))
 (unless (gnuserv-running-p)
   (gnuserv-start))
 (require 'mozmail)
@@ -528,8 +567,12 @@ instead."
 (require 'info)
 
 (setq toolbar-info-frame-plist
-      '((width . 85)
-       (name . "InfoFrame")))
+      '((width . 80)
+       (height . 45)
+       (name . "InfoFrame")
+       (menubar-visible-p . nil)
+       (default-toolbar-visible-p . t)
+       (default-gutter-visible-p . t)))
 
 (unless (fboundp 'Info-search-next)
   (defun Info-search-next ()
@@ -825,8 +868,8 @@ files are assigned what numbers."
 ;:*=======================
 ;:* LiveJournal posting thingy
 (require 'lj)
-(setq lj-cookie-flavour 'chrome)
-;(setq lj-cookie-flavour 'firefox)
+;(setq lj-cookie-flavour 'chrome)
+(setq lj-cookie-flavour 'firefox)
 (setq lj-user-id "bastard_blog")
 (setq lj-archive-posts t)
 (setq lj-bcc-address "Steve Youngs <steve@localhost>")
@@ -863,6 +906,7 @@ Till next time...<br />
 ;:* Play Sudoku
 (require 'sudoku)
 (setq sudoku-level 'easy)
+(setq modeline-coding-system "%C")
 
 ;:*=======================
 ;:* Stupid fucking Google Chrome is MIME-illiterate
index 42921d2..35c9890 100644 (file)
@@ -1,11 +1,11 @@
 ;; 13-bbdb-sy.el --- Big Brother DataBase (BBDB)   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Thursday Dec 31, 2015 01:19:09 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 14:46:05 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/13-bbdb-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
@@ -161,7 +161,7 @@ This is from Alex Shroeder."
                "steve@bastard.steveyoungs.com"
                "steve@bastard.no-ip.org"
                "steve@sxemacs.org"
-               "steve@emchat.org"
+               "steve@sywriting.com"
                "sryoungs@iinet.net.au"
                "steve.r.youngs@gmail.com"
                ;; The following aren't mine, but I'm using
index 39d2561..2bb011e 100644 (file)
@@ -1,11 +1,11 @@
 ;; 14-fonts-sy.el --- Fonts/Faces Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday Aug 16, 2013 14:03:07 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 15:10:58 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/14-fonts-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 ;;; Code:
 ;:*=======================
 ;:* Turn on Lazy-(lock|shot)
-;; Lazy-lock
+;;; Lazy-lock
 ;; (require 'lazy-lock)
 ;; (if (eq emacs-minor-version 5)
 ;;     (setq font-lock-support-mode 'lazy-lock-mode)
 ;;  (add-hook 'font-lock-mode-hook 'turn-on-lazy-lock))
 ;; (setq lazy-lock-stealth-time 15)
 
-;; Lazy-shot (my preference)
-(require 'lazy-shot)
-(setq lazy-shot-verbose nil)
-(setq lazy-shot-stealth-verbose nil)
-(add-hook 'font-lock-mode-hook 'turn-on-lazy-shot)
+;;; Lazy-shot (my preference)
+;; (require 'lazy-shot)
+;; (setq lazy-shot-verbose nil)
+;; (setq lazy-shot-stealth-verbose nil)
+;; (add-hook 'font-lock-mode-hook 'turn-on-lazy-shot)
+
+;;; Fast-lock (it has caching!)
+(require 'fast-lock)
+(setq fast-lock-cache-directories
+      (list (paths-construct-path (list (getenv "XDG_CACHE_HOME")
+                                       "sxemacs" "fast-lock"))))
+(push 'save-buffer fast-lock-save-events)
+(fast-lock-mode 1)
+(add-hook 'font-lock-mode-hook 'turn-on-fast-lock)
+(setq-default fast-lock-mode t)
 
 ;:*=======================
 ;:* describe-face-at-point, a function to find out which face is which
       ((t (:background "light grey" :foreground "Black"))))
      (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black"))))
      (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White"))))
-     ;; EMchat.
-     (emchat-face-away ((t (:foreground "red"))))
-     (emchat-face-dnd ((t (:foreground "lightblue"))))
-     (emchat-face-ffc ((t (:foreground "yellow"))))
-     (emchat-face-log-read ((t (:foreground "turquoise"))))
-     (emchat-face-log-unread ((t (:foreground "red"))))
-     (emchat-face-na ((t (:foreground "pink"))))
-     (emchat-face-occ ((t (:foreground "orange"))))
-     (emchat-face-offline ((t (:foreground "grey"))))
-     (emchat-face-online ((t (:foreground "green"))))
-     (emchat-face-selected ((t (:background "yellow" :foreground "darkblue"))))
-     (emchat-wharf-default-face ((t (:foreground "Green" :size "10pt"))))
      ;; LaTeX
      (font-latex-bold-face ((t (:foreground "brown"))))
      (font-latex-italic-face ((t (:foreground "lightcoral"))))
 
 ;:*======================= :* 
 ; Use a sexy background pixmap.
-; (set-face-background-pixmap 'default 
-;                          [xpm :file "~/documents/pictures/marble.xpm"])
+;(set-face-background-pixmap 'default 
+;                          [xpm :file "~/documents/pictures/misc/marble.xpm"])
 ;:*=======================
 ;:* Set background-mode to dark (why isn't this autodetected?)
 (setq frame-background-mode 'dark)
index 4072bfe..6232578 100644 (file)
@@ -1,11 +1,11 @@
 ;; 15-supercite-sy.el --- Mail citing Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Saturday Aug 17, 2013 11:29:15 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 14:51:28 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/15-supercite-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
index 7b7857e..85a1ce0 100644 (file)
@@ -1,11 +1,11 @@
 ;; 16-riece-sy.el --- Riece (IRC) Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Monday Nov 30, 2015 12:49:25 steve>
+;; Time-stamp: <Wednesday Feb 12, 2020 14:59:12 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/16-riece-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 (require 'riece-log)
 (require 'riece)
 
+;; For flyspell in the command buffer.  See `sy-riece-command-mode-hooks'.
+(or (featurep 'overlay)
+    (ignore-errors (require 'overlay)))
+(or (featurep 'flyspell)
+    (ignore-errors (require 'flyspell)))
+
 ;; Misc setq's
 (setq riece-alias-percent-hack-mask "*.net"
       riece-biff-check-channels '("#sxemacs"
@@ -83,8 +89,9 @@
       riece-ignore-discard-message nil
       riece-keywords
       '("Bastard" "EMchat" "eMoney" "Gnus" "LFS" "LinuxFromScratch"
-       "Linux From Scratch" "PgSQL" "PostgreSQL" "postgres" "Riece"
-       "SteveYoungs" "SXEmacs" "XEmacs" "systemd" "xwem")
+       "LineageOS" "LOS" "Lineage" "Pure Nexus"
+       "Linux From Scratch" "Riece" "SteveYoungs" "SXEmacs" "XEmacs"
+       "xwem")
       riece-layout '"bottom-right"
       riece-retry-with-new-nickname t
       riece-server-alist
@@ -556,14 +563,21 @@ See `riece-me:command-complete-user'."
   (interactive)
   (riece-me:command-complete-user 'reverse))
 
-(add-hook 'riece-command-mode-hook
-         #'(lambda ()
-             ;; Define a few keys here so they don't have the `C-c' prefix
-             (local-set-key [iso-left-tab] #'sy-riece-complete-user-backwards)
-             (local-set-key [(super next)] #'riece-command-user-list-scroll-up)
-             (local-set-key [(super prior)] #'riece-command-user-list-scroll-down)
-             (local-set-key [(hyper next)] #'riece-command-scroll-up)
-             (local-set-key [(hyper prior)] #'riece-command-scroll-down)))
+(defun sy-riece-command-mode-hooks ()
+  "Add some nice stuff in Riece's command buffer."
+  (when (eq major-mode 'riece-command-mode)
+    ;; Define a few keys here so they don't have the `C-c' prefix
+    (local-set-key [iso-left-tab] #'sy-riece-complete-user-backwards)
+    (local-set-key [(super next)] #'riece-command-user-list-scroll-up)
+    (local-set-key [(super prior)] #'riece-command-user-list-scroll-down)
+    (local-set-key [(hyper next)] #'riece-command-scroll-up)
+    (local-set-key [(hyper prior)] #'riece-command-scroll-down)
+    ;; Turn on flyspell mode if available
+    (and (featurep (and 'overlay 'flyspell))
+        (flyspell-mode 1))))
+
+(add-hook 'riece-command-mode-hook #'sy-riece-command-mode-hooks)
+
 
 (defun riece-me:command-complete-user (&optional reverse)
   "Like `riece-command-complete-user' but restrict to current chan.
@@ -712,11 +726,14 @@ connect to."
   '("#sxemacs"
     "#emchat"
     "#xemacs"
-    ;"#emacs"
+    "#emacs"
+    ;"#kde"
+    ;"#kde-devel"
+    "#LineageOS"
+    ;"#LineageOS-dev"
+    "#lxqt"
     ;"#postgresql"
-    ;"#avahi"
-    "#systemd"
-    "#kdbus"
+    ;"#systemd"
     "#zsh"
     )
   "List of channels to join after logging in and identifying to nickserv.")
@@ -734,9 +751,10 @@ connect to."
  sy-riece-startup-channel-list)
 
 (defun sy-riece-login ()
-  (riece-send-string (format "PRIVMSG NickServ :identify %s\r\n"
-                            (getenv "IRCPASSWD")))
-  (sleep-for 3)
+  (progn
+    (riece-send-string (format "PRIVMSG NickServ :identify %s\r\n"
+                              (getenv "IRCPASSWD")))
+    (sleep-for 15))
   (let ((channel-list sy-riece-startup-channel-list)
        entry identity)
     (while channel-list
@@ -761,7 +779,7 @@ connect to."
 (defun sy-riece-cleanup-login ()
   (interactive)
   (let ((metachans
-        #r".*\.freenode\.net\|\(Chan\|Nick\|Memo\|Seen\)Serv\|SXEbot"))
+        #r".*\.freenode\.net\|\(Chan\|Nick\|Memo\|Seen\)Serv\|SXEbot\|freenode-connect"))
     (mapcar
      #'(lambda (chan-vect)
         (mapcar
index abf2ba4..4a14133 100644 (file)
@@ -1,11 +1,11 @@
 ;; 17-emchat-sy.el --- EMchat Settings   -*- Emacs-Lisp -*-
 
-;; Copyright (C) 2007 - 2013 Steve Youngs
+;; Copyright (C) 2007 - 2020 Steve Youngs
 
 ;;     Author: Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 ;;    Created: <2007-12-02>
-;; Time-stamp: <Friday May 29, 2015 20:53:39 steve>
+;; Time-stamp: <Friday Feb 14, 2020 01:48:44 steve>
 ;;   Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
 ;;   HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/17-emchat-sy.html>
 ;;   Git Repo: git clone http://git.sxemacs.org/syinit
 ;;
 ;;   My EMchat settings.
 ;;
+;;   [2020-02-12] Sadly, everything here is deprecated and non-working.  A
+;;   while back the ICQ people stopped using the OSCAR protocol and disallow
+;;   ALL 3rd-party clients. On top of that, ICQ is 100% owned and operated
+;;   by the Russian govt.  You probably shouldn't even use the official
+;;   client as they routinely hand over your chat logs and details to
+;;   their Russian minders.  I wish I was joking. --SY.
 
 ;;; Credits:
 ;;
 ;;
 ;;     
 
-;;; Code:
+;;; Code:  Entire file commented, see above
 ;:*=======================
 ;:* emchat settings
-(load "emchat")
-
-;;; Experimental stuff
-
-
-;; EMchat works great in a tty, but some settings I use are best
-;; suited for X, so this just turns them off.
-(defun tty-im-setup ()
-  "Set some things so I can use EMchat/Riece in tty."
-  (interactive)
-  (setq emchat-status-use-gutter nil
-       emchat-start-in-new-frame nil
-       emchat-wharf-frame-use-p nil))
-;;; 
-
-(when (device-on-window-system-p)
-  (setq emchat-status-use-gutter t
-       emchat-start-in-new-frame t))
-
-(setq
- emchat-doctor-enabled-flag t
- emchat-emphasis-enabled-flag t
- emchat-history-enabled-flag t
- emchat-log-fill-column 72
- emchat-port 5190
- emchat-server "login.icq.com"
- emchat-smiley t
- emchat-track-enable t
- emchat-track-indicator-type 'char
- emchat-user-alias "JackaLX"
- emchat-user-password (getenv "ICQPASSWD")
- emchat-user-meta-nickname "JackaLX"
- emchat-user-meta-firstname "Steve"
- emchat-user-meta-lastname "Youngs"
- emchat-user-meta-primary-email "steve@sxemacs.org"
- emchat-user-meta-secondary-email "steve@steveyoungs.com"
- emchat-user-meta-city "Brisbane"
- emchat-user-meta-state "DOA"
- emchat-user-meta-hide-ip t
- emchat-user-meta-authorization t
- emchat-user-meta-about 
- "EMchat Maintainer.\n
- If you'd like to help out with the EMchat project,
- please send me a message.  Or go to:
-    <http://www.emchat.org/>\n
- SXEmacs - It's not just an editor.
-          It's a way of life!
-    <http://www.sxemacs.org/>"
- emchat-user-meta-homepage "http://www.sxemacs.org/"
- emchat-user-meta-sex 'male
- emchat-user-meta-language-1 12
- emchat-user-meta-language-2 12
- emchat-user-meta-language-3 12
- emchat-user-meta-web-aware t
- emchat-user-initial-status "online"
- emchat-user-meta-age 38
- emchat-user-meta-birth-day 19
- emchat-user-meta-birth-month 6
- emchat-user-meta-birth-year 66
- emchat-user-meta-cell-phone "6666 6666"
- emchat-user-meta-country 61
- emchat-user-meta-fax "7777 7777"
- emchat-user-meta-phone "8888 8888"
- emchat-user-meta-street "1 Linux Lane"
- emchat-user-meta-work-homepage "http://www.sxemacs.org/"
- emchat-user-meta-work-address "What me, work?"
- emchat-user-meta-work-city "Penguinville"
- emchat-user-meta-work-company "SlackBiz"
- emchat-user-meta-work-department "Slackers"
- emchat-user-meta-work-fax "9999 9999"
- emchat-user-meta-work-phone "5555 5555"
- emchat-user-meta-work-position "Seated"
- emchat-user-meta-work-state "DOA"
- emchat-user-meta-zipcode "9999"
- emchat-buddy-view 'emchat-all-aliases
- emchat-use-sound-flag nil
- emchat-save-log-on-exit-p nil
- emchat-log-debug-flag t
- emchat-user-meta-invisible nil
- emchat-buddy-show-avatar t
- emchat-buddy-xface-foreground "black"
- emchat-buddy-xface-background "red")
-
-;; PulseAudio only seems to work if X is running
-(when (getenv "DISPLAY")
-  (setq  emchat-use-sound-flag t))
-
-;; Lets not auto-away.
-(customize-set-variable 'emchat-auto-away-timeout 0)
-
-(emchat-world-update)
-
-(when emchat-use-sound-flag
-  (setq emchat-audio-device
-       ;(make-audio-device 'alsa))
-       (make-audio-device 'pulse
-                          :client "SXEmacs::EMchat"
-                          :stream "EMchat::Stream"
-                          :role "phone"))
-  ;; SXEmacs doesn't like current ffmpeg, and SoX is dodgy ATM too
-  (setq emchat-media-driver 'sndfile)
-  (setq default-media-stream-volume 50)
-  (setq emchat-sound-alist
-       '((auth-sound . "Auth.wav")
-         (buddy-sound . "Online.wav")
-         (chat-sound . "Chat.wav")
-         (emailx-sound . "System.wav")
-         (message-sound . "Message.wav")
-         (pager-sound . "System.wav")
-         (system-sound . "System.wav")
-         (url-sound . "URL.wav"))))
-
-
-;:*=======================
-;:* Addons/extensions
-
-(defun sy-emchat-now-playing ()
-  "Return title/artist of current song."
-  (interactive)
-  (format "NP: %s" (mpd-now-playing)))
-
-(defun sy-emchat-send-now-playing ()
-  "Send title/artist of current song."
-  (interactive)
-  (let ((song (sy-emchat-now-playing))
-       (alias (emchat-alias-around)))
-    (emchat-send-message song alias)))
-
-(defun sy-emchat-yow ()
-  "When you can't think of what to say..."
-  (interactive)
-  (let ((message (yow))
-       (alias (emchat-alias-around)))
-    (emchat-send-message message alias)))
-
-
-(require 'emchat-menu)
-(define-key emchat-log-mode-map (kbd "C-c p") #'sy-emchat-send-now-playing)
-(define-key emchat-log-mode-map (kbd "C-c y") #'sy-emchat-yow)
-
-;:*=======================
-;:* Hooks
-(eval-when-compile
-  (defvar alias)
-  (defvar message))
-
-;;(defun sy-emchat-temp (&optional fahrenheit)
-;;  "Returns a string to send to a ICQ user saying the current temp.
-
-;;With optional arg, FAHRENHEIT, don't send the temp in celsius."
-;;  (if fahrenheit
-;;      (let ((xwem-weather-temperature-format 'fahrenheit))
-;;     (format "The current temperature here is: %s°F"
-;;             (substring (xwem-weather-get-temp) 0 -2)))
-;;    (let ((xwem-weather-temperature-format 'celsius))
-;;      (format "The current temperature here is: %s°C"
-;;           (substring (xwem-weather-get-temp) 0 -2)))))
-
-(defconst sy-beer-love
-  ["when you realise, 24 beers in a case, 24 hours in a day.  Coincidence?"
-   "when you wake up with `CRS'... Can't Remember Shit."
-   "when, to you, it's not a six-pack, it's a support group."
-   "when it is the reason you get up every afternoon."
-   "when you favour the 2 party system... party on Friday, party on Saturday."
-   "when getting f#@ked up is your hobby."]
-  "Proof you love beer.")
-
-(defun sy-emchat-beer-love ()
-  (let ((prefix "You know you love beer... ")
-       (love (aref sy-beer-love
-                   (% (+ (% (random t) 1000) 1000)
-                      (length sy-beer-love)))))
-    (concat prefix love)))
-
-(defun sy-emchat-incoming-msg-hook ()
-  (when (or (member alias emchat-visible-contacts)
-           (not (member alias emchat-invisible-contacts)))
-    (let ((repo "The main EMchat git repo is:
-git clone http://git.emchat.org/emchat")
-         (download "EMchat source tarballs and (S)XEmacs pkg tarballs
-can be downloaded from:  Offline ATM, sorry")
-         (latest (shell-command-to-string
-                  "cd ~/programming/EMchat/emchat && git describe"))
-         (lastlog (shell-command-to-string
-                   "cd ~/programming/EMchat/emchat && git log -1"))
-         (time (format-time-string "The local time here is: %c"))
-         (beer (sy-emchat-beer-love))
-         (song (sy-emchat-now-playing))
-         (help "Cmds are prefixed with `,,' (ie, ,,cmd).  Only the first
-valid cmd in a msg is accepted.  The cmd can appear anywhere in
-the msg.
-
-Accepted cmds: version, latest, lastlog, emchat-repo, download, yow,
-time, beer, song, help."))
-      (cond ((string-match ",,version" message)
-            (emchat-send-message-helper
-             (format "I am using %s" (emchat-version)) (list alias)
-             'automatic "Version sent"))
-           ((string-match ",,latest" message)
-            (emchat-send-message-helper latest (list alias) 'automatic "Latest sent"))
-           ((string-match ",,lastlog" message)
-            (emchat-send-message-helper lastlog (list alias) 'automatic "Lastlog sent"))
-           ((string-match ",,emchat-repo" message)
-            (emchat-send-message-helper repo (list alias) 'automatic "Repo sent"))
-           ((string-match ",,download" message)
-            (emchat-send-message-helper download (list alias) 'automatic "Download sent"))
-           ((string-match ",,yow" message)
-            (emchat-send-message-helper (format "%s" (yow)) (list alias)
-                                      'automatic "Yow sent"))
-           ((string-match ",,time" message)
-            (emchat-send-message-helper time (list alias) 'automatic "Time sent"))
-                                       ;((string-match ",,temp-f" message)
-                                       ; (emchat-send-message (sy-emchat-temp 'fahrenheit) alias))
-                                       ;((string-match ",,temp" message)
-                                       ; (emchat-send-message (sy-emchat-temp) alias))
-           ((string-match ",,beer" message)
-            (emchat-send-message-helper beer (list alias) 'automatic "Beer sent"))
-           ((string-match ",,song" message)
-            (emchat-send-message-helper song (list alias) 'automatic "Song sent"))
-           ((string-match ",,help" message)
-            (emchat-send-message-helper help (list alias) 'automatic "Help sent"))))))
-
-(add-hook 'emchat-new-message-hook #'sy-emchat-incoming-msg-hook)
-
-(defun sy-emchat-zero-wharf ()
-  "Helper func to zero wharf counters."
-  (interactive)
-  (emchat-wharf-change-messages "New" -9999)
-  (emchat-wharf-change-messages "Sys" -9999))
-
-;; Use the Wharf if not using XWEM
-(unless (or (string= "notyet" (getenv "XWEM_RUNNING"))
-           (string= "yes" (getenv "XWEM_RUNNING"))
-           (not (device-on-window-system-p)))
-  (require 'emchat-wharf)
-  (setq emchat-wharf-frame-use-p t)
-  (setq emchat-wharf-notice-riece-flag t)
-  (push (cons 'left 1690) emchat-wharf-frame-props)
-  (push (cons 'top 5) emchat-wharf-frame-props)
-  (push (cons 'internal-border-width 4) emchat-wharf-frame-props)
-  ;; `override-redirect' means no WM decorations, and you also get
-  ;; sticky and always on top and skip pagers and task lists etc.
-  ;; The downside is that often new windows will appear underneath
-  ;; because the WM/DE has no knowledge of its existence.  I don't
-  ;; use this in KDE because you can easily get the same effect
-  ;; without the downside with KDE's "Window Rules".  I also don't
-  ;; use this in Sawfish for similar reasons.
-  (unless (or (string= (getenv "KDE_FULL_SESSION") "true")
-             (string= (getenv "SAWFISH_IS_RUNNING") "true"))
-    (push (cons 'override-redirect t) emchat-wharf-frame-props))
-  (push (cons 'border-width 1) emchat-wharf-frame-props)
-  (push (cons 'border-color "red") emchat-wharf-frame-props)
-  (add-hook 'emchat-new-message-hook #'emchat-wharf-inc-messages)
-  (add-hook 'emchat-system-message-hook #'emchat-wharf-inc-system)
-  (add-hook 'emchat-read-message-hook #'emchat-wharf-dec-messages)
-  (add-hook 'riece-biff-activity-hook #'emchat-wharf-riece-active)
-  (add-hook 'riece-biff-clear-hook #'emchat-wharf-riece-inactive)
-  (add-hook 'emchat-track-clear-hook #'sy-emchat-zero-wharf)
-  (define-key emchat-log-mode-map [?C] #'sy-emchat-zero-wharf))
-
-;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*
-(message "EMchat settings loaded")
+;; (setq emchat-directory
+;;       (file-name-as-directory
+;;        (expand-file-name "emchat" user-init-directory)))
+;; (load "emchat")
+
+;; ;;; Experimental stuff
+;; ;; EMchat works great in a tty, but some settings I use are best
+;; ;; suited for X, so this just turns them off.
+;; (defun tty-im-setup ()
+;;   "Set some things so I can use EMchat/Riece in tty."
+;;   (interactive)
+;;   (setq emchat-status-use-gutter nil
+;;     emchat-start-in-new-frame nil
+;;     emchat-wharf-frame-use-p nil))
+;; ;;; 
+
+;; (when (device-on-window-system-p)
+;;   (setq emchat-status-use-gutter t
+;;     emchat-start-in-new-frame t))
+
+;; (setq
+;;  emchat-doctor-enabled-flag t
+;;  emchat-emphasis-enabled-flag t
+;;  emchat-history-enabled-flag t
+;;  emchat-log-fill-column 72
+;;  emchat-port 5190
+;;  emchat-server "login.icq.com"
+;;  emchat-smiley t
+;;  emchat-track-enable t
+;;  emchat-track-indicator-type 'char
+;;  emchat-user-alias "JackaLX"
+;;  emchat-user-password (getenv "ICQPASSWD")
+;;  emchat-user-meta-nickname "JackaLX"
+;;  emchat-user-meta-firstname "Steve"
+;;  emchat-user-meta-lastname "Youngs"
+;;  emchat-user-meta-primary-email "steve@sxemacs.org"
+;;  emchat-user-meta-secondary-email "steve@steveyoungs.com"
+;;  emchat-user-meta-city "Brisbane"
+;;  emchat-user-meta-state "DOA"
+;;  emchat-user-meta-hide-ip t
+;;  emchat-user-meta-authorization t
+;;  emchat-user-meta-about 
+;;  "EMchat Maintainer.\n
+;;  If you'd like to help out with the EMchat project,
+;;  please send me a message.  Or go to:
+;;     <http://www.emchat.org/>\n
+;;  SXEmacs - It's not just an editor.
+;;           It's a way of life!
+;;     <http://www.sxemacs.org/>"
+;;  emchat-user-meta-homepage "http://www.sxemacs.org/"
+;;  emchat-user-meta-sex 'male
+;;  emchat-user-meta-language-1 12
+;;  emchat-user-meta-language-2 12
+;;  emchat-user-meta-language-3 12
+;;  emchat-user-meta-web-aware t
+;;  emchat-user-initial-status "online"
+;;  emchat-user-meta-age 38
+;;  emchat-user-meta-birth-day 19
+;;  emchat-user-meta-birth-month 6
+;;  emchat-user-meta-birth-year 66
+;;  emchat-user-meta-cell-phone "6666 6666"
+;;  emchat-user-meta-country 61
+;;  emchat-user-meta-fax "7777 7777"
+;;  emchat-user-meta-phone "8888 8888"
+;;  emchat-user-meta-street "1 Linux Lane"
+;;  emchat-user-meta-work-homepage "http://www.sxemacs.org/"
+;;  emchat-user-meta-work-address "What me, work?"
+;;  emchat-user-meta-work-city "Penguinville"
+;;  emchat-user-meta-work-company "SlackBiz"
+;;  emchat-user-meta-work-department "Slackers"
+;;  emchat-user-meta-work-fax "9999 9999"
+;;  emchat-user-meta-work-phone "5555 5555"
+;;  emchat-user-meta-work-position "Seated"
+;;  emchat-user-meta-work-state "DOA"
+;;  emchat-user-meta-zipcode "9999"
+;;  emchat-buddy-view 'emchat-all-aliases
+;;  emchat-use-sound-flag nil
+;;  emchat-save-log-on-exit-p nil
+;;  emchat-log-debug-flag t
+;;  emchat-user-meta-invisible nil
+;;  emchat-buddy-show-avatar t
+;;  emchat-buddy-xface-foreground "black"
+;;  emchat-buddy-xface-background "red")
+
+;; ;; PulseAudio only seems to work if X is running
+;; (when (getenv "DISPLAY")
+;;   (setq  emchat-use-sound-flag t))
+
+;; ;; Lets not auto-away.
+;; (customize-set-variable 'emchat-auto-away-timeout 0)
+
+;; (emchat-world-update)
+
+;; (when emchat-use-sound-flag
+;;   (setq emchat-audio-device
+;;     ;(make-audio-device 'alsa))
+;;     (make-audio-device 'pulse
+;;                        :client "SXEmacs::EMchat"
+;;                        :stream "EMchat::Stream"
+;;                        :role "phone"))
+;;   ;; SXEmacs doesn't like current ffmpeg, and SoX is dodgy ATM too
+;;   (setq emchat-media-driver 'sndfile)
+;;   (setq default-media-stream-volume 50)
+;;   (setq emchat-sound-alist
+;;     '((auth-sound . "Auth.wav")
+;;       (buddy-sound . "Online.wav")
+;;       (chat-sound . "Chat.wav")
+;;       (emailx-sound . "System.wav")
+;;       (message-sound . "Message.wav")
+;;       (pager-sound . "System.wav")
+;;       (system-sound . "System.wav")
+;;       (url-sound . "URL.wav"))))
+
+
+;; ;:*=======================
+;; ;:* Addons/extensions
+
+;; (defun sy-emchat-now-playing ()
+;;   "Return title/artist of current song."
+;;   (interactive)
+;;   (format "NP: %s" (mpd-now-playing)))
+
+;; (defun sy-emchat-send-now-playing ()
+;;   "Send title/artist of current song."
+;;   (interactive)
+;;   (let ((song (sy-emchat-now-playing))
+;;     (alias (emchat-alias-around)))
+;;     (emchat-send-message song alias)))
+
+;; (defun sy-emchat-yow ()
+;;   "When you can't think of what to say..."
+;;   (interactive)
+;;   (let ((message (yow))
+;;     (alias (emchat-alias-around)))
+;;     (emchat-send-message message alias)))
+
+
+;; (require 'emchat-menu)
+;; (define-key emchat-log-mode-map (kbd "C-c p") #'sy-emchat-send-now-playing)
+;; (define-key emchat-log-mode-map (kbd "C-c y") #'sy-emchat-yow)
+
+;; ;:*=======================
+;; ;:* Hooks
+;; (eval-when-compile
+;;   (defvar alias)
+;;   (defvar message))
+
+;; ;;(defun sy-emchat-temp (&optional fahrenheit)
+;; ;;  "Returns a string to send to a ICQ user saying the current temp.
+
+;; ;;With optional arg, FAHRENHEIT, don't send the temp in celsius."
+;; ;;  (if fahrenheit
+;; ;;      (let ((xwem-weather-temperature-format 'fahrenheit))
+;; ;;  (format "The current temperature here is: %s°F"
+;; ;;          (substring (xwem-weather-get-temp) 0 -2)))
+;; ;;    (let ((xwem-weather-temperature-format 'celsius))
+;; ;;      (format "The current temperature here is: %s°C"
+;; ;;        (substring (xwem-weather-get-temp) 0 -2)))))
+
+;; (defconst sy-beer-love
+;;   ["when you realise, 24 beers in a case, 24 hours in a day.  Coincidence?"
+;;    "when you wake up with `CRS'... Can't Remember Shit."
+;;    "when, to you, it's not a six-pack, it's a support group."
+;;    "when it is the reason you get up every afternoon."
+;;    "when you favour the 2 party system... party on Friday, party on Saturday."
+;;    "when getting f#@ked up is your hobby."]
+;;   "Proof you love beer.")
+
+;; (defun sy-emchat-beer-love ()
+;;   (let ((prefix "You know you love beer... ")
+;;     (love (aref sy-beer-love
+;;                 (% (+ (% (random t) 1000) 1000)
+;;                    (length sy-beer-love)))))
+;;     (concat prefix love)))
+
+;; (defun sy-emchat-incoming-msg-hook ()
+;;   (when (or (member alias emchat-visible-contacts)
+;;         (not (member alias emchat-invisible-contacts)))
+;;     (let ((repo "The main EMchat git repo is:
+;; git clone http://git.emchat.org/emchat")
+;;       (download "EMchat source tarballs and (S)XEmacs pkg tarballs
+;; can be downloaded from:  Offline ATM, sorry")
+;;       (latest (shell-command-to-string
+;;                "cd ~/programming/EMchat/emchat && git describe"))
+;;       (lastlog (shell-command-to-string
+;;                 "cd ~/programming/EMchat/emchat && git log -1"))
+;;       (time (format-time-string "The local time here is: %c"))
+;;       (beer (sy-emchat-beer-love))
+;;       (song (sy-emchat-now-playing))
+;;       (help "Cmds are prefixed with `,,' (ie, ,,cmd).  Only the first
+;; valid cmd in a msg is accepted.  The cmd can appear anywhere in
+;; the msg.
+
+;; Accepted cmds: version, latest, lastlog, emchat-repo, download, yow,
+;; time, beer, song, help."))
+;;       (cond ((string-match ",,version" message)
+;;          (emchat-send-message-helper
+;;           (format "I am using %s" (emchat-version)) (list alias)
+;;           'automatic "Version sent"))
+;;         ((string-match ",,latest" message)
+;;          (emchat-send-message-helper latest (list alias) 'automatic "Latest sent"))
+;;         ((string-match ",,lastlog" message)
+;;          (emchat-send-message-helper lastlog (list alias) 'automatic "Lastlog sent"))
+;;         ((string-match ",,emchat-repo" message)
+;;          (emchat-send-message-helper repo (list alias) 'automatic "Repo sent"))
+;;         ((string-match ",,download" message)
+;;          (emchat-send-message-helper download (list alias) 'automatic "Download sent"))
+;;         ((string-match ",,yow" message)
+;;          (emchat-send-message-helper (format "%s" (yow)) (list alias)
+;;                                    'automatic "Yow sent"))
+;;         ((string-match ",,time" message)
+;;          (emchat-send-message-helper time (list alias) 'automatic "Time sent"))
+;;                                     ;((string-match ",,temp-f" message)
+;;                                     ; (emchat-send-message (sy-emchat-temp 'fahrenheit) alias))
+;;                                     ;((string-match ",,temp" message)
+;;                                     ; (emchat-send-message (sy-emchat-temp) alias))
+;;         ((string-match ",,beer" message)
+;;          (emchat-send-message-helper beer (list alias) 'automatic "Beer sent"))
+;;         ((string-match ",,song" message)
+;;          (emchat-send-message-helper song (list alias) 'automatic "Song sent"))
+;;         ((string-match ",,help" message)
+;;          (emchat-send-message-helper help (list alias) 'automatic "Help sent"))))))
+
+;; (add-hook 'emchat-new-message-hook #'sy-emchat-incoming-msg-hook)
+
+;; (defun sy-emchat-zero-wharf ()
+;;   "Helper func to zero wharf counters."
+;;   (interactive)
+;;   (emchat-wharf-change-messages "New" -9999)
+;;   (emchat-wharf-change-messages "Sys" -9999))
+
+;; ;; Use the Wharf if not using XWEM
+;; (unless (or (string= "notyet" (getenv "XWEM_RUNNING"))
+;;         (string= "yes" (getenv "XWEM_RUNNING"))
+;;         (not (device-on-window-system-p)))
+;;   (require 'emchat-wharf)
+;;   (setq emchat-wharf-frame-use-p t)
+;;   (setq emchat-wharf-notice-riece-flag t)
+;;   (push (cons 'left 1690) emchat-wharf-frame-props)
+;;   (push (cons 'top 5) emchat-wharf-frame-props)
+;;   (push (cons 'internal-border-width 4) emchat-wharf-frame-props)
+;;   ;; `override-redirect' means no WM decorations, and you also get
+;;   ;; sticky and always on top and skip pagers and task lists etc.
+;;   ;; The downside is that often new windows will appear underneath
+;;   ;; because the WM/DE has no knowledge of its existence.  I don't
+;;   ;; use this in KDE because you can easily get the same effect
+;;   ;; without the downside with KDE's "Window Rules".  I also don't
+;;   ;; use this in Sawfish for similar reasons.
+;;   (unless (or (string= (getenv "KDE_FULL_SESSION") "true")
+;;           (string= (getenv "SAWFISH_IS_RUNNING") "true"))
+;;     (push (cons 'override-redirect t) emchat-wharf-frame-props))
+;;   (push (cons 'border-width 1) emchat-wharf-frame-props)
+;;   (push (cons 'border-color "red") emchat-wharf-frame-props)
+;;   (add-hook 'emchat-new-message-hook #'emchat-wharf-inc-messages)
+;;   (add-hook 'emchat-system-message-hook #'emchat-wharf-inc-system)
+;;   (add-hook 'emchat-read-message-hook #'emchat-wharf-dec-messages)
+;;   (add-hook 'riece-biff-activity-hook #'emchat-wharf-riece-active)
+;;   (add-hook 'riece-biff-clear-hook #'emchat-wharf-riece-inactive)
+;;   (add-hook 'emchat-track-clear-hook #'sy-emchat-zero-wharf)
+;;   (define-key emchat-log-mode-map [?C] #'sy-emchat-zero-wharf))
+
+;; ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*
+;; (message "EMchat settings loaded")
diff --git a/init-el b/init-el
index 37440b6..41b91a0 100644 (file)
--- a/init-el
+++ b/init-el
 ;; lisp-initd.el to NOT be able to byte-compile init.d.el
 (add-hook 'emacs-lisp-mode-hook #'turn-on-howm-mode)
 
+;; I'm toying with the idea of trying to get XWEM running again.  This
+;; won't run until I explicitly set XWEM_RUNNING to "notyet" in my
+;; ~/.xinitrc, so quite safe to leave this here until I'm ready for
+;; it.
+(when (and (string= "notyet" (getenv "XWEM_RUNNING"))
+          (device-on-window-system-p))
+  (require 'xwem-load)
+  (xwem-init)
+  (setenv "XWEM_RUNNING" "yes"))
+
 ;:*=======================
 ;:* Links to the rest of my config
 ;;
 ;;   files for easy viewing online.  And the filenames are hyperlinks
 ;;   to the source init files themselves.
 ;;
-;;   All the source files are the real deal.  They're actually symlinks
-;;   to the ones I have in ~/.config/sxemacs/init.d In other words, these
-;;   babies are live! :-)
-;;
 ;; <!-- Ignore this mess, it is purely for the online HTML version of this file -->