From: Fabian Braennstroem <f.braennstroem@gmx.de>
To: help-gnu-emacs@gnu.org
Subject: Re: icons for filetype in dired
Date: Tue, 27 Nov 2007 23:01:00 +0000 [thread overview]
Message-ID: <fii3rp$opk$1@tamarack.fernuni-hagen.de> (raw)
In-Reply-To: <87r6ieatzo.fsf@jurta.org>
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
prev parent reply other threads:[~2007-11-27 23:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-25 15:16 icons for filetype in dired Fabian Braennstroem
2007-11-25 21:35 ` Juri Linkov
2007-11-27 23:01 ` Fabian Braennstroem [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='fii3rp$opk$1@tamarack.fernuni-hagen.de' \
--to=f.braennstroem@gmx.de \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.