[Tutor] operating system key-bindings that call Python scripts

tpc247 at gmail.com tpc247 at gmail.com
Tue Aug 21 06:04:52 CEST 2007


I have a particular date time format I use for making entries in various
logs I maintain, and ideally what I'd like is for my operating system
(Windows or Linux) to recognize that every time I type, say, <Ctrl>-'C' '1',
a Python script I wrote will execute and out will pop the current date time
in my desired format.  I want this to happen not just in my Xemacs text
editor buffer, but inside a textfield for, say, the Gmail application in
Mozilla, in Python IDLE, in the Google desktop search bar and at the command
line.  At LinuxWorld I asked three of the people from the San Francisco
Linux users group about doing this in Ubuntu, and here is what I could
ascertain:
*) the Apple OS is ideally suited to doing what you want, and necessitates
learning AppleScript.  In Windows or Linux it's a lot more complicated to
bind a sequence of keys to call a Python program that generates output in
any graphical window and, in fact, it may be impossible or more trouble than
it's worth
*) at the prompt you can execute the Python program to output the date time
in your desired format, but to do this in Gnome or KDE is a different story
*) within the browser environment you can write a Mozilla Firefox extension
that may allow you to call Python scripts, but this necessitates learning
XUL

Have any of you ever successfully engineered an operating system key-binding
that calls a Python script and directs the output where the cursor is in any
graphical window in Windows and Linux ?  In Ubuntu I followed the advice in
this article:

http://ekith.com/index.php?option=com_content&task=view&id=10181

but found that System/Preferences/Keyboard Shortcuts does not allow you to
define your own action.  I created launchers for my Python scripts but
clicking on them seemed to have no effect.

I guess my expectation should be the answer is no, in which case I'd be
happy just to find out if it's possible to create key-bindings in Xemacs to
call a Python program.  I have a feeling the answer to this query is no as
well, in which case my next step is to port the following to elisp:

def output_current_datetime_in_my_desired_format():
       import datetime
       print datetime.datetime.now().strftime("%d%b%Y%a %I:%M%p").upper()

def output_current_time_in_my_desired_format():
       import datetime
       print datetime.datetime.now().strftime("%I:%M%p").upper().rjust(20)<http://ekith.com/index.php?option=com_content&task=view&id=10181>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20070820/1a51f90f/attachment.htm 


More information about the Tutor mailing list