📄 tkpppoe.in
字号:
#!/bin/sh# -*-Mode: TCL;-*-# LIC: GPL#--------------------------------------------------------------# tkpppoe## A graphical front-end for configuring and using rp-pppoe.## Copyright (C) 2001 by Roaring Penguin Software Inc.# This file may be distributed under the terms of the GNU General Public# License, Version 2, or (at your option) any later version.## The "Roaring Penguin" logo is a trademark of Roaring Penguin Software Inc.## http://www.roaringpenguin.com##--------------------------------------------------------------# $Id: tkpppoe.in,v 1.48 2005/08/09 02:49:14 dfs Exp $# the next line restarts using wish \umask 022; \exec wish "$0" "$@" || clear; echo "*****"; echo "Cannot find 'wish' -- you need Tcl/Tk installed to run this program"; exit 1# Try requiring msgcat (Tcl 8.1 and later)set problem [catch {package require msgcat} err]if {!$problem} { set problem [catch {::msgcat::mcload [file join "@datadir_evaluated@" tkpppoe]} err]}if {$problem} { puts "$problem - $err" # Oops... leave as English proc m { str } { return $str }} else { proc m { str } { ::msgcat::mc $str }}# Set app nametk appname TkPPPoE# Set this to one if you want to allow multiple instances of TkPPPoEset AllowMultipleInstances 0# Check for other instancesif {"[tk appname]" != "TkPPPoE"} { # Must be another instance running... if {!$AllowMultipleInstances} { send TkPPPoE AnotherInstance exit 0 }}# Location of config directoryset ConfigDir /etc/ppp/rp-pppoe-gui# Are we running as root?set Admin 0# Location of connection info fileset ConnectionInfoFile [file join $ConfigDir connection-info]# Location of password fileset PasswordFile [file join $ConfigDir passwd]# Location of "already run" fileset AlreadyRunFile [file join $ConfigDir gui-already-run]# Connection informationset ConnectionInfo {}# Connection optionsset OPTS(nonroot) 0set OPTS(sync) 1# Location of wrapperset Wrapper "@WRAPPER@"# Timer token for UpdateConnectionStateset UpdateToken {}# Update interval in millisecondsset UpdateInterval 500# Packet counters for signalling activityset Packets(in) 0set Packets(out) 0set Bytes(in) 0set Bytes(out) 0set MeasureTime 0# Set up some options to make it look betteroption add *Button.borderWidth 1option add *Button.Pad 1option add *Menubutton.borderWidth 1option add *Menubutton.Pad 1option add *Entry.Background white# Array holding help strings for windowsarray set HelpData {}bind HelpWin <Enter> "HelpWindowEntered %W"bind HelpWin <Leave> "HelpWindowLeft %W"proc AnotherInstance {} { wm deiconify . raise .}#***********************************************************************# %PROCEDURE: HelpWindowEntered# %ARGUMENTS:# w -- window# %RETURNS:# Nothing# %DESCRIPTION:# Looks for procedure in HelpData; evals it if found.#***********************************************************************proc HelpWindowEntered { w } { global HelpData if {[info exists HelpData($w)]} { set cmd "$HelpData($w) Enter" uplevel #0 $cmd }}#***********************************************************************# %PROCEDURE: HelpWindowLeft# %ARGUMENTS:# w -- window# %RETURNS:# Nothing# %DESCRIPTION:# Looks for procedure in HelpData; evals it if found.#***********************************************************************proc HelpWindowLeft { w } { global HelpData if {[info exists HelpData($w)]} { set cmd "$HelpData($w) Leave" uplevel #0 $cmd }}#***********************************************************************# %PROCEDURE: RegisterHelpWindow# %ARGUMENTS:# w -- window we need help about# helptext -- the help text# win -- window in which to put help messages# %RETURNS:# Nothing# %DESCRIPTION:# Sets things up so help text appears in "$win" when mouse enters "$w"#***********************************************************************proc RegisterHelpWindow {w helptext win} { global HelpData set tags [bindtags $w] if {[lsearch -exact $tags HelpWin] < 0} { lappend tags HelpWin bindtags $w $tags } set HelpData($w) [list HelpInTextWin $helptext $win]}#***********************************************************************# %PROCEDURE: HelpInTextWin# %ARGUMENTS:# text -- help text# tw -- window in which to write text# what -- one of "Enter" or "Leave"# %RETURNS:# Nothing# %DESCRIPTION:# Clears out $tw; if $what is "Enter", puts $text in $tw.#***********************************************************************proc HelpInTextWin {text tw what} { $tw configure -state normal $tw delete 1.0 end if {"$what" == "Enter"} { $tw insert end $text } $tw configure -state disabled}#***********************************************************************# %PROCEDURE: drawLogo# %ARGUMENTS:# c -- canvas to draw logo in# bg -- background color of canvas# pencolor -- color of the word "Penguin"# %RETURNS:# Nothing# %DESCRIPTION:# Draws Roaring Penguin logo in a Tcl canvas#***********************************************************************proc drawLogo { c bg {pengcolor #6699cc} } { $c create polygon 372.249 5.182 361.23 5.519 \ 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \ 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \ 254.531 77.814 236.204 125.26 225.635 174.844 \ 221.026 226.113 213.605 228.025 208.658 232.634 \ 225.523 240.28 250.708 243.316 282.752 242.416 \ 320.079 238.818 330.985 193.17 338.181 146.735 \ 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \ 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \ 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \ 5.182 -fill #000000 -outline {} -width 1 -tags logo $c create line 372.249 5.182 361.23 5.519 \ 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \ 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \ 254.531 77.814 236.204 125.26 225.635 174.844 \ 221.026 226.113 213.605 228.025 208.658 232.634 \ 225.523 240.28 250.708 243.316 282.752 242.416 \ 320.079 238.818 330.985 193.17 338.181 146.735 \ 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \ 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \ 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \ 5.182 -tags logo $c create polygon 298.605 109.632 290.734 \ 159.328 282.752 182.939 271.958 205.65 262.851 \ 171.133 263.75 138.752 264.537 164.5 271.958 192.833 \ 286.687 157.192 298.605 109.632 -fill #ffffff \ -outline {} -width 1 -tags logo $c create line 298.605 109.632 290.734 159.328 \ 282.752 182.939 271.958 205.65 262.851 171.133 \ 263.75 138.752 264.537 164.5 271.958 192.833 286.687 \ 157.192 298.605 109.632 -tags logo $c create polygon 312.546 30.592 315.132 35.876 \ 310.747 39.586 308.161 34.414 312.546 30.592 -fill \ #ffffff -outline {} -width 1 -tags logo $c create line 312.546 30.592 315.132 35.876 \ 310.747 39.586 308.161 34.414 312.546 30.592 -tags logo $c create polygon 328.624 54.427 322.665 58.7 \ 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \ 90.181 303.214 98.951 308.499 106.259 310.523 \ 116.378 305.913 130.208 312.771 141.563 308.049 \ 167.76 299.729 192.158 279.041 238.593 313.558 \ 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \ 328.624 54.427 -fill #ffffff -outline {} -width 1 -tags logo $c create line 328.624 54.427 322.665 58.7 \ 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \ 90.181 303.214 98.951 308.499 106.259 310.523 \ 116.378 305.913 130.208 312.771 141.563 308.049 \ 167.76 299.729 192.158 279.041 238.593 313.558 \ 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \ 328.624 54.427 -tags logo $c create polygon 53.837 185.412 54.399 185.862 \ 53.837 188.223 54.399 188.673 53.837 188.673 53.837 \ 189.572 53.837 190.472 53.387 191.034 52.938 192.833 \ 50.577 195.644 49.677 196.656 49.677 197.105 48.215 \ 198.455 47.316 198.904 46.866 198.904 44.505 200.816 \ 43.606 200.366 42.594 201.265 42.144 201.715 41.245 \ 202.277 40.795 202.727 40.345 202.277 39.783 202.277 \ 36.972 203.177 36.522 203.177 36.073 203.177 35.623 \ 203.627 34.723 203.627 34.161 203.627 34.161 204.076 \ 30.901 204.526 28.54 205.538 26.291 205.088 25.729 \ 205.088 24.829 205.088 24.38 204.526 23.93 204.526 \ 23.48 204.526 22.918 205.088 22.918 206.437 22.918 \ 206.887 22.918 207.337 22.468 207.337 22.468 208.798 \ 22.018 209.248 22.018 211.16 22.018 211.609 21.569 \ 213.521 21.119 215.769 21.569 216.781 20.669 218.13 \ 20.669 219.592 20.669 220.042 20.107 220.941 20.107 \ 221.953 20.107 223.752 19.657 225.664 19.208 226.113 \ 19.657 227.013 18.308 230.835 17.858 240.167 17.296 \ 248.15 17.296 249.05 16.846 250.062 15.947 250.062 \ 15.048 250.062 15.048 250.511 12.686 251.86 12.237 \ 251.86 11.675 251.411 11.675 250.511 11.675 246.689 \ 11.225 245.339 11.225 243.878 10.775 240.617 11.225 \ 239.268 11.225 238.818 10.775 238.256 10.325 237.357 \ 10.325 236.007 9.876 232.634 9.876 231.735 9.876 \ 231.285 9.876 230.835 9.876 230.386 9.876 229.824 \ 9.426 229.374 9.426 226.113 9.876 226.113 9.876 \ 225.664 9.426 224.202 9.426 223.752 9.426 223.302 \ 10.325 221.953 9.426 220.941 9.426 219.592 9.426 \ 219.142 9.426 218.58 9.426 217.681 9.426 217.231 \ 9.426 216.781 8.864 216.332 8.864 214.42 8.864 \ 213.97 8.414 213.521 8.414 210.148 8.414 209.248 \ 7.964 207.899 8.414 205.988 8.414 204.526 7.065 \ 201.265 7.515 200.816 9.426 201.715 10.325 201.265 \ 10.775 200.816 10.775 198.904 11.225 198.005 11.225 \ 197.555 10.775 197.555 9.876 196.094 9.426 194.744 \ 7.515 194.295 6.615 193.845 6.053 193.845 5.153 \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -