;;; gnus-xmas.el --- Gnus functions for XEmacs
;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
-;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;; This file is part of GNU Emacs.
(require 'text-props)
(defvar menu-bar-mode (featurep 'menubar))
(require 'messagexmas)
+(require 'wid-edit)
(defgroup gnus-xmas nil
"XEmacsoid support for Gnus"
directory)
:group 'gnus-xmas)
+;;(format "%02x%02x%02x" 114 66 20) "724214"
+
(defvar gnus-xmas-logo-color-alist
'((flame "#cc3300" "#ff2200")
(pine "#c0cc93" "#f8ffb8")
(grape "#b264cc" "#cf7df")
(labia "#cc64c2" "#fd7dff")
(berry "#cc6485" "#ff7db5")
+ (dino "#724214" "#1e3f03")
(neutral "#b4b4b4" "#878787")
(september "#bf9900" "#ffcc00"))
"Color alist used for the Gnus logo.")
-(defcustom gnus-xmas-logo-color-style 'moss
+(defcustom gnus-xmas-logo-color-style 'dino
"*Color styles used for the Gnus logo."
:type '(choice (const flame) (const pine) (const moss)
(const irish) (const sky) (const tin)
(const velvet) (const grape) (const labia)
- (const berry) (const neutral) (const september))
+ (const berry) (const neutral) (const september)
+ (const dino))
:group 'gnus-xmas)
(defvar gnus-xmas-logo-colors
(defvar gnus-active-hashtb)
(defvar gnus-article-buffer)
(defvar gnus-auto-center-summary)
-(defvar gnus-buffer-list)
(defvar gnus-current-headers)
(defvar gnus-level-killed)
(defvar gnus-level-zombie)
(gnus-xmas-menu-add tree
gnus-tree-menu))
+(defun gnus-xmas-draft-menu-add ()
+ (gnus-xmas-menu-add draft
+ gnus-draft-menu))
+
(defun gnus-xmas-server-menu-add ()
(gnus-xmas-menu-add menu
gnus-server-server-menu gnus-server-connections-menu))
(event-to-character event))
event)))
-(defun gnus-xmas-seconds-since-epoch (date)
- "Return a floating point number that says how many seconds have lapsed between Jan 1 12:00:00 1970 and DATE."
- (let* ((tdate (mapcar (lambda (ti) (and ti (string-to-int ti)))
- (timezone-parse-date date)))
- (ttime (mapcar (lambda (ti) (and ti (string-to-int ti)))
- (timezone-parse-time
- (aref (timezone-parse-date date) 3))))
- (edate (mapcar (lambda (ti) (and ti (string-to-int ti)))
- (timezone-parse-date "Jan 1 12:00:00 1970")))
- (tday (- (timezone-absolute-from-gregorian
- (nth 1 tdate) (nth 2 tdate) (nth 0 tdate))
- (timezone-absolute-from-gregorian
- (nth 1 edate) (nth 2 edate) (nth 0 edate)))))
- (+ (nth 2 ttime)
- (* (nth 1 ttime) 60)
- (* (float (nth 0 ttime)) 60 60)
- (* (float tday) 60 60 24))))
-
(defun gnus-xmas-define ()
(setq gnus-mouse-2 [button2])
+ (setq gnus-widget-button-keymap widget-button-keymap)
(unless (memq 'underline (face-list))
(and (fboundp 'make-face)
(defvar gnus-mouse-face-prop 'highlight)
- (unless (fboundp 'encode-time)
- (defun encode-time (sec minute hour day month year &optional zone)
- (let ((seconds
- (gnus-xmas-seconds-since-epoch
- (timezone-make-arpa-date
- year month day (timezone-make-time-string hour minute sec)
- zone))))
- (list (floor (/ seconds (expt 2 16)))
- (round (mod seconds (expt 2 16)))))))
-
(defun gnus-byte-code (func)
"Return a form that can be `eval'ed based on FUNC."
(let ((fval (indirect-function func)))
'gnus-xmas-mode-line-buffer-identification)
(fset 'gnus-key-press-event-p 'key-press-event-p)
(fset 'gnus-region-active-p 'region-active-p)
+ (fset 'gnus-annotation-in-region-p 'gnus-xmas-annotation-in-region-p)
(add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add)
(add-hook 'gnus-summary-mode-hook 'gnus-xmas-summary-menu-add)
(add-hook 'gnus-agent-summary-mode-hook 'gnus-xmas-agent-summary-menu-add)
(add-hook 'gnus-agent-group-mode-hook 'gnus-xmas-agent-group-menu-add)
(add-hook 'gnus-agent-server-mode-hook 'gnus-xmas-agent-server-menu-add)
-
+
+ (add-hook 'gnus-draft-mode-hook 'gnus-xmas-draft-menu-add)
(add-hook 'gnus-summary-mode-hook
'gnus-xmas-switch-horizontal-scrollbar-off)
(add-hook 'gnus-tree-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off))
(while (not (eobp))
(insert (make-string (/ (max (- (window-width) (or x 35)) 0) 2)
?\ ))
- (forward-line 1)))
+ (forward-line 1))
+ (setq gnus-simple-splash nil))
(goto-char (point-min))
(let* ((pheight (+ 20 (count-lines (point-min) (point-max))))
(wheight (window-height))
(when (eq (device-type) 'x)
(gnus-splash)))
+(defun gnus-xmas-annotation-in-region-p (b e)
+ (map-extents (lambda (e u) t) nil b e nil nil 'mm t))
+
(provide 'gnus-xmas)
;;; gnus-xmas.el ends here