Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

If I have not seen so far it is because I stood in giant's footsteps.


devel / comp.lang.tcl / Re: tk print from 8.7 for 8.6

SubjectAuthor
* tk print from 8.7 for 8.6greg
`* tk print from 8.7 for 8.6greg
 `* tk print from 8.7 for 8.6Kevin Walzer
  `- tk print from 8.7 for 8.6greg

1
tk print from 8.7 for 8.6

<de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=12511&group=comp.lang.tcl#12511

  copy link   Newsgroups: comp.lang.tcl
X-Received: by 2002:a05:622a:180e:b0:412:1bc3:10f3 with SMTP id t14-20020a05622a180e00b004121bc310f3mr182856qtc.13.1694371390577;
Sun, 10 Sep 2023 11:43:10 -0700 (PDT)
X-Received: by 2002:a17:903:643:b0:1c3:b3e0:c4f9 with SMTP id
kh3-20020a170903064300b001c3b3e0c4f9mr366852plb.10.1694371390153; Sun, 10 Sep
2023 11:43:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.tcl
Date: Sun, 10 Sep 2023 11:43:09 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=185.250.212.93; posting-account=99ziWAoAAADLScDbI_CyfIcpa_gFZ0zh
NNTP-Posting-Host: 185.250.212.93
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
Subject: tk print from 8.7 for 8.6
From: gregor.ebbing@googlemail.com (greg)
Injection-Date: Sun, 10 Sep 2023 18:43:10 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2553
 by: greg - Sun, 10 Sep 2023 18:43 UTC

Two files print-8.6erw.tcl and print-test.tcl.
tried to see if it also works with 8.6

#print-8.6erw.tcl
package require gdi
package require printer
#Tcl Extensions by Michael Schwarz
#http://wiki.tcl-lang.org/page/TkPrint
package require struct::list

namespace eval ::tk::print {
proc _opendoc {} {
printer job start
}

proc _openpage {} {
printer page start
}

proc _closedoc {} {
printer job end
}

proc _closepage {} {
printer page end
}

proc _gdi {args} {
gdi {*}$args
#tailcall gdi {*}$args
}
proc _selectprinter {} {
# variable printargs
variable printer_name
variable paper_width
variable paper_height
variable dpi_x
variable dpi_y
variable copies
set hDc [printer dialog select]
set attr [struct::list flatten [printer attr -hDc $hDc]]
# set printer_name [dict get $attr device]
# set printargs(printer_name) [dict get $attr device]
set printer_name [lindex $hDc 0]
set paper_width [lindex [dict get $attr "page dimensions"] 0]
set paper_height [lindex [dict get $attr "page dimensions"] 1]
set dpi_x [lindex [dict get $attr "pixels per inch"] 0]
set dpi_y [lindex [dict get $attr "pixels per inch"] 1]
set copies [dict get $attr copies]
}

#print-test.tcl
package require Tk
#tk 8.7
#https://core.tcl-lang.org/tips/doc/trunk/tip/604.md
#https://core.tcl-lang.org/tk/file?name=library/print.tcl&ci=tip

source print.tcl
source print-8.6erw.tcl

text .t
button .btn -text print -command {tk print .t}
..t insert end "hello World"
pack .t .btn

Re: tk print from 8.7 for 8.6

<639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=12513&group=comp.lang.tcl#12513

  copy link   Newsgroups: comp.lang.tcl
X-Received: by 2002:a05:620a:2626:b0:76f:b4e:e703 with SMTP id z38-20020a05620a262600b0076f0b4ee703mr167888qko.14.1694407762154;
Sun, 10 Sep 2023 21:49:22 -0700 (PDT)
X-Received: by 2002:a17:90a:c912:b0:271:abb6:6902 with SMTP id
v18-20020a17090ac91200b00271abb66902mr2282252pjt.1.1694407761455; Sun, 10 Sep
2023 21:49:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.tcl
Date: Sun, 10 Sep 2023 21:49:20 -0700 (PDT)
In-Reply-To: <de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=185.250.212.109; posting-account=99ziWAoAAADLScDbI_CyfIcpa_gFZ0zh
NNTP-Posting-Host: 185.250.212.109
References: <de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com>
Subject: Re: tk print from 8.7 for 8.6
From: gregor.ebbing@googlemail.com (greg)
Injection-Date: Mon, 11 Sep 2023 04:49:22 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2489
 by: greg - Mon, 11 Sep 2023 04:49 UTC

#print-8.6erw.tcl
#0.2
if {[tk windowingsystem] eq "win32"} {
if {[info tclversion] eq "8.6"} {
package require gdi
package require printer
#Tcl Extensions by Michael Schwarz
#http://wiki.tcl-lang.org/page/TkPrint
package require struct::list

namespace eval ::tk::print {

proc _openprinter {args} {
printer open args
}

proc _closeprinter {} {
printer close
}

proc _opendoc {} {
printer job start
}

proc _closedoc {} {
printer job end
}

proc _openpage {} {
printer page start
}

proc _closepage {} {
printer page end
}

proc _gdi {args} {
gdi {*}$args
#tailcall gdi {*}$args
}
proc _selectprinter {} {
# variable printargs
variable printer_name
variable paper_width
variable paper_height
variable dpi_x
variable dpi_y
variable copies
set hDc [printer dialog select]
set attr [struct::list flatten [printer attr -hDc $hDc]]
# set printer_name [dict get $attr device]
# set printargs(printer_name) [dict get $attr device]
set printer_name [lindex $hDc 0]
set paper_width [lindex [dict get $attr "page dimensions"] 0]
set paper_height [lindex [dict get $attr "page dimensions"] 1]
set dpi_x [lindex [dict get $attr "pixels per inch"] 0]
set dpi_y [lindex [dict get $attr "pixels per inch"] 1]
set copies [dict get $attr copies]
}

}
} }

Re: tk print from 8.7 for 8.6

<udr6nm$1ulqd$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=12515&group=comp.lang.tcl#12515

  copy link   Newsgroups: comp.lang.tcl
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: kw@codebykevin.com (Kevin Walzer)
Newsgroups: comp.lang.tcl
Subject: Re: tk print from 8.7 for 8.6
Date: Tue, 12 Sep 2023 22:28:06 -0400
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <udr6nm$1ulqd$1@dont-email.me>
References: <de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
<639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 13 Sep 2023 02:28:06 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f8a312bcb02212c2832b1d0e2a30c8e0";
logging-data="2053965"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191Ieswjg755Vck/7ubqz+8zkwvnzBO0SM="
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
Gecko/20100101 Thunderbird/102.15.0
Cancel-Lock: sha1:+5nLyG5EYxij+78DVXif8MPD4HY=
Content-Language: en-US
In-Reply-To: <639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com>
 by: Kevin Walzer - Wed, 13 Sep 2023 02:28 UTC

On 9/11/23 12:49 AM, greg wrote:
> #print-8.6erw.tcl
> #0.2
> if {[tk windowingsystem] eq "win32"} {
> if {[info tclversion] eq "8.6"} {
> package require gdi
> package require printer
> #Tcl Extensions by Michael Schwarz
> #http://wiki.tcl-lang.org/page/TkPrint
> package require struct::list

Yes, the "tk print" code for Windows was based on these libraries by
Michael Schwartz, so the original libraries should work just fine on 8.6.

--Kevin

Re: tk print from 8.7 for 8.6

<776725ad-8789-4d7d-abe9-88af8ddc9495n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=12521&group=comp.lang.tcl#12521

  copy link   Newsgroups: comp.lang.tcl
X-Received: by 2002:a05:6214:aa1:b0:647:2b82:5fd9 with SMTP id ew1-20020a0562140aa100b006472b825fd9mr88241qvb.10.1694629751679;
Wed, 13 Sep 2023 11:29:11 -0700 (PDT)
X-Received: by 2002:a05:6808:2192:b0:3a8:465b:17cd with SMTP id
be18-20020a056808219200b003a8465b17cdmr1353267oib.2.1694629751293; Wed, 13
Sep 2023 11:29:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.tcl
Date: Wed, 13 Sep 2023 11:29:10 -0700 (PDT)
In-Reply-To: <udr6nm$1ulqd$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=185.250.212.130; posting-account=99ziWAoAAADLScDbI_CyfIcpa_gFZ0zh
NNTP-Posting-Host: 185.250.212.130
References: <de5eec43-22be-4d53-9fa6-0bb83321b0f7n@googlegroups.com>
<639ec762-f1b9-4951-b11b-61c7b42bd80fn@googlegroups.com> <udr6nm$1ulqd$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <776725ad-8789-4d7d-abe9-88af8ddc9495n@googlegroups.com>
Subject: Re: tk print from 8.7 for 8.6
From: gregor.ebbing@googlemail.com (greg)
Injection-Date: Wed, 13 Sep 2023 18:29:11 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1954
 by: greg - Wed, 13 Sep 2023 18:29 UTC

Kevin Walzer schrieb am Mittwoch, 13. September 2023 um 04:28:12 UTC+2:
> On 9/11/23 12:49 AM, greg wrote:
> > #print-8.6erw.tcl
> > #0.2
> > if {[tk windowingsystem] eq "win32"} {
> > if {[info tclversion] eq "8.6"} {
> > package require gdi
> > package require printer
> > #Tcl Extensions by Michael Schwarz
> > #http://wiki.tcl-lang.org/page/TkPrint
> > package require struct::list
> Yes, the "tk print" code for Windows was based on these libraries by
> Michael Schwartz, so the original libraries should work just fine on 8.6.
>
> --Kevin
tk print for tk 8.7 is a great thing.
Also helped me understand printer/gdi better.
I really like the solution in print.tcl for linux print.
Searched for something like this for a long time.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor