# @configure_input@
# Copyright (c) 1993 by Sanjay Ghemawat
###############################################################################
# Ical initialization.
#
# This code is linked into the ical binaries and executed at startup.

proc ical_init {} {
    # Make sure there is "HOME" environment variable so that
    # tilde expansion does not blow up.
    global env
    if ![info exists env(HOME)] {set env(HOME) "/"}

    # Initialize options
    global ical
    set ical(author)		{sanjay@lcs.mit.edu}
    set ical(version)		{@ICAL_VERSION@}
    set ical(mailer)		{@MAILER@}
    set ical(prefix)		{@prefix@}
    set ical(libparent)		{@prefix@/lib/ical}
    set ical(library)   	{@prefix@/lib/ical/v@ICAL_VERSION@}
    set ical(calendar)		[file dirname ~/junk]/.calendar
    set ical(startdate)		[date today]
    set ical(iconic)		0
    set ical(prefs)		{}
    set ical(geometry)		{}
    set ical(iconposition)	{}

    # Handle environment variables
    if [info exists env(ICAL_LIBRARY)] {set ical(library) $env(ICAL_LIBRARY)}
    if [info exists env(CALENDAR)]     {set ical(calendar) $env(CALENDAR)}

    # Auto-loading path
    global auto_path
    set auto_path [concat\
		   [list $ical(library) $ical(library)/tcllib]\
		   $auto_path]

    # Icon searching path
    global icon_path
    set icon_path {}

    # Check for correct Tcl version
    if {[info tclversion] < 7.4} {
	puts stderr "ical: Tcl version < 7.4 cannot be used with ical"
	exit 1
    }

    set have_tk [string compare [info commands tk] ""]
    support_init
    if $have_tk ical_tk_init
}

proc ical_tk_init {} {
    # Check Tk version
    global tk_version
    if [info exists tk_version] {
	if {$tk_version < 4.0} {
	    puts stderr "ical: Tk version < 4.0 cannot be used with ical"
	    exit 1
	}
    }

    # Handle geometry value already parsed by Tk
    global geometry ical
    if [info exists geometry] {set ical(geometry) $geometry}

    # Load Tk support code
    tk_support_init
}
