Mercurial > emacs
view lisp/gnus/gnus-audio.el @ 51195:3cbf29813eea
(struct frame): Rename members height to text_lines,
width to text_cols, window_height to total_lines, window_width to
total_cols, new_height to new_text_lines, new_width to
new_text_cols. All uses changed.
(struct frame): New members which consolidate common members of
x_output, w32_output, and mac_output structures: left_pos,
top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
win_gravity, size_hint_flags, border_width, internal_border_width,
line_height, fringe_cols, left_fringe_width, right_fringe_width,
want_fullscreen. All uses changed.
(struct frame): New member column_width contaning the canonical
column width, analogue to line_height. All uses changed.
(struct frame): Rename members scroll_bar_pixel_width to
config_scroll_bar_width, and scroll_bar_cols to
config_scroll_bar_cols. All uses changed.
(struct frame): New member scroll_bar_actual_width which
consolidates and renames the vertical_scroll_bar_extra member of
x_output, w32_output, and mac_output structures. All uses changed.
(FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
from x/w32/macterm.h files. All uses changed. Also change code
which referred to f->output_data...->pixel_height.
(FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
from x/w32/macterm.h files. All uses changed. Also change code
which referred to f->output_data...->pixel_width.
(FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
Also change code which referred to f->height.
(FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
Also change code which referred to f->width.
(FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
to update new_text_lines and new_text_cols members directly.
(FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
(FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
FRAME_SCROLL_BAR_COLS. All uses changed.
(FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
(FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
(FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
(FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
(SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
(FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
(WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
(WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
(FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
return line_height member (it now has proper value also for
non-window frames).
(FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
return new column_width member (rather than the default font width).
(FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
(FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
from x/w32/macterm.h files. Unconditionally return corresponding
member of frame structure (they now have proper values also for
non-window frames).
(FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
Calculate return value from left and right widths.
(FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
internal_border_width member (has proper value for non-window frame).
(FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
(FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
(FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
(FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
(FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
consolidated from xterm.h, macterm.h, and w32term.h.
(FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
consolidated from xterm.h, macterm.h, and w32term.h.
(FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
(FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
(FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
consolidated from x/mac/w32term.h.
(FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
consolidated from x/mac/w32term.h.
(FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
(FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sat, 24 May 2003 21:58:07 +0000 |
parents | a26d9b55abb6 |
children | 695cf19ef79e d7ddb3e565de |
line wrap: on
line source
;;; gnus-audio.el --- sound effects for Gnus ;; Copyright (C) 1996, 2000 Free Software Foundation ;; Author: Steven L. Baur <steve@miranova.com> ;; Keywords: news, mail, multimedia ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; This file provides access to sound effects in Gnus. ;; This file is partially stripped to support earcons.el. ;;; Code: (require 'nnheader) (defgroup gnus-audio nil "Playing sound in Gnus." :version "21.1" :group 'gnus-visual :group 'multimedia) (defvar gnus-audio-inline-sound (or (if (fboundp 'device-sound-enabled-p) (device-sound-enabled-p)) ; XEmacs (fboundp 'play-sound)) ; Emacs 21 "Non-nil means try to play sounds without using an external program.") (defcustom gnus-audio-directory (nnheader-find-etc-directory "sounds") "The directory containing the Sound Files." :type '(choice directory (const nil)) :group 'gnus-audio) (defcustom gnus-audio-au-player "/usr/bin/showaudio" "Executable program for playing sun AU format sound files." :group 'gnus-audio :type 'string) (defcustom gnus-audio-wav-player "/usr/local/bin/play" "Executable program for playing WAV files." :group 'gnus-audio :type 'string) ;;; The following isn't implemented yet. Wait for Millennium Gnus. ;;(defvar gnus-audio-effects-enabled t ;; "When t, Gnus will use sound effects.") ;;(defvar gnus-audio-enable-hooks nil ;; "Functions run when enabling sound effects.") ;;(defvar gnus-audio-disable-hooks nil ;; "Functions run when disabling sound effects.") ;;(defvar gnus-audio-theme-song nil ;; "Theme song for Gnus.") ;;(defvar gnus-audio-enter-group nil ;; "Sound effect played when selecting a group.") ;;(defvar gnus-audio-exit-group nil ;; "Sound effect played when exiting a group.") ;;(defvar gnus-audio-score-group nil ;; "Sound effect played when scoring a group.") ;;(defvar gnus-audio-busy-sound nil ;; "Sound effect played when going into a ... sequence.") ;;;###autoload ;;(defun gnus-audio-enable-sound () ;; "Enable Sound Effects for Gnus." ;; (interactive) ;; (setq gnus-audio-effects-enabled t) ;; (gnus-run-hooks gnus-audio-enable-hooks)) ;;;###autoload ;(defun gnus-audio-disable-sound () ;; "Disable Sound Effects for Gnus." ;; (interactive) ;; (setq gnus-audio-effects-enabled nil) ;; (gnus-run-hooks gnus-audio-disable-hooks)) ;;;###autoload (defun gnus-audio-play (file) "Play a sound FILE through the speaker." (interactive) (let ((sound-file (if (file-exists-p file) file (expand-file-name file gnus-audio-directory)))) (when (file-exists-p sound-file) (cond ((and gnus-audio-inline-sound (condition-case nil ;; Even if we have audio, we may fail with the ;; wrong sort of sound file. (progn (play-sound-file sound-file) t) (error nil)))) ;; If we don't have built-in sound, or playing it failed, ;; try with external program. ((equal "wav" (file-name-extension sound-file)) (call-process gnus-audio-wav-player sound-file 0 nil sound-file)) ((equal "au" (file-name-extension sound-file)) (call-process gnus-audio-au-player sound-file 0 nil sound-file)))))) ;;; The following isn't implemented yet, wait for Red Gnus ;;(defun gnus-audio-startrek-sounds () ;; "Enable sounds from Star Trek the original series." ;; (interactive) ;; (setq gnus-audio-busy-sound "working.au") ;; (setq gnus-audio-enter-group "bulkhead_door.au") ;; (setq gnus-audio-exit-group "bulkhead_door.au") ;; (setq gnus-audio-score-group "ST_laser.au") ;; (setq gnus-audio-theme-song "startrek.au") ;; (add-hook 'gnus-select-group-hook 'gnus-audio-startrek-select-group) ;; (add-hook 'gnus-exit-group-hook 'gnus-audio-startrek-exit-group)) ;;;*** (defvar gnus-startup-jingle "Tuxedomoon.Jingle4.au" "Name of the Gnus startup jingle file.") (defun gnus-play-jingle () "Play the Gnus startup jingle, unless that's inhibited." (interactive) (gnus-audio-play gnus-startup-jingle)) (provide 'gnus-audio) (run-hooks 'gnus-audio-load-hook) ;;; gnus-audio.el ends here