
(defun read-menu (filename)
	"dynamic menu"
  (setq src-file (open-file filename 'read))
  (setq res '())
  (while (setq line (read-line src-file))
    (if (string-match "^([a-zA-Z0-9\_\ ]+):([a-zA-Z0-9\_\.\"\ \/-]+)\n$" line)
	(let ((entry (substring line (match-start 1) (match-end 1)))
	      (prog (substring line (match-start 2) (match-end 2))))
	  (setq res
		(cons `(,entry (system ,(concat prog " &")))
		      res)))))
  (reverse res))

