X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fdevice.el;h=2942e1d1384262d93658864487237e70686f0c92;hb=d8c05de64f98142760a5c0dceda85841d839caa4;hp=06bac1c81b2dd37ff0fd9383042584f714ec8b5d;hpb=a5f466de30a3e927ed1146b0c7e3870e71465c8f;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/device.el b/lisp/device.el index 06bac1c..2942e1d 100644 --- a/lisp/device.el +++ b/lisp/device.el @@ -31,6 +31,18 @@ ;;; Code: +;;; Initialization + +; Specifier tag 'printer which matches printers +(define-specifier-tag 'printer (function device-printer-p)) + +; Specifier tag 'display which matches displays +(define-specifier-tag 'display (function + (lambda (device) + (not (device-printer-p device))))) + +;;; Functions + (defun device-list () "Return a list of all devices." (apply 'nconc (mapcar 'console-device-list (console-list)))) @@ -40,9 +52,10 @@ This is equivalent to the type of the device's console. Value is `tty' for a tty device (a character-only terminal), `x' for a device that is a screen on an X display, +`gtk' for a device that is a GTK connection. `ns' for a device that is a NeXTstep connection (not yet implemented), -`mswindows' for a device that is a Windows or Windows NT connection, -`pc' for a device that is a direct-write MS-DOS screen (not yet implemented), +`mswindows' for a device that is a MS Windows workstation, +`msprinter' for a device that is a MS Windows printer connection, `stream' for a stream device (which acts like a stdio stream), and `dead' for a deleted device." (or device (setq device (selected-device))) @@ -91,6 +104,10 @@ it is nil, it is assumes to be the value returned by emacs-pid." "Return the number of color cells of DEVICE, or nil if unknown." (device-system-metric device 'num-color-cells)) +(defun make-gtk-device () + "Create a new GTK device." + (make-device 'gtk nil)) + (defun make-x-device (&optional display) "Create a new device connected to DISPLAY." (make-device 'x display)) @@ -108,7 +125,7 @@ the toolbar, glyphs, etc." (defun call-device-method (name device &rest args) "Call a DEVICE-specific function with the generic name NAME. -If DEVICE is not provide the selected device is used." +If DEVICE is not provided then the selected device is used." (or device (setq device (selected-device))) (or (symbolp name) (error "function name must be a symbol")) (let ((devmeth (intern (concat (symbol-name