Найти в Дзене
[about@Linux ~]#

Mate-menu в Alt Linux Workstation. Заставляем меняться местами ярлыки в «Избранном» с помощью мыши.

В этой статье мы вернем для 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