Dash Command Version 0.95
Dash 0.95 is the biggest update yet, it almost feels like a 2.0
This update will automatically be downloaded upon startup. If you have version 0.94.2, type Update to force an update. For any support issues open a ticket here.
New Features
Fuzzy text match
Normally, to find something in Dash you need to type part of the same word to get a match. Now you can type parts of the same word or parts of several words and get Dash to match them. For example:
Type gmap to find Google Maps
Type apc to find Adobe Photoshop CS3
Dash will try to match your text taking into account initials, capital letters, separation between letters and a few other factors to give you what you are looking for. If you prefer contiguous word matching you can still opt to use the original text matching by going to the Options>Settings panel.
Website command – (comma key)
By using the Website command or pressing the “,” key you can now go directly to a webpage on your default browser. This command is smart so you can type a full URL like http://www.trydash.com, a partial URL like trydash.com or even just the name of the site like trydash or dash command, and you will get to the same website.
Auto suggest
When doing web searches of any kind (keywords that expect the kcTextSearch class), Dash can now make on the fly suggestions provided you have an internet connection. It can even return suggestions that are only relevant to the type of search you are performing. For example, if you are doing a wikipedia search, it will only return suggestions for wikipedia articles, and a YouTube search will only suggest items that would be relevant to videos.
Translation
Dash can now translate text for you in a variety of ways using web based translators. First of all, it can translate text you enter manually or text you have selected from a document, web page, etc. You can either display the result in a message box using the Translate command or have Dash paste it on a text box or editor using the Translate and Paste command. Additionally you can use the Translate Define command to find the meaning of a word in a foreign language. Just use one the commands press TAB/SPACE, select the translation languages (ex. English to French, German to English, etc) TAB/SPACE and either enter text manually or accept the selected text by pressing ENTER.
Paste files
With this feature you can quickly paste commonly used text clips to any document. You don’t even have to remember specific hotkeys or cryptic names, as you will be able to find what you want just like any other command in Dash.
To use it you first need to store some text clip. You can add text clips in the form of text files and put them in the Past Files folder, or you can simply select some text, call Dash, type Add Text Clip TAB/SPACE, type the name of your text clip and press ENTER. Now when you need to paste that text clip, just call Dash, type Paste Text TAB/SPACE, and type part of the name of your clip, finally just press ENTER.
Additionally, you can use the *DateTime*, *Time*, *WeekDay*, *Month*, *Year*, *IPAddress* variables to enter the current values into the pasted text. Also, if you use the “|” character, Dash will paste the text and then move the text cursor to that spot so you can start typing right where you want.
Speaker volume controls (only Win2k or XP)
Dash can control the volume of your speakers. Just type Volume TAB/SPACE and enter a number from 0 to 10. Also, you can use the Mute and Unmute commands on your computer speakers. (
Alternative file manager support
You can now enter the command line for your alternative file manager so that when you browse for a folder in Dash, it will open in your preferred file manager. For example if you are using xplorer2 your command line would be something like this:
c:\Program Files\xplorer2\xplorer2_UC.exe *Path*
The *Path* variable tells Dash where to insert the path to browse for.
Scanners option to add keywords for folders
We have added an option to all file scan jobs so that you can include folders in the scan results. This way your scan jobs will now display folders you can locate and open fast.
Proxy settings
Dash now accepts proxy settings so that all the new web based features can go through your proxy setup.
Google My Domain commands
We have added support for Google Domain applications. If your sever is setup for Google Apps, you can now enter your domain in the Options>Settings panel and use the GMail @ My Domain and Google Calendar @ My Domain commands.
If you want to create other keywords that use your domain name you can use the *GoogleAppsDomain* variable in the path field of your command. For example, if your keyword’s path is:
http://gmail.*GoogleAppsDomain*
Dash will fill in the domain name you have entered in the Settings panel.
Paste IP Address command
Dash will paste your current external IP Address(as seen by the internet) to the currently active text box or text editor.
IPConfig command
Dash will open a message box with the output of an ipconfig /all command. You can scroll down, resize and even copy from the message box.
Regedit command
Provides direct access to RegEdit.
Create and Send Log command
For debugging purposes it is sometimes useful to send an error report with all the machine data even if no error has occurred. Use this command when requested by our tech support team.
Keyboard friendly windows
The Add, Keywords and Options windows are now keyboard friendly. You can now navigate using TABs and Alt accelerator keys. They can all be dismissed using the ESC key.
Removed Set Skin button
We removed the Set Skin button from the skin selection panel, now the skin you click on is automatically applied.
Move and Copy keywords
We added Move and Copy buttons to the Keywords editor, so that you can easily make copies of any keyword to move a keyword to a different keyword file. Also note that if you now modify a default keyword, it will not be changed directly but instead, Dash will create a copy of it (you can name it whatever you like). This is to prevent Dash updates to the default keywords from overwriting any user changes.
Resident memory usage
We exposed control over the resident memory settings. You can select how much memory you want Dash to use. For users with huge keyword lists, allocating a few extra Mbytes can make a difference in responsiveness when invoking Dash.
Development oriented features
The following features and descriptions are geared towards the development of Dash commands, hence they are a bit more technical in nature.
Message Box
The new message box allows Dash commands to display all sorts of information in text or HTML format. Examples of this are the IPConfig, and Translation commands. External plugins like Dash Notes can also take advantage of the message box.
To use the message box directly from a command just set the keyword to:
Path = DashCmd Show Message
Arguments = Somemessage|3000
The message can be anything including Dash variables like *1* , *DatTime* etc. The number after the “|” character is the time in milliseconds for the message to be displayed. If the time is 0 then a close button will show instead and the message will remain until closed.
If you will use an HTML message you need to create the .htm or .html file (look at the …\plugins\Translate\ folder for an example). And your keyword would look like this:
Path = DashCmd Show HTML Message
Arguments = c:\mycommand\Somefile.html|somemessage|0
The first item in the argument list (separated by “|”) is the path to the HTML file to be used. This file must contain the variable *Message* inside it where Dash will insert the “somemessage” you have in the arguments.
Console output piped to message box
This is a specific use of the HTML message box. You can use it as follows:
Path = DashCmd Console Output
Arguments = ipconfig /all
This will call the ipconfig /all command line and display the output in a Dash message box. You can do this for any executable that displays results as text in a command line window.
Windows message
You can send a specific window a win32 message using this command. Use it as follows:
Path = DashCmd windows message
Arguments = Window Class or Name|Message|wParam|lParam
Window Class or Name is a string that Dash will use to find the handle to the window you are sending the message to. Dash will then use the Win32 SendMessage() function using the parameters supplied. For more information: MSDN2 SendMessage()
Window Class Name command
With this command you can find the window class name of the top window; just type Window Class Name in Dash. The class name will be displayed on the message box, where you can copy it from directly. Use this class name with the windows message and send keys functions.
Send Keys
You can send simulated keystrokes to a specific window using this command. Use it as follows:
Path = DashCmd send keys
Arguments = Window Class or Name|^s
Window Class or Name is a string that Dash will use to find the handle to the window you are sending the message to. (Use *DeskTop* to send the keystrokes to the desktop.) Dash will then simulate the keystrokes on in the next argument (the example above will send the Ctrl + s key combination).
Regular keys are expressed as the character they represent, and modifier keys are added. For example “+!w” will simulate the Shift + Alt + w key combination. Modifier keys:
+ = Shift
^ = Control
! = Alt
# = Win
~ = Enter
Keys can also be grouped. For example, “+abc” shifts only ‘a’, while “+(abc)” shifts all three characters.
( = Begin modifier group
) = End modifier group
While all regular characters are expressed as they are, some special keys are named and must be enclosed in curly braces {}. For example “abcR{BACKSPACE}defg” will send “abcR” then backspace to delete the “R” and then continue with “defg”.
{ = Begin key name text
} = End key name text
Here are the special key names: BKSP, BS, BACKSPACE, BREAK, CAPSLOCK, CLEAR, DEL, DELETE, DOWN, END, ENTER, ESC, ESCAPE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, HELP, HOME, INS, LEFT, NUMLOCK, PGDN, PGUP, PRTSC, RIGHT, SCROLLLOCK, TAB, UP
Follow the key name with a space and a number to send the specified key a given number of times. For example “{left 6}” will simulate the left arrow key being pressed 6 times.
“kcHideSelection” special class
If you use this class on a keyword’s KeyClassExpected field, it will not display the selection or clipboard entries. In some cases you don’t want the selection to be used and it is more user friendly if you display the keyword class hint instead.
“kcLoadKeyFile:somefile.kw” special class
If you add this to a keyword’s KeyClassExpected field, it will reload the specified keyword (.kw) file dynamically. This is useful if you have some scanner or program that will generate keywords (from the internet, a messenger service, etc.) and you need Dash to display the latest keywords. For an example look at the Paste Text command in the Commands.pkw file.
Variables
The variable names are self explanatory: *All*, *Selection*, *DashDataPath*, *DashInstallPath*, *GoogleAppsDomain*, *DateTime*, *Time*, *WeekDay*, *Month*, *Year*, *IPAddress*. These are used in the Path field of a keyword command or a paste file.
Important Fixes
Fix for CMD command
Fix for handle leak
Fix for “Clipboard cannot open” issue
Fix for selection grabbing not working properly
Fix for “Cannot focus disabled window”
Fix for network share recognition
Fix for Dash Notes so it reads from App data
Fix for icons correctly being set both in Add and Keywords windows
Fix for “I/O 103 error” when saving or loading keywords
Fix for error produced when Dash was called when still loading
Fix for “Capture focus” error
Fix for DPI problem in displays with resolutions other than 96 DPI
Fix for scanners not saving properly
Correct HTTP encoding for arithmetic operations on Google Calc, like “3 + 4″
Automatic deletion of keywords that point to files that no longer exist
Tray icon does not show until Dash has fully loaded to prevent icon loading issues
Scanning disabled while Dash is visible
More robust keyword loading to avoid issues with badly edited keyword lists
When a default (protected) keyword is edited, a copy is made and the original is preserved
Improvement to Update mechanism to merge new keywords with user mods to preserve all
Improvement to Update mechanism to preserve all user settings
Fix wrong key classes showing on list under certain conditions
Fix Access Violation during Log saving under certain conditions
Fix Browsing history not working
There are several other miscellaneous technical/performance fixes.
6 Responses to “Dash Command Version 0.95”
Leave a Reply
You must be logged in to post a comment.
December 18th, 2007 at 8:56 am
Great update - keep it up!
December 18th, 2007 at 9:31 am
Looks good.
One thing:
I cannot set the proxy server; the settings won’t save when I leave the dialog, so the translate command won’t work for me.
December 18th, 2007 at 12:41 pm
Wow, fantastic update. The new text matching is great and using Google suggest just makes that feature perfect. Congrats!
December 19th, 2007 at 3:14 am
I agree, this seems very good.
I have a small suggestion for 0.95.1, though. When invoking IPConfig, the message box can be removed with ESC, but the text can not be scrolled with the arrow keys. You have to click in the text area with the mouse to be able to scroll with the keys. but then it is not possible to use ESC anymore..
It would be great if that could be fixed, since it is not nice to have to use the mouse in the middle of dash usage…
December 19th, 2007 at 4:03 pm
Google Suggest is great. No bugs so far.
March 11th, 2008 at 3:28 pm
> We removed the Set Skin button from the skin selection
> panel, now the skin you click on is automatically applied.
Would you consider removing the ‘Set Key’ button from the “Interface” page as well? It’s very confusing. So is the ‘Save Changes’ button on the “Scanners” page. In both cases I kept looking for an ‘OK’ button on the dialog, not finding one, clicking ‘Close’ instead, and wondering why none of my changes were saved!