feh + exiftool + rofi to edit image meta data.
It's just a BASH script that calls feh and sets some actions. The actions use
rofi for user input and exiftool to change the metadata on the images.
By default it sets XMP tags in the Dublin Core namespace
- Set Subjects: Replace all subject tags with selection or entry
- Add Subjects: Add subject tags based on selection or entry
- Rm Subjects: Remove tags based on selection
- Set Title: Set title based on entry
- Set Description: Set description based on entry
I wanted to add metadata to a bunch of images. I didn't want to install a big
bloated photo management GUI. I already had feh, exiftool, and dmenu
(actually rofi, because I wanted the -multi-select option for subjects).
Those tools are great and can do all the things.
It sets XMP-dc tags as default because afaik that's hip, cool, open, modern standard or something. This isn't my wheelhouse tho, so tell me if there's a better way.
Install feh, exiftool, and rofi...probably just use your package manager.
Put the script bin/feta in your $PATH
$ feta path/to/imagesYou could call the sub functions directly from the command line if you wanted
to, but you might as well just use exiftool or whatever directly.
By default, it looks for a config file in $XDG_CONFIG_HOME/feta.cfg. That
can be overridden by setting $FETA_CONFIG.
Environment variables override config values.
| config var | env var | default |
|---|---|---|
subject_list |
FETA_SUBJECT_LIST |
$XDG_DATA_HOME/feta-subjects |
tag_subject |
FETA_SUBJECT |
XMP-dc:subject |
tag_title |
FETA_TITLE |
XMP-dc:title |
tag_desc |
FETA_DESC |
XMP-dc:description |
exiftool_opt |
n/a | () |
-
subject_listis the path to a text file of available "subjects." Subject strings will be added to the file (if it exists) when using the interface. -
tag_*options set what tagsexiftoolactually sets. -
exiftool_optis an array of options passed toexiftoolwhen setting metadata. By default,exiftoolmakes copies of original images so you don't lose data. If you're feeling lucky you could set eg.exiftool_opt=(-overwrite_original)in the config to suppress this behavior.
If you don't like the options feta sets when calling feh, you can use feh
themes (see feh documentation) and set it up yourself.
Basically, if feta is in your $PATH, you symlink feh into your path as
eg. ~/bin/gouda, and setup a feh theme (~/.config/feh/themes) as the
following...you should get the basic feta functionality by calling gouda
without some of the "unnecessary" settings that are default. Read the feh
docs, look at the run function in feta and tweak to your liking.
gouda --info "feta info %F" --action1 ";[Set Subjects] feta prompt-set-subjects %F" --action2 ";[Add Subjects] feta prompt-add-subjects %F" --action3 ";[Rm Subjects] feta prompt-rm-subjects %F" --action4 ";[Set Title] feta prompt-set-title %F" --action5 ";[Set Desc] feta prompt-set-desc %F"