Tk Source Code

Ticket Change Details
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Aug 20.
Overview

Artifact ID: ae8ce8454eea09c1bd7087f1b6e4f0e3b9c3359384a05f9e2c2b2a8018b48505
Ticket: e02aac5cab6a9a1c8f6a27582ec21dd356ee601b
Grab documentation does not have caveats for windows & mac
User & Date: fvogel 2018-07-09 20:37:30
Changes

  1. Change comment to:

    Grab does not work as described when running under windows 7 x64. In response to my question about grab on comp.lang.tcl, it was stated that it also would not work as described on mac's either.

    Exactly how grab works on windows & macs should be described in the man page for grab.

    This was the TCL ticket here http://core.tcl.tk/tcl/info/4915cf6c4f704430.

    The discussion on comp.lang.tcl that originally prompted this ticket is https://groups.google.com/d/msg/comp.lang.tcl/jRF7NwcURp4/J_lme2tYAQAJ

  2. Change icomment to:

    From what I gather in that c.l.t. discussion:

    - global grabs never work on Windows and macOS. grab will force focus on the requested window within the Tk application but has no effect on other windows
    - global grabs may not work on Linux either since the wm or desktop preferences can reject it

    Moreover, what I see in the test suite output on macOS is that requests for local grabs are always transformed into global grabs on this platorm, which can rather easily be seen in the source code.

    For the records, here is the output when exercising grab.test with current core-8-6-branch on macOS (the failures are all due to the local --> global silent switch in the source code):

    ==== grab-2.2 Tk_GrabObjCmd, grab status gives correct status FAILED
    ==== Contents of test case:
    
        set curr [grab current .]
        if { [string length $curr] > 0 } {
    	grab release $curr
        }
        grab .
        grab status .
    
    ---- Result was:
    global
    ---- Result should have been (exact matching):
    local
    ==== grab-2.2 FAILED
    
    
    
    ==== grab-4.1 Tk_GrabObjCmd, grab release releases grab FAILED
    ==== Contents of test case:
    
        set curr [grab current .]
        if { [string length $curr] > 0 } {
    	grab release $curr
        }
        grab .
        set result [grab status .]
        grab release .
        lappend result [grab status .]
        grab -global .
        lappend result [grab status .]
        grab release .
        lappend result [grab status .]
    
    ---- Result was:
    global none global none
    ---- Result should have been (exact matching):
    local none global none
    ==== grab-4.1 FAILED
    
    
    
    ==== grab-5.1 Tk_GrabObjCmd, grab set FAILED
    ==== Contents of test case:
    
        set curr [grab current .]
        if { [string length $curr] > 0 } {
    	grab release $curr
        }
        grab set .
        list [grab current .] [grab status .]
    
    ---- Result was:
    . global
    ---- Result should have been (exact matching):
    . local
    ==== grab-5.1 FAILED
    
  3. Change login to "fvogel"
  4. Change mimetype to "text/x-fossil-wiki"