473,407 Members | 2,676 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

ANN: Python GUI development using XULRunner

I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.

The tutorial covers how to build a Python/XULRunner GUI application:
http://pyxpcomext.mozdev.org/no_wrap...ner_about.html

The details in this tutorial covers the initial setup to full
packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
is possible with a few deviations, I have tried to cover these
deviations where applicable).

Feedback is welcome.

Cheers,
Todd
Sep 17 '08 #1
9 3040
On Sep 16, 8:29*pm, Todd Whiteman <to...@activestate.comwrote:
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.

The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...

The details in this tutorial covers the initial setup to full
packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
is possible with a few deviations, I have tried to cover these
deviations where applicable).

Feedback is welcome.

Cheers,
Todd
I get to the "Running" step and run into "Couldn't load XPCOM."

Does this work on x86_64? Or have I made a rookie mistake?

xulapp1$ ls
app docs installer pyxpcom_gui_app
xulapp1$ cd pyxpcom_gui_app/
pyxpcom_gui_app$ ls
application.ini components extensions pyxpcom_gui_app
chrome defaults pylib xulrunner
pyxpcom_gui_app$ ./pyxpcom_gui_app
Couldn't load XPCOM.
Sep 17 '08 #2
Don Spaulding wrote:
On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.comwrote:
>I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.

The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...

I get to the "Running" step and run into "Couldn't load XPCOM."

Does this work on x86_64? Or have I made a rookie mistake?
Hi Don,

A good question. Mozilla only provide 32-bit XulRunner applications by
default, you you'll need to install the necessary 32-bit compatability
libraries on your Linux machine, i.e. for Ubuntu it's something like:
sudo apt-get install ia32-libs ia32-libs-gtk

Then you should be able to run the example. You can check the
dependencies using something the following commands, there should be no
missing dependencies:
$ cd pyxpcom_gui_app/xulrunner
$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin

It is possible to use a 64-bit version, but you'll need to compile this
yourself (or find somewhere that provides these x86_64 versions). Note
that the PythonExt project does not offer Python bindings for x86_64
either (it's on my todo list), you can compile the PythonExt part
yourself as well if you need a 64-bit version.

Cheers,
Todd
Sep 17 '08 #3
On Sep 17, 1:21*pm, Todd Whiteman <to...@activestate.comwrote:
Don Spaulding wrote:
On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.comwrote:
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.
The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...
I get to the "Running" step and run into "Couldn't load XPCOM."
Does this work on x86_64? *Or have I made a rookie mistake?

Hi Don,

A good question. Mozilla only provide 32-bit XulRunner applications by
default, you you'll need to install the necessary 32-bit compatability
libraries on your Linux machine, i.e. for Ubuntu it's something like:
sudo apt-get install ia32-libs ia32-libs-gtk

Then you should be able to run the example. You can check the
dependencies using something the following commands, there should be no
missing dependencies:
$ cd pyxpcom_gui_app/xulrunner
$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin

It is possible to use a 64-bit version, but you'll need to compile this
yourself (or find somewhere that provides these x86_64 versions). Note
that the PythonExt project does not offer Python bindings for x86_64
either (it's on my todo list), you can compile the PythonExt part
yourself as well if you need a 64-bit version.

Cheers,
Todd
Interesting, I'm running Ubuntu Intrepid here, and have both ia32-libs
and ia32-libs-gtk installed.

ldd shows that I'm missing the following libs, even though the proper
packages are installed, and the files show up in /usr/lib.

libxcb-render-util.so.0 =not found
libxcb-render.so.0 =not found

There's also /usr/lib/libxcb-render.so.0.0.0 and the same for render-
util, so I wonder if that could be part of the problem?
Don

/me never knew how to get out of DLL hell on Windows either ;-)
Sep 17 '08 #4
Oh, and Google's single sign-on sucks eggs :-|
Sep 17 '08 #5
Todd Whiteman <to***@activestate.comsaid :
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming
language.
The tutorial covers how to build a Python/XULRunner GUI application:
http://pyxpcomext.mozdev.org/no_wrap...r/python_xulru
nner_about.html
The details in this tutorial covers the initial setup to full
packaging/deployment, mostly targeting a Windows/Linux platform
(MacOSX is possible with a few deviations, I have tried to cover these
deviations where applicable).
Feedback is welcome.
Thanks for making good on your promise. I'm leaving for a trip but have it
bookmarked for later use :-)
Sep 17 '08 #6
su*****@mysfdomain.com wrote:
On Sep 17, 1:21 pm, Todd Whiteman <to...@activestate.comwrote:
>Don Spaulding wrote:
>>On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.comwrote:
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.
The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...
I get to the "Running" step and run into "Couldn't load XPCOM."
Does this work on x86_64? Or have I made a rookie mistake?
Hi Don,

