I wrote it because I could not find any really simple, keyboard driven program launcher to use under GNU/Linux that worked exactly as I wanted (I tried quite a few, but all of them did something that annoyed me or did not work the way I wanted).
PyQe is released under the GNU General Public License (GPL), which means that it is Free software (both free as in free beer and free as in freedom).
pyqe comes with a shebang (#!) at the beginning of the file. By default it uses this line to start:
If that does not work on your set up you have to change it.
If for some reason it does not work to execute pyqe directly, or if you do not want to make the script executable, start it in this way:
Next, bind a keyboard combination to this shortcut by placing the cursor in the Shortcut Key field and pressing a keyboard combination, for example CTRL + SHIFT + P.
Another way to do it is to place the same shortcut directly under the Start Menu (you have to use the Classic look if you are running Windows XP), giving the shortcut a unique character as the first character of the file name, for example a hyphen (-). This way, all yu have to do is press the Windows key (this brings up the Start Menu), and press the hyphen (note you must release the Windows key for the Start Menu to open, and before you press -).
If you want to speed the startup a bit, you can add the -S option to the interpreter.
pyqe understands a couple of command line options. To see them, do this:
When you have tested it for a while you might want PyQe to execute single matches automatically (so that you do not need to press enter when there is only one match left):
If you want to control the number of visible items in the listbox (default is 4):
The width, in character, of the listbox (default is 40):
The default startup position of PyQe is 0,0. You can change this:
By default, PyQe sorts the commands list. If you do not want this:
You can turn on debug (you must run pyqe.py from a terminal to see the output) if something seems wrong:
If pyqe does not start fast enough for you, consider using the --listen parameter:
This will start pyqe in the background, listening for commands in a named pipe called ".pyqepipe" in your home diretory. The current commands are "quit", "open" and "reload" and can be sent to the program in the following way:
Examples of a valid configuration file under GNU/Linux:
Blank lines and lines starting with # are ignored.
On GNU/Linux, an ampersand (&) is needed to the command so that it is executed asynchronously (or else pyqe will not quit until the executed application is closed. It will hide the GUI though so it is not visible.)
Examples of a valid configuration file under Windows:
(The start command on Windows is very useful and I recommend using it for starting programs.)
You might wonder why I did not shorten the commands above, using for example "em" instead of "emacs", but that is usually not necessary as long as you do not have many commands beginning in the same letters. When you use pyqe with the configuration above, just typing "e" will be enough to run the emacs command. You name your commands as you wish, this works for me.
Note: the command names are compared to user input in a case sensitive way, so "my_program" and "My_program" are different.
Showing matches after user input:
User can use the arrow keys to select any of the matches to execute:
Example of how the expand command (pressing Tab) works. These are two matches that have common leading characters:
After pressing Tab: