X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=applet.tcl;h=87c0a6000bb51e725f204b309ace52c94c07c258;hb=refs%2Fheads%2Fmaster;hp=93e9c31e2e59507d7c5e25d79f1bf514bff1f9fc;hpb=2e355f70ace81b18ef77f3fdc45f347326165c08;p=chiark-tcl-applet.git diff --git a/applet.tcl b/applet.tcl index 93e9c31..87c0a60 100644 --- a/applet.tcl +++ b/applet.tcl @@ -1,5 +1,9 @@ # General purpose code for being a tray applet +# Copyright 2016,2020 Ian Jackson +# SPDX-License-Identifier: GPL-3.0-or-later +# There is NO WARRANTY. + package require Tclx package require tktray @@ -64,19 +68,21 @@ package require tktray # # This also uses the same variables as setup-subwindow. -wm withdraw . - -tktray::icon .i -class example -.i configure -docked 1 +namespace eval applet { -fconfigure stdout -buffering none -fconfigure stderr -buffering none +proc become {} { + wm withdraw . + tktray::icon .i -class example + .i configure -docked 1 -namespace eval applet { + fconfigure stdout -buffering none + fconfigure stderr -buffering none +} # used by both menus and tooltips variable posted 0 +variable tooltip_offset {9 9} #----- menus ----- @@ -170,8 +176,9 @@ proc tooltip-set {s} { proc tooltip-show {x y} { variable tooltip_on_vis - incr x 9 - incr y 9 + variable tooltip_offset + incr x [lindex $tooltip_offset 0] + incr y [lindex $tooltip_offset 1] wm geometry .tt +$x+$y wm deiconify .tt raise .tt @@ -263,7 +270,7 @@ proc setup-subwindow {on_destroying on_ready} { .i configure -image applet::innerwindow-ph-horizontal destroy [frame .i.make-exist] - destroy [frame .i.i.make-exist] + #destroy [frame .i.i.make-exist] bind .i <> { applet::subwindow-need-recreate %T "%T i=%i k=%K N=%N R=%R S=%S k=%k m=%m d=%d s=%s a=%a b=%b c=%c f=%f w,h=%w,%h o=%o p=%p t=%t x,y=%x,%y B=%B D=%D E=%E P=%P W=%W X,Y=%X,%Y" }