Dave's Quick Search Deskbar FAQ

Last updated:
[ Dave's Quick Search Deskbar ]

General Installation Searches Aliases Preferences Styles Coding Known Issues Add-ons

1. General [ Top]
1.1 Can I assign a hotkey to it so I don't need to mouse to it?
This feature was added in version 3.0.
1.2 Why doesn't the DEL or the ctrl-insert key work?
This feature was added in version 3.0.
1.3 Where can I get the latest version of DQSD?
You can get the latest released version at http://www.dqsd.net and the latest beta version at http://sourceforge.net/projects/dqsd.
1.4 I've made some preference or style setting changes. How do I apply them?
You can reload the DQSD toolbar by typing ! in the search window and pressing the ENTER key.
1.5 I use Windows XP. When I open DQSD I only see the word "Search" on my taskbar. Why?
XP has a "lock taskbar" feature set by default. Right click on your taskbar and uncheck Lock taskbar. Then you can drag DQSD all you need and you can disable showing the name (search), etc... When you get it like you want it, you can lock the taskbar again.
1.6 What are the key bindings used by DQSD?
Key Description
Ctrl-Enter Adds www. prefix and/or .com suffix to string if necessary and launches URL. Like IE key-binding (only better since the prefix/suffix are only add if needed).
Shift-Enter Always opens a new window for the search regardless of the reuseWindowMode setting. This works only when IE is the default browser.
Ctrl-B, F8 Search the search history for the current text. (user configurable in localprefs.js)
Shift-Ctrl-B, Shift-F8 >Search forward through the history for the current text. (user configurable in localprefs.js)
Win-S Make the search bar active (i.e., make it have the current focus). (user configurable in localprefs.js)
F1 Display menu.
Ctrl-P, Up Display previous search in history.
Ctrl-N, Down Display next search in history.
Shift [drag-n-drop] When dragging text to the search bar, if the shift key is held down when dropping the text the default search won't be automatically invoked.
1.7 Why do I constantly get an error at startup: "Hotkey registration failed"?
DQSD registers Win-S as a system-wide hotkey to set focus on the search bar. If another application has managed to register Win-S before DQSD, it will throw this error to let you know why keyboard support is degraded. Known perpetrators are: You can solve this easily by configuring DQSD to use another hotkey. Add the following to your localprefs.js in the DQSD installation directory:
	/* The character we use with the 'Windows key' as a hotkey to jump to the searchbar
	*  This should be a single UPPER CASE letter
	hotkeyCharacter = "Q";
Change the "Q" if you want some other hotkey — as the comment says, any single uppercase character is fine. You will need to restart your machine (or at least explorer.exe) for the settings to take effect.
2. Installation[ Top ]
2.1 I've installed it, but I want to uninstall it, and I can't figure out how! Help!
Right-click on the shoe to the left and choose 'Close Toolbar'. Then find the uninstaller under the control panel. Some people find the control panel entry, but they don't know they need to close DQSD before uninstalling.
2.2 I'm having trouble upgrading. What do I do?
To be perfectly safe, 1. close the toolbar, 2. reboot the computer, 3. install the upgrade.
3. Searches[ Top ]
3.1 How do I find out what searches are available?
Enter ? as the search or select 'Help / About...' from the menu. The About Box that appears lists all the current searches.
3.2 How do I add my own searches?
Standard searches are defined by XML files in the 'searches' subdirectory, but the 'localsearches' subdirectory is at your disposal to put your own searches, or searches you may have customised. You need to be comfortable hacking on HTML forms and a bit of JavaScript to add a search to the search bar.

If you are, here's what you do:
  1. Build your search file. For this, either
    • use Dave's Quick Search Deskbar Search Wizard, that will save you lots of time.
    • or:
      1. Take a look at the original HTML form for the search, and create your own HTML form to do the same thing, but where you make all the input fields hidden instead of visible (i.e., change the type to "hidden"). Be sure to be explicit about the "action" of the form (it has to be an absolute URL).
      2. Write a JavaScript function that takes one text parameter and assigns values the hidden fields of your form, and then submits it. By convention, if the text parameter is blank, you should open a window into a useful page that helps you launch the search -- typically the home page of the search. If there are multiple fields in the form, then your JavaScript should use a regular expression of some kind to pull apart the single text field to fill in the multiple form fields. The easiest way to do this is with the 'parseArgs' function, which will handle the parsing for optional 'switches' and their values.
      3. Paste your new HTML form and your new JavaScript function into its own XML file (SEARCHNAME).xml - copy the bits of xml from an existing search xml file - and include the attribute indicating your JavaScript function name, a short name for the search, a long description, a link to a description of the search engine, your name, and so on. Be sure to follow XML rules - all your attributes need to be quoted, remember the trailing slash in the INPUT tag, etc...
  2. Put your (SEARCHNAME).xml file in the 'localsearches' subdirectory (you may need to create the latter).
  3. You can test your xml syntax by opening the xml file directly in IE. It will tell you if you've got a simple syntax error.
  4. Once your xml file is in good shape, you can "activate" your changes by typing "!" alone in the search bar. This causes it to reload itself.
  5. Test things out. It usually takes some twiddling to make sure your shortcut works, and that you can also see your new search described in the "?" about box.
  6. Then post your new search onto the Source Forge mailing list to share it with the world! :-)

Here is some information about the XML:

3.3 I've written a search of my own. How do I share it with the world?
E-mail it as an attachment to the DQSD Users Group.
3.4 Where do I go to download searches?
Searches can be downloaded from Source Forge at http://svn.sourceforge.net/cgi-bin/viewvc/dqsd/dqsd/searches/. Other more specialized searches can be found here http://www.dqsd.net/contrib/index.html.
3.5 Would somebody please create a search file for the new news.google.com and add it to the News category for the next release?
It's already there in the Google search gg /news which is in the Search the Web category. If you want it to be in the News category you could add an entry to localaliases.txt like the following (all on one line): ggn|gg /news %s|Google News|Google News|News
4. Aliases[ Top ]
4.1 What is an alias?
Aliases are simply other names for existing searches. Aliases are defined in aliases.txt and/or localaliases.txt, but localaliases.txt is meant to be the user-defined file, and it won't be overwritten on an install. Aliases also provide substitution of '%s' (no quotes) with the actual search string. This allows some custom searches to be added very quickly just by adding the URL with '%s' in the query string. Aliases are also referred to as Shortcuts.
4.2 I cannot undefine some of my aliases. Why?
There is currently no way to undefine an alias in aliases.txt without removing it or commenting it out in aliases.txt (though this will surely be fixed in an upcoming release). Be aware that this change will be overwritten by later installations.
Please also note that a local alias overrides an alias if they have the same name.
4.3 I want to create an alias to an alias. How should I do this?
An alias must be defined before it can be referenced from another alias. For example these two lines in the localaliases.txt file will show two shortcuts in the helpbox:

But these two lines will only show the dqsdsvn one:

The same two lines, but the second set sets an alias to call another alias that hasn't been defined yet.

5. Preferences[ Top ]
5.1 How do I edit preferences for DQSD?
Configuration settings for DQSD are defined in the preferences.js file. User overriding settings are defined in localprefs.js. These files have definitions to control the look and behavior of the toolbar. As new features are added which require new configuration settings, new entries will appear in the preferences.js included in DQSD releases. The preferences.js file gets overwritten during the upgrade process. For this reason the user should make the desired configuration changes to the localprefs.js file.
5.2 Why are there two preference files (preferences.js and localprefs.js)?
Preferences.js is included in the DQSD release bundle, therefore changes made to the preferences.js file will be lost when a new DQSD release is installed. Preference changes should be made to localprefs.js to be retained from release to release.
5.3 Why doesn't autocomplete work?
Autocomplete requires two configuration settings to be specifically set in the preference files. By default DQSD does not enable the autocomplete functionality. 'autocomplete' must be set to 'true" and 'multiline' must be set to 'false'.
6. Styles[ Top ]
6.1 How do I edit fonts, colors, etc. for DQSD?
Style settings for DQSD are defined in the search.css file. User overriding settings are defined in localsearch.css. These files have definitions to control the look and styles of the toolbar. As new features are added which require new style settings, new entries will appear in the search.css included in DQSD releases. The search.css file gets overwritten during the upgrade process. For this reason the user should make the desired configuration changes to the localsearch.css file.
6.2 Why are there two .css files (search.css and localsearch.css)?
Search.css is included in the DQSD release bundle, therefore changes made to the search.css file will be lost when a new DQSD release is installed. Style changes should be made to localsearch.css to be retained from release to release.
7. Coding[ Top ]
7.1 Are there any guidelines I should be aware of when making modifications for DQSD?
Ground rules for checkins into SVN:
7.2 How do I get started with basic Source Forge access?
Steps to a working build of DQSD from SourceForge:
  1. Make sure you're using Windows 2000 or better.
  2. Install cygwin from http://cygwin.com/setup.exe.
  3. Install Microsoft Visual C++ 6.0.
  4. Install the Microsoft Internet Development SDK. Move the SDK path for include files and libraries before the standard Visual C++ header files.
  5. Install NSIS - http://www.nullsoft.com/free/nsis/.
  6. Make sure that MSVC and NSIS are on your path (you can try using Control Panel/System Properties/Environment Variables).
  7. From your cygwin prompt, type the following to checkout:
    • cd ~
    • svn -d:pserver:anonymous@c...:/cvsroot/dqsd login
    • svn -d:pserver:anonymous@c...:/cvsroot/dqsd co dqsd
  8. And whenever you want to get the latest:
    • cd ~/dqsd
    • svn update -dP
  9. Type the following to build:
    • cd ~/dqsd
    • src/build.cmd
  10. In the end, you should get a dqsd/DQSDTools.dll.
  11. To go back to pristine sources, run src/clean.cmd
The above is for read-only access to the sources. For writable access, you'll need a Source Forge account, and Dave or Glenn will have to grant proper permissions to your account.

Alternate SVN Utilities:
8. Known Issues[ Top ]
8.1 I'm running the latest DQSD, but my tray icons keep disappearing. Help!
There is currently no fix for this problem. Work is in progress though. However several have reported success by using Startup Delayer by r2 studios. Delay startup of some of your programs at 10 second intervals, starting at about 20 seconds.
8.2 The default browser option does not seem to be working. Is this a known problem?
The problem is that your default browser isn't set everywhere. Somewhere deep in your registry, IE still thinks it is the default browser. These steps prove helpful:
  1. Use tools or preferences of your browser set itself as the default browser.
  2. Set the option in your browser to check if it is the default browser when it launches.
  3. Close your browser.
  4. Use the SetBrowser utility to set the default browser.
  5. Open your browser. If it prompts to be your default browser, say yes.
Doing all of these steps should finally set your default browser in all the "right" places. It really seemes to be an important step to have the browser prompt to make it the default, as the final step.

The SetBrowser utility can be found here:
8.3 How do I configure DQSD to use Mozilla Firefox with each search opening in a new tab?
To configure DQSD to use Mozilla Firefox with each search opening in a new tab:
  1. In Firefox select Tools->Options menu, select General section on left, press the Set Default Browser button, click OK.
  2. Set the option in your browser to check if it is the default browser when it launches.
  3. In the DQSD localprefs.js file, add or change existing launchmode line to launchmode=1; and save changes.
  4. To get Firefox to open urls in a new tab follow the instructions found at http://www.mozilla.org/support/firefox/faq#newwindow.
  5. Restart Firefox.
  6. Reload DQSD by typing ! in the DQSD search box and hitting enter.
8.4 Speaking of Firefox, is there a fix for the nasty script errors I get whenever I fire off a search?
This is due to a known bug in Mozilla Firefox 0.9.

UPDATE: As of Firefox 1.0PR, this issue is fixed in the Mozilla codebase, so you no longer need the workaround mentioned before. Just upgrade your Firefox, and DQSD should work fine again.
8.5 Why is my DQSD clock off by an hour?
The DQSD clock is driven by the Internet Explorer JavaScript engine clock. For some reason, this clock is dependent on an environment variable called TZ, denoting which timezone you're currently in. So, if this environment variable is out of sync with the Windows timezone setting, you could see this behavior.

For the most part, removing the TZ variable should work fine, but remember to backup the value before doing so, in case some other application is dependent upon the value. A safer alternative is to set the TZ variable to the correct value, of course, but this can be difficult if you don't know which timezone you're actually in.

To edit or remove TZ, right-click your My Computer icon, hit Properties, and on the Advanced tab, click Environment Variables.
9. Add-ons[ Top ]
9.1 What is an add-on?
At times users may want to add more functionality than is possible or makes sense with a single .XML search file. Also, it may not make sense to have this new feature be installed for all users. If so, the ability to add add-ons allows for multiple files to be packaged together in an optional installation package. Add-ons are installed in the 'addon' subdirectory.
9.2 When should I create an add-on rather than a search?
When a new feature is not really a search, and/or it requires more than just a single XML file, and/or it doesn't have general appeal (i.e., not many will use it) it should be an optional add-on.
9.3 How do I create an add-on?
The best place to learn about creating add-ons is to look at the current addon examples (googlespell, etc), and use them as a template for your own.
[ Dave's Quick Search Deskbar ]