Try to get the source .desktop file with the given name.
    :raises FileNotFoundError: If no desktop file was found in the searched directories.

def get_source_desktop_file(desktop_file_name: str) -> Path:
    """
    Try to get the source .desktop file with the given name.
    :raises FileNotFoundError: If no desktop file was found in the searched directories.
    """
    possible_paths = (
        # Copy from local installation. Also used if the user explicitely customized the launcher .desktop file.
        Path(common.XDG_DATA_HOME) / "applications",
        # Copy from system-wide installation
        Path("/", "usr", "share", "applications"),
        # Copy from git source tree. This will probably not work when used, because the application won’t be in the PATH
        Path(__file__).parent.parent.parent / "config"
    )
    for possible_path in possible_paths:
        desktop_file = possible_path / desktop_file_name
        if desktop_file.exists():
            return desktop_file
    raise FileNotFoundError("Desktop file for autokey could not be found. Searched paths: {}".format(possible_paths))