サイトマップ 更新履歴 ニュース Elispセクション 利用手引

Gajim

Here is a function to open a gajim chat window within Emacs :

(defvar gajim-remote "/usr/bin/gajim-remote")
(defvar gajim-user-list ())
(defun my-gajim-get-list()
  (save-excursion
	(with-temp-buffer
	  (call-process gajim-remote nil t nil "list_contacts")
	  (goto-char (point-min))
	  (while (re-search-forward "^jid[ ]*:[ ]*\\(.*\\)$" (point-max) t )
		(setq gajim-user-list (append gajim-user-list (list (match-string-no-properties 1)))))))
  gajim-user-list)

(defun my-gajim-talk()
  (interactive)
  (let* ((ff (if (not gajim-user-list)(my-gajim-get-list) gajim-user-list))
		 (answer (completing-read "Jabber: " (mapcar (lambda (tt)(list tt)) ff))))
	(message answer)
	(start-process "*GAJIM*" nil gajim-remote "open_chat" answer)
	)
  )