Dave's Quick Search Deskbar FAQ
Last updated:
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?
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.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.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:
-
Build your search file. For this, either
-
use Dave's Quick Search Deskbar Search Wizard,
that will save you lots of time.
-
or:
-
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).
-
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.
-
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...
-
Put your (SEARCHNAME).xml file in the 'localsearches' subdirectory (you may
need to create the latter).
-
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.
-
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.
-
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.
-
Then post your new search onto the Source Forge mailing list to share it with
the world! :-)
Here is some information about the XML:
-
Your search will be callable using the function="..." name. E.g., if
function="foo" then you can do the search saying "foo bar". So pick a good
short name for your JavaScript function.
-
Every search's NAME attribute will be displayed if the search is put on the
menu, so keep it short and descriptive, like a menu item.
-
If you include a LINK attribute, then the link will appear in the ? help box
for the search.
-
The DESCRIPTION attribute is also included in the ? help box.
-
The CATEGORY attribute defines the name of the category in which the search
appears in the ? help box.
-
The CONTRIBUTOR attribute is for your name, and the EMAIL attribute is for your
email address.
3.3 I've written a search of my own. How do I share it with
the world?
3.4 Where do I go to download searches?
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.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:
-
dqsdsvn|http://svn.sourceforge.net/cgi-bin/viewvc/dqsd
-
dqsd|dqsdsvn
But these two lines will only show the dqsdsvn one:
-
dqsd|dqsdsvn
-
dqsdsvn|http://svn.sourceforge.net/cgi-bin/viewvc/dqsd/dqsd/
The same two lines, but the second set sets an alias to call another alias that
hasn't been defined yet.
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.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.1 Are there any guidelines I should be aware of when making
modifications for DQSD?
Ground rules for checkins into SVN:
-
If you want to merge in some changes, just let Dave know which SourceForge
account needs SVN write access. Access is no problem if you're going to
contribute; just don't abuse it.
-
When you do commit a change, please let Dave and the
DQSD Users Group know.
-
If you're going to do major rearrangement, broadcast your intent to the
DQSD Developers Group ahead of time.
-
If you're adding novel functionality, please consider including an option for
preferences.js to turn it off. Also please consider making the default "off"
until it's completely tested and polished.
-
Small changes should have small diffs. Please do not use a wysiwyg HTML editor
that will introduce diffs on every line, or your checkin will be backed out.
-
In the code, please mimic the prevailing convention for tabbing and spacing:
-
No tab characters in code please. Use spaces instead. (The exception is where
tabs have semantics of course). Code should be indented two spaces per level.
-
Please, no space characters after a ( or before a ).
-
Curlies for a {multiline block} should be on their own line and unindented
(just their contents are indented).
-
Also please mimic the prevailing convention for packaging:
-
Sources should be included in the distribution itself since this is the easiest
way to conform to the GPL. So all source files should be listed in
"search.nsi"; i.e., you shouldn't need SVN to get a working build.
-
Please keep "build.cmd" working. In particular this means that DQSDTools.mak
needs to be kept up to date. Also, any files that are automatically generated
by the build should be deleted by "clean.cmd".
-
Keep new sources, except for those that are being used at runtime, underneath
src/.
-
Keep in mind that you are editing other people's code and that other people
will edit your stuff. Please don't be offended if your code is changed or even
disabled. Be nice!
-
Dave may decide to turn your access off if things become unmanageable, or if
you don't make checkins for a while.
7.2 How do I get started with basic Source Forge access?
Steps to a working build of DQSD from SourceForge:
-
Make sure you're using Windows 2000 or better.
-
Install cygwin from http://cygwin.com/setup.exe.
-
Install Microsoft Visual C++ 6.0.
-
Install the Microsoft
Internet Development SDK. Move the SDK path for include files and
libraries before the standard Visual C++ header files.
-
Install NSIS - http://www.nullsoft.com/free/nsis/.
-
Make sure that MSVC and NSIS are on your path (you can try using Control
Panel/System Properties/Environment Variables).
-
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
-
And whenever you want to get the latest:
-
Type the following to build:
-
In the end, you should get a dqsd/DQSDTools.dll.
-
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:
-
WinCVS is a GUI front-end to CVS that you can use. You can pull the latest
version here: http://sourceforge.net/projects/cvsgui.
-
Check out Tortoise SVN. It adds the most basic/common SVN command functionality
to Explorer, so you can update, commit, add, diff, etc.. with a right click
from an Explorer window. Get it here: http://www.tortoisesvn.org/.
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:
-
Use tools or preferences of your browser set itself as the default browser.
-
Set the option in your browser to check if it is the default browser when it
launches.
-
Close your browser.
-
Use the SetBrowser utility to set the default browser.
-
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:
http://www.pc-tools.net/win32/freeware/setbrowser/
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:
-
In Firefox select Tools->Options menu, select General section on left, press
the Set Default Browser button, click OK.
-
Set the option in your browser to check if it is the default browser when it
launches.
-
In the DQSD localprefs.js file, add or change existing launchmode line to
launchmode=1; and save changes.
-
To get Firefox to open urls in a new tab follow the instructions found at
http://www.mozilla.org/support/firefox/faq#newwindow.
-
Restart Firefox.
-
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.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.