Bug 45523 - menulibre ключ Type не найден в desktop-файлах slinux-style
Summary: menulibre ключ Type не найден в desktop-файлах slinux-style
Status: NEW
Alias: None
Product: Альт Образование
Classification: Distributions
Component: Ошибки работы (show other bugs)
Version: 10.1
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-10 11:18 MSK by igor
Modified: 2023-03-10 11:18 MSK (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description igor 2023-03-10 11:18:49 MSK
Проблема преимущественно эстетического характера — menulibre пестрит предупреждениями об ошибках разбора "ключ Type не найден", что может вызывать панические настроения у новичков.

Предупреждения по ошибкам разбора связаны с неполным заполнением desktop-файлов, расположенных в /usr/share/slinux-style/applications/. В файлах присутствует всего один атрибут (Hidden), когда по спецификации freedesktop должны присутствовать обязательные атрибуты Type и Name, но на деле достаточно одного атрибута Type=Application.

Ссылка на спецификацию: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys

Если я правильно понимаю рекомендации спецификации, то атрибут Hidden лучше заменить на NoDisplay=true. 

Вариант решения (на вход скрипта передать /usr/share/slinux-style/applications/*.desktop):
#!/usr/bin/env bash

attr="Hidden=true"

for i in $@
do
    if [[ $attr == $(awk '/Hidden/' $i) ]]
    then
        sed -i 's\Hidden=true\NoDisplay=true\; 1 a\Type=Application' $i
    fi
done

exit 0


По итогу все предупреждения об ошибках разбора, связанные с отсутствием Type, будут устранены.