A good question. Mozilla only provide 32-bit XulRunner applications by
default, you you'll need to install the necessary 32-bit compatability
libraries on your Linux machine, i.e. for Ubuntu it's something like:
sudo apt-get install ia32-libs ia32-libs-gtk

Then you should be able to run the example. You can check the
dependencies using something the following commands, there should be no
missing dependencies:
$ cd pyxpcom_gui_app/xulrunner
$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin

It is possible to use a 64-bit version, but you'll need to compile this
yourself (or find somewhere that provides these x86_64 versions). Note
that the PythonExt project does not offer Python bindings for x86_64
either (it's on my todo list), you can compile the PythonExt part
yourself as well if you need a 64-bit version.

Cheers,
Todd

Interesting, I'm running Ubuntu Intrepid here, and have both ia32-libs
and ia32-libs-gtk installed.

ldd shows that I'm missing the following libs, even though the proper
packages are installed, and the files show up in /usr/lib.

libxcb-render-util.so.0 =not found
libxcb-render.so.0 =not found

There's also /usr/lib/libxcb-render.so.0.0.0 and the same for render-
util, so I wonder if that could be part of the problem?
Don
Hi Don,

I'm thinking there may be additional 32-bit packages necessary then (I'm
not sure which package).

Not sure about Ubuntu 8.10 (it's still alpha). I'm using a Ubuntu 8.04
x86_64 machine and my dependencies list the following for the latest
32-bit build of XulRunner:

$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin | grep libxcb
libxcb-xlib.so.0 =/usr/lib32/libxcb-xlib.so.0 (0xf6493000)
libxcb.so.1 =/usr/lib32/libxcb.so.1 (0xf647b000)

Cheers,
Todd
Sep 17 '08 #7
On 17 Set, 03:29, Todd Whiteman <to...@activestate.comwrote:
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.

The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...

The details in this tutorial covers the initial setup to full
packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
is possible with a few deviations, I have tried to cover these
deviations where applicable).

Feedback is welcome.

Cheers,
Todd
well, it just works.
Now let's see how :-)

Nice job,
Riccardo

p.s. I'm on a Gentoo Linux 64 bit, no problems at all
Sep 18 '08 #8
On Sep 17, 5:53*pm, Todd Whiteman <to...@activestate.comwrote:
supp...@mysfdomain.com wrote:
On Sep 17, 1:21 pm, Todd Whiteman <to...@activestate.comwrote:
Don Spaulding wrote:
On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.comwrote:
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.
The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...
I get to the "Running" step and run into "Couldn't load XPCOM."
Does this work on x86_64? *Or have I made a rookie mistake?
Hi Don,
A good question. Mozilla only provide 32-bit XulRunner applications by
default, you you'll need to install the necessary 32-bit compatability
libraries on your Linux machine, i.e. for Ubuntu it's something like:
sudo apt-get install ia32-libs ia32-libs-gtk
Then you should be able to run the example. You can check the
dependencies using something the following commands, there should be no
missing dependencies:
$ cd pyxpcom_gui_app/xulrunner
$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin
It is possible to use a 64-bit version, but you'll need to compile this
yourself (or find somewhere that provides these x86_64 versions). Note
that the PythonExt project does not offer Python bindings for x86_64
either (it's on my todo list), you can compile the PythonExt part
yourself as well if you need a 64-bit version.
Cheers,
Todd
Interesting, I'm running Ubuntu Intrepid here, and have both ia32-libs
and ia32-libs-gtk installed.
ldd shows that I'm missing the following libs, even though the proper
packages are installed, and the files show up in /usr/lib.
* *libxcb-render-util.so.0 =not found
* *libxcb-render.so.0 =not found
There's also /usr/lib/libxcb-render.so.0.0.0 and the same for render-
util, so I wonder if that could be part of the problem?
Don

Hi Don,

I'm thinking there may be additional 32-bit packages necessary then (I'm
not sure which package).

