使用 Tcl 来组织桌面
2008-11-13 08:29:26 来源:WEB开发网需要做些什么工作?
干净而整洁的桌面,这在虚拟和现实世界中都是很有好处的。整洁 意味着仅在桌面上准备一些可以完成大量工作的图标。(这些图标有时也称为咖啡图标,点击这些图标后,在其启动所需的一组程序时,您可以起身去倒杯咖啡。)将几个程序的执行组合成仅具有一个图标的单个任务,这是一种很好的方法。
例如,要撰写类似本文这样的文章,您可以用脚本编写单个图标,当点击了这个图标后,打开一个工作所需的 xterm、一个编辑 XML 文件的文本编辑器以及一个显示该文章的浏览器。在单击这个图标后,启动了所有这些工具,您可以按照需要对其进行配置,包括合适的屏幕大小、工作目录集和所有打开的并可对其进行操作的文件。这就是编写脚本!
您可以使用 bash shell 脚本来实现相同的目的并将脚本关联于一个桌面图标,但是 Tcl/Tk 为 GUI 方面提供了更好的接口。
作者的助手
清单 1 介绍了一个 Tcl/Tk 程序,它实现了前一节中所描述的情况,即单击一个图标后启动所有的相关任务。除了启动 xterm、编辑器和浏览器之外,它还提供了一个按钮,您可以在任何时候单击该按钮来运行 IBM 提供的一个脚本,以将文章从 XML 转换为 HTML。
清单 1. 作者的助手
#!/usr/bin/wish -f
# 1 -- How should it look?
set PageTitle "IBM developerWorks Articles -- Studio B"
set InitDir "/home/bill/StudioB/developerworks"
set ChooseDir "Choose an Article Directory"
frame .rc -borderwidth 2
wm title . $PageTitle
wm resizable . 0 0
button .rc.b -width 20 -text "Rebuild Article" -command {rebuild-article}
button .rc.c -width 20 -text "Exit" -command {exit}
pack .rc
pack .rc.b
pack .rc.c
grid .rc.b .rc.c -sticky ew
# 2 -- What should it do?
proc rebuild-article {} {
exec ./dw-transform.sh &
}
wm geometry . =336x32+0+707
set dir ""
while {$dir == ""} {
set dir [tk_chooseDirectory
-initialdir $InitDir
-title $ChooseDir]
}
cd $dir
exec nedit -geometry 150x48+0+0 index.xml &
exec konsole &
exec opera -geometry 1024x680+0+0 index.html &
更多精彩
赞助商链接