Ubuntu: How to create a scope?


I'd like to create a custom scope that searches and returns results from an online source for personal use.

Is this possible? And if so, how?


Yes it is absolutely possible and really easy to create new scopes. The Ubuntu App Developer site has lots of content to get you started writing scopes:


For development in python:

Update for 12.04:

Unity lens development with singlet has been integrated into quickly:

quickly create unity-lens <lens-name>  

For 11.10:

You might want to look at a very nice wrapper class developed by Michael Hall called singlet: https://launchpad.net/singlet

A simple hello world lens would look like this:

#! /usr/bin/python  from singlet.lens import SingleScopeLens, IconViewCategory  from singlet.utils import run_lens    class HelloWorldLens(SingleScopeLens):      class Meta:          name = 'helloworld'        cat1 = IconViewCategory("Cat One", "stock_yet")        def search(self, phrase, results):          results.append('http://google.com/search?q=%s' % phrase,                               'file',                               self.cat1,                               "text/html",                               phrase, phrase, '')  if __name__ == "__main__":      import sys      run_lens(HelloLens, sys.argv)  

Which is a lot simpler and faster to write than the original library versions.


The Ubuntu Wiki has a tutorial on how to write a Lens that uses Vala. Saravanan Thirumuruganathan wrote one for Python. The Unity Sample Place has some simple example lenses written in python and Vala.

As far as I know it's not (yet?) possible to write lenses in PHP.


There are a bunch of tutorials in the Ubuntu Lens wiki. The easiest I think is one I found on a blog here.

Here is the wiki.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »