From 69fc35bec557b9a55782a2e53dd1fa719b2a662b Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sat, 22 Aug 2015 01:28:44 +0200 Subject: Move margin prompts to their own library Eventually maybe this can be turned into a library on its own. --- emacs/.emacs.d/site-lisp/jabber-init.el | 111 +------------------------------- 1 file changed, 1 insertion(+), 110 deletions(-) (limited to 'emacs/.emacs.d/site-lisp/jabber-init.el') diff --git a/emacs/.emacs.d/site-lisp/jabber-init.el b/emacs/.emacs.d/site-lisp/jabber-init.el index 606c778..e95799d 100644 --- a/emacs/.emacs.d/site-lisp/jabber-init.el +++ b/emacs/.emacs.d/site-lisp/jabber-init.el @@ -77,116 +77,7 @@ Insert PROPOSED-ALERT in the buffer if it is non-nil." (global-set-key (kbd "") 'jabber-switch-to-roster-buffer) - -;;; Ugly, but works - -(defvar *longest-prompt* 0) -(make-variable-buffer-local '*longest-prompt*) - -(defun update-margins (prompt-length) - (when (> prompt-length *longest-prompt*) - (let ((window (get-buffer-window (current-buffer)))) - (when (equal window (selected-window)) - (set-window-margins window prompt-length)) - (setq left-margin-width prompt-length - *longest-prompt* prompt-length)))) - - -(defun jabber-chat-self-prompt (timestamp delayed dont-print-nick-p) - "Print prompt for sent message. -TIMESTAMP is the timestamp to print, or nil for now. -If DELAYED is true, print long timestamp -\(`jabber-chat-delayed-time-format' as opposed to -`jabber-chat-time-format'). -If DONT-PRINT-NICK-P is true, don't include nickname." - (let* ((state-data (fsm-get-state-data jabber-buffer-connection)) - (username (plist-get state-data :username)) - (server (plist-get state-data :server)) - (resource (plist-get state-data :resource)) - (nickname username) - (prompt (format-spec jabber-chat-local-prompt-format - (list - (cons ?t (format-time-string - (if delayed - jabber-chat-delayed-time-format - jabber-chat-time-format) - timestamp)) - (cons ?n (if dont-print-nick-p "" nickname)) - (cons ?u username) - (cons ?r resource) - (cons ?j (concat username "@" server)))))) - (insert (jabber-propertize - " " - 'display (list '(margin left-margin) prompt) - 'face 'jabber-chat-prompt-local - 'help-echo - (concat (format-time-string "On %Y-%m-%d %H:%M:%S" timestamp) " from you"))) - (update-margins (length prompt)))) - -(defun jabber-chat-print-prompt (xml-data timestamp delayed dont-print-nick-p) - "Print prompt for received message in XML-DATA. -TIMESTAMP is the timestamp to print, or nil to get it -from a jabber:x:delay element. -If DELAYED is true, print long timestamp -\(`jabber-chat-delayed-time-format' as opposed to -`jabber-chat-time-format'). -If DONT-PRINT-NICK-P is true, don't include nickname." - (let* ((from (jabber-xml-get-attribute xml-data 'from)) - (timestamp (or timestamp - (car (delq nil (mapcar 'jabber-x-delay (jabber-xml-get-children xml-data 'x)))))) - (prompt (format-spec jabber-chat-foreign-prompt-format - (list - (cons ?t (format-time-string - (if delayed - jabber-chat-delayed-time-format - jabber-chat-time-format) - timestamp)) - (cons ?n (if dont-print-nick-p "" (jabber-jid-displayname from))) - (cons ?u (or (jabber-jid-username from) from)) - (cons ?r (jabber-jid-resource from)) - (cons ?j (jabber-jid-user from)))))) - (insert (jabber-propertize - " " - 'display (list '(margin left-margin) prompt) - 'face 'jabber-chat-prompt-foreign - 'help-echo - (concat (format-time-string "On %Y-%m-%d %H:%M:%S" timestamp) " from " from))) - (update-margins (length prompt)))) - -(defun jabber-muc-print-prompt (xml-data &optional local dont-print-nick-p) - "Print MUC prompt for message in XML-DATA." - (let* ((nick (jabber-jid-resource (jabber-xml-get-attribute xml-data 'from))) - (timestamp (car (delq nil (mapcar 'jabber-x-delay (jabber-xml-get-children xml-data 'x))))) - (prompt (format-spec jabber-groupchat-prompt-format - (list - (cons ?t (format-time-string - (if timestamp - jabber-chat-delayed-time-format - jabber-chat-time-format) - timestamp)) - (cons ?n (if dont-print-nick-p "" nick)) - (cons ?u nick) - (cons ?r nick) - (cons ?j (concat jabber-group "/" nick)))))) - (if (stringp nick) - (insert (jabber-propertize - " " - 'display (list '(margin left-margin) prompt) - 'face (if local ;Message from you. - (if jabber-muc-colorize-local ;; If colorization enable... - ;; ...colorize nick - (list ':foreground (jabber-muc-nick-get-color nick)) - ;; otherwise, use default face. - 'jabber-chat-prompt-local) - ;; Message from other participant. - (if jabber-muc-colorize-foreign ;If colorization enable... - ;; ... colorize nick - (list ':foreground (jabber-muc-nick-get-color nick)) - ;; otherwise, use default face. - 'jabber-chat-prompt-foreign)) - 'help-echo (concat (format-time-string "On %Y-%m-%d %H:%M:%S" timestamp) " from " nick " in " jabber-group))) - (jabber-muc-system-prompt)) - (update-margins (length prompt)))) +(jabber-margin-prompts-mode) (provide 'jabber-init) ;;; jabber-init.el ends here -- cgit v1.2.3-54-g00ecf