Pull to refresh

Comments 15

«Итак, для создания линзы, нам понадобятся...» Что такое линза? В первый раз вижу применение оптического понятия в не оптической области.
Очевидно линзой это называется потому, что на английском официальное название — Unity Lens.
А при чем тут Unity3D?
Я уж было подумал, что будет какая-то модная трехмерная линза…
И правда, при чем тут Unity3d, ведь статья про Unity :)
Да, с этими юнити только путаницы сделали, понавыбирали себе одинаковых названий ))
опа… промахнулся с хабом )) FIX!
Спасибо. Попробую прикрутить что-то подобное к приватным системам, в которых часто ищешь.
Здорово! Порадовало, что внутри несложный питон.
Ещё бы круто добавить про фильтры, кастомные хэндлеры 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 должен быть сделан строго по шаблону:
results.append (url,
    	            icon,
    	            category,
    	            mime-type,
    	            text,
    	            comment,
    	            drag and drop url)

Вообще relusts.append — это один элемент вывода. Конкретно в данном примере — одна статья из вики.
image
Соответственно нам нужно указать в 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
Sign up to leave a comment.

Articles