italk.el - italk client for Mule 2.x (based on Emacs 19.x) and Emacs 20.x Italk.el is a client of the italk chat system, running on mule 2.x (a multilingual extension of emacs, based on 19.x) and emacs 20.x. It works under both X window system environments and character-based terminals. Windows ports of emacs (mule for Win32 and Meadow) are also supported. Italk.el is easy to install and user-customizable by ~/.emacs setting. [Getting Started] You can easily start italk'ing with italk.el as follows: - Run your emacs variant and load italk.el |M-x load-file [ret] DIRECTORY/italk.el [ret] |or, |C-x C-f italk.el [ret] M-x eval-current-buffer [ret] - Type "C-u M-x italk [ret]" Italk.el asks you a server host, port and your login handle. - Italk.el connects you to the server. Please enjoy the chat :-) Under X environments, emacs shows pull-down menus on the top of the frame. You can operate italk.el with them. [For Daily Use] Put italk.el into a directory in your load-path for emacs to load italk.el automatically. **For emacs novices: how to set "load-path" |Prepare an empty directory, by executing "mkdir ~/elisp [ret]" for example. |Put the following emacs-lisp commands into the top of your ~/.emacs file. |-- |(setq load-path | (append | (list (expand-file-name "~/elisp")) | load-path)) |-- Add the following 4 lines into ~/.emacs file and restart emacs. -- (autoload 'italk "italk" "Inter talk" t nil) (autoload 'italk-other-frame "italk" "Inter talk" t nil) (setq italk-user-name "Harada") ; Replace your name! (setq italk-server "main.italk.ne.jp") ; server to join -- You can start italk'ing simply by "M-x italk [ret]" for the next time. [Key Bindings] The following key bindings work in the *italk INPUT* buffer. Some of them also work in the *italk LOG* buffer. [ret] send one line C-j divide a line in the middle and send it # what's this for?(^^; C-c l re-divide the buffers C-c r send a region altogether C-c R send a region altogether, replacing TABs with spaces and prepending a quotation mark to each line C-c M-r send a region altogether, filling (automatically folding) the lines and prepending quotes C-c s toggle automatic scrolling (jump to the bottom when a new message appears) C-c v show the version of the italk.el C-c q quit inter-talk (send "/q") C-c SPC scroll the log forward C-c DEL scroll the log backward C-c p control the telegram mode C-c o search the log buffer for your last logout message [Useful(?) Functions] o Selecting the server to connect By typing C-u M-x italk[ret], you can let italk.el ask the hostname of the server to connect. o "Ping" Function It is a function to beep and notify you, when someone calls you by writing "ping " like: |(12:46:23)[Harada] ping tak It won't beep after 120 seconds since the last beep or your last message, in order to avoid repeated beeping. o Telegram Mode This is a function to put "/p " automatically into the input buffer, when you want to continue sending telegrams to a particular person. (C-c p) It is canceled when you hit the return key without writing anything. To change the target of the telegram mode, move the cursor backward and directly modify the target number. For the next time, the telegram mode uses the new number. When you receive a telegram from another person and want to write a reply to the person, type C-c p again in the telegram mode. Then, the target switches. o Kill-name Function It eliminates messages from particular senders that you don't want to see. Specify them in .emacs like -- (setq italk-kill-name "Aito-kun\\|Haegashi") -- You can enumerate as many senders as you want by dividing them with \\|. When you change your mind and want to see the senders' messages, you can toggle the kill-name function by typing C-c k. o italk-paint-buffer A log file obtained by tools like httpget.pl is not colored and kill-named, and might be a bit hard to read. In such cases, load the log file in the italk mode, and type M-x italk-paint-buffer [ret]. Then, the buffer is modified so that unnecessary messages are eliminated, some messages are colored, etc. o Mouse Operations Clicking a URL (colored and underlined) in a log with the middle button invokes a browser like netscape. Shift + one right-click toggle log scrolling. Shift + two right-clicks scroll the log to your last logout. Shift + three right-clicks reset the window configuration. Italk.el supports wheel mice. Configure your X window system so that an upward/downward wheel move causes a button 4/5 event. o logsave It saves the content of the log buffer into a file when the connection terminates. Write (setq italk-logsave-mode t) around .emacs. It can also extract and save telegrams and secret messages only. Write (setq italk-logsave-mode 'telegram) around .emacs. They are saved in ~/Italk/yyyymmdd.log (the directory can be changed). To save it by hand, type M-x italk-logsave-buffer. Italk.el doesn't remember which part of the log you saved, so be careful not to save the same part twice (You may remove it by hand by modifying the log buffer, for example). o logmemo In logsave, if you modify the log buffer as follows, italk.el extracts that part and save it to another file. Go to the log buffer by typing C-x o, enable modification by typing C-x C-q, and stop automatic scrolling by C-c s. Then, modify the log buffer as follows. |([tak@gold.ma.onlab.ntt.co.jp] logged in @ 1999-02-09(Tue) 21:06:23 JST) |(21:08:24)[tak] logmemo seems working well:-) |#: prof. harada doesn't seem to understand it:-) |#:(21:08:47)[Harada] i don't see well how to use it. (^^; |(21:10:20)[tak] modify the log buffer a bit:-) When the connection terminates, lines beginning with #: are saved in ~/Italk/logmemo.txt. [Customization in Emacs 20.x] If you are using Emacs 20.x, you can interactively customize server lists, display colors, etc.. Type M-x customize[ret] to enter the customization mode. For details, see the explanation in the beginning of italk.el. (Sorry, written in Japanese currently.) [Advanced Customization] See the table of variables for customization in the beginning of italk.el. In particular, using hooks properly, you can perform many customizations without modifying italk.el. italk-startup-hook called when italk.el starts. use for custom key configuration etc. italk-colorset-hook set when you want non-standard coloring. italk-ping-hook use to do something special when you get "ping " Below is an example of customization (to add in ~/.emacs). By the way, you may also byte-compile italk.el. -- ;; config for italk (autoload 'italk "italk" "Inter talk" t nil) (autoload 'italk-other-frame "italk" "Inter talk" t nil) (setq italk-user-name "Tak.") (setq italk-kill-name "Hoge\\|LaLa") (defun tak-italk-startup-sub () (define-key italk-input-map "\C-ct" 'italk-telegram-mode) (add-hook 'italk-ping-hook 'tak-italk-ping-sub) ) (defun tak-italk-colorset-sub () (copy-face 'default 'italk-time-face) (set-face-foreground 'italk-name-face "DarkOliveGreen") (set-face-foreground 'italk-login-face "red") (set-face-foreground 'italk-system-face "navy blue") (copy-face 'highlight 'italk-evil-face) ) (defun tak-italk-ping-sub () (if (string-match "^#< " italk-pinged-string 0) (process-send-string italk-process (concat "/p " italk-telegram-last-from " Shut up(^^;\r\n") ) ) ) (add-hook 'italk-startup-hook 'tak-italk-startup-sub) (add-hook 'italk-colorset-hook 'tak-italk-colorset-sub) -- [Use italk.el on mule for Win32] (This section might be obsolete) Italk.el runs on mule for Win32 and Meadow (emacs 20.x for Windows). For mule for Win32, put the command '(load "mule-tcp")' before loading italk.el in the ~/.emacs file. To use 3-button mice in mule for Win32, use the following setting to enable the buttons. -- (setq win32-lbutton-to-emacs-button 0) (setq win32-mbutton-to-emacs-button 1) (setq win32-rbutton-to-emacs-button 2) -- [Authors and Contributors] Italk.el was originally written by Harada and is being extended by Tak.: Harada (HARADA Masanori) Tak. (NAKAMURA Takayuki) Many contributors have assisted to make italk.el more useful: tama Applause Iwamoto Oiwa GANA [COPYRIGHT NOTICE] The license of italk.el is based on BSD-style license, we call Italk license. To use, copy, modify, and distribute this software is permitted under Italk license. Italk license is originally written in Japanese and the Japanese version primarily has a validity in the law. The following translated license, just same that BSD-style license, may be correct but we cannot warrant. ----------------------------------------------------------------------------- Copyright (c) 1995-2000 HARADA Masanori and NAKAMURA Takayuki All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of HARADA Masanori and NAKAMURA Takayuki nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. [Get Newer Version of italk.el] We suppose that the following web pages are available:-) http://italk.sourceforge.net/clients/italk-el/ http://italk.lefs.org/~taka/ http://italk.lefs.org/CIAN/ -- italk.el by... original: HARADA Masanori modified: NAKAMURA Takayuki and many contributors.