Есть ли программа, которая запускает настраиваемое контекстное меню

Как указано в комментариях, первоначальный ответ был несколько неясным.

Владелец файла всегда может изменить разрешения любого файла, которым он владеет (в то время как root может сделать это для всех существующих файлов).

Если вы обычный пользователь, это зависит от того, как вы пытаетесь изменить read-only-файл:

  • откройте файл с помощью vi и измените его -> вы можете записать изменения с помощью ":w!"
  • try #echo "test" >> read-only-file there is a permission denied.

Если вы являетесь пользователем root, вы можете перезаписывать и изменять любой файл, но программа vi будет учитывать разрешение только для чтения и попросит подтверждения.

Файл /etc/sudoers всегда должен изменяться командой "visudo", которая открывает содержимое реального файла во временном файле и делает несколько проверок перед сохранением изменений. Как пользователь root-User изменения могут быть записаны, несмотря на права только для чтения.

2
19.03.2016, 03:56
1 ответ

Sawfish управляет своими меню с помощью сопутствующей программы sawfish-menu . Вы можете использовать эту программу, даже если вы не используете Sawfish в качестве оконного менеджера. Протокол между sawfish и sawfish-menu, похоже, нигде не задокументирован; он вдохновлен форматом спецификации меню в самом Sawfish.

echo '(popup-menu (("_toplevel" 0) ("_submenu" ("_foo" 1) () ("_bar" 2))))' |
/usr/lib/sawfish/1.5.3/x86_64-pc-linux-gnu/sawfish-menu

sawfish-menu печатает 0 , если пользователь выбирает «верхний уровень» и т. Д. Вы можете указать строки (в двойных кавычках или даже без кавычек, если они действительные идентификаторы Lisp) вместо номера для записей. Если пользователь прерывает работу (например, нажатием Esc ), то вывод будет () .

Вот краткое изложение синтаксиса ввода sawfish-menu .

  • Начните с (всплывающее меню и закончите ) .
  • Для интерактивного входа в меню используйте ТЕКСТ » ВЫХОД ) , где ТЕКСТ - это текст записи, а ВЫХОД - это то, что программа печатает, если выбран этот пункт меню.
    • Если в ТЕКСТ есть подчеркивание, следующим символом будет ускоритель для этой записи.
    • Вы можете поставить галочку перед пунктом меню, добавив (check. T) , например ("Фу" 42 (чек. Т)) .
    • Вы можете поставить маркер (переключатель) перед пунктом меню, добавив (группа. ЧТО-ТО ) (проверьте t) . Только одна запись в данной группе может иметь кнопку.
    • Вы можете сделать запись серой и недоступной для выбора, добавив (нечувствительность. T) .
  • Для подменю используйте ТЕКСТ » ВХОД …) .
  • Для разделителя используйте () .

Очевидно, не стоит ожидать, что люди установят эту утилиту. Обычно он не упаковывается отдельно от Sawfish, но на самом деле ему ничего не нужно от самого Sawfish; это сценарий rep, rep - это диалект Лиспа, на котором написан Sawfish (и в основном ничего больше). В Debian вам нужен пакет rep-gtk для запуска sawfish -menu плюс сам скрипт.

2
27.01.2020, 22:11

Теги

Похожие вопросы