Thumbnails: Difference between revisions
No edit summary |
Reorganised Headings and Subheadings, improved Video subsection, added Image subsection |
||
Line 1: | Line 1: | ||
{{expansion|Explain how thumbnails can be configured in different file managers, preferably by linking to their articles}} | {{expansion|Explain how thumbnails can be configured in different file managers, preferably by linking to their articles}} | ||
== | == '''Enabling Thumbnailers''' == | ||
On minimal / custom desktop environments thumbnails in file explorers may not work by default. For example: | |||
* GNOME environments with the option <code>services.gnome.core-utilities.enable = false;</code> | |||
* Custom environments built using window managers like sway or hyperland | |||
=== Enable Video Thumbnails === | |||
To enable thumbnails for video files use <code>ffmpeg-headless</code> to decode videos and <code>fmpegthumbnailer</code> to generate thumbnails. | |||
Thumbnails for the following MimeTypes will be enabled: ''video/jpeg; video/mp4; video/mpeg; video/quicktime; video/x-ms-asf; video/x-ms-wm; video/x-ms-wmv; video/x-ms-asx; video/x-ms-wmx; video/x-ms-wvx; video/x-msvideo; video/x-flv; video/x-matroska; application/x-matroska; application/mxf; video/3gp; video/3gpp; video/dv; video/divx; video/fli; video/flv; video/mp2t; video/mp4v-es; video/msvideo; video/ogg; video/vivo; video/vnd.avi; video/vnd.divx; video/vnd.mpegurl; video/vnd.rn-realvideo; application/vnd.rn-realmedia; video/vnd.vivo; video/webm; video/x-anim; video/x-avi; video/x-flc; video/x-fli; video/x-flic; video/x-m4v; video/x-mpeg; video/x-mpeg2; video/x-nsv; video/x-ogm+ogg; video/x-theora+ogg.'' | |||
<syntaxhighlight lang="nix"># configuration.nix | |||
{ pkgs, ... }: | |||
{ | |||
environment.systemPackages = with pkgs; [ | |||
ffmpeg-headless | |||
ffmpegthumbnailer | |||
]; | |||
# 'ffmpegthumbnailer.thumbnailer' is created in '/run/current-system/sw/share/thumbnailers' | |||
# but thumbnails are not displayed unless symlinks to 'share/thumbnailers' are also defined | |||
# uncomment if this has already been defined in your configuration.nix | |||
environment.pathsToLink = [ | |||
"share/thumbnailers" | |||
]; | |||
}</syntaxhighlight> | |||
=== Enable Image Thumbnails === | |||
To enable thumbnails for image files use <code>gdk-pixbuf</code> to decode images and generate thumbnails. | |||
Thumbnails for the following MimeTypes will be enabled: ''image/png; image/jpeg; image/bmp; image/x-bmp; image/x-MS-bmp; image/gif; image/x-icon; image/x-ico; image/x-win-bitmap; image/vnd.microsoft.icon; application/ico; image/ico; image/icon; text/ico; image/x-portable-anymap; image/x-portable-bitmap; image/x-portable-graymap; image/x-portable-pixmap; image/tiff; image/x-xpixmap; image/x-xbitmap; image/x-tga; image/x-icns; image/x-quicktime; image/qtif.'' | |||
<syntaxhighlight lang="nix"> | |||
# configuration.nix | |||
{ pkgs, ... }: | |||
{ | |||
environment.systemPackages = with pkgs; [ | |||
gdk-pixbuf | |||
]; | |||
# 'gdk-pixbuf-thumbnailer.thumbnailer' is created in '/run/current-system/sw/share/thumbnailers' | |||
# but thumbnails are not displayed unless symlinks to 'share/thumbnailers' are also defined | |||
# uncomment if this has already been defined in your configuration.nix | |||
environment.pathsToLink = [ | |||
"share/thumbnailers" | |||
]; | |||
} | |||
</syntaxhighlight> | |||
=== Enable HEIF Image Thumbnails === | |||
To enable thumbnails for HEIF image format use <code>libheif</code> to decode HEIF images and <code>libheif.out</code> to generate thumbnails. | |||
Thumbnails for the following MimeTypes will be enabled: ''image/heif; image/avif.'' | |||
<syntaxhighlight lang="nix"> | |||
# configuration.nix | |||
{ pkgs, ... }: | |||
{ | |||
environment.systemPackages = with pkgs; [ | |||
libheif | |||
libheif.out | |||
]; | |||
# 'heif.thumbnailer' is created in '/run/current-system/sw/share/thumbnailers' | |||
# but thumbnails are not displayed unless symlinks to 'share/thumbnailers' are also defined | |||
# uncomment if this has already been defined in your configuration.nix | |||
environment.pathsToLink = [ | |||
"share/thumbnailers" | |||
]; | |||
} | |||
</syntaxhighlight> | |||
== '''Creating Custom Thumbnailers''' == | |||
Most package mangers accept the [https://specifications.freedesktop.org/thumbnail-spec/latest/index.html Thumbnail Managing Standard], by using it you can create your own thumbnailer for any file format, this can be done by: | Most package mangers accept the [https://specifications.freedesktop.org/thumbnail-spec/latest/index.html Thumbnail Managing Standard], by using it you can create your own thumbnailer for any file format, this can be done by: | ||
Line 47: | Line 128: | ||
) | ) | ||
]; | ]; | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |