Gnome-Shell search providers are described by XML files in the folder /usr/share/gnome-shell/search_providers
You will notice two XML files - google.xml and wikipedia.xml
Lets create a new search provider - copy the google.xml file as a template
11.10
sudo cp /usr/share/gnome-shell/search_providers/google.xml /usr/share/gnome-shell/search_providers/duckduckgo.xml
12.04
sudo cp /usr/share/gnome-shell/open-search-providers/google.xml /usr/share/gnome-shell/open-search-providers/duckduckgo.xml
Now lets open the file and change some details to search with duckduckgo:
11.10
sudo nano /usr/share/gnome-shell/search_providers/duckduckgo.xml
12.04
sudo nano /usr/share/gnome-shell/open-search-providers/duckduckgo.xml
Change the following XML tags:
<ShortName>DuckDuckGo</ShortName>
<Description>DuckDuckGo Search</Description>
<Url type="text/html" method="GET" template="http://www.duckduckgo.com/?q={searchTerms}"/>
The only difficult part is finding out how a search engine searches - in duckduckgo I searched for something - you see in the title bar how the search provider adds its search terms
final result
In order to see the changes, you need to restart GNOME Shell by pressing Alt+F2, typing "r" and pressing enter.
Linked Questions:
- Is it possible to re-arrange the search providers on the GNOME Shell Activities Overview display?
Following the changes provided by the GNOME group, many of the "visual errors" are fixed in the following versions after the one you mentioned in your question (Assuming you have the latest one from the date you posted the answer).
A simple (HUGE) update of your Gnome shell should solve this. You can find how to install the PPA right here on askubuntu.
Here is the changes for the 3.2 Version and the 3.4 version:
Gnome 3.2 - http://library.gnome.org/misc/release-notes/3.2/
Gnome 3.4 - http://library.gnome.org/misc/release-notes/3.4/
Best Answer
I have found fossfreedom's answer to create a DuckDuckGo search button in gnome-shell to be useful and I have used it as a base to answer this question.
To create a new search provider, copy the google.xml file as a template.
11.10
12.04
Change the following XML tags in the askubuntu.xml file:
If you have done everything right, you should be seeing the Ask Ubuntu search button in the overview.