Skip to content

chromium.desktop ships with unexpanded build placeholders, breaks GIO URL handling #4486

@jbecherer

Description

@jbecherer

System details

Dell Pro 14 Plus PB14250, Omarchy 3.3.3, Linux 6.18.3-arch1-1, Hyprland 0.53.1 (Wayland)

What's wrong?

Here is a ready-to-paste bug report you can submit verbatim. It’s written to be concise, technically precise, and immediately actionable for a maintainer.


Title

chromium.desktop ships with unexpanded build placeholders, breaks GIO URL handling

Description

After a recent update on Omarchy (Arch-based, Hyprland), Chromium is installed with an invalid desktop file at:

/usr/share/applications/chromium.desktop

The file contains unexpanded packaging placeholders, which makes it fail validation and causes GIO/GTK applications to reject Chromium as a URL handler. As a result, applications fall back to LibreOffice (or other handlers) when opening web links, even though XDG defaults are set correctly.

This is not user configuration; it is a packaging error.


Evidence

Running:

desktop-file-validate /usr/share/applications/chromium.desktop

Produces:

/usr/share/applications/chromium.desktop: error: file contains line "@@EXTRA_DESKTOP_ENTRIES@@", which is not a comment, a group or an entry
/usr/share/applications/chromium.desktop: error: (will be fatal in the future): value "...;@@URI_SCHEME@@" for key "MimeType" contains invalid MIME type "@@URI_SCHEME@@"

These placeholders should not be present in an installed .desktop file.


Impact

  • gio mime x-scheme-handler/http chromium.desktop fails with:

    gio: Failed to load info for handler “chromium.desktop”
    
  • GTK applications (including LibreOffice) ignore Chromium and fall back to other handlers

  • xdg-mime appears correct, but GIO rejects the desktop entry

  • Users experience web links opening in LibreOffice instead of their browser

This primarily affects minimal/Wayland setups (Hyprland, no GNOME/KDE), where GIO and XDG are not auto-synchronized.


Expected Behavior

/usr/share/applications/chromium.desktop should:

  • Contain no unexpanded placeholders

  • Pass desktop-file-validate cleanly

  • Be usable by GIO as a default handler for:

    • x-scheme-handler/http
    • x-scheme-handler/https
    • text/html

Workaround (user-side)

Users can work around this by copying and fixing the desktop file manually:

cp /usr/share/applications/chromium.desktop ~/.local/share/applications/
# remove @@EXTRA_DESKTOP_ENTRIES@@ and @@URI_SCHEME@@
desktop-file-validate ~/.local/share/applications/chromium.desktop

…but this should not be necessary.


Requested Fix

Fix the Chromium package so that:

  • All build-time placeholders are expanded
  • The installed chromium.desktop validates cleanly
  • GIO can load it without errors

Environment

  • Omarchy (Arch-based)
  • Wayland / Hyprland
  • Chromium from distribution repositories
  • No custom desktop-file modifications

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions