Added mime type associations and quick launch options

This commit is contained in:
Marcus Minhorst 2025-07-11 12:02:48 -04:00 committed by Ricardo Luís Vaz Silva
commit 3121214091
3 changed files with 73 additions and 1 deletions

View file

@ -1464,6 +1464,13 @@ if( UNIX AND NOT APPLE )
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/posix/freedesktop/org.zdoom.GZDoom.svg
DESTINATION share/icons/hicolor/scalable/apps
PERMISSIONS WORLD_READ GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/posix/freedesktop/org.zdoom.GZDoom-mime.xml
DESTINATION share/mime/packages
PERMISSIONS WORLD_READ GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE)
# note:
# A post-install script would most likely need to run the following to register the desktop and mime files with the system
# update-mime-database /usr/local/share/mime
# update-desktop-database
endif()
if( DEM_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE )

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-doom-wad">
<comment>Doom WAD file</comment>
<icon name="application-x-doom-wad"/>
<magic-deleteall />
<magic>
<match type="string" value="IWAD" offset="0"/>
<match type="string" value="PWAD" offset="0"/>
</magic>
<glob-deleteall/>
<glob pattern="*.wad"/>
<glob pattern="*.iwad"/>
<glob pattern="*.pwad"/>
</mime-type>
<mime-type type="application/x-doom-pk3">
<comment>Doom PK3 file</comment>
<icon name="application-x-doom-pk3"/>
<sub-class-of type="application/zip"/>
<glob-deleteall/>
<glob pattern="*.pk3"/>
<glob pattern="*.ipk3"/>
<glob pattern="*.pkz"/>
</mime-type>
<mime-type type="application/x-doom-pk7">
<comment>Doom PK7 file</comment>
<icon name="application-x-doom-pk7"/>
<sub-class-of type="application/x-7z-compressed"/>
<glob-deleteall/>
<glob pattern="*.pk7"/>
<glob pattern="*.ipk7"/>
</mime-type>
</mime-info>

View file

@ -3,9 +3,41 @@ Name=GZDoom
Comment=Multi-game launcher for Doom era games
Icon=org.zdoom.GZDoom
Categories=Game;Shooter;
Exec=gzdoom
Exec=gzdoom %F
StartupNotify=true
PrefersNonDefaultGPU=true
Terminal=false
Type=Application
Keywords=Doom;Heretic;Hexen;strife;pwad;iwad;first;person;shooter;
MimeType=application/x-doom-wad;application/x-doom-pk7;application/x-doom-pk3;
Actions=launch-safemode;launch-doom-1;launch-doom-2;launch-heretic;launch-hexen;launch-strife;
[Desktop Action launch-safemode]
Name=GZDoom Safemode
Icon=org.zdoom.GZDoom
Exec=gzdoom -noautoload -noautoexec %F
[Desktop Action launch-doom-1]
Name=Launch Doom
Icon=org.zdoom.GZDoom
Exec=gzdoom -iwad DOOM.WAD %F
[Desktop Action launch-doom-2]
Name=Launch Doom 2
Icon=org.zdoom.GZDoom
Exec=gzdoom -iwad DOOM2.WAD %F
[Desktop Action launch-heretic]
Name=Launch Heretic
Icon=org.zdoom.GZDoom
Exec=gzdoom -iwad HERETIC.WAD %F
[Desktop Action launch-hexen]
Name=Launch Hexen
Icon=org.zdoom.GZDoom
Exec=gzdoom -iwad HEXEN.WAD %F
[Desktop Action launch-strife]
Name=Launch Strife
Icon=org.zdoom.GZDoom
Exec=gzdoom -iwad STRIFE1.WAD %F