[PD-cvs] packages/darwin_app AppMain.tcl,1.1,1.2
gerard roma
g_roma at users.sourceforge.net
Wed Sep 1 00:09:28 CEST 2004
Update of /cvsroot/pure-data/packages/darwin_app
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26762
Modified Files:
AppMain.tcl
Log Message:
macosx style app
Index: AppMain.tcl
===================================================================
RCS file: /cvsroot/pure-data/packages/darwin_app/AppMain.tcl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** AppMain.tcl 14 Aug 2004 15:22:18 -0000 1.1
--- AppMain.tcl 31 Aug 2004 22:09:26 -0000 1.2
***************
*** 1,30 ****
- # from http://aspn.activestate.com/ASPN/Mail/Message/tcl-mac/2115298
! # tk::mac::OpenDocument is called when docs are dropped
! # on the Dock icon with the filenames put into the var args
! proc tk::mac::OpenDocument {args} {
! foreach file $args {
! puts $file
! }
}
proc default_keybindings {} {
! return { exit CMD-q }
}
! #console show
# get the path to the Wish Shell so a relative path can be
# used to launch Pd
! regsub -- "Wish Shell" [info nameofexecutable] "" wish_path
! exec open $wish_path/../Resources/Pd.term
! puts "wish_path $wish_path"
! #if {[string first "-psn" [lindex $argv 0]] == 0} {
! # set argv [lrange $argv 1 end]
! #}
! exit
--- 1,91 ----
! proc log {message} {
! exec sh -c "/bin/echo $message" >/dev/stderr
! }
!
! proc alert {message} {
! tk_messageBox -message $message -type ok -icon question
}
proc default_keybindings {} {
! return { exit CMD-q }
! }
!
! proc checkPort { port } {
! if {
! [catch {set result [exec sh -c "/usr/sbin/netstat -an |grep $port"] } errn] } {
! # the command returns no result, so the port is not used
! return true
! } else {
! return false
! }
! }
!
! proc waitForPort { port } {
! for {set x 0} {$x<30} {incr x} {
! after 100
! if {![checkPort $port]} {
! return true
! }
! }
! return false
}
!
!
! proc loadpdtcl { } {
! global pd_guidir
! # wait for pd to start
! if {[waitForPort 5400]} {
! if {
! [catch {load $pd_guidir/bin/pdtcl } errmsg] } {
! alert "can't connect to pd : $errmsg"
! exit(1)
! }
! } else {
! alert "Couldn't start Pd"
! }
! }
!
!
!
! ##### startup ##################################################################
!
! global pd_guidir
! global pd_port
# get the path to the Wish Shell so a relative path can be
# used to launch Pd
! regsub -- "Pd" [info nameofexecutable] "" wish_path
! puts "$wish_path/../Resources/lib/pd/bin/pd.tk"
! # set paths
! set pd_guidir [file join [file dirname [file dirname [info script]]] lib pd]
! set pd_exec_path [file join [file dirname [file dirname [info script]]] bin]
! # launch pd -a dummy guicmd prevents starting the wish shell
! if {[checkPort 5400]} {
! exec sh -c "cd $pd_exec_path;./pd -guicmd /bin/echo" >&/dev/stderr &
! } else {
! alert "Can't start pd because the port 5400 is in use"
! exit(1)
! }
+ # open gui
+ source [file join $pd_guidir bin pd.tk]
! ################################################################################
!
!
!
! # depends on pd.tk
! # tk::mac::OpenDocument is called when docs are dropped
! # on the Dock icon with the filenames put into the var args
! proc tk::mac::OpenDocument {args} {
! foreach file $args {
! pd [concat pd open [pdtk_enquote [file tail $file]] \
! [pdtk_enquote [file dirname $file]] \;]
! menu_doc_open [file dirname $file] [file tail $file]
! }
! }
More information about the Pd-cvs
mailing list