[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: icons for filetype in dired
From: |
Fabian Braennstroem |
Subject: |
Re: icons for filetype in dired |
Date: |
Tue, 27 Nov 2007 23:01:00 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.0 |
Hi Juri,
Juri Linkov schrieb am 11/25/2007 09:35 PM:
>> is there a chance to get icons into each line in a dired
>> buffer according to the filetype. Something like
>> http://www.netlaputa.ne.jp/~kose/Emacs/iimage.html ,but with
>> small icons!?
>> If it is not too slow, it would be realy helpful :-)
>
> (defun dired-insert-file-icons ()
> "Insert icons before file names in the dired buffer."
> (interactive)
> (dired-map-dired-file-lines
> (lambda (file)
> (let* ((image-pos (dired-move-to-filename))
> (mime-type (mailcap-extension-to-mime (file-name-extension file
> t)))
> (icon-file
> (if mime-type (concat
> "/usr/share/icons/kdeclassic/16x16/mimetypes/"
> mime-type)))
> overlay)
> (unless (and icon-file (file-exists-p icon-file))
> ;; default icon
> (setq icon-file
> "/usr/share/icons/kdeclassic/16x16/mimetypes/empty.png"))
> (unless (delq nil (mapcar (lambda (o) (overlay-get o 'put-image))
> (overlays-in (point) (1+ (point)))))
> (put-image (create-image icon-file) image-pos)
> (setq overlay
> (car (delq nil (mapcar (lambda (o) (and (overlay-get o
> 'put-image) o))
> (overlays-in (point) (1+ (point)))))))
> (overlay-put overlay 'file file)
> (overlay-put overlay 'icon-file icon-file))))))
>
> (add-hook 'dired-after-readin-hook 'dired-insert-file-icons)
Thanks! Looks great, but my emacs version 22.1 says:
let*: Symbol's function definition is void:
mailcap-extension-to-mime
is it a cvs function or did I forgot anything important!?
Fabian