X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece.el;h=33d303091ff85416e56756f3e82742c24f907113;hp=43239ae9c55120e1d15a8ada2884559a14e83e45;hb=8f541cf6e7704b4ffc0b6ecacf1b8ec94406e64d;hpb=db233da28f76a0d9cda97bd169020cf50a869a5d diff --git a/lisp/riece.el b/lisp/riece.el index 43239ae..33d3030 100644 --- a/lisp/riece.el +++ b/lisp/riece.el @@ -24,12 +24,12 @@ ;;; Code: -(require 'riece-filter) (require 'riece-display) (require 'riece-server) (require 'riece-compat) (require 'riece-commands) (require 'riece-addon) +(require 'riece-signal) (autoload 'derived-mode-class "derived") @@ -151,7 +151,9 @@ If optional argument SAFE is nil, overwrite previous definitions." [backspace] scroll-down [return] scroll-up " " scroll-up + [home] beginning-of-buffer "$" end-of-buffer + [end] end-of-buffer "/" riece-command-raw ">" end-of-buffer "<" beginning-of-buffer @@ -194,7 +196,9 @@ If optional argument SAFE is nil, overwrite previous definitions." [delete] riece-command-scroll-down [backspace] riece-command-scroll-down " " riece-command-scroll-up + [home] riece-command-beginning-of-buffer "$" riece-command-end-of-buffer + [end] riece-command-end-of-buffer ">" riece-command-next-channel "<" riece-command-previous-channel "\C-j" riece-command-next-channel @@ -299,18 +303,21 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect." (riece-display-connect-signals) (riece-redisplay-buffers) (riece-open-server riece-server "") - (let ((server-list riece-startup-server-list)) - (while server-list - (riece-command-open-server (car server-list)) - (setq server-list (cdr server-list)))) - (let ((pointer riece-addons)) - (while pointer - (unless (get (car pointer) 'riece-addon-default-disabled) - (riece-enable-addon (car pointer) riece-debug)) - (setq pointer (cdr pointer)))) - (run-hooks 'riece-startup-hook) - (message "%s" (substitute-command-keys - "Type \\[describe-mode] for help")))) + ;; If no server process is available, exit. + (if (null riece-server-process-alist) + (riece-exit) + (let ((server-list riece-startup-server-list)) + (while server-list + (riece-command-open-server (car server-list)) + (setq server-list (cdr server-list)))) + (let ((pointer riece-addons)) + (while pointer + (unless (get (car pointer) 'riece-addon-default-disabled) + (riece-enable-addon (car pointer) riece-debug)) + (setq pointer (cdr pointer)))) + (run-hooks 'riece-startup-hook) + (message "%s" (substitute-command-keys + "Type \\[describe-mode] for help"))))) (defun riece-shrink-buffer (buffer) (save-excursion @@ -337,6 +344,7 @@ If optional argument CONFIRM is non-nil, ask which IRC server to connect." (setq riece-buffer-list (cdr riece-buffer-list))) (if riece-shrink-buffer-idle-timer (riece-cancel-timer riece-shrink-buffer-idle-timer)) + (riece-clear-signal-slots) (setq riece-server nil riece-current-channels nil riece-current-channel nil @@ -360,6 +368,12 @@ For a list of the generic commands type \\[riece-command-generic] ? RET. (interactive) (kill-all-local-variables) + ;; Make `truncate-partial-width-windows' buffer local and set it to + ;; nil. This causes `truncate-lines' to directly control line + ;; truncation. + (make-local-variable 'truncate-partial-width-windows) + (setq truncate-partial-width-windows nil) + (setq riece-away-indicator "-" riece-operator-indicator "-" major-mode 'riece-command-mode @@ -372,7 +386,8 @@ For a list of the generic commands type \\[riece-command-generic] ? RET. " " riece-user-indicator " " - riece-channel-indicator))) + riece-channel-indicator)) + truncate-lines nil) (riece-simplify-mode-line-format) (use-local-map riece-command-mode-map) @@ -385,7 +400,7 @@ For a list of the generic commands type \\[riece-command-generic] ? RET. "^[]{}'`")) (run-hooks 'riece-command-mode-hook)) - + (defun riece-dialogue-mode () "Major mode for displaying the IRC dialogue. All normal editing commands are turned off. @@ -394,6 +409,12 @@ Instead, these commands are available: (kill-all-local-variables) (make-local-variable 'riece-freeze) (make-local-variable 'riece-freeze-indicator) + + ;; Make `truncate-partial-width-windows' buffer local and set it to + ;; nil. This causes `truncate-lines' to directly control line truncation. + (make-local-variable 'truncate-partial-width-windows) + (setq truncate-partial-width-windows nil) + (setq riece-freeze riece-default-freeze riece-away-indicator "-" riece-operator-indicator "-" @@ -407,6 +428,7 @@ Instead, these commands are available: riece-freeze-indicator " " riece-channel-list-indicator " ")) + truncate-lines nil buffer-read-only t) (riece-simplify-mode-line-format) (use-local-map riece-dialogue-mode-map) @@ -426,6 +448,7 @@ Instead, these commands are available: All normal editing commands are turned off. Instead, these commands are available: \\{riece-channel-mode-map}" + (make-local-variable 'riece-channel-buffer-window-point) (setq mode-line-buffer-identification (riece-mode-line-buffer-identification '("Riece: " @@ -440,8 +463,14 @@ Instead, these commands are available: All normal editing commands are turned off." (kill-all-local-variables) (buffer-disable-undo) + + ;; Make `truncate-partial-width-windows' buffer local and set it to + ;; nil. This causes `truncate-lines' to directly control line truncation. + (make-local-variable 'truncate-partial-width-windows) + (setq truncate-partial-width-windows nil) + (setq major-mode 'riece-channel-list-mode - mode-name "Channels" + mode-name "Channels" mode-line-buffer-identification (riece-mode-line-buffer-identification '("Riece: ")) truncate-lines t @@ -459,8 +488,14 @@ Instead, these commands are available: \\{riece-user-list-mode-map}" (kill-all-local-variables) (buffer-disable-undo) + + ;; Make `truncate-partial-width-windows' buffer local and set it to + ;; nil. This causes `truncate-lines' to directly control line truncation. + (make-local-variable 'truncate-partial-width-windows) + (setq truncate-partial-width-windows nil) + (setq major-mode 'riece-user-list-mode - mode-name "Users" + mode-name "Users" mode-line-buffer-identification (riece-mode-line-buffer-identification '("Riece: " riece-long-channel-indicator " ")) @@ -485,7 +520,7 @@ Instead, these commands are available: (eq major-mode (nth 2 (car alist)))) (funcall (nth 2 (car alist)))) (setq alist (cdr alist)))))) - + (provide 'riece) ;;; riece.el ends here