Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python.': 0.04; '*not*': 0.05; 'subject:Python': 0.06; 'python': 0.08; '(there': 0.09; 'libraries.': 0.09; 'loop.': 0.09; 'tkinter': 0.09; 'wed,': 0.12; 'gui': 0.13; 'wrote:': 0.15; 'library': 0.15; '+1,': 0.16; '[at': 0.16; 'canvas.': 0.16; 'different,': 0.16; 'from:addr:awilliam': 0.16; 'from:addr:whitemice.org': 0.16; 'from:name:adam tauno williams': 0.16; 'gil.': 0.16; 'message-id:@linux-yu4c.site': 0.16; 'received:72.14.190': 0.16; 'received:72.14.190.87': 0.16; 'received:mail.wmmi.net': 0.16; 'received:wmmi.net': 0.16; 'reply- to:addr:awilliam': 0.16; 'reply-to:addr:whitemice.org': 0.16; 'subject:GUI': 0.16; 'written': 0.17; 'simpler': 0.19; 'solution.': 0.19; 'loop': 0.22; 'header:In-Reply-To:1': 0.22; 'gil': 0.23; 'versions': 0.23; 'received:72.14': 0.26; '(and': 0.27; 'sort': 0.28; 'beyond': 0.28; '+0200,': 0.30; '-1,': 0.30; 'project?': 0.30; 'threads': 0.30; 'toolkit': 0.30; 'looks': 0.30; 'least': 0.31; 'this.': 0.31; 'certainly': 0.32; 'actually': 0.33; "i've": 0.33; 'to:addr:python-list': 0.34; 'agree': 0.35; 'option': 0.37; 'thread': 0.37; 'some': 0.37; 'doing': 0.37; 'using': 0.37; 'subject:: ': 0.38; 'something': 0.38; 'should': 0.39; 'header:Mime-Version:1': 0.39; 'manually': 0.39; 'subject:with': 0.39; 'event': 0.39; 'to:addr:python.org': 0.39; 'where': 0.40; 'apps': 0.63; 'perfectly': 0.64; 'ever': 0.65; 'show': 0.67; 'tap': 0.67; 'yourself': 0.68; 'us.': 0.69; 'header :Reply-To:1': 0.71; 'reply-to:no real name:2**0': 0.72; 'verified': 0.73; 'windowing': 0.84; 'html5': 0.91; 'swing': 0.91 Subject: Re: I am fed up with Python GUI toolkits... From: Adam Tauno Williams To: python-list@python.org Date: Wed, 20 Jul 2011 07:16:50 -0400 In-Reply-To: <4E26A71C.2040101@jollybox.de> References: <4E26A71C.2040101@jollybox.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.0.2 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: awilliam@whitemice.org List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 48 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1311160793 news.xs4all.nl 23868 [2001:888:2000:d::a6]:54489 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:9960 On Wed, 2011-07-20 at 11:59 +0200, Thomas Jollans wrote: > On 20/07/11 04:12, sturlamolden wrote: > > 5. No particular GUI thread synchronization is needed -- Python has a > > GIL. > That's where you're wrong: the GIL is not a feature of Python. It is an > unfortunate implementation detail of current versions of CPython. (and > PyPy, apparently) And this GIL is certainly *not* a synchronization solution. Even with a GIL you can hang yourself with threads - I've verified this. :) > > 6. Expose the event loop to Python. > You can tap into the Gtk/GLib event loop. +1 > What do you propose? We know what happens when you write a fresh GUI > toolkit: Swing and Tkinter show us. > The only reasonable option to create a toolkit that actually looks good > is to base it on the "usual" GUI libraries. +1 > It is perfectly reasonable to be required to manually call some sort of > > Is it worth the hassle to start a new GUI toolkit project? > No. +1, or -1, errr.. which ever one means I agree with "no". > > Or should modern deskop apps be written with something completely > > different, such as HTML5 > NO!! Barf. Of course, Gtk [at least experimentally] supports an HTML5 canvas. A good UI library provides a lot beyond painting-the-screen (there are events, and packing/geometry, etc...). So even if you use HTML5 you are then going to lay something on top of that [JavaScript + JQuery...]. > Don't be silly. Even using a crappy windowing toolkit is a lot simpler > than doing the HTML/JavaScript/HTTP/etc dance. +1