From 9d0d4ce3305c70c6157700a3f95001b69c41c399 Mon Sep 17 00:00:00 2001 From: Marcel Kapfer Date: Sat, 28 Jun 2025 15:11:09 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20(edam)=20First=20development=20v?= =?UTF-8?q?ersion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.org | 9 +++++++++ packages/edam.el | 23 +++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 packages/edam.el diff --git a/config.org b/config.org index e76f290..570ea4a 100644 --- a/config.org +++ b/config.org @@ -2934,6 +2934,15 @@ API Integration for [[https://linkding.link/][Linkding]]. linkding-user "mmk2410")) #+end_src +* EDAM + +A simple work-in-progress photography DAM in Emacs. + +#+begin_src emacs-lisp +(use-package edam + :load-path "packages/") +#+end_src + * Work For my workplace I have some additional packages and configuration that I keep in an own file. diff --git a/packages/edam.el b/packages/edam.el new file mode 100644 index 0000000..01d5c84 --- /dev/null +++ b/packages/edam.el @@ -0,0 +1,23 @@ +;;; edam.el --- Eamcs DAM -*- lexical-binding: t -*- + +;;; Commentary: +;;; A simple work-in-progress photography DAM in Emacs + +;;; Code: +(require 'dired) + +(defun edam-set-rating-file-at-point (rating) + "Set image RATING." + (interactive "nRating: ") + (let ((args (cond ((= rating 1) "-Rating=1 -RatingPercent=1") + ((= rating 2) "-Rating=2 -RatingPercent=25") + ((= rating 3) "-Rating=3 -RatingPercent=50") + ((= rating 4) "-Rating=4 -RatingPercent=75") + ((= rating 5) "-Rating=5 -RatingPercent=99") + (t (error "Not a valid rating"))))) + (dired-do-shell-command + (concat "exiftool " args) + (dired-get-marked-files)))) + +(provide 'edam) +;;; edam.el ends here