Автор Тема: Как вывести Name вместо GenericName в апплетах Classic и Compact Menu?  (Прочитано 802 раз)

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
В процессе выяснения причин одинакового отображения текста для root и не-root ярлыков ZenMap, описанного в баге https://bugzilla.altlinux.org/44064 задаюсь вопросом из заголовка темы.

В Debian 11, например, с той же версией MATE 1.24 текст ярлыков Zenmap (поставлен из пакетов Debian 10, но это ничего не меняет) выглядит ожидаемо - Zenmap и Zenmap (as root).
Т.е. по исходникам получается что в Debian используется именно поле Name.
Именно Name и отображается во всех апплетах - Classic Menu, Brisk Menu и Compact Menu.

У меня установлено две системы ALT на английском языке:

* alt-p10-mate-20220910-x86_64.iso - использует классическое меню Applications, Places, System (т.е. апплет Classic Menu), отображающий GenericName;
* alt-workstation-10.0.910_rc1-x86_64.iso - использует меню Advanced MATE Menu и отображает Name. При доустановке пакета brisk-menu и добавлении этого апплета на панель в его меню отображаются тоже Name. Оба меню, что Advanced, что Brisk меня не устраивают (дело вкуса, не для обсуждения).

Можно как-то настроить использование Name вместо GenericName в апплетах Classic и Compact Menu?
Вопрос локализации меня при этом не интересует, т.к. используется система с английским интерфейсом.
« Последнее редактирование: 18.10.2022 00:29:59 от N0rbert »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Использование Name в меню противоречит стандарту FreeDesktop. Среды на GTK обычно не соблюдают стандарты.
Андрей Черепанов (cas@)

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
Использование Name в меню противоречит стандарту FreeDesktop. Среды на GTK обычно не соблюдают стандарты.
Можно как-то настроить использование Name вместо GenericName в апплетах Classic и Compact Menu?
« Последнее редактирование: 18.10.2022 08:43:54 от N0rbert »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Не использую.
Андрей Черепанов (cas@)

Оффлайн zerg

  • ненужная строка
  • alt linux team
  • ***
  • Сообщений: 2 486
  • ненужная строка
    • Найдётся всё
Можно как-то настроить использование Name вместо GenericName в апплетах Classic и Compact Menu?
Можно повесить на них баг в багзилу. Например, с просьбой показывать в форме "Name (GenericName)" или "GenericName (Name)".
Убрать этот мусор можно переключателем: Не показывать подписи других пользователей.

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
баг в багзилу

В таком случае возникает вопрос на какой именно пакет вешать баг?
И как в Debian они добились отображения Name во всех апплетах меню?

На второй вопрос я постараюсь сам найти ответ на уровне исходников в виртуалке, но вдруг кто-то здесь четко знает причину...

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
Разобрался. Проблема вызвана самостийным патчем, которого явно нет и никогда не было в апстриме.
И даже в нестабильном Debian его тоже нет.

Откатите, пожалуйста, этот патч обратно и заведите баг в апстриме с Feature Request на это изменение.

А если предположить, что MATE, будучи наследником GNOME 2, реально нарушает какую-нибудь спецификацию XDG Desktop, то разработчикам MATE тем более нужно об этом четко сообщить и разъяснить ситуацию. Сейчас у вас получился велосипед, вызывающий, например, у меня, пользующегося MATE уже 8 лет явное недоумение и потерю времени на расследования.
Хоть я его и провел и причину нашел, но осадок остался.
Жду комментариев от уважаемого @shrek и др. компетентных в вопросе разработчиков с последующим откатом патча.

Локально я патч откатил, меню теперь на ALW p10 выглядит во всех 4 апплетах как в Debian, т.е. везде отображается удобный и привычный Name.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Разобрался. Проблема вызвана самостийным патчем, которого явно нет и никогда не было в апстриме.
И даже в нестабильном Debian его тоже нет.

Откатите, пожалуйста, этот патч обратно и заведите баг в апстриме с Feature Request на это изменение.

А если предположить, что MATE, будучи наследником GNOME 2, реально нарушает какую-нибудь спецификацию XDG Desktop, то разработчикам MATE тем более нужно об этом четко сообщить и разъяснить ситуацию. Сейчас у вас получился велосипед, вызывающий, например, у меня, пользующегося MATE уже 8 лет явное недоумение и потерю времени на расследования.
Хоть я его и провел и причину нашел, но осадок остался.
Жду комментариев от уважаемого @shrek и др. компетентных в вопросе разработчиков с последующим откатом патча.

Локально я патч откатил, меню теперь на ALW p10 выглядит во всех 4 апплетах как в Debian, т.е. везде отображается удобный и привычный Name.
Повешайте баг на bugzilla.altlinux.org. Здесь мейнтейнеры о нарушении апстримом стандартов не читают.
Андрей Черепанов (cas@)

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
баг

Спасибо, вот он → https://bugzilla.altlinux.org/44100 .

Оффлайн sm0k1

  • Начинающий
  • *
  • Сообщений: 3
Локально я патч откатил, меню теперь на ALW p10 выглядит во всех 4 апплетах как в Debian, т.е. везде отображается удобный и привычный Name.
Добрый день, N0rbert!

Задался той же целью, а именно отображение Name вместо GenericName в апплете "Компактное меню"
Не могли бы, пожалуйста, уточнить каким образом можно откатить патч?

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
каким образом можно откатить патч?

Откат патча я делаю непосредственно в установленной системе без привлечения Hasher'а так:

$ su -
# apt-repo add "rpm-src [p10] http://mirror.yandex.ru/altlinux p10/branch/x86_64 classic"
# apt-repo add "rpm-src [p10] http://mirror.yandex.ru/altlinux p10/branch/noarch classic"
# apt-get update
# apt-get install -y etersoft-build-utils mate-common gtk-doc libSM-devel libXi-devel libXrandr-devel libdbus-glib-devel libdconf-devel libmateweather-devel librsvg-devel libwnck3-devel mate-desktop-devel mate-menus-devel yelp-tools libgtk-layer-shell-devel gear
# cd /tmp
# apt-get source mate-panel
# exit

$ rpm -i /tmp/mate-panel-*.src.rpm
$ cd ~/RPM/SPECS/
$ sed -i 's/^Patch/#Patch/' mate-panel.spec
$ sed -i 's/^%patch/#%patch/' mate-panel.spec
$ rpmbb mate-panel.spec
$ rm -vf ~/RPM/RPMS/*/*debuginfo*.rpm
$ su -c "apt-get install --reinstall -y ~/RPM/RPMS/x86_64/*mate-panel*.rpm ; apt-get install --reinstall -y ~/RPM/RPMS/x86_64/*mate-panel*.rpm"

После установки нужно перезагрузить компьютер, зайти в систему и убедиться что теперь используются Name вместо GenericName в меню.
Затем можно заморозить версии (Lock Version) трех пакетов - libmate-panel, mate-panel, mate-panel-devel через Synaptic или надежнее через терминал:

$ su -
# export mp_ver=$(rpm -q mate-panel | awk -F- '{print $3"-"$4}' | sed 's/.x86_64//')
# cat <<EOF >> /etc/apt/preferences.d/pin-mate-panel
Package: libmate-panel
Pin: version ${mp_ver}
Pin-Priority: 1001

Package: mate-panel
Pin: version ${mp_ver}
Pin-Priority: 1001

Package: mate-panel-devel
Pin: version ${mp_ver}
Pin-Priority: 1001
EOF
# exit

В результате у вас будет замороженная версия пакетов MATE Panel, выводящая ожидаемые имена приложений.
« Последнее редактирование: 25.11.2023 22:40:08 от N0rbert »

Оффлайн sm0k1

  • Начинающий
  • *
  • Сообщений: 3
Большое спасибо!

Оффлайн zerg

  • ненужная строка
  • alt linux team
  • ***
  • Сообщений: 2 486
  • ненужная строка
    • Найдётся всё
# export mp_ver=$(rpm -q mate-panel | awk -F- '{print $3"-"$4}' | sed 's/.x86_64//')

mp_ver=`rpm -q --qf '%{VERSION}' mate-panel`
Убрать этот мусор можно переключателем: Не показывать подписи других пользователей.