Rework MIME types for the .desktop files.

New MIME type files:
- xdg/mime.no-thumbnail.types (types that don't have supported thumbnails)
- xdg/mime.thumbnail.types (types that have supported thumbnails)

These are now read at CMake time and are used to generate the .desktop
and .thumbnailer files.

The mime.types files are one line per MIME type, which is easier to work
with than a single line of everything.

The GTK+ .thumbnailer files only have mime.thumbnail.types, whereas the
KDE .desktop files have both thumbnail and no-thumbnail.

TODO: Sort and remove duplicates?

Also: Cleaned up installation of the .desktop/.thumbnail files. Removed
the explicit source/binary directories, since these functions have good
defaults:
- CONFIGURE_FILE() uses source dir for source, binary dir for destination.
- INSTALL() defaults to binary dir.

Added some MIME types from RomData subclasses that weren't added before:
- iQuePlayer
- PokemonMini
- DidjTex
- KhronosKTX2
- PowerVR3
- SegaPVR (image/x-sega-svr only)
This commit is contained in:
David Korth 2020-06-29 19:44:35 -04:00
parent 90a9007b8c
commit 3f26630920
15 changed files with 263 additions and 80 deletions

View File

@ -0,0 +1,24 @@
# Parse MIME types from MIME type files.
# PARSE_MIME_TYPES(_result files...)
#
# _result - variable to store the result in
# files... - files to parse
FUNCTION(PARSE_MIME_TYPES _result)
# Read all files and parse the lines.
# TODO: Eliminate duplicates?
UNSET(${_result} PARENT_SCOPE)
SET(_tmp "")
FOREACH(_file ${ARGN})
FILE(STRINGS "${_file}" _filedata)
FOREACH(_line ${_filedata})
STRING(REGEX REPLACE "\#.*$" "" _line "${_line}")
STRING(REGEX REPLACE "[ \t]+$" "" _line "${_line}")
IF(_line)
SET(_tmp "${_tmp}${_line};")
ENDIF(_line)
ENDFOREACH(_line)
ENDFOREACH(_file)
SET(${_result} "${_tmp}" PARENT_SCOPE)
ENDFUNCTION(PARSE_MIME_TYPES)

View File

@ -105,8 +105,10 @@ IF(BUILD_GTK3)
# Process the .thumbnailer file.
INCLUDE(DirInstallPaths)
CONFIGURE_FILE(rom-properties.thumbnailer.in rom-properties.thumbnailer)
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/rom-properties.thumbnailer"
INCLUDE(ParseMimeTypes)
PARSE_MIME_TYPES(MIMETYPES_THUMBONLY "${CMAKE_SOURCE_DIR}/xdg/mime.thumbnail.types")
CONFIGURE_FILE(rom-properties.thumbnailer.in rom-properties.thumbnailer @ONLY)
INSTALL(FILES rom-properties.thumbnailer
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers"
COMPONENT "plugin"
)

View File

@ -3,12 +3,6 @@
# Reference: https://developer.gnome.org/gnome-desktop3/stable/GnomeDesktopThumbnailFactory.html
Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/rp-thumbnail -s %s %u %o
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - First MIME type is application/octet-stream.
# - Last thumbnailable MIME type is application/x-cd-image.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
MimeType=application/octet-stream;application/x-wii-wibn;application/x-xbox-executable;application/x-xbox360-stfs;application/x-xbox360-xdbf;application/x-xbox360-executable;application/x-nintendo-3ds-smdh;image/x-dds;image/vnd.ms-dds;image/ktx;image/x-sega-pvr;image/x-sega-gvr;image/x-sega-pvrx;image/vnd.valve.source.texture;image/x-vtf;image/x-vtf3;image/x-xbox-xpr0;application/x-dreamcast-rom;application/x-dreamcast-vms;application/x-dreamcast-vms-info;application/x-dreamcast-dci;application/x-gamecube-rom;application/x-gamecube-iso-image;application/x-gamecube-tgc;application/x-wii-rom;application/x-wii-iso-image;application/x-wbfs;application/x-cso;application/x-nasos-image;application/x-gcz-image;application/x-wia;application/x-rvz-image;application/x-gamecube-bnr;application/x-gamecube-save;application/x-wii-save;application/x-wii-u-rom;application/x-wii-wad;application/x-nintendo-3ds-3dsx;application/x-nintendo-3ds-rom;model/x.stl-binary;image/x-3ds;application/x-nintendo-3ds-cia;application/x-nintendo-ds-rom;application/x-nintendo-dsi-rom;application/x-nintendo-amiibo;application/x-nintendo-badge;application/vnd.ms-cab-compressed;application/x-nintendo-badge-set;application/x-ps1-save;application/x-game-com-rom;application/x-cd-image;application/x-gameboy-rom;application/x-gameboy-color-rom;application/x-gba-rom;application/x-atari-lynx-rom;application/x-neo-geo-pocket-rom;application/x-neo-geo-pocket-color-rom;application/x-nintendo-3ds-firm;audio/x-brstm;audio/x-gbs;audio/x-nsf;audio/x-spc;audio/x-vgm;application/x-executable;application/x-genesis-rom;application/x-sega-cd-rom;application/x-genesis-32x-rom;application/x-sega-pico-rom;application/x-n64-rom;application/x-nes-rom;application/x-fds-disk;application/vnd.nintendo.snes.rom;application/x-snes-rom;application/x-sufami-turbo-rom;application/x-saturn-rom;audio/x-adx;audio/x-bcstm;audio/x-bfstm;audio/x-bcwav;audio/x-psf;audio/x-minipsf;audio/x-sap;audio/x-sndh;audio/prs.sid;application/x-mach-executable;application/x-mach-sharedlib;application/x-mach-core;application/x-mach-bundle;application/x-mach-fat-binary;application/x-ms-dos-executable;application/x-msdownload;application/x-sms-rom;application/x-gamegear-rom;application/x-virtual-boy-rom;
# Supported MIME types.
# For GNOME thumbnailers, only thumbnailable types are listed.
MimeType=@MIMETYPES_THUMBONLY@

View File

@ -96,7 +96,7 @@ IF(BUILD_THUMBNAILER_DBUS)
COMPONENT "plugin"
)
# TODO: Use session_bus_services_dir from dbus-1.pc.
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service"
INSTALL(FILES com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service
DESTINATION "share/dbus-1/services"
COMPONENT "plugin"
)
@ -121,7 +121,13 @@ IF(BUILD_THUMBNAILER_DBUS)
ELSE()
SET(THUMBNAIL_DEST_DIR "share/thumbnailers")
ENDIF()
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/com.gerbilsoft.rom-properties.SpecializedThumbnailer1.thumbnailer"
# Process the .thumbnailer file.
INCLUDE(ParseMimeTypes)
PARSE_MIME_TYPES(MIMETYPES_THUMBONLY "${CMAKE_SOURCE_DIR}/xdg/mime.thumbnail.types")
CONFIGURE_FILE(com.gerbilsoft.rom-properties.SpecializedThumbnailer1.thumbnailer.in
com.gerbilsoft.rom-properties.SpecializedThumbnailer1.thumbnailer @ONLY)
INSTALL(FILES com.gerbilsoft.rom-properties.SpecializedThumbnailer1.thumbnailer
RENAME com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service
DESTINATION "${THUMBNAIL_DEST_DIR}"
COMPONENT "plugin"

View File

@ -1,15 +0,0 @@
[Specialized Thumbnailer]
Name=com.gerbilsoft.rom-properties.SpecializedThumbnailer1
ObjectPath=/com/gerbilsoft/rom_properties/SpecializedThumbnailer1
UriSchemes=file
Comment=ROM Properties Page thumbnailer for the D-Bus thumbnailing spceification
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - First MIME type is application/octet-stream.
# - Last thumbnailable MIME type is application/x-cd-image.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
MimeTypes=application/octet-stream;application/x-wii-wibn;application/x-xbox-executable;application/x-xbox360-stfs;application/x-xbox360-xdbf;application/x-xbox360-executable;application/x-nintendo-3ds-smdh;image/x-dds;image/vnd.ms-dds;image/ktx;image/x-sega-pvr;image/x-sega-gvr;image/x-sega-pvrx;image/vnd.valve.source.texture;image/x-vtf;image/x-vtf3;image/x-xbox-xpr0;application/x-dreamcast-rom;application/x-dreamcast-vms;application/x-dreamcast-vms-info;application/x-dreamcast-dci;application/x-gamecube-rom;application/x-gamecube-iso-image;application/x-gamecube-tgc;application/x-wii-rom;application/x-wii-iso-image;application/x-wbfs;application/x-cso;application/x-nasos-image;application/x-gcz-image;application/x-wia;application/x-rvz-image;application/x-gamecube-bnr;application/x-gamecube-save;application/x-wii-save;application/x-wii-u-rom;application/x-wii-wad;application/x-nintendo-3ds-3dsx;application/x-nintendo-3ds-rom;model/x.stl-binary;image/x-3ds;application/x-nintendo-3ds-cia;application/x-nintendo-ds-rom;application/x-nintendo-dsi-rom;application/x-nintendo-amiibo;application/x-nintendo-badge;application/vnd.ms-cab-compressed;application/x-nintendo-badge-set;application/x-ps1-save;application/x-game-com-rom;application/x-cd-image;application/x-gameboy-rom;application/x-gameboy-color-rom;application/x-gba-rom;application/x-atari-lynx-rom;application/x-neo-geo-pocket-rom;application/x-neo-geo-pocket-color-rom;application/x-nintendo-3ds-firm;audio/x-brstm;audio/x-gbs;audio/x-nsf;audio/x-spc;audio/x-vgm;application/x-executable;application/x-genesis-rom;application/x-sega-cd-rom;application/x-genesis-32x-rom;application/x-sega-pico-rom;application/x-n64-rom;application/x-nes-rom;application/x-fds-disk;application/vnd.nintendo.snes.rom;application/x-snes-rom;application/x-sufami-turbo-rom;application/x-saturn-rom;audio/x-adx;audio/x-bcstm;audio/x-bfstm;audio/x-bcwav;audio/x-psf;audio/x-minipsf;audio/x-sap;audio/x-sndh;audio/prs.sid;application/x-mach-executable;application/x-mach-sharedlib;application/x-mach-core;application/x-mach-bundle;application/x-mach-fat-binary;application/x-ms-dos-executable;application/x-msdownload;application/x-sms-rom;application/x-gamegear-rom;application/x-virtual-boy-rom;

View File

@ -0,0 +1,15 @@
[Specialized Thumbnailer]
Name=com.gerbilsoft.rom-properties.SpecializedThumbnailer1
ObjectPath=/com/gerbilsoft/rom_properties/SpecializedThumbnailer1
UriSchemes=file
Comment=ROM Properties Page thumbnailer for the D-Bus thumbnailing spceification
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - First MIME type is application/octet-stream.
# - Last thumbnailable MIME type is application/x-cd-image.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
MimeTypes=@MIMETYPES_THUMBONLY@

View File

@ -112,13 +112,18 @@ ENDIF(BUILD_KDE4)
#######################
IF(BUILD_KDE4)
# Process MIME types for the .desktop file.
INCLUDE(ParseMimeTypes)
PARSE_MIME_TYPES(MIMETYPES_ALL "${CMAKE_SOURCE_DIR}/xdg/mime.thumbnail.types" "${CMAKE_SOURCE_DIR}/xdg/mime.no-thumbnail.types")
CONFIGURE_FILE(rom-properties-kde4.desktop.in rom-properties-kde4.desktop @ONLY)
# FIXME: KDE4's installation directories have the prefix
# hard-coded. This should be removed.
INSTALL(TARGETS rom-properties-kde4
LIBRARY DESTINATION "${PLUGIN_INSTALL_DIR}"
COMPONENT "plugin"
)
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/rom-properties-kde4.desktop"
INSTALL(FILES rom-properties-kde4.desktop
DESTINATION "${SERVICES_INSTALL_DIR}"
COMPONENT "plugin"
)

View File

@ -1,25 +0,0 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
Name=ROM Properties Page
ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
# KDE service settings.
X-KDE-Library=rom-properties-kde4
X-KDE-ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
X-KDE-Protocol=file
X-KDE-Protocols=file,desktop
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - First MIME type is application/octet-stream.
# - Last thumbnailable MIME type is application/x-cd-image.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
MimeType=application/octet-stream;application/x-wii-wibn;application/x-xbox-executable;application/x-xbox360-stfs;application/x-xbox360-xdbf;application/x-xbox360-executable;application/x-nintendo-3ds-smdh;image/x-dds;image/vnd.ms-dds;image/ktx;image/x-sega-pvr;image/x-sega-gvr;image/x-sega-pvrx;image/vnd.valve.source.texture;image/x-vtf;image/x-vtf3;image/x-xbox-xpr0;application/x-dreamcast-rom;application/x-dreamcast-vms;application/x-dreamcast-vms-info;application/x-dreamcast-dci;application/x-gamecube-rom;application/x-gamecube-iso-image;application/x-gamecube-tgc;application/x-wii-rom;application/x-wii-iso-image;application/x-wbfs;application/x-cso;application/x-nasos-image;application/x-gcz-image;application/x-wia;application/x-rvz-image;application/x-gamecube-bnr;application/x-gamecube-save;application/x-wii-save;application/x-wii-u-rom;application/x-wii-wad;application/x-nintendo-3ds-3dsx;application/x-nintendo-3ds-rom;model/x.stl-binary;image/x-3ds;application/x-nintendo-3ds-cia;application/x-nintendo-ds-rom;application/x-nintendo-dsi-rom;application/x-nintendo-amiibo;application/x-nintendo-badge;application/vnd.ms-cab-compressed;application/x-nintendo-badge-set;application/x-ps1-save;application/x-game-com-rom;application/x-cd-image;application/x-gameboy-rom;application/x-gameboy-color-rom;application/x-gba-rom;application/x-atari-lynx-rom;application/x-neo-geo-pocket-rom;application/x-neo-geo-pocket-color-rom;application/x-nintendo-3ds-firm;audio/x-brstm;audio/x-gbs;audio/x-nsf;audio/x-spc;audio/x-vgm;application/x-executable;application/x-genesis-rom;application/x-sega-cd-rom;application/x-genesis-32x-rom;application/x-sega-pico-rom;application/x-n64-rom;application/x-nes-rom;application/x-fds-disk;application/vnd.nintendo.snes.rom;application/x-snes-rom;application/x-sufami-turbo-rom;application/x-saturn-rom;audio/x-adx;audio/x-bcstm;audio/x-bfstm;audio/x-bcwav;audio/x-psf;audio/x-minipsf;audio/x-sap;audio/x-sndh;audio/prs.sid;application/x-mach-executable;application/x-mach-sharedlib;application/x-mach-core;application/x-mach-bundle;application/x-mach-fat-binary;application/x-ms-dos-executable;application/x-msdownload;application/x-sms-rom;application/x-gamegear-rom;application/x-virtual-boy-rom;
# ThumbCreator settings.
CacheThumbnail=true
IgnoreMaximumSize=true

View File

@ -0,0 +1,19 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
Name=ROM Properties Page
ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
# KDE service settings.
X-KDE-Library=rom-properties-kde4
X-KDE-ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
X-KDE-Protocol=file
X-KDE-Protocols=file,desktop
# Supported MIME types.
# For KDE, both thumbnailable and non-thumbnailable types are listed.
MimeType=@MIMETYPES_ALL@
# ThumbCreator settings.
CacheThumbnail=true
IgnoreMaximumSize=true

View File

@ -227,6 +227,11 @@ ENDIF(BUILD_KF5)
#######################
IF(BUILD_KF5)
# Process MIME types for the .desktop file.
INCLUDE(ParseMimeTypes)
PARSE_MIME_TYPES(MIMETYPES_ALL "${CMAKE_SOURCE_DIR}/xdg/mime.thumbnail.types" "${CMAKE_SOURCE_DIR}/xdg/mime.no-thumbnail.types")
CONFIGURE_FILE(rom-properties-kf5.desktop.in rom-properties-kf5.desktop @ONLY)
INSTALL(TARGETS rom-properties-kf5
LIBRARY DESTINATION "${PLUGIN_INSTALL_DIR}"
COMPONENT "plugin"
@ -239,7 +244,7 @@ IF(BUILD_KF5)
LIBRARY DESTINATION "${KFOV_PLUGIN_INSTALL_DIR}"
COMPONENT "plugin"
)
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/rom-properties-kf5.desktop"
INSTALL(FILES rom-properties-kf5.desktop
DESTINATION "${SERVICES_INSTALL_DIR}"
COMPONENT "plugin"
)

View File

@ -1,25 +0,0 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
Name=ROM Properties Page
ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
# KDE service settings.
X-KDE-Library=rom-properties-kf5
X-KDE-ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
X-KDE-Protocol=file
X-KDE-Protocols=file,desktop
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - First MIME type is application/octet-stream.
# - Last thumbnailable MIME type is application/x-cd-image.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
MimeType=application/octet-stream;application/x-wii-wibn;application/x-xbox-executable;application/x-xbox360-stfs;application/x-xbox360-xdbf;application/x-xbox360-executable;application/x-nintendo-3ds-smdh;image/x-dds;image/vnd.ms-dds;image/ktx;image/x-sega-pvr;image/x-sega-gvr;image/x-sega-pvrx;image/vnd.valve.source.texture;image/x-vtf;image/x-vtf3;image/x-xbox-xpr0;application/x-dreamcast-rom;application/x-dreamcast-vms;application/x-dreamcast-vms-info;application/x-dreamcast-dci;application/x-gamecube-rom;application/x-gamecube-iso-image;application/x-gamecube-tgc;application/x-wii-rom;application/x-wii-iso-image;application/x-wbfs;application/x-cso;application/x-nasos-image;application/x-gcz-image;application/x-wia;application/x-rvz-image;application/x-gamecube-bnr;application/x-gamecube-save;application/x-wii-save;application/x-wii-u-rom;application/x-wii-wad;application/x-nintendo-3ds-3dsx;application/x-nintendo-3ds-rom;model/x.stl-binary;image/x-3ds;application/x-nintendo-3ds-cia;application/x-nintendo-ds-rom;application/x-nintendo-dsi-rom;application/x-nintendo-amiibo;application/x-nintendo-badge;application/vnd.ms-cab-compressed;application/x-nintendo-badge-set;application/x-ps1-save;application/x-game-com-rom;application/x-cd-image;application/x-gameboy-rom;application/x-gameboy-color-rom;application/x-gba-rom;application/x-atari-lynx-rom;application/x-neo-geo-pocket-rom;application/x-neo-geo-pocket-color-rom;application/x-nintendo-3ds-firm;audio/x-brstm;audio/x-gbs;audio/x-nsf;audio/x-spc;audio/x-vgm;application/x-executable;application/x-genesis-rom;application/x-sega-cd-rom;application/x-genesis-32x-rom;application/x-sega-pico-rom;application/x-n64-rom;application/x-nes-rom;application/x-fds-disk;application/vnd.nintendo.snes.rom;application/x-snes-rom;application/x-sufami-turbo-rom;application/x-saturn-rom;audio/x-adx;audio/x-bcstm;audio/x-bfstm;audio/x-bcwav;audio/x-psf;audio/x-minipsf;audio/x-sap;audio/x-sndh;audio/prs.sid;application/x-mach-executable;application/x-mach-sharedlib;application/x-mach-core;application/x-mach-bundle;application/x-mach-fat-binary;application/x-ms-dos-executable;application/x-msdownload;application/x-sms-rom;application/x-gamegear-rom;application/x-virtual-boy-rom;
# ThumbCreator settings.
CacheThumbnail=true
IgnoreMaximumSize=true

View File

@ -0,0 +1,19 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
Name=ROM Properties Page
ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
# KDE service settings.
X-KDE-Library=rom-properties-kf5
X-KDE-ServiceTypes=KPropertiesDialog/Plugin,ThumbCreator
X-KDE-Protocol=file
X-KDE-Protocols=file,desktop
# Supported MIME types.
# For KDE, both thumbnailable and non-thumbnailable types are listed.
MimeType=@MIMETYPES_ALL@
# ThumbCreator settings.
CacheThumbnail=true
IgnoreMaximumSize=true

View File

@ -8,6 +8,7 @@ INCLUDE(DirInstallPaths)
# XDG files are only installed on Linux systems.
IF(UNIX AND NOT APPLE)
# Install the XDG MIME type package.
INSTALL(FILES rom-properties.xml
DESTINATION "${DIR_INSTALL_MIME}/packages"
COMPONENT "xdg"

View File

@ -0,0 +1,68 @@
# MIME types for rom-properties.
# These MIME types do not have thumbnails, so they should only be
# listed in the KDE .desktop files, not the GTK+ .thumbnailer files.
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
# Generic
application/octet-stream
application/x-cd-image
application/x-iso9660-image
# Audio
audio/x-adx # ADX
audio/x-bcstm # BCSTM
audio/x-bfstm # BCSTM
audio/x-bcwav # BCSTM
audio/x-brstm # BRSTM
audio/x-gbs # GBS
audio/x-nsf # NSF
audio/x-psf # PSF
audio/x-minipsf # PSF
audio/x-sap # SAP
audio/prs.sid # SID
audio/x-sndh # SNDH
audio/x-spc # SPC
audio/x-vgm # VGM
# Console
application/x-genesis-rom # MegaDrive
application/x-sega-cd-rom # MegaDrive
application/x-genesis-32x-rom # MegaDrive
application/x-sega-cd-32x-rom # MegaDrive
application/x-sega-pico-rom # MegaDrive
application/x-n64-rom # N64
application/x-nes-rom # NES
application/x-fds-disk # NES
application/x-ps1-executable # PlayStationEXE
application/x-sms-rom # Sega8Bit
application/x-gamegear-rom # Sega8Bit
application/x-saturn-rom # SegaSaturn
# Handheld
application/x-atari-lynx-rom # Lynx
application/x-neo-geo-pocket-rom # NGPC
application/x-neo-geo-pocket-color-rom # NGPC
application/x-nintendo-3ds-emmc # Nintendo3DS
application/x-nintendo-3ds-firm # Nintendo3DSFirm
application/x-pokemon-mini-rom # PokemonMini
application/x-virtual-boy-rom # VirtualBoy
# Other
application/x-object # ELF
application/x-executable # ELF/EXE
application/x-sharedlib # ELF
application/x-core # ELF
application/x-ms-dos-executable # EXE
application/x-msdownload # EXE
application/x-mach-object # MachO
application/x-mach-executable # MachO
application/x-mach-sharedlib # MachO
application/x-mach-core # MachO
application/x-mach-bundle # MachO
application/x-mach-fat-binary # MachO

90
xdg/mime.thumbnail.types Normal file
View File

@ -0,0 +1,90 @@
# MIME types for rom-properties.
# These MIME types *do* have thumbnails, so they should be included
# in all of the .desktop and .thumbnailer files. files.
# NOTES:
# - all/all doesn't work; use application/octet-stream.
# - TODO: Remove application/octet-stream and only use more-specific types?
# - MS CAB is listed for Nintendo Badge Arcade .cab files.
# - model/x.stl-binary and image/x-3ds are listed for Nintendo 3DS files.
# - Non-thumbnailable MIME types are only listed in KDE .desktop files.
# Generic
application/octet-stream
application/x-cd-image
application/x-iso9660-image
# Console
application/x-dreamcast-rom # Dreamcast
application/x-dreamcast-iso-image # Dreamcast
application/x-dreamcast-cuesheet # Dreamcast
application/x-dc-rom # Dreamcast
application/x-dreamcast-vms # DreamcastSave
application/x-dreamcast-vms-info # DreamcastSave
application/x-dreamcast-dci # DreamcastSave
application/x-gamecube-rom # GameCube
application/x-gamecube-iso-image # GameCube
application/x-gamecube-tgc # GameCube
application/x-wii-rom # GameCube
application/x-wii-iso-image # GameCube
application/x-wbfs # GameCube
application/x-wia # GameCube
application/x-cso # GameCube
application/x-nasos-image # GameCube
application/x-gcz-image # GameCube
application/x-rvz-image # GameCube
application/x-gamecube-bnr # GameCubeBNR
application/x-gamecube-save # GameCubeSave
application/x-ique-dat # iQuePlayer
application/x-ique-cmd # iQuePlayer
application/x-ps1-save # PlayStationSave
application/x-saturn-rom # SegaSaturn
application/vnd.nintendo.snes.rom # SNES
application/x-snes-rom # SNES
application/x-sufami-turbo-rom # SufamiTurbo
application/x-wii-save # WiiSave
application/x-wii-u-rom # WiiU
application/x-wii-wad # WiiWAD
application/x-wii-wibn # WiiWIBN
application/x-xbox-executable # Xbox_XBE
application/x-xbox360-stfs # Xbox360_STFS
application/x-xbox360-xdbf # Xbox360_XDBF
application/x-xbox360-executable # Xbox360_XEX
application/x-xbox360-patch # Xbox360_XEX
# Handheld
application/x-gameboy-rom # DMG
application/x-gameboy-color-rom # DMG
application/x-gba-rom # GameBoyAdvance
application/x-game-com-rom # GameCom
application/x-nintendo-3ds-3dsx # Nintendo3DS
application/x-nintendo-3ds-rom # Nintendo3DS
model/x.stl-binary # Nintendo3DS (?)
image/x-3ds # Nintendo3DS (?)
application/x-nintendo-3ds-cia # Nintendo3DS
application/x-nintendo-3ds-ncch # Nintendo3DS
application/x-nintendo-3ds-smdh # Nintendo3DS_SMDH
application/x-nintendo-ds-rom # NintendoDS
application/x-nintendo-dsi-rom # NintendoDS
# Other
application/x-nintendo-amiibo # Amiibo
application/x-nintendo-badge # NintendoBadge
application/vnd.ms-cab-compressed # NintendoBadge
application/x-nintendo-badge-set # NintendoBadge
# Texture
image/x-didj-texture # DidjTex
image/vnd.ms-dds # DirectDrawSurface
image/x-dds # DirectDrawSurface
image/ktx # KhronosKTX
image/ktx2 # KhronosKTX2
image/x-pvr # PowerVR3
image/x-sega-pvr # SegaPVR
image/x-sega-gvr # SegaPVR
image/x-sega-svr # SegaPVR
image/x-sega-pvrx # SegaPVR
image/vnd.valve.source.texture # ValveVTF
image/x-vtf # ValveVTF
image/x-vtf3 # ValveVTF3
image/x-xbox-xpr0 # XboxXPR