You can subscribe to this list here.
2001 |
Jan
|
Feb
(20) |
Mar
(29) |
Apr
(10) |
May
(10) |
Jun
(7) |
Jul
(6) |
Aug
(59) |
Sep
(19) |
Oct
(55) |
Nov
(22) |
Dec
(40) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(56) |
Feb
(71) |
Mar
(179) |
Apr
(41) |
May
(26) |
Jun
(52) |
Jul
(62) |
Aug
(19) |
Sep
(87) |
Oct
(188) |
Nov
(95) |
Dec
(30) |
2003 |
Jan
(83) |
Feb
(119) |
Mar
(174) |
Apr
(77) |
May
(85) |
Jun
(52) |
Jul
(67) |
Aug
(121) |
Sep
(147) |
Oct
(96) |
Nov
(89) |
Dec
(144) |
2004 |
Jan
(92) |
Feb
(172) |
Mar
(205) |
Apr
(201) |
May
(105) |
Jun
(42) |
Jul
(94) |
Aug
(109) |
Sep
(81) |
Oct
(59) |
Nov
(84) |
Dec
(68) |
2005 |
Jan
(56) |
Feb
(57) |
Mar
(183) |
Apr
(139) |
May
(131) |
Jun
(178) |
Jul
(62) |
Aug
(42) |
Sep
(95) |
Oct
(47) |
Nov
(73) |
Dec
(47) |
2006 |
Jan
(66) |
Feb
(31) |
Mar
(51) |
Apr
(20) |
May
(49) |
Jun
(26) |
Jul
(23) |
Aug
(65) |
Sep
(67) |
Oct
(26) |
Nov
(16) |
Dec
(8) |
2007 |
Jan
(18) |
Feb
(43) |
Mar
(43) |
Apr
(16) |
May
(33) |
Jun
(48) |
Jul
(34) |
Aug
(7) |
Sep
(9) |
Oct
(55) |
Nov
(44) |
Dec
(73) |
2008 |
Jan
(37) |
Feb
(97) |
Mar
(44) |
Apr
(33) |
May
(79) |
Jun
(11) |
Jul
(66) |
Aug
(9) |
Sep
(12) |
Oct
(6) |
Nov
(12) |
Dec
(19) |
2009 |
Jan
(12) |
Feb
(13) |
Mar
(19) |
Apr
(30) |
May
(59) |
Jun
(22) |
Jul
(11) |
Aug
(59) |
Sep
(82) |
Oct
(25) |
Nov
(51) |
Dec
(27) |
2010 |
Jan
(27) |
Feb
(8) |
Mar
(29) |
Apr
(9) |
May
(39) |
Jun
(6) |
Jul
(8) |
Aug
(22) |
Sep
(33) |
Oct
(8) |
Nov
(35) |
Dec
(9) |
2011 |
Jan
(62) |
Feb
(19) |
Mar
(31) |
Apr
(19) |
May
(1) |
Jun
(1) |
Jul
(17) |
Aug
(10) |
Sep
(14) |
Oct
(11) |
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
(11) |
Mar
|
Apr
(1) |
May
(5) |
Jun
(7) |
Jul
(22) |
Aug
(22) |
Sep
(30) |
Oct
(23) |
Nov
(19) |
Dec
|
2013 |
Jan
(6) |
Feb
(1) |
Mar
(10) |
Apr
(7) |
May
(3) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
(9) |
Oct
(14) |
Nov
(9) |
Dec
(5) |
2014 |
Jan
(13) |
Feb
(1) |
Mar
(6) |
Apr
(3) |
May
(5) |
Jun
(2) |
Jul
(20) |
Aug
(6) |
Sep
(26) |
Oct
(25) |
Nov
(20) |
Dec
(41) |
2015 |
Jan
(9) |
Feb
(35) |
Mar
(9) |
Apr
(28) |
May
(20) |
Jun
(3) |
Jul
(5) |
Aug
|
Sep
(2) |
Oct
(4) |
Nov
|
Dec
(3) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
(12) |
Jun
(35) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(7) |
2017 |
Jan
(28) |
Feb
(14) |
Mar
(4) |
Apr
(5) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
(3) |
Nov
|
Dec
(8) |
2018 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(7) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(3) |
Nov
(7) |
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(10) |
Aug
(3) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
(4) |
Apr
(21) |
May
(8) |
Jun
(3) |
Jul
|
Aug
|
Sep
(1) |
Oct
(10) |
Nov
|
Dec
|
2022 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2025 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Adam U. <up...@be...> - 2014-05-20 21:49:08
|
Hello, I am currently working on developing a GUI in mac. I am using tcl/tk 8.5. I am encountering an issue where the %x and %y for tkinter are returning the same value (negative values) no matter where my cursor is for a KeyPress. %X and %Y return 0 values. In Ubuntu and Windows, the same exact code returns the values I actually want. I was wondering if anyone has seen something similar? Thanks, Adam |
From: Andreas K. <and...@ac...> - 2014-05-01 19:53:41
|
21'th Annual Tcl/Tk Conference (Tcl'2014) http://www.tcl.tk/community/tcl2014/ November 10 - 14, 2014 Embassy Suites Downtown Portland, Oregon, USA Important Dates: Abstracts and proposals due Sep 8, 2014 Notification to authors Sep 22, 2014 Author materials due Oct 20, 2014 Tutorials start Nov 10, 2014 Conference starts Nov 12, 2014 [[ Registration is open. ]] Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2014 will be held in Portland, Oregon, USA from November 10 - 14, 2014. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 5, 2014. Authors of accepted abstracts will have until September 2, 2014 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis. WIP slots can be reserved like any paper proposal. BOF slots will be managed on-site. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2014/) and will be published on various Tcl/Tk-related information channels. Registration is open. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://code.activestate.com/lists/tcl-announce to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Brian Griffin Mentor Graphics Site/Facilities Chair Arjen Markus Deltares Cyndy Lilagan Nat. Museum of Health & Medicine, Chicago Donal Fellows University of Manchester Gerald Lester KnG Consulting, LLC Jeffrey Hobbs ActiveState Software Inc. Kevin Kenny GE Global Research Center Larry Virden Mike Doyle National Museum of Health & Medicine, Chicago Ron Fox NSCL/FRIB Michigan State University Steve Landers Digital Smarties Contact Information tcl...@go... Tcl'2014 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Kevin W. <kw...@co...> - 2014-04-06 00:59:01
|
Hi Will, On 4/4/14, 1:34 PM, Will Duquette wrote: > > I've got a "messagebox" dialog that pops up a modal dialog. Interacting > with the dialog sets a "choice" variable; I do a grab on the dialog, > vwait on the "choice" variable, and then return the choice to the caller: > > grab $dialog > vwait ::choice > … > > When it hits the "vwait" the dialog appears, garbled, and the app hangs. > If I put an [update idletasks] in before the "vwait", it hangs in the > [update idletasks]. If I remove both and let it return to the event > loop, the dialog appears in the normal way. So the problem appears to > have something to do with re-entering the event loop. The event loop integration in the Tk version of Cocoa is very fragile and it's easy to trip over things and cause your app to lock up. There is no real solution at the C level (too much of an impedance mismatch between Tk and Cocoa's event models). At the script level, you can often work around it via update, after idle, after 1, etc.--that will get you over the event loop bumps. IIRC "grab" causes a lot of issues and I don't advise its use. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Will D. <wi...@wj...> - 2014-04-04 20:01:11
|
On Apr 4, 2014, at 10:34 AM, Will Duquette <wi...@wj...> wrote: > Howdy! > > I'm seeing some bad behavior with ActiveTcl 8.6.1 on OS X 10.8.5. > > I've got a "messagebox" dialog that pops up a modal dialog. Interacting with the dialog sets a "choice" variable; I do a grab on the dialog, vwait on the "choice" variable, and then return the choice to the caller: > > grab $dialog > vwait ::choice > … > > When it hits the "vwait" the dialog appears, garbled, and the app hangs. If I put an [update idletasks] in before the "vwait", it hangs in the [update idletasks]. If I remove both and let it return to the event loop, the dialog appears in the normal way. So the problem appears to have something to do with re-entering the event loop. > > This is code I've been using for five or six years now; it works fine on Linux and Windows, and (until now) on OS X as well. > > At present, it's happening only in the context of my application; I've not yet been able to create a simple bug script. Additional info: it only seems to happen in a Tk event triggered by a keystroke. If I trigger the functionality using a menu item, there's no problem. Will > > Anyone else seen anything like this? Any ideas? > > Will > > Mr. Will Duquette, OP > will -at- wjduquette dot com > http://foothills.wjduquette.com/blog > > > > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac Mr. Will Duquette, OP will -at- wjduquette dot com http://foothills.wjduquette.com/blog |
From: Will D. <wi...@wj...> - 2014-04-04 17:53:02
|
Howdy! I'm seeing some bad behavior with ActiveTcl 8.6.1 on OS X 10.8.5. I've got a "messagebox" dialog that pops up a modal dialog. Interacting with the dialog sets a "choice" variable; I do a grab on the dialog, vwait on the "choice" variable, and then return the choice to the caller: grab $dialog vwait ::choice … When it hits the "vwait" the dialog appears, garbled, and the app hangs. If I put an [update idletasks] in before the "vwait", it hangs in the [update idletasks]. If I remove both and let it return to the event loop, the dialog appears in the normal way. So the problem appears to have something to do with re-entering the event loop. This is code I've been using for five or six years now; it works fine on Linux and Windows, and (until now) on OS X as well. At present, it's happening only in the context of my application; I've not yet been able to create a simple bug script. Anyone else seen anything like this? Any ideas? Will Mr. Will Duquette, OP will -at- wjduquette dot com http://foothills.wjduquette.com/blog |
From: Kevin W. <kw...@co...> - 2014-03-16 21:39:27
|
Hi all, It was brought to my attention in the Tcl'ers chat that Apple has completely removed garbage collection from OS X with the recent release of Xcode 5.1. After this, Tk wouldn't build because it supported GC by default. Updating Tk to build again simply required removing a couple of build flags from the configure files; I've committed updates for both trunk and core-8-5-branch. Tk builds successfully now, and seems to run OK. If you are using Tk with binary extensions, the extension packages may need to be rebuilt to remove GC support. I'm seeing this with my own apps, and will have to update them as time allows. Fortunately, Daniel Steffen designed Tk to run with or without garbage collection, which means this is an inconvenience rather than a disaster. What we're left with is the same Tcl/Tk memory management system that's on other platforms, which is more than adequate. I have no plans to investigate Apple's latest memory-management scheme, Automatic Reference Counting, which has largely replaced GC. That's outside my expertise. Besides the build tweaks, I also added a key to Wish's Info.plist file that will allow it to display text correctly on high-resolution (Retina) displays. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Peter C. <pe...@ca...> - 2014-03-04 08:51:11
|
Depending on what else you're using, I can recommend Tcl3D's SDL for sound. It works across all platforms, last time I checked. But it may be overkill, if you're not using anything else from Tcl3D. On Tue, 4 Mar 2014, Adrian Robert wrote: > Yes, on this note, for a cross-platform app snack ended up too flaky > for async playback except on Windows, so I used exec afplay on the > Mac and mpg321 on linux. |
From: Adrian R. <adr...@gm...> - 2014-03-04 06:52:53
|
Yes, on this note, for a cross-platform app snack ended up too flaky for async playback except on Windows, so I used exec afplay on the Mac and mpg321 on linux. On 2014.3.3, at 23:12, Russell E. Owen <ro...@uw...> wrote: > In article <531...@co...>, > Kevin Walzer <kw...@co...> wrote: > >> On 3/1/14, 11:58 PM, Anastasios Chatzikonstantinou wrote: >>> Hi, >>> >>> I am running Linger on a MacBook using 10.6.8 and I want to use sound >>> files. I have downloaded the TclTkAquaBI-8.4.10.0 and I want to enable >>> the Snack package. It seems that Snack.pkg (2.2.9) is in the >>> TclTkAquaBI-8.4.10.0 "Packages" file but when I am typing "package >>> require Snack" in my Terminal the system cannot find it. >>> >>> Any thoughts ? >>> >>> Thanks >>> Tasos >>> >> >> Try "package require snack." I think the name is case-sensitive. > > Also be warned that the snack sound toolkit is no longer supported. I > switched to pygame to play sound cues, though it does far more than I > want or need (and is harder to build). PySDL may be worth a look (I have > only glanced at it and have not yet figured out how to make it play > sound files). If there are simpler cross-platform (Mac and unix) sound > packages capable of playing sound cues asynchronously with Tkinter, I'd > love to hear about them. > > - Russell > > > ------------------------------------------------------------------------------ > Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. > With Perforce, you get hassle-free workflows. Merge that actually works. > Faster operations. Version large binaries. Built-in WAN optimization and the > freedom to use Git, Perforce or both. Make the move to Perforce. > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Russell E. O. <ro...@uw...> - 2014-03-03 21:12:50
|
In article <531...@co...>, Kevin Walzer <kw...@co...> wrote: > On 3/1/14, 11:58 PM, Anastasios Chatzikonstantinou wrote: > > Hi, > > > > I am running Linger on a MacBook using 10.6.8 and I want to use sound > > files. I have downloaded the TclTkAquaBI-8.4.10.0 and I want to enable > > the Snack package. It seems that Snack.pkg (2.2.9) is in the > > TclTkAquaBI-8.4.10.0 "Packages" file but when I am typing "package > > require Snack" in my Terminal the system cannot find it. > > > > Any thoughts ? > > > > Thanks > > Tasos > > > > Try "package require snack." I think the name is case-sensitive. Also be warned that the snack sound toolkit is no longer supported. I switched to pygame to play sound cues, though it does far more than I want or need (and is harder to build). PySDL may be worth a look (I have only glanced at it and have not yet figured out how to make it play sound files). If there are simpler cross-platform (Mac and unix) sound packages capable of playing sound cues asynchronously with Tkinter, I'd love to hear about them. - Russell |
From: Kevin W. <kw...@co...> - 2014-03-02 17:56:00
|
On 3/1/14, 11:58 PM, Anastasios Chatzikonstantinou wrote: > Hi, > > I am running Linger on a MacBook using 10.6.8 and I want to use sound > files. I have downloaded the TclTkAquaBI-8.4.10.0 and I want to enable > the Snack package. It seems that Snack.pkg (2.2.9) is in the > TclTkAquaBI-8.4.10.0 "Packages" file but when I am typing "package > require Snack" in my Terminal the system cannot find it. > > Any thoughts ? > > Thanks > Tasos > Try "package require snack." I think the name is case-sensitive. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Anastasios C. <cha...@uc...> - 2014-03-02 04:58:41
|
Hi, I am running Linger on a MacBook using 10.6.8 and I want to use sound files. I have downloaded the TclTkAquaBI-8.4.10.0 and I want to enable the Snack package. It seems that Snack.pkg (2.2.9) is in the TclTkAquaBI-8.4.10.0 "Packages" file but when I am typing "package require Snack" in my Terminal the system cannot find it. Any thoughts ? Thanks Tasos |
From: <Joh...@Da...> - 2014-02-07 17:39:28
|
Dear MacOS tcl maintainers -- I'm not sure if this is a bug in tcl/Tk or not, but there's a bug in python Tkinter on Mac OS X Mavericks (at least), namely that the XY coordinates of a key event are wrong. I wrote a StackOverflow post on this: http://stackoverflow.com/questions/21517114/python-tkinter-key-event-locations-lost-in-macos Another user was kind enough to provide a workaround in this case, but as always it'd be nice if "just worked". Thanks! John Thorstensen -------------------------------------------------------- John R. Thorstensen Department of Physics and Astronomy Dartmouth College 6127 Wilder Laboratory Hanover, NH 03755 Office: 239 Wilder Hall Phone: 603 646 2869 Fax: 1446 Hinman Box 6127 -------------------------------------------------------- |
From: Kevin W. <kw...@co...> - 2014-01-27 02:52:12
|
Michiel, On 1/25/14, 6:13 AM, Michiel de Hoon wrote: > > These issues occur also with Tcl/Tk itself (irrespective of Python), > so now I am using a minimal Tcl/Tk script and running it with > Wish to check if the Tcl/Tk event loop is working properly. I have > written some small patches for the problems I noticed; hopefully > this will also contribute to making the Tcl/Tk event loop more robust. > > Once the Tcl/Tk event loop is cleaned up, I'll go back and try to > run the event loop from Python. Thank you--I will try to review these this week. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Michiel de H. <mjl...@ya...> - 2014-01-25 11:14:03
|
Hi Kevin, On Fri, 1/24/14, Kevin Walzer <kw...@co...> wrote: > When you mention that Python is driving your event loop, > what's the context? > How do you make use of Tcl/Tk in your app? > Can you point me to a place where I can download the > app and understand it a bit better? Originally I was writing an extension module to Python to embed Tcl/Tk (for the GUI) into Python using the notifier approach as described in the Tcl/Tk documentation: http://www.tcl.tk/man/tcl8.4/TclLib/Notifier.htm#M12 Then I noticed several issues with the current Tk notifier in macosx/tkMacOSXNotify.c that would need to be resolved first. For example, some pieces of the event loop don't seem to be functional, and currently the event loop leaks memory. These issues occur also with Tcl/Tk itself (irrespective of Python), so now I am using a minimal Tcl/Tk script and running it with Wish to check if the Tcl/Tk event loop is working properly. I have written some small patches for the problems I noticed; hopefully this will also contribute to making the Tcl/Tk event loop more robust. Once the Tcl/Tk event loop is cleaned up, I'll go back and try to run the event loop from Python. Best, -Michiel. |
From: Kevin W. <kw...@co...> - 2014-01-24 16:10:05
|
Hi Michiel, On 1/21/14, 5:10 AM, Michiel de Hoon wrote: > Hi all, > > I have summarized this discussion and provided a patch at > https://core.tcl.tk/tcl/tktview?name=883155fb98 > > This patch removes the [window setAutodisplay:NO] line and the tkDisplayIfNeeded code. > I tried this patch with the Tk test suite and found that it reduces the number of test failures by 1. > > Best, > -Michiel. > I've applied this patch, and it doesn't appear to cause any side effects, but I'm still not 100% clear on what problem it solves in terms of Tcl/Tk itself. When you mention that Python is driving your event loop, what's the context? How do you make use of Tcl/Tk in your app? Can you point me to a place where I can download the app and understand it a bit better? --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Michiel de H. <mjl...@ya...> - 2014-01-21 10:10:09
|
Hi all, I have summarized this discussion and provided a patch at https://core.tcl.tk/tcl/tktview?name=883155fb98 This patch removes the [window setAutodisplay:NO] line and the tkDisplayIfNeeded code. I tried this patch with the Tk test suite and found that it reduces the number of test failures by 1. Best, -Michiel. -------------------------------------------- On Sat, 1/18/14, Kevin Walzer <kw...@co...> wrote: Subject: Re: [MACTCL] What is the purpose of tkDisplayIfNeeded? To: "Michiel de Hoon" <mjl...@ya...>, tc...@li... Date: Saturday, January 18, 2014, 12:52 PM On 1/18/14, 9:05 AM, Michiel de Hoon wrote: > > That is simple: remove tkDisplayIfNeeded and the call to it from tkMacOSXNotify.c, and remove the line [window setAutodisplay:NO] from kMacOSXWm.c. > If any glitches show up when we do that, we can think again what is the best solution for it. > Just bringing some off-list discussion back to onto the list, it appears that the [window setAutodisplay:NO] line is needed to address some issues with drawing Tk windows under Cocoa, though the details are no longer readily available. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Kevin W. <kw...@co...> - 2014-01-19 03:00:17
|
On 1/18/14, 6:58 PM, Andrés Sierra Soler wrote: > How can I get off the mailing list??? > Thanks > A > https://lists.sourceforge.net/lists/listinfo/tcl-mac -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Andrés S. S. <and...@gm...> - 2014-01-18 23:59:00
|
How can I get off the mailing list??? Thanks A > On Jan 18, 2014, at 11:22 PM, Kevin Walzer <kw...@co...> wrote: > >> On 1/18/14, 9:05 AM, Michiel de Hoon wrote: >> >> >> That is simple: remove tkDisplayIfNeeded and the call to it from tkMacOSXNotify.c, and remove the line [window setAutodisplay:NO] from kMacOSXWm.c. >> If any glitches show up when we do that, we can think again what is the best solution for it. > > Just bringing some off-list discussion back to onto the list, it appears > that the [window setAutodisplay:NO] line is needed to address some > issues with drawing Tk windows under Cocoa, though the details are no > longer readily available. > > --Kevin > > -- > Kevin Walzer > Code by Kevin/Mobile Code by Kevin > http://www.codebykevin.com > http://www.wtmobilesoftware.com > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Kevin W. <kw...@co...> - 2014-01-18 17:52:35
|
On 1/18/14, 9:05 AM, Michiel de Hoon wrote: > > That is simple: remove tkDisplayIfNeeded and the call to it from tkMacOSXNotify.c, and remove the line [window setAutodisplay:NO] from kMacOSXWm.c. > If any glitches show up when we do that, we can think again what is the best solution for it. > Just bringing some off-list discussion back to onto the list, it appears that the [window setAutodisplay:NO] line is needed to address some issues with drawing Tk windows under Cocoa, though the details are no longer readily available. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Michiel de H. <mjl...@ya...> - 2014-01-18 14:06:01
|
Hi Kevin. > Can you clarify the context of your observation? When you > mention "an external event loop," what are you referring to? I am using Tcl/Tk from Python, so Python is running the event loop, and Tcl/Tk hooks into it using the notifier approach as described e.g. here: http://www.tcl.tk/man/tcl8.5/TclLib/Notifier.htm > What kinds of problems arise? The external event loop handles both windows created by Tcl/Tk, and windows created independently of Tcl/Tk. This external event loop is similar to the one in Tcl/Tk, using [self nextEventMatchingMask:...] just like Tcl/Tk. The windows created by Tcl/Tk need the call to tkDisplayIfNeeded before each event; the windows created independently of Tcl/Tk don't need that. I cannot use [NSApp makeWindowsPerform:@selector(tkDisplayIfNeeded) inOrder:NO], because the Tcl/Tk-independent windows obviously don't have the tkDisplayIfNeeded method. Instead I would have to get a list of windows, check if they can handle tkDisplayIfNeeded, and if so, apply tkDisplayIfNeeded to them. This would have to be done before each and every event, slowing down the code and making it rather complex. > Would you be able to provide a patch that implements the > cleaner solution you are suggesting? That is simple: remove tkDisplayIfNeeded and the call to it from tkMacOSXNotify.c, and remove the line [window setAutodisplay:NO] from kMacOSXWm.c. If any glitches show up when we do that, we can think again what is the best solution for it. > I'd be very interested to see a bit more of your thinking; I am > wondering if this might solve some of the long-standing > issues with the event loop in Tk Cocoa. I have some experience with a Cocoa event loop (with Python though, but I guess the issues are the same), so I may be able to help. Best, -Michiel. |
From: Kevin W. <kw...@co...> - 2014-01-18 13:28:14
|
Hi Michiel, On 1/18/14, 7:42 AM, Michiel de Hoon wrote: > Hi all, > > In tkMacOSXNotify.c I came across a piece of code that seems unnecessary and causes a complication when using an external event loop. In the nextEventMatchingMask method: > > @implementation TKApplication(TKNotify) > - (NSEvent *) nextEventMatchingMask: (NSUInteger) mask > untilDate: (NSDate *) expiration inMode: (NSString *) mode > dequeue: (BOOL) deqFlag > { > NSAutoreleasePool *pool = [NSAutoreleasePool new]; > [NSApp makeWindowsPerform:@selector(tkDisplayIfNeeded) inOrder:NO]; > ... > } > > the tkDisplayIfNeeded method is applied to all windows each time there is an event. > The tkDisplayIfNeeded method is the following: > > @implementation NSWindow(TKNotify) > - (id) tkDisplayIfNeeded > { > if (![self isAutodisplay]) { > [self displayIfNeeded]; > } > return nil; > } > @end > > In the code creating the window (TkMacOSXMakeRealWindowExist in tkMacOSXWm.c), > we call [window setAutodisplay:NO], so [self isAutodisplay] is false, and tkDisplayIfNeeded calls [self displayIfNeeded]. > > Why is this code needed? The Cocoa documentation seems to discourage the use of [NSWindow displayIfNeeded], and setting [window setAutodisplay:YES] seems to work perfectly fine without having to call tkDisplayIfNeeded. > Thank you for bringing this up. Can you clarify the context of your observation? When you mention "an external event loop," what are you referring to? What kinds of problems arise? Windows locking up, glitchy redraw, or something else? Would you be able to provide a patch that implements the cleaner solution you are suggesting? I'd be very interested to see a bit more of your thinking; I am wondering if this might solve some of the long-standing issues with the event loop in Tk Cocoa. Although I'm the current maintainer of Tk on the Mac, I'm not familiar with all the design decisions that went into the Cocoa port and so I'm not sure why it was set up this way. Thanks, Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Michiel de H. <mjl...@ya...> - 2014-01-18 12:42:47
|
Hi all, In tkMacOSXNotify.c I came across a piece of code that seems unnecessary and causes a complication when using an external event loop. In the nextEventMatchingMask method: @implementation TKApplication(TKNotify) - (NSEvent *) nextEventMatchingMask: (NSUInteger) mask untilDate: (NSDate *) expiration inMode: (NSString *) mode dequeue: (BOOL) deqFlag { NSAutoreleasePool *pool = [NSAutoreleasePool new]; [NSApp makeWindowsPerform:@selector(tkDisplayIfNeeded) inOrder:NO]; ... } the tkDisplayIfNeeded method is applied to all windows each time there is an event. The tkDisplayIfNeeded method is the following: @implementation NSWindow(TKNotify) - (id) tkDisplayIfNeeded { if (![self isAutodisplay]) { [self displayIfNeeded]; } return nil; } @end In the code creating the window (TkMacOSXMakeRealWindowExist in tkMacOSXWm.c), we call [window setAutodisplay:NO], so [self isAutodisplay] is false, and tkDisplayIfNeeded calls [self displayIfNeeded]. Why is this code needed? The Cocoa documentation seems to discourage the use of [NSWindow displayIfNeeded], and setting [window setAutodisplay:YES] seems to work perfectly fine without having to call tkDisplayIfNeeded. I looked at the history of tkMacOSXNotify.c and it seems that this piece of code was introduced when the TkAqua Cocoa port was merged into Tk. However the logs don't explain the purpose of tkDisplayIfNeeded. Thanks, -Michiel. |
From: Michiel de H. <mjl...@ya...> - 2014-01-04 06:18:53
|
That was indeed the problem. After applying the fix, Tcl/Tk works correctly. Many thanks! Best, -Michiel. -------------------------------------------- On Fri, 1/3/14, Ned Deily <na...@ac...> wrote: Subject: Re: [MACTCL] Compiling Tcl/Tk & event handling To: tc...@li... Date: Friday, January 3, 2014, 1:26 PM In article <138...@we...>, Michiel de Hoon <mjldehoon-/E15...@pu...> wrote: > I would like to compile Tcl/Tk from source to be able to dig around in the > source code and see how it functions. > Without making any changes to the source code, I noticed that when I run wish > on a minimal Tcl script, events are not being handled correctly; e.g. mouse > clicks only seem to be processed if I move the mouse out of the window. In > contrast, ActiveState's wish run on the same script works perfectly fine. > This suggests that there is some problem with my build process; I used > "configure --enable-threads --enable-framework --enable-aqua" followed by > "make", "make install" from the macosx directory. Does anybody know what I > may be doing wrong? Are you running on OS X 10.9 Mavericks? If so, you'll need to apply the fix for this problem which, AFAIK, is not yet in an official 8.5.x or 8.6.x source release: https://core.tcl.tk/tk/tktview?name=53f7a1b553 https://core.tcl.tk/tk/info/5a5abf71f9 -- Ned Deily, na...@ac... ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Tcl-mac mailing list tc...@li... https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Ned D. <na...@ac...> - 2014-01-03 19:19:30
|
In article <138...@we...>, Michiel de Hoon <mjldehoon-/E15...@pu...> wrote: > I would like to compile Tcl/Tk from source to be able to dig around in the > source code and see how it functions. > Without making any changes to the source code, I noticed that when I run wish > on a minimal Tcl script, events are not being handled correctly; e.g. mouse > clicks only seem to be processed if I move the mouse out of the window. In > contrast, ActiveState's wish run on the same script works perfectly fine. > This suggests that there is some problem with my build process; I used > "configure --enable-threads --enable-framework --enable-aqua" followed by > "make", "make install" from the macosx directory. Does anybody know what I > may be doing wrong? Are you running on OS X 10.9 Mavericks? If so, you'll need to apply the fix for this problem which, AFAIK, is not yet in an official 8.5.x or 8.6.x source release: https://core.tcl.tk/tk/tktview?name=53f7a1b553 https://core.tcl.tk/tk/info/5a5abf71f9 -- Ned Deily, na...@ac... |
From: Michiel de H. <mjl...@ya...> - 2014-01-03 17:15:16
|
Hi all, I would like to compile Tcl/Tk from source to be able to dig around in the source code and see how it functions. Without making any changes to the source code, I noticed that when I run wish on a minimal Tcl script, events are not being handled correctly; e.g. mouse clicks only seem to be processed if I move the mouse out of the window. In contrast, ActiveState's wish run on the same script works perfectly fine. This suggests that there is some problem with my build process; I used "configure --enable-threads --enable-framework --enable-aqua" followed by "make", "make install" from the macosx directory. Does anybody know what I may be doing wrong? Thanks, -Michiel. |