Manual for XFeel Version 2.0

The new xfeel version now consists of two parts. First the xfeel as known
from versions 1.x and secondly a utility to assign hotkeys to predefined
actions.

Necessary files:
	xfeel.exe
	xfeel2.dll
	kbd.dll
	xfeel.ico

To install xfeel, put xfeel.exe in your startup folder and xfeel2.dll&kbd.dll
somewhere in your LIBPATH. 

After startup a dialog box is shown where you can configure xfeel. With the
buttons 'Save' and 'Load' you can save resp. load a configuration set. If 
you specify a configurationfile as a command line parameter no dialog is
shown at startup.

The dialogbox consists of two independent parts:

1. XFeel. By pressing this pushbutton you get another dialog where you can 
specify your xfeel options. There are the following options:
-	turn xfeel on or off.
-	dynamic or static Z-Ordering. With static ordering the window below
	the mouse pointer gets active without being moved to front. With
	dynamic Z-Ordering the window is raised automatically.
-	Hide mouse. The mouse pointer is hidden after typing any key. It gets
	visible again, after a movement of the mouse.
-	Click to front. With static Z-Ordering a window stays in the back,
	as long as you don't click into the titlebar. By specifying this 
	option you can click anywhere into a window to raise it to the top.

2. Hotkeys. This feature uses most of the place in the initial dialog. It
is possible, to assign an action to most of the keys on your keyboard.

Proceedings to assign an action to a key:
a.	In the upper listbox all windows are listed that are open right now.
	By doubleclicking on the name or by selecting it and pressing the 
	'Insert' button you move the name to the lower listbox. This is
	a list of windows having assigned an action to them. A window 
	may have several actions assigned to. By selecting a window in
	the lower listbox and pressing the 'Remove' button the window is
	deleted from the lower listbox. There are two special windows shown
	on top of the upper listbox. 'Active window' if you want to specify
	an action for that one resp. 'No Window' if you want a hotkey not
	influencing a predefined window.
b.	After you selected a window in the upper list and by this moved it to
	the lower one, you can assign the hotkey to it. You do this by
	selecting the entry in the listbox and pressing the 'Define' button.
	You get a little dialogbox to assign the key. Press the button
	'Start'. You may now press the key you want assigned. You'll see the
	scancode as well as the modifiers (Shift, Alt, Ctrl) you pressed.
	After you pressed the desired key, you have to press the 'Stop' button
	to acknowledge your choice and to press the 'Ok' button. With the 
	'Test' button you may test, if your hotkey works. If it does you will
	hear a beep. If everything went right you'll see an asterix in front
	of the window name in the lower listbox.
c.	Now you have choosen a window and a key. You still have to defined 
	the action which is to be taken. Again you have to select a window
	shown in the lower listbox. Then you may press the 'Action' button.
	Once more you'll get to another dialogbox. There are two main classes
	of actions. There are standard actions as well as custom actions. For 
	a custom action you have to write your own dll with a function 
	corresponing the following syntax:

		void function (HWND window);

	The parameter given to your function is the actual window handle of
	the assigned window. You have to enter the name of the dll as well 
	as the name of the function. After marking the checkbox 'Custom 
	action' you get two entryfields, where you can do exactly that.

	The other class of actions are standard actions. These are 5 pre-
	defined actions, which probably will be used quite often:
	-	Show Window. The assigned window is brought to front or 
		restored if it was previously minimized. However the window
		aready has to be open.
	-	Close Window. The assigned window is closed.
	-	Minimize window. The assigned window is minimized.
	-	Maximize window. The assigned window is maximized. Didn't
		expect that, did you?   ;-)
	-	Start session. A new session is started. The two entryfields
		'Command' and 'Parameter' get enabled and you can enter the 
		name and eventually the parameter(s) for it. Often you will
		assign a hotkey who starts a session with the window 'No
		Window' assigned to it.
	-	Post Message. Posts a message to the assigned window. The 
		message type may be selected in the combobox 'Message' and 
		the two message parameters in the entryfields 'Param 1' and
		'Param 2'.

Some more remarks:
1.	By pressing the 'Ok' button in the first dialogbox, your settings 
	get active.
2.	By pressing the 'Unload' button, xfeel is unloaded and therefore no
	more hotkeys are active.
3.	At startup, if you haven't given a startup file with your own defini-
	tions, there is one predefined action. The hotkey dialog window is 
	assigned to the key 'F12' with the action 'Show Window'. Therefore,
	by pressing 'F12' you may view the xfeel window anytime (as long as
	xfeel is active).
4.	At the bottom of the dialogbox,is a checkbox named 'Full hierarchy'.
	Normally, in the lower listbox, only the actual window title is
	shown. By marking this checkbox, the names of all parent windows of it
	are shown as well. The names are separated by a '|'.


Any remarks are welcomed. However no answer is guaranteed. My email
adress you'll find in the 'About' box. However I'll write it here once again.

	mhof@iiic.ethz.ch

	Have fun

		Markus

PS: This program is freeware. So you may copy it freely without any restric-
tions under condition, that you let the files intact, as well it would even
be nicer :-( if you'd include this doc-file too.

PPS: Wrote a custom action which you think is great, and not too special to
be of some use to other people as well? Don't hesitate, send it to me. I got
a program to uudecode  ;-).




	
