Выполните следующие шаги.
Скопируйте файл .desktop, связанный с вашим предпочтительным приложением, скажем app-name.desktop с /usr/share/applications/ до ~/.local/share/applications/. Вы можете сделать это, выполнив следующую команду в Terminalcp /usr/share/applications/app-name.desktop ~/.local/share/applications/
. Откройте файл .desktop с помощью текстового редактора, например, запустив gedit ~/.local/share/applications/app-name.desktop
. Посмотрите на строку, начинающуюся с Actions=. Если он есть, добавьте My-Custom-Action; к нему. В противном случае добавьте следующую строку Actions=My-Custom-Action;
. Напишите следующие строки в конце файла: [Desktop Action My-Custom-Action]
Name=Name of the Option
Exec=command-you-want-ro-run
Например, если вы хотите открыть текстовый редактор, поставьте gedit вместо command-you-want-ro-run. Сохраните файл. Нажмите «Действия» и найдите приложение. Щелкните правой кнопкой мыши значок приложения и выберите «Добавить в избранное». Он должен быть добавлен в док-станцию Ubuntu. Теперь, если вы щелкнете правой кнопкой мыши по недавно добавленному значку приложения в доке, вы должны увидеть запись «Имя параметра» в контекстном меню, которая должна работать как ожидалось.
Аналогичным образом вы можете использовать другие опции, добавив новые Desktop Action s и добавив имя действия в строку Actions=. Для получения дополнительной информации см. Это.
Интроспекция - это способ узнать, что такое объект и что он содержит во время выполнения. На некоторых языках это более необходимо, чем другие. Python, который динамически типизирован (то есть объект может получить атрибуты и методы во время выполнения), использует интроспекцию, чтобы узнать текущий статус объекта.
Вот очень упрощенный пример Python, в котором вы начинаете с класс и добавьте новый атрибут и, используя интроспекцию, проверьте, какие атрибуты доступны в экземпляре объекта.
>>> class MyObject:
... variable = False
>>> instance = MyObject()
>>> dir(instance)
['__doc__', '__module__', 'variable']
>>> instance.newvariable = "Kittens"
>>> dir(instance)
['__doc__', '__module__', 'newvariable', 'variable']
Итак, в динамических системах вы можете использовать такие вещи, как Python hasattr, чтобы определить, смогут делать то, что вы пытаетесь сделать с ним. Даже если вы не используете его во время выполнения, интроспекция также чрезвычайно полезна для отладки.
Теперь в библиотеках на основе GObjects и GObject. Они на C и в C вы не получаете всю эту симпатичную пушистую управляемую ошибку, вы получаете производительность. Это означает, что встроенная интроспекция отсутствует, и это означает, что сложнее поддерживать внешнее связывание.
Привязки являются API-интерфейсом между вещами на разных языках, что позволяет им работать вместе. Для этого вам нужен общий API, и в этом случае API - это GObject. Но для того, чтобы это сработало, привязка звонящего должна знать, что доступно для него. До того, как GObject Introspection, это должно было быть жестко закодировано в привязках, а это означает, что для каждого набора привязок поддерживается ручной список.
GObject Introspection по существу предоставляет сканер, который может охотиться через текущий источник GObject, с которым вы работаете, и предоставляет вам информацию привязки XML. Затем это обрабатывается связями, и вы получаете API, который просто работает, все время.
Я, конечно, не охватил все здесь, но я пытаюсь дать вам представление о двух темы (интроспекция и почему в ней нуждается GObjects). Если вы хотите узнать больше, на веб-сайте Gnome есть много.
http://blogs.gnome.org/johan/2008/06/01/introduction-to-gobject-introspection/ (Хорошее введение ) https://live.gnome.org/GObjectIntrospection/Интроспекция - это способ узнать, что такое объект и что он содержит во время выполнения. На некоторых языках это более необходимо, чем другие. Python, который динамически типизирован (то есть объект может получить атрибуты и методы во время выполнения), использует интроспекцию, чтобы узнать текущий статус объекта.
Вот очень упрощенный пример Python, в котором вы начинаете с класс и добавьте новый атрибут и, используя интроспекцию, проверьте, какие атрибуты доступны на экземпляре объекта.
>>> class MyObject:
... variable = False
>>> instance = MyObject()
>>> dir(instance)
['__doc__', '__module__', 'variable']
>>> instance.newvariable = "Kittens"
>>> dir(instance)
['__doc__', '__module__', 'newvariable', 'variable']
Итак, в динамических системах вы можете использовать такие вещи, как Python hasattr
, чтобы указать, если объект смогут делать то, что вы пытаетесь сделать с ним. Даже если вы не используете его во время выполнения, интроспекция также чрезвычайно полезна для отладки.
Теперь в библиотеках GObjects и GObject. Они на C и в C вы не получаете всю эту симпатичную пушистую управляемую ошибку, вы получаете производительность. Это означает, что встроенная интроспекция отсутствует, и это означает, что сложнее поддерживать внешнюю привязку.
Привязки - это API между вещами на разных языках, которые позволяют им работать вместе , Для этого вам нужен общий API, и в этом случае API - это GObject. Но для того, чтобы это сработало, привязка звонящего должна знать, что доступно для него. До того, как GObject Introspection это должно было быть жестко закодировано в привязках, а это означает, что для каждого набора привязок поддерживается ручной список.
GObject Introspection по существу предоставляет сканер, который может охотиться через текущий источник GObject, с которым вы работаете, и предоставляет вам информацию привязки XML. Затем это обрабатывается привязками, и вы получаете API, который просто работает, все время.
Я, конечно, не охватил все здесь, но я пытаюсь дать вам представление о двух темы (интроспекция и почему в ней нуждается GObjects). Если вы хотите узнать больше, на веб-сайте Gnome есть много.