KIM6 (Kde Image Menu 6)
Developed at: https://github.com/KIM-6/kim6
Webpage (work in progress): https://skatox.com/blog/kim-kde-image-manipulator-for-plasma-6/
KDE Store: https://store.kde.org/p/2307290/
License: GPL 3 or any later version.
KIM6 is a service menu for KDE used for example by Dolphin and other users of KIO. KIM6 allows you to perform actions on your images (and videos) from your desktop or file manager without having to use other applications. This service menu can be considered as a frontend of ImageMagick (and FFmpeg).
Menus
-
Compress and resize
This menu allows you to compress and resize images. Compression can significantly reduce the size of images in exchange for some loss of detail. Resizing changes the size of images but keeps scale. Each action defines a maximum size of the resulting image.
So if your image is 2000x1000 (landscape orientation) and you resize it to 500x500, your resulting image will be 500x250 (so the limit will be applied to horizontal length of the image).
If your image is 1000x2000 (portrait orientation) and you resize it to 500x500, your resulting image will be 250x500 (so the limit will be applied to vertical height of the image).
Webexport combines compression and resizing. In each case, you will be asked whether you want to create a new image or overwrite existing. Pressing enter will select to create new images.
-
Convert and rotate
This menu allows to convert the images to several other formats, change its colours to a pale shade or to black and white and rotate and flip images.
-
Treatment and publication
This menu contains various actions. You can rename images (they will then share the name and will be differentiated by a suffix, so it will be for example: Picture_001.jpg, Picture_002.jpg. and so on).
If you use Kmail or Thunderbird, you should be able to resize pictures and open a message with them attached in one go.
Sort by date will rename pictures based on their EXIF dates so they should be then sorted by date in the file manager.
You can add black text (annotation) to the bottom right corner of your image and add white or black border to your images.
You can also strip metadata from a picture. Note that currently, its timestamps will be reset. Only ICC profile and orientation (landscape or portrait) info is preserved.
You can also create a HTML gallery or a funky collage of (photo montage) from your pictures.
You can combine several images into one file in the TIFF format (graphical programs like GIMP or Krita should be able to retrieve all the images from such a file.
You can create a gif animation. That can be also done from a so-called multiburst image, but the current authors are not sure what that is supposed to do.
You can also display a license, the names of authors and this help.
-
Video Compress and resize
Transcodes video using either libx264 or libx265 to HD (1280x720) or FullHD (1920x1080) in three qualities (CFR values 17, 23 and 29 — only 17 should more or less preserve the amount of detail). Audio is copied and container (like MKV) is either preserved or converted to MP4.
Usage
KIM6 is used via the file manager context menu. Select one or more image or video files, right-click, and choose the desired action from the KIM6 submenu.
Most actions will prompt for confirmation before overwriting existing files. Pressing Enter will usually select the default option, which is to create new files rather than overwrite existing ones.
Some behavior can be customized using environment variables. These variables can be set in the environment where your file manager is launched.
You can also run the scripts (usually stored in ~/.local/share/kio/servicemenus/kim6/bin/) directly: ./kim_resize ~/example.jpg 300x300
Configuration — Web export quality
When using the Webexport actions in the Compress and resize menu, KIM6 allows control over the JPEG compression quality via a configuration file.
Unless you have set $XDG_CONFIG_HOME, in which case you know where your configurations live, run kwriteconfig6 --file ~/.config/kim_kdeimagemenu --group "
Note that for other formats but JPEG, this is unreliable, especially for PNG. Under the hood, this passes your value to the -quality parameter to ImageMagick, which interprets it differently for different formats.