Take one of the xml for DuckDuckGo in the OpenSearch standard, here’s mine:
<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> <ShortName>DuckDuckGo</ShortName> <Description>Encrypted Duck Duck Go with encrypted Google Suggest</Description> <InputEncoding>UTF-8</InputEncoding> <Image height="16" width="16" type="image/x-icon">https://duckduckgo.com/favicon.ico</Image> <Url type="text/html" method="get" template="https://duckduckgo.com/?q={searchTerms}"/> <Url type="application/x-suggestions+json" template="https://encrypted.google.com/complete/search?output=firefox&q={searchTerms}"/> <Url rel="suggestions" type="application/x-suggestions+xml" template="https://encrypted.google.com/complete/search?q={searchTerms}&client=ie8&mw={ie:maxWidth}&sh={ie:sectionHeight}&rh={ie:rowHeight}&inputencoding={inputEncoding}&outputencoding={outputEncoding}"/> </OpenSearchDescription>
and save as /usr/share/gnome-shell/search_providers/duckduckgo.xml for instance on Debian Wheezy. Now, refresh Gnome Shell (by doing alt+f2, ‘r’) and whenever you search for someting in the Shell’s Activity overview, you have the possibility to search the Web with DuckDuckGo.