* tkcon.tcl (::tkcon::InitUI): WinCE code to resize the window to
authorJeff Hobbs <hobbs@users.sourceforge.net>
Tue, 8 Apr 2003 16:45:24 +0000 (16:45 +0000)
committerJeff Hobbs <hobbs@users.sourceforge.net>
Tue, 8 Apr 2003 16:45:24 +0000 (16:45 +0000)
fit on the small screen

ChangeLog
tkcon.tcl

index 43c8efd1183bf7565cc4f8281c0d97c7d17481bf..16b3935df6de3d33f2ed477a5fcf49cfd54d6b23 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-08  Jeff Hobbs  <jeffh@ActiveState.com>
+
+       * tkcon.tcl (::tkcon::InitUI): WinCE code to resize the window to
+       fit on the small screen
+
 2003-03-31  Jeff Hobbs  <jeffh@ActiveState.com>
 
        * tkcon.tcl (tkcon::Retrieve): correct the check for tkcon version
index 21450fdcdb6b6792e3dcbee3664de04f8c7cc95d..dceaa36b467c7c2304698606f3c2e35d74a1acd8 100755 (executable)
--- a/tkcon.tcl
+++ b/tkcon.tcl
@@ -583,6 +583,25 @@ proc ::tkcon::InitUI {title} {
     }
     set OPT(font) [$con cget -font]
     if {!$PRIV(WWW)} {
+       if {[string match "Windows CE" $::tcl_platform(os)]} {
+           $con configure -bd 0
+           catch {font create tkconfixed}
+           font configure tkconfixed -family Courier -size 8
+           set cw [font measure tkconfixed "0"]
+           set ch [font metrics tkconfixed -linespace]
+           set sw [winfo screenwidth $con]
+           set sh [winfo screenheight $con]
+           # We need the magic hard offsets until I find a way to
+           # correctly assume size
+           if {$cw*($OPT(cols)+2) > $sw} {
+               set OPT(cols) [expr {($sw / $cw) - 2}]
+           }
+           if {$ch*($OPT(rows)+3) > $sh} {
+               set OPT(rows) [expr {($sh / $ch) - 3}]
+           }
+           # Place it so that the titlebar underlaps the CE titlebar
+           wm geometry $root +0+0
+       }
        $con configure -setgrid 1 -width $OPT(cols) -height $OPT(rows)
     }
     bindtags $con [list $con TkConsole TkConsolePost $root all]