Deskpal Readme

Version 0.98

Introduction:

Deskpal is a simple powerful desktop companion for Windows. It follows the mouse with its eyes, has a lot of built-in functions such as blowfish encryption for files, text-to-speech, command-line, mulmedia player, as well as online-chatbot via jabberwacky. Completely customizable, you can change its eye colors individually, change the skin, change the text-to-speech voice, and much more, through the configuration menu. To start using Deskpal open "deskpal.exe", wait for it to load, and then right click it to open the textbox. The textbox is where Commands are input,

 

Changelog:

 

v0.98

Added google search function.

Added an option in the conto add programs to the list of programs that can be opened with the open command.

Added dragging compatibility to the multimedia trackbar. Now you can drag the bar to explore the audio/video file.

Changed the appearance of the multimedia trackbar. Now it looks windows-style.

Changed. The server application for the jabberwacky chat now starts up minimized.

Fixed bug that prevented the window from moving when the mouse cursor was over the textbox.

Fixed bug that allowed the window to move while clicking a button or a checkmark.

Removed the program server.exe. It's no longer needed.

Removed the CHAT command to request an answer out of nowhere. The chat still works perfectly.

 

v0.94b

Initial documented open beta release.

 

Requirements:

Quick tips:

Write "SAY" followed by a sentence and hit enter to make it say anything aloud.

You can click on the X button (r) to make it stop speaking.

You can click on the arrow button (3) to close the textbox again.

You can drop any square picture to use it as a skin. A folder with the name "skins" is provided with some stock skins you can use.

Write "EXIT" and hit enter to close Deskpal.

You can enter the configuration page by writing "config" and pressing enter. There you can drop any picture to use it as a skin, change the eye colors by clicking on them, and change the current voice to any of the available TTS voices installed. Loquendo voices are recommended, but if you are in need of a free TTS, try eSpeak.

 

Command listing:

Commands are the basic functions to make Deskpal do anything. These commands can be disabled by unchecking the "Allow AI" checkbox.

To send a command, write it in the textbox and hit Enter. Commands are not case sensitive. so Tip, tIp and TIP are the same word. Except some parameters in commands like SAY and RENAME which do preserve capitals.

There's a maximum of 1024 characters per command parameter. Exceeding this maximum may lead to information loss and undesired results.

 

OPEN <program>, opens <program>. Must be specified in the savemodular.ini file.*

Synonyms: OPEN THE, RUN, EXECUTE, LAUNCH.

REPEAT, repeats the last response.

Synonyms: SAY IT AGAIN, SAY THAT AGAIN, REPEAT IT AGAIN, REPEAT THAT.

SAY <sentence>, speaks <sentence> aloud. Any SAPI5 tag may be used (Such as <emph></emph>)

Synonyms: JUST SAY, PLEASE SAY, SAY THAT, S.

WRITE, writes down in the textbox whatever was just said.

Synonyms: WRITE IT DOWN, WRITE IT, WRITE WHAT YOU SAID, WRITE THAT.

TIME, says the time aloud (Uses the system clock).

Synonyms: THETIME, WHAT'S THE TIME?, WHATS THE TIME?, THE TIME.

BEEP <frequency>, makes a beep at <frequency> hertz for half a second through the computer speaker.

Synonyms: none.

QUIT, quits deskpal.

Synonyms: CLOSE, EXIT.

 

SOUND ON, enables sound effects (Enabled by default).

Synonyms: MAKE SOME NOISE, SOUNDS ON!, SOUNDS ON, SOUND ON!.

SOUND OFF, disables sound effects (Enabled by default).

Synonyms: SOUNDS OFF, DON'T MAKE ANY NOISE, DON'T MAKE A NOISE, STAY QUIET, SOUND OFF.

(These parameters are not saved on disk, sound is always enabled on startup)

 

TIP, shows a random helpful tip, or makes a random commentary.

Synonyms: TIP2 (Works in a different way, continued for compatibility).

RESTART, restarts deskpal.

Synonyms: RESET, REINITIALIZE.

 

The following commands are Windows related:

CMD [command], sends a [command] through the windows command line, such as ping or ipconfig. Pauses afterward so you can read the output. If no [command] is specified, it will launch the windows command line instead.

Synonyms: COMMAND, COMMANDLINE.

