Комментарии 15
«Итак, для создания линзы, нам понадобятся...» Что такое линза? В первый раз вижу применение оптического понятия в не оптической области.
А при чем тут Unity3D?
Я уж было подумал, что будет какая-то модная трехмерная линза…
Я уж было подумал, что будет какая-то модная трехмерная линза…
Спасибо. Попробую прикрутить что-то подобное к приватным системам, в которых часто ищешь.
Здорово! Порадовало, что внутри несложный питон.
Ещё бы круто добавить про фильтры, кастомные хэндлеры uri, использование нескольких scope, scope доя сторонних линз и превью. А то как-то во всех инструкциях описан самый простой случай, а остальное надо додумывать по сишной апишке =)
Здорово, конечно, но вы бы хоть абзацик вначале написали, что это за линзы такие. Я Убунтой пользуюсь и то ничего не понял сначала.
Что то не получается… Сделал для пробы так:
он ругается на ошибки:
def search(self, search, results):
# TODO: Add your search results
results.append(self.translate(search))
pass
он ругается на ошибки:
WARN 2012-10-22 12:49:26 unity <unknown>:0 Unable to fetch children: No such interface `org.ayatana.bamf.view' on object at path /org/ayatana/bamf/application1339296950
WARN 2012-10-22 12:49:27 unity.glib.dbusproxy GLibDBusProxy.cpp:283 Calling method "Search" on object path: "/unity/singlet/lens/gtranslate" failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name unity.singlet.lens.gtranslate was not provided by any .service files
ERROR 2012-10-22 12:49:27 unity <unknown>:0 bamf_view_get_children: assertion `BAMF_IS_VIEW (view)' failed
ERROR 2012-10-22 12:49:27 unity.glib-gobject <unknown>:0 g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
ну, насколько я понимаю весь results.append должен быть сделан строго по шаблону:
Вообще relusts.append — это один элемент вывода. Конкретно в данном примере — одна статья из вики.

Соответственно нам нужно указать в results.append url этой статьи (url), её иконку (icon), категорию, декларированную в начале __init__.py (category), mime тип содержимого (ну тут должен быть «text/html»), название статьи (text), комментарий к ней (comment) и ссылку для перетаскивания (drag and drop url).
Советую чтобы лучше понять выполнить в терминале
Будет создана линза по стандартной заготовке, там всего один вывод — с нем и разберётесь.
ЗЫ Честно говоря, я сам только разбираюсь и пока лишь сделал лишь линзу по данной статье. Решил свою написать, появились вопросы по парсингу JSON. Мне посоветовали почитать эту статью.
results.append (url,
icon,
category,
mime-type,
text,
comment,
drag and drop url)
Вообще relusts.append — это один элемент вывода. Конкретно в данном примере — одна статья из вики.
Соответственно нам нужно указать в results.append url этой статьи (url), её иконку (icon), категорию, декларированную в начале __init__.py (category), mime тип содержимого (ну тут должен быть «text/html»), название статьи (text), комментарий к ней (comment) и ссылку для перетаскивания (drag and drop url).
Советую чтобы лучше понять выполнить в терминале
quickly create unity-lens test
cd test
sudo quickly install
quickly run
Будет создана линза по стандартной заготовке, там всего один вывод — с нем и разберётесь.
ЗЫ Честно говоря, я сам только разбираюсь и пока лишь сделал лишь линзу по данной статье. Решил свою написать, появились вопросы по парсингу JSON. Мне посоветовали почитать эту статью.
Главное что пишут разработчики — не плодите дубликаты линз. Сосредоточьтесь на написании scope для уже готовой линзы, если нужно всего лишь расширить область поиска.
Пример scope ForumUbuntuRu для HelpLens
forum.ubuntu.ru/index.php?topic=203175.0
Пример scope ForumUbuntuRu для HelpLens
forum.ubuntu.ru/index.php?topic=203175.0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Простой способ создать Unity Lens для Ubuntu (перевод)