By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,733 Members | 925 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,733 IT Pros & Developers. It's quick & easy.

Invoking GUI for app running in background with a keypress

P: n/a
I am creating a small app called PyQe
(http://klibb.com/cgi-bin/wiki.pl/PyQe) to launch commands and
programs quickly. I works more or less as I want it now and I have
managed to make my window manager (Metacity) under Mandrake GNU/Linux
start my program so that it can be started easily with just a
keypress.

Now, the only annoyance I have is that when I have not started the
program for a while, the OS seems to not have Python or the program in
"the cache" (or whatever, what I mean is that if I have started the
program "recently" it starts fast the next time) anymore, which means
that the program, even though quite small, takes about a second to
start. This is too slow to feel good given the nature of the program
(a quick launcher).

I have tried making it start faster by calling python with the -S
switch and by compiling my program to a .pyc file. It has not helped
much.

So, I was wondering if I could have my program running in the
background and instead capture a certain keystroke (the same one I
have my window manager to capture now) to make the GUI appear.

How does one go about doing this? I found a small program written in C
(xbindkeys) that can do this and understand that it probably involves
a lot of "low-level" stuff in X which feels a bit "scary" :). Any
clues of doing this "easily" in Python + some module?

/Mathias

Aug 15 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Mathias Dahl <br********@gmail.com> writes:
How does one go about doing this? I found a small program written in C
(xbindkeys) that can do this and understand that it probably involves
a lot of "low-level" stuff in X which feels a bit "scary" :). Any
clues of doing this "easily" in Python + some module?


Check out the python xlib implementation <URL:
http://sourceforge.net/projects/python-xlib >. It's a python library
that speaks native X - no C required. That lets you do those low-level
things in Python in a straightforward manner. It's not getting a lot
of work lately - because it's largely a finished product. I use it
heavily on a daily basis.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Aug 16 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.