Michael, The core problem is that blt hasn't been properly updated from upstream since late 2002 and only has initial support for tcl/tk 8.4. Since then, each distro has been hacking around the remaining bugs in blt. My own guess is that it misuses pointers and memory such that it shows different glitches on each architecture and target os. Jack
On Thu, Dec 10, 2009 at 02:35:52PM -0500, Michael Lerner wrote: > We're working on a newer version of the plugin, and it looks like it'll be > ready earlier than I expected. It's probably best to make the one-line > change for now. I'll do my best to make sure the newer version is bug-free > for the current fink version of everything before I release it, but that may > mean bugging you guys with a couple more questions since I really don't know > that much about Tk or blt. > > Thanks, > > -Michael > > On Wed, Dec 9, 2009 at 4:13 PM, Jack Howarth <howa...@bromo.med.uc.edu>wrote: > > > Michael, > > Changes that William Scott made to fink's blt for coot caused the pymol > > tk interface > > to get stuck with a watch cursor icon after the APBS tools window was > > closed. I found > > that pymol 1.1r1 didn't suffer from this problem against that blt whereas > > all of the > > pymol 1.2 releases did. Looking at Warren's commit... > > > > > > http://pymol.svn.sourceforge.net/viewvc/pymol/trunk/pymol/modules/pmg_tk/startup/apbs_tools.py?r1=3748&r2=3761 > > > > Warren seems to have been tinkering with the line... > > > > #self.dialog.activate(geometry = 'centerscreenalways', globalMode = > > 'nograb') > > > > Unfortunately, he rarely addded comments to the code changes in his commits > > so it > > is difficult to tell what he was trying to achieve with that. My own guess > > is that > > blt destablizes pymol and he was hacking around that. FYI, I think blt gets > > dragged > > in by Pmw. Looking at http://pmw.sourceforge.net/doc/starting.html, I > > see... > > > > ------------- > > Requirements > > > > Pmw.1.3 requires the _tkinter and Tkinter modules. It works with python > > versions 1.5.2 and greater (tested up to 2.2.1) and Tk versions 8.0 and > > greater (tested up to 8.3.2). > > > > If the BLT extension to Tk is present, Pmw will use the BLT busy command > > during modal dialogs to display a clock cursor. Also, the Pmw.Blt interface > > to the BLT busy, graph, stripchart, tabset and vector commands will be > > available. BLT versions 2.4i and greater are supported (tested up to 2.4u). > > You can find BLT at http://www.tcltk.com/blt/. > > ------------- > > So unfortunately, I don't think we can 'turn off' the blt usage in Pmw > > without building > > Pmw in the absence of blt. I guess this is hopeful though for the long term > > support > > of pymol. If only Pmw interacts directly with blt, we shouldn't have to do > > anything in > > pymol for blt 3.0 other than upgrade to a Pmw release which understand blt > > 3.0's > > interfaces. > > Jack > > > > > > On Wed, Dec 09, 2009 at 03:14:09PM -0500, Michael Lerner wrote: > > > I don't call blt directly from my plugin. In fact, I don't plot anything > > in > > > the plugin, so unless Pmw automatically makes some blt calls for me, the > > > plugin is probably blt-free. > > > > > > I haven't used pynmr before but it looks like you have to either compile > > > something or get a precompiled binary from the web. I'd rather stick with > > > pure python for the APBS Tools plugin. > > > > > > It looks to me like the plugin is closing PyMOL rather than crashing it > > when > > > I make the suggested changes under Ubuntu. > > > > > > -michael > > > > > > On Wed, Dec 9, 2009 at 12:05 PM, Jack Howarth <howa...@bromo.med.uc.edu > > >wrote: > > > > > > > Michael, > > > > Do you know if the APBS Tools plugin uses blt? I have working under > > > > the assumption that these problems are a manifestation of breakage in > > > > the existing blt 2.4z. Have you consider changing ABPS Tools to > > > > function more like pynmr (ie open its own window instead of a dialog)? > > > > I don't think I've ever seen pynmr crash pymol. > > > > Jack > > > > > > > > On Wed, Dec 09, 2009 at 11:14:08AM -0500, Michael Lerner wrote: > > > > > Hi, > > > > > > > > > > When I try that on my Ubuntu image, it makes it so that quitting the > > > > plugin > > > > > causes PyMOL to quit. > > > > > > > > > > I don't really know much about tk. If there's a standard way to open > > / > > > > > destroy the plugin, I'd be glad to change things around. As far as I > > > > know, > > > > > the relevant bits are > > > > > > > > > > def __init__(self,app): > > > > > self.parent = app.root > > > > > > > > > > # Create the dialog. > > > > > self.dialog = Pmw.Dialog(self.parent, > > > > > buttons = ('Register APBS Use', > > > > 'Register > > > > > PDB2PQR Use', 'Set grid', 'Run APBS', 'Exit APBS tools'), > > > > > title = 'PyMOL APBS Tools', > > > > > command = self.execute) > > > > > self.dialog.protocol('WM_DELETE_WINDOW',self.quit) > > > > > self.dialog.withdraw() > > > > > Pmw.setbusycursorattributes(self.dialog.component('hull')) > > > > > ... > > > > > self.showAppModal() > > > > > > > > > > def showAppModal(self): > > > > > #self.dialog.activate(geometry = 'centerscreenfirst', > > globalMode > > > > = > > > > > 'nograb') > > > > > #self.dialog.activate(geometry = 'centerscreenalways', > > globalMode > > > > = > > > > > 'nograb') > > > > > #self.dialog.activate(geometry = 'centerscreenfirst') > > > > > self.dialog.show() > > > > > > > > > > def execute(self, result, refocus=True): > > > > > if result == 'Register APBS Use': > > > > > ... > > > > > else: > > > > > # > > > > > # Doing it this way takes care of clicking on the x in > > the > > > > top > > > > > of the > > > > > # window, which as result set to None. > > > > > # > > > > > if __name__ == '__main__': > > > > > # > > > > > # dies with traceback, but who cares > > > > > # > > > > > self.parent.destroy() > > > > > else: > > > > > #self.dialog.deactivate(result) > > > > > global APBS_BINARY_LOCATION, APBS_PSIZE_LOCATION > > > > > APBS_BINARY_LOCATION = self.binary.getvalue() > > > > > APBS_PSIZE_LOCATION = self.psize.getvalue() > > > > > #self.dialog.withdraw() > > > > > #self.dialog.destroy() # stops CPU hogging, perhaps > > fixes > > > > > Ubuntu bug MGL > > > > > self.quit() > > > > > def quit(self): > > > > > self.dialog.quit() > > > > > self.parent.quit() > > > > > #self.dialog.withdraw() > > > > > #self.dialog.destroy() > > > > > > > > > > > > > > > by the way, we've started a google wave about the plugin. I can add > > any > > > > of > > > > > you that want to be on it. > > > > > > > > > > -michael > > > > > > > > > > On Sat, Dec 5, 2009 at 12:02 AM, William G. Scott < > > > > > wgsc...@chemistry.ucsc.edu> wrote: > > > > > > > > > > > Hi Jack: > > > > > > > > > > > > Again, many thanks. It has been a busy day so I didn't get a > > chance to > > > > try > > > > > > this until just now, but it fixed this highly annoying problem > > > > immediately. > > > > > > > > > > > > I'll pass it along upstream. > > > > > > > > > > > > All the best, > > > > > > > > > > > > Bill > > > > > > > > > > > > > > > > > > On Dec 4, 2009, at 8:25 AM, Jack Howarth wrote: > > > > > > > > > > > > > Bill, > > > > > > > Looking through the changes in the abps_tools.py script from > > > > > > > pymol 1.r1 to the current 1.2r2, I believe I've found the > > offending > > > > > > > code. If I revert the change... > > > > > > > > > > > > > > --- modules/pmg_tk/startup/apbs_tools.py.broken 2009-12-04 > > > > > > 11:11:03.000000000 -0500 > > > > > > > +++ modules/pmg_tk/startup/apbs_tools.py 2009-12-04 > > > > > > 11:18:08.000000000 -0500 > > > > > > > @@ -1124,7 +1124,7 @@ > > > > > > > self.showAppModal() > > > > > > > > > > > > > > def showAppModal(self): > > > > > > > - self.dialog.activate(geometry = 'centerscreenfirst', > > > > globalMode > > > > > > = 'nograb') > > > > > > > + #self.dialog.activate(geometry = 'centerscreenfirst', > > > > globalMode > > > > > > = 'nograb') > > > > > > > self.dialog.show() > > > > > > > #self.dialog.activate(geometry = 'centerscreenalways') > > > > > > > > > > > > > > I find that the use of the ABPS tools window no longer nukes the > > use > > > > of > > > > > > the main tk > > > > > > > interface menus afterwards. You may want to update the current > > > > pymol-py > > > > > > package with > > > > > > > that change. I haven't tested it yet but this might also solve > > the > > > > same > > > > > > issue with > > > > > > > pymol-py and the current x86_64 blt package. > > > > > > > Jack > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Michael Lerner, Ph.D. > > > > > IRTA Postdoctoral Fellow > > > > > Laboratory of Computational Biology NIH/NHLBI > > > > > 5635 Fishers Lane, Room T909, MSC 9314 > > > > > Rockville, MD 20852 (UPS/FedEx/Reality) > > > > > Bethesda MD 20892-9314 (USPS) > > > > > > > > > > > > > > > > -- > > > Michael Lerner, Ph.D. > > > IRTA Postdoctoral Fellow > > > Laboratory of Computational Biology NIH/NHLBI > > > 5635 Fishers Lane, Room T909, MSC 9314 > > > Rockville, MD 20852 (UPS/FedEx/Reality) > > > Bethesda MD 20892-9314 (USPS) > > > > > > -- > Michael Lerner, Ph.D. > IRTA Postdoctoral Fellow > Laboratory of Computational Biology NIH/NHLBI > 5635 Fishers Lane, Room T909, MSC 9314 > Rockville, MD 20852 (UPS/FedEx/Reality) > Bethesda MD 20892-9314 (USPS) ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel