Download Latest Version xaut-0.4.5.tar.gz (102.5 kB) Get Updates
Home / xautomation
Name Modified Size InfoDownloads / Week
Parent folder
xaut-0.5.0.tar.gz 2016-12-04 103.5 kB
xaut-0.4.6.tar.gz 2016-12-02 102.4 kB
xaut-0.4.5.tar.gz 2014-11-09 102.5 kB
xaut-0.4.4.tar.gz 2014-09-06 101.2 kB
xaut-0.4.3.tar.gz 2012-09-23 102.4 kB
README 2012-08-19 5.9 kB
xaut-0.4.2.tar.gz 2012-08-19 102.1 kB
xaut-0.4.1.tar.gz 2012-07-28 101.9 kB
xaut-0.4.0.tar.gz 2012-06-30 101.7 kB
xaut-0.3.3.tar.gz 2012-04-17 98.2 kB
xaut-0.3.2.tar.gz 2012-03-11 97.9 kB
xaut-0.3.1.tar.gz 2011-11-27 97.9 kB
xaut-0.3.0.tar.gz 2011-11-27 97.8 kB
xaut-0.2.0.tar.gz 2010-01-22 87.1 kB
xaut-0.1.4.tar.gz 2009-08-27 113.7 kB
xaut-0.1.3.tar.gz 2009-08-26 113.1 kB
xaut-0.1.0.tar.gz 2009-03-17 111.2 kB
Totals: 17 Items   1.6 MB 14
$URL: $ $Author: chris_parker $ $Date: 2012-08-19 14:04:53 -0700 (Sun, 19 Aug 2012) $ $Rev: 28 $ === Preamble === This software is intended to help users of XWindows automate basic windowing tasks. For example you can open, move, and close windows based on title, you can move the mouse, or send keystrokes. I provide this software free of charge without warranty of any type. I provide this in the hopes that it will be useful. In the event you break this software, you are entitled to a full refund of the amount I charged. :) === My Rationale === There are a few X11 control libraries out there. My basic problem with most of them are that they are all called from the bash prompt. This is fine, but it makes it difficult to do things like track window state. At each call to the program, window information is gathered again, and the request is processed. === What you'll need to compile this === Note that Ubuntu (along with some other distributions of Linux) do not come with a development environment installed. You'll need to install a development environment if you do not already have one. You'll also want to install the development library for Python which corresponds to your installed version of Python. You can get that entering "python -V" (on my computer, it returns Python 2.6.6). Ubuntu (and similar): -- build-essential Programs: -- swig Libraries for Ubuntu (and similar): -- x11proto-xext-dev -- libx11-dev -- libxtst-dev Libraries for Fedora: -- xorg-x11-proto-devel -- libX11-devel -- libXtst-devel Specifically if you are using Ubuntu and wish to compile this software, you can use the following command: $ sudo aptitude install build-essential swig x11proto-xext-dev libx11-dev \ libxtst-dev pythonN.N-dev (Where N.N matches the library version returned from "python -V") Or for Fedora use can use the following commands: $ sudo yum groupinstall \"Development Tools\" $ sudo yum install xorg-x11-proto-devel libX11-devel libXtst-devel pythonN.N-dev (Where N.N matches the library version returned from "python -V") === If you want to modify the build === -- autoconf -- automake -- libtool === What you'll need to run this === This software was originally written against Python 2.6. It's likely that there are few (if any) things which will prevent this code from running in Python 3.x. However, I do not have Python 3.x installed, and cannot test it. To run this software - like say for example you compile it on one machine, and then transport the binary to another machine - make sure you have the following libraries installed (Ubuntu or similar): -- libx11-dev -- libxtst-dev (Fedora or similar) -- libX11-devel -- libXtst-devel === Installing this software === I highly recommend that you do not install this software. It is simply beyond my resources to test this software in a wide variety of environments, and it's likely that automated update tools and the like will cause problems on your computer if you ignore this advice. Note that there is a "make install" build target, which is installed for completeness sake, but I suggest you ignore it. All you need to do to use this software is make sure that and are in the same directory as your script. === Thanks === Many thanks to a person named Max Shalenyi. Max sent me patch that showed me the following cool things: 1) Which libraries are needed for 64 bit. I'm still using 32 bit Debian. 2) The commands necessary compile this library in Fedora. 3) Max reminded me of the -fPIC flag - which I should have included. <:O) 4) My Python version stopped at 2.6 - which is what I have. I added up to 2.9 Thank you Max!! Thanks also to Beat Master Bob who found a bug in the mouse.move() code which manifests when the mouse is moved precisely 1 pixel in both the x and y directions simultaneously. E.g. mouse.move(mouse.x() + 1, mouse.y() + 1). Thank you Beat Master Bob!! Thanks also to Chris Gagnon who had some problems in 64bit Ubuntu which lead me to find 3 problems: 1) I was using XKeycodeToKeySym which was recently deprecated. Too recently for me to know about it in Debian Stable. 2) I was printing a size_t incorrectly. I was using %d when I should have used %zu. 3) Ubuntu puts their 64bit libraries someplace I wasn't looking. I corrected the build such that it looks in the proper place, and reorganized it such that it will be easier to modify if there are other 64bit locations about which I know nothing (I use 32bit Debian Stable). Thanks Chris!! Want to see your name in bright lights (well, not that bright, but still)? The following are welcome: -- Patches -- Bug Reports -- How to compile or install on your favorite distro -- Any other useful suggestions Note also that I don't get much traffic related to this library, so I don't watch the forums or my email that closely simply because it's unnecessary. Rest assured that if you email me, or if you post to the forum (nobody has as of the day that I'm writing this), you WILL get a response. It may take a few days - but I WILL respond. Even though this code doesn't move very fast, I actively maintain it. I use it daily. Also, I've had the experience where someone emails me with questions or similar and my response bounces. If you are going to email a question to me from the SourceForge site, please make sure your email address is in the body of the email so I can copy and paste it into a response if "reply-to" fails. I'm not sure whether it gets munged on the SourceForge side or the GMail side, but the reply address fails frequently. Chris Parker email: Main Site: Help Forum:
Source: README, updated 2012-08-19