Not sure about Ubuntu 8.10 (it's still alpha). I'm using a Ubuntu 8.04
x86_64 machine and my dependencies list the following for the latest
32-bit build of XulRunner:

$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin | grep libxcb
* * * * libxcb-xlib.so.0 =/usr/lib32/libxcb-xlib.so.0 (0xf6493000)
* * * * libxcb.so.1 =/usr/lib32/libxcb.so.1 (0xf647b000)

Cheers,
Todd
No worries Todd, it is alpha. It was a very recent bug in the 8.10
ia32-libs package, which is now fixed :-D

Thanks for the excellent writeup, BTW! I've been wondering what was
involved in doing this for a while, it just never made it up my
priority list to figure out. Again, thanks!
Sep 18 '08 #9
Todd, this is great! Thanks for your work on this. I've been using
your extension for awhile, successfully creating little apps. Your
gui_app template has been a huge help in advancing my understanding of
how things fit together...takes some of the guesswork out. :) Thanks
again,

-j

On Sep 16, 8:29*pm, Todd Whiteman <to...@activestate.comwrote:
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.

The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap...ner/python_xul...

The details in this tutorial covers the initial setup to full
packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
is possible with a few deviations, I have tried to cover these
deviations where applicable).

Feedback is welcome.

Cheers,
Todd
Sep 24 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

18
by: qwweeeit | last post by:
Hi all, when I moved from Windows to Linux I choosed Python as my language of reference and as GUI, Qt (not much investigated up to now). Till now I didn't regret but one thing: Python can't act...
3
by: joe.hrbek | last post by:
Hi everyone, sorry, this post is a bit off topic. I posted this on a devel xul thread on the mozilla groups but didn't get a response. My hope is that some of you may have interest in this and...
0
by: Kenneth McDonald | last post by:
Sorry for crossposting to several lists, but from what I can tell, what I want to do may involve several different areas of expertise. (None of which I have :-( ) I'd like to use Gecko as the UI...
20
by: Thorsten Kampe | last post by:
Hi, I've already sent this to the Komodo mailing list (which seemed to me the more appropriate place) but unfortunately I got no response. I'd like to build a Python GUI app. Neither Tkinter...
37
by: Michael Palmer | last post by:
As anyone knows, the state of Python GUI programming is a little fractured at this time, with many toolkits, wrappers and meta-wrappers dead and alive, with or without documentation. I've come...
1
by: mauriceling | last post by:
Hi everyone After a long wait of nearly 5 month, we are back in business to bring the latest edition of The Python Papers - Volume 3 Issue 2 (http://...
0
by: wesley chun | last post by:
Need to get up-to-speed with Python as quickly as possible? Come join me, Wesley Chun, author of Prentice-Hall's bestseller "Core Python Programming," for another comprehensive intro course plus a...
0
by: Wingware | last post by:
Hi, Wingware has released version 3.1.4 of Wing IDE. This bug fix release is available for all three product levels of Wing IDE. *Release Highlights* This release includes the following: ...
0
by: Paul Hildebrandt | last post by:
Pythoscope, the Python unit test generator, is growing and maturing. Over the last three months we've made pretty incredible progress. We've had a full time developer and part time project manager....
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.