В этой статье мы вернем для Mate-menu, в Alt Linux Workstation, возможность менять местами пункты в «Избранном». Это уже достаточно древний баг окружения Mate, когда нельзя простым перетаскиванием менять местами добавленные ярлыки. Конечно, когда-нибудь этот баг пофиксят. Но скорость разработки Mate не очень большая и произойти это может не скоро. Поэтому я предлагаю не дожидаться этого момента и исправить все самостоятельно. Тем более сделать это не так сложно, как может показаться на первый взгляд. Да, можно, конечно, «по-старинке», вручную править файл ~/.config/mate-menu/applications.list и менять порядок пунктов меню там. Но есть ведь и более элегантное решение.
Итак, приступим!
Открываем файл /usr/lib/python3/site-packages/mate_menu/plugins/applications.py в любом удобном текстовом редакторе. У меня это будет Pluma:
su -
pluma /usr/lib/python3/site-packages/mate_menu/plugins/applications.py
Ищем строки под номерами 195-196:
toFav = ( Gtk.TargetEntry.new( "FAVORITES", Gtk.TargetFlags.SAME_APP, 81 ), Gtk.TargetEntry.new( "text/plain", 0, 100 ), Gtk.TargetEntry.new( "text/uri-list", 0, 101 ) )
fromFav = ( Gtk.TargetEntry.new( "FAVORITES", Gtk.TargetFlags.SAME_APP, 81 ), Gtk.TargetEntry.new( "FAVORITES", Gtk.TargetFlags.SAME_APP, 81 ) )
И приводим их вот к такому виду:
toFav = (Gtk.TargetEntry.new("text/plain", Gtk.TargetFlags.SAME_APP, 81), Gtk.TargetEntry.new("text/plain", 0, 100), Gtk.TargetEntry.new("text/uri-list", 0, 101))
fromFav = (Gtk.TargetEntry.new("text/plain", Gtk.TargetFlags.SAME_APP, 81), Gtk.TargetEntry.new("text/plain", Gtk.TargetFlags.SAME_APP, 81))
Далее ищем строку 1372:
self.favoritesReorder( int(selection.get_data()), widget.position )
И меняем ее на:
self.favoritesReorder(int(selection.get_data().decode()), widget.position)
А также меняем строку 1376:
selection.set(Gdk.SELECTION_CLIPBOARD, 8, str(widget.position))
На следующее:
selection.set_text(str(widget.position), -1)
Далее, сохраняем полученный файл и перезагружаем ПК. Радуемся результату :)
Для тех, кому лень редактировать и вообще «ничего непонятно», выкладываю готовый уже отредактированный файл applications.py на Я.Диск:
https://disk.yandex.ru/d/XM-ILssYeLyUiA
Распаковываем файл из архива в домашнюю директорию и выполняем с последующей перезагрузкой:
su -
yes | cp -rf /home/Имя_пользователя/applications.py /usr/lib/python3/site-packages/mate_menu/plugins/applications.py
[about@Linux ~]# - Сообщество пользователей и любителей ОС на базе ядра Linux и по-совместительству персональный блог одного из таких людей.
Страница ВК: https://vk.com/about_linux