Когда мы щелкаем правой кнопкой мыши главное меню на панели, мы получаем некоторые опции. Можно ли из этого удалить опцию «Редактировать меню»?
Хорошо, это не удаляет пункт меню, но делает его бесполезным, должно быть именно тем, что вам нужно:
Сначала создайте резервную копию alacarte, редактор меню:
[ 110]Теперь откройте оригинал в вашем любимом текстовом редакторе:
sudo gedit /usr/bin/alacarte
В между концом большого комментария вверху и строкой с надписью
import sys
вставьте это:
import gtk
md = gtk.MessageDialog(None,
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR,
gtk.BUTTONS_CLOSE, "Not Allowed")
md.run()
md.destroy()
exit(1)
Конечно, вы можете заменить «Не разрешено» на любое сообщение об ошибке, которое вам нравится.
Теперь, когда вы нажмете «редактировать меню», появится следующее сообщение:
Конечно, это не «безопасно», знающий пользователь будет в состоянии обойти это, но я думаю, это нормально в вашем случае. Я также не проверял, ломаются ли какие-либо другие приложения из-за этого, но, глядя на код, этого не должно происходить.
Примечание: если вы хотите использовать сообщение об ошибке, состоящее из символов вне ASCII, убедитесь, что в нем написано
# -*- coding: utf-8 -*-
вверху (вторая или третья строка, не первый ) файла (по умолчанию).
В противном случае вы получите ошибку.
Стефано и я говорили об этом сегодня в чате. Я думаю, что он работает в другом направлении, но у меня есть несколько основанных на источнике способов обойти это.
Апплет Main Menubar является частью gnome-panel
, так что вы можете загрузить исходный код для этого, внести изменения, чтобы удалить пункт меню Edit Menus, а затем упаковать его. Проблема заключается в том, что вы либо потеряете свои изменения, когда получите обновление, либо удерживаете версию пакета и будете работать без автоматических обновлений.
Используйте меню другого типа. Есть несколько отличных вариантов с такими вещами, как Cardapio . Cardapio основан на Python, так что немного легче подчиниться своей воле. Просто отредактируйте /usr/lib/cardapio/Cardapio.py
. У вас есть несколько вариантов здесь, вы можете сломать launch_edit_app()
. Или вы можете выследить, где отображается опция, используя что-то вроде этого:
grep -R 'launch_edit_app' /usr/lib/cardapio/
Конечно, вы хотите заблокировать панель, чтобы кто-то просто добавил обычное меню.