Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vl53om$366a4$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vl53om$366a4$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Rich <rich@example.invalid>
Newsgroups: comp.lang.tcl
Subject: Re: event generate send arg
Date: Thu, 2 Jan 2025 04:13:10 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <vl53om$366a4$1@dont-email.me>
References: <1735775981-1405@newsgrouper.org.uk>
Injection-Date: Thu, 02 Jan 2025 05:13:11 +0100 (CET)
Injection-Info: dont-email.me; posting-host="6420596632e4571cd84179c8b721a5c9";
	logging-data="3348804"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/dTF1li54HWEvkRclBcg2m"
User-Agent: tin/2.6.1-20211226 ("Convalmore") (Linux/5.15.139 (x86_64))
Cancel-Lock: sha1:3BQRu1tt/LwUjedAnSq0UhoA54g=

Shaun Kulesa <user1405@newsgrouper.org.uk.invalid> wrote:
> I'm trying to block any user interaction that is not done via `event generate`.

First question is: why?  What are you really trying to accomplish?

Next suggestion, have you looked into using 'tk busy' (man n busy).  It 
might work better than having to remap every single default event 
binding within Tk.

> To do this I want to break the bindings when $user is not 1.

> I want to pass the $user arg to the procedure `block` but I do not 
> know how to.

Note the documentation for -data in the event manpage:

  -data string
    String may be any value; it specifies the user_data field for 
    the event.  Only valid for virtual events.  Corresponds to the
    %d substitution for virtual events in binding scripts.

It tells you how to retreive the '-data' field value, you use the %d 
substitution.

But -data is also  "only valid for virtual events" which is why you 
can't use it with <ButtonPress> (because <ButtonPress> is not a virtual 
event).

> I thought this is done by -data but I get an error saying I can not 
> use that with the event <ButtonPress>.

> 
> ```
> package require Tk
> 
> button .b -text "Hello, World!"
> pack .b -padx 20 -pady 20
> 
> proc block {{user 0}} {
>     if {$user ne 1} {
>         return -code break
>     }
>     return
> }
> 
> bind .b <ButtonPress> {block}
> bind .b <ButtonRelease> {block}
> 
> after 1000 [list event generate .b <ButtonPress> -data 1]
> ```