Wilane' Weblog

jaZZ ... just another Zine Zblog

Archive pour octobre 2009

TwIt et l'historique

écrit par Ousmane Wilane, le 09/10/09 18:27.

Un autre truc que j’aimes avec certains clients Identica/Twitter c’est le fait qu’ils vous ramènent là où vous en étiez la dernière fois que vous avez lu les tweets. Pour faire la même chose avec TwIt, j’ai ajouté une fonction (dirty hack comme on dis) permettant de bookmarker un Tweet (sauvegarder son id/status twit-save-id-at-point) et une fonction permettant de charger les tweets depuis l’id bookmarqué twit-show-recent-tweets-from-last-id. La touche q qui est utilisé par défaut pour quitter est remplacée par une fonction twit-quit qui sauvegarde le tweet actuel avant d’invoquer burry-buffer:

  ("W" . twit-save-id-at-point)
  ("q" . twit-quit)

(defconst twit-friend-timeline-file-from-last-id
  (concat twit-base-url 
   "/statuses/friends_timeline.xml?count=200&since_id=%s"))
(defun twit-save-id-at-point ()
  (interactive)
  (setq twit-id (twit-get-text-property 'twit-id))
  " Let's store this in a file so we 
      can start it from here next time"
  (write-region twit-id nil "~/.twit-last-id")
)

(defun twit-quit ()
  " Let' do some pre-hook before burying the buffer"
  (interactive)
  (twit-save-id-at-point)
  (bury-buffer)
)


(defun twit-show-recent-tweets-from-last-id 
                             (&optional page)
  (interactive "P")
  (setq page (twit-check-page-prefix page))

  (with-temp-buffer 
   (setq retval (insert-file-contents "~/.twit-last-id") )
   (setq twit-id (buffer-string)))
  
  (pop-to-buffer
   (with-twit-buffer "*Twit-recent*"
     (twit-write-title "Recent Tweets (Page %s) [%s]\n"
       page (format-time-string "%c"))
     (twit-write-recent-tweets
       (twit-parse-xml (format twit-friend-timeline-\
                 file-from-last-id twit-id) "GET")))))

Trouvez le module patché ici

Navigation avec TwIt (Twitter mode pour Emacs)

écrit par Ousmane Wilane, le 05/10/09 16:49.

C’est pas un secret pour ceux qui me suivent sur Twitter (où je n’ai rien à dire en moyenne d’ailleurs, alors arrêtez de me suivre et suivez ceux qui ont des choses à dire et en plus ils sont légion) que j’utilise TwIt. Je suis bizarrement assez accroc à Twitter ces temps-ci, et lorsqu’il m’arrive de ne pas suivre mon Timeline pendant quelques temps, j’ai envie avec une seule touche de regarder les pages précédentes/suivantes jusqu’à la dernière page où je m’étais arrêté la dernière fois. Je peut utiliser C-u <page> M-x twit-show-recent-tweets mais c’est pas très pratique pour passer de la page suivante/précédente. J’ai ajouté quelques fonctions à twit.el pour utiliser les touches N et P pour passer naviguer entre les pages:

(defun twit-previous-page ()
  (interactive)
  (twit-jump-page 1)
)

(defun twit-next-page ()
  (interactive)
  (twit-jump-page -1)
)

(defun twit-jump-page (n)
  (goto-char 0)
  (if (re-search-forward 
        "Recent Tweets (Page \\([[:digit:]]+\\))")
       (setq curpage 
           (buffer-substring-no-properties 
             (match-beginning 1) 
             (match-end 1)))
       (setq curpage 1)
       )
  (twit-show-recent-tweets  
   (twit-check-page-prefix 
     (+ n (string-to-number curpage))
    ))
  )

Ajouter les lignes suivantes à twit-key-list:

    ("P" . twit-previous-page)
    ("N" . twit-next-page)

Trouvez le module patché ici