KILLTASK <name>, kills a currently running task with the name <name>.

Synonyms: KILL, TASKKILL.

MINIMIZE, minimizes all windows and shows desktop.

Synonyms: MINIMIZE ALL, MINIMIZE WINDOWS, SHOW DESKTOP, DESKTOP.

RAM, shows current ammount of free ram.

Synonyms: FREE RAM, GET FREE RAM, GET MEMORY, GET FREE MEMORY.

 

The following commands apply to dropped files:

VIEW, opens dropped file with the default application for its filetype.

Synonyms: OPEN IT, OPEN THE FILE, OPEN, VIEW IT.

OPEN WITH <program>, opens dropped file in <name> application. Must be specified in the savemodular.ini file.

Synonyms: OPEN IN, EDIT WITH, EDIT IN, EDIT.

STOP, stops the currently playing multimedia file (Music, Video or Sound).

Synonyms: STOP, STOP THE MUSIC, SILENCE THE MUSIC, SILENCE, STOP.

RENAME <newFilename>, renames dropped file to <newFilename>.

Synonyms: RENAME TO, RENAME IT TO, RENAME IT AS, RENAME AS.

READ, tries to read the dropped file (Even if it's not a plain TXT file).

Synonyms: READ IT ALOUD, READ IT, READ THE FILE, READ THE TEXT.

SKIN, sets currently dropped picture as the new skin, regardless if its square or not. Deskpal will set as skin any dropped picture that is square (Same width and height). A folder with the name "skins" is provided with some default pictures you can use as skins. Can also be changed through the configuration page.

Synonyms: SET AS SKIN, SET SKIN, SETSKIN.

DELETE, deletes the dropped file without sending it to the recycling bin.

Synonyms: DELETE IT, DESTROY IT, DELETE THE FILE, DESTROY THE FILE.

PLAY, plays from the start the current multimedia dropped file. Deskpal will play any multimedia file at the moment it is dropped.

Synonyms: PLAY AGAIN, PLAY IT AGAIN, REWIND, PLAY IT.

VIDEO, shows a small video preview screen. Only available when playing multimedia.

Synonyms: SHOW VIDEO SCREEN, SHOW VIDEO, VIDEO SCREEN, SHOW SCREEN.

ENCRYPT <key>, encrypts dropped file with <key> as a password. Deskpal will remain idle until the file is processed entirely, or until there's an error.

Synonyms: ENCRYPT IT WITH, ENCRYPT WITH KEY, ENCRYPT WITH, ENCRYPT AS.

DECRYPT <key>, decrypts (restores). droppped file with <key> as a password. Deskpal will remain idle until the file is processed entirely, or until there's an error.

Synonyms: MAKE SOME NOISE, SOUNDS ON!, SOUNDS ON, SOUND ON!.

Warning: there's no password checking and the file will be encrypted/decrypted even if you put the wrong password. Any file can be encrypted and decrypted as many times as the user wants. A file can also be reverse-encrypted (Protected by decrypting the original file, and restoring it by encrypting it back). Use this function with extreme care and always note down your passwords.

 

The following commands require internet connection:

FORGET, deletes current chat history.

Synonyms: FORGET ALL, ERASE MEMORY, DELETE CHAT, DELETE MEMORY.

CHAT, makes deskpal say something to start a conversation. Disabled temporarily.

Synonyms: LETS TALK, SAY SOMETHING, LETS TALK ABOUT SOMETHING, TALK.

SEARCH, searches a specific string using Google search. Opens in default web browser.

Synonyms: GOOGLE, GOOGLE SEARCH, GOOGLESEARCH.

 

The following commands change the configurations:

VOICE <voicename>, changes current voice to <voicename>. Can also be changed through the configuration page.

Synonyms: SET VOICE, VOICE SET, VOICESET, VC.

SWITCH EYES, changes eye color. Can also be changed through the configuration page.

Synonyms: SW, SWITCH EYE COLOR, SWITCH EYE, SWITCH EYES COLOUR.

CONFIG, opens the configuration page. Can also be opened by right clicking on deskpal and selecting the option "configuration".

Synonyms: CONFIGURATION, WORKSHOP, SETUP, OPTIONS.

 

Dropping files:

Deskpal supports a wide variety of file formats natively. It supports any Windows Media Player supported file (MP3, WMA, WMV, WAV, MID, AVI, MPG, etc.). To change the current position on the audio/video file just click (Don't drag) on the grey bar under the textbox. The two numbers under the textbox represent the current position and the total audio/video length (In minutes:second format).

 

It does also support common image filetypes can be easily turned into skins (JPG, GIF, PNG, BMP). Square pictures are set as skins by default.

You can also drop a TXT file and say "READ IT" to make deskpal read it aloud. (Click on the X button to stop speaking).

 

One of the most powerful functions is the blowfish encryption. It can protect a file making it look like it's corrupt, and you can decrypt it anytime to get your file back. But watch out, as mentioned above, there's no password checking and the file will be encrypted/decrypted even if you put the wrong password. Any file can be encrypted and decrypted as many times as the user wants. A file can also be reverse-encrypted (Protected by decrypting the original file, and restoring it by encrypting it back). Use this function with extreme care and always note down your passwords. It's a good idea to backup the encrypted file before decrypting it, just in case you put the wrong password.

 

*Adding recognized programs:

To add a program to Deskpal's list of programs, you must add it in the savemodular.ini file under the group [open] following this format

p#=<program>

r#=<path>

c#=<commandline>

The p# parameter is required. <program> is the name that will be used to call this program from Deskpal.

The r# parameter is required. <path> is the complete route to the executable file.

The c# parameter is optional. <commandline> is the commandline options for the executable.

# must be replaced with a number from 0 to 127. Each program must have a different number.

For example:

p1="explorer"
r1="c:\windows\explorer.exe"

p2="firefox"
r2="c:\program files\mozilla firefox\firefox.exe"

In following versions, there'll be an easier way to index these programs into Deskpal's list.

 

Online chat:

Deskpal uses a web service called "jabberwacky" to retrieve answers for any sentence that is not recognized as a command, so it can make it look like you're actually chatting with it. Jabberwacky is a powerful chatbot based on real human answers. You can use it outside Deskpal by entering on the official website, www.jabberwacky.com. Disclaimer: Jabberwacky learns the behaviour and words of its users. It may use language and produce apparent meanings that some will consider inappropriate. Use this function with discretion, and entirely at your own risk. Jabberwacky is © Copyright 1997-2011 Rollo Carpenter. You can disable the online capabilities of Deskpal by unticking the "Online Chat" checkmark

 

When using this online chat function, an hourglass will appear next to the collapse button, indicating that the program is waiting for the server to response. Do not attempt to close deskpal while the hourglass is being shown or the application may crash. You can still use the offline functionalities while you wait for the answer. If there's no answer, you will hear a buzzer and the same input will be written down into the textbox, so you can try again.

 

Calculator:

When a mathematic function is input, Deskpal will automatically calculate the result of it, and say it aloud. There's a long listing of pre-defined functions you can use.

Format:
FunctionName(paramaters)
Number: what function does with a numeric parameter
String: what function does with a string parameter
List: what function does with a List parameter

Note: If a particular combination is left out, the function does not support it and will generate an error.
Note: All functions will return floats unless stated otherwise.


General Math Functions:
Abs(param1)
Number: returns the absolute value of param1 (returns an integer if param1 is an integer)
List: performs Abs on all of the elements in the list and returns the new list

Ceil(param1)
Number: returns the smallest interger that is greater than or equal to param1 (returns an integer)
List: performs Ceil on all of the elements in the list and returns the new list

Floor(param1)
Number: returns the largest interger that is less than or equal to param1 (returns an integer)
List: performs Floor on all of the elements in the list and returns the new list

Pow(param1, param2)
Number,Number: returns the param1raised to the power param2 (if two integers are used, this function will return an integer)
Number,List: returns a list containing Pow(number, list_element)
List,Number: returns a list containing Pow(list_element, number)

Round(param1)
Number: returns param1 rounded to the nearest integer (returns an integer)
List: performs Round on all of the elements in the list and returns the new list

Sqrt(param1)
Number: returns the square root of param1
List: performs Sqrt on all of the elements in the list and returns the new list

Trignometric Functions:
Cos(param1)
Number: returns the cosine of param1 (param1 is in radians)
List: performs Cos on all of the elements in the list and returns the new list

Cot(param1)
Number: returns the cotangent of param1 (param1 is in radians)
List: performs Cot on all of the elements in the list and returns the new list

Csc(param1)
Number: returns the cosecant of param1 (param1 is in radians)
List: performs Csc on all of the elements in the list and returns the new list

Sec(param1)
Number: returns the secant of param1 (param1 is in radians)
List: performs Sec on all of the elements in the list and returns the new list

Sin(param1)
Number: returns the sine of param1 (param1 is in radians)
List: performs Sin on all of the elements in the list and returns the new list

Tan(param1)
Number: returns the tangent of param1 (param1 is in radians)
List: performs Tan on all of the elements in the list and returns the new list

Inverse Trignometric Functions:
ArcCos(param1)
Number: returns the inverse cosine of param1 (result is in radians)
List: performs ArcCos on all of the elements in the list and returns the new list

ArcCot(param1)
Number: returns the inverse cotangent of param1 (result is in radians)
List: performs ArcCot on all of the elements in the list and returns the new list

ArcCsc(param1)
Number: returns the inverse cosecant of param1 (result is in radians)
List: performs ArcCsc on all of the elements in the list and returns the new list

ArcSec(param1)
Number: returns the inverse secant of param1 (result is in radians)
List: performs ArcSec on all of the elements in the list and returns the new list

ArcSin(param1)
Number: returns the inverse sine of param1 (result is in radians)
List: performs ArcSin on all of the elements in the list and returns the new list

ArcTan(param1)
Number: returns the inverse tangent of param1 (result is in radians)
List: performs ArcTan on all of the elements in the list and returns the new list

Logarithmic Functions:
Ln(param1)
Number: returns the natural logarithm (base 10) of param1
List: performs Ln on all of the elements in the list and returns the new list

Log(param1)
Number: returns the common logarithm (base 10) of param1
List: performs Log on all of the elements in the list and returns the new list

LogB(param1, param2)
Number,Number: returns the logarithm of param1in base param2
Number,List: returns a list containing LogB(number, list_element)
List,Number: returns a list containing LogB(list_element, number)

Typecast Functions:
Float(param1)
Number: returns param1 as a float
String: converts the string to a number and returns it as a float
List: performs Float on all of the elements in the list and returns the new list

Int(param1)
Number: returns param1 as an integer, truncating off anything after the decimal point
String: converts the string to a number and returns it as an integer, truncating off anything after the decimal point
List: performs Int on all of the elements in the list and returns the new list

List(param1)
Number: converts the number into a single element list and returns the list
String: converts the string into a single element list and returns the list
List: simply returns the list

String(param1)
Number: converts the number into a string and returns the string
String: simply returns the string
List: performs String on all of the elements in the list and returns the new list

Other Functions:
Element(param1, param2)
Note: param2 represents the index value. Index values start at 0 and range to length - 1. If param2 is negative, it is adjusted to length + param2; that is, a negative index value counts from the end of the list or string.
Number,Number: converts param1 to a string and returns the character at index param2
String,Number: returns the character in param1 at index param2
List,Number: returns the element of the list at index param2

Global(param1)
Expression: returns the result of evaluating param1 as if it were in a global settings (that is, outside of any user-defined functions or operations)

Length(param1)
Number: converts the number into a string and returns the number of characters in the string
String: returns the number of characters in the string
List: returns the number of elements in the list

ListOp(param1,param2)
List,Operator: returns the result of applying operator to all of the elements in list (element1 operator element2 operator element3...)

SubStr(param1, param2, param3)
Note: param2 represents the index value. Index values start at 0 and range to length - 1. If param2 is negative, it is adjusted to length + param2; that is, a negative index value counts from the end of the list or string.
Note: param3 represents the count value. If param3 is negative, param2 will be adjusted back by param3 and param3 will be made positive; that is, a negative count value makes the substr start at the index value and move backward through the string.
Number,Number,Number: converts param1 to a string and returns the substring of length param3 starting at index param2
String,Number,Number: returns the substring of length param3 starting at index param2

 

~.:Credits:.~

Deskpal (C) 2010-2012 by elPatrixF, www.elpatrixf.com.ar, elpatrixf.blogspot.com  elpatrixf (at) hotmail (dot) com