From: Maxim Belkin (
Date: Fri Apr 04 2014 - 11:05:19 CDT


I implemented a similar feature for the plugin I work on and here is the corresponding part of the code. To restore a state, one can simply source a 'statefile' and proceed as required - which could be a more difficult step for ffTK.

    if {[catch {open $::BDTK::statefilename w} ch]} { return 0; }

    foreach v [lsort "[info vars ::BDTK::*] [info vars ::BDTK::gui::*]"] {
        if [array exists $v] {
            puts $ch [list array set $v [array get $v]]
        } else {
            puts $ch [list set $v [set $v]]
    close $ch


On Apr 4, 2014, at 10:40 AM, Mayne, Christopher G <> wrote:

> Jim,
> This seems like a reasonable request. I'll have to think about how to implement reading/writing of ffTK state files, but it should be possible. I'll put it on my TODO list of requested features.
> Regards,
> Christopher Mayne
> On Apr 4, 2014, at 9:26 AM, John Stone wrote:
>> Jim,
>> Yes, this is an appropriate forum for feature requests.
>> I think that Chris Mayne and JC Gumbart will likely give you some
>> feedback on this suggestion once they see it.
>> Cheers,
>> John Stone
>> On Fri, Apr 04, 2014 at 05:58:57AM -0500, Jim Parker wrote:
>>> Hello,
>>> I hope this an appropriate forum for feature requests...if not, I
>>> apologize for cluttering the mailing list.
>>> I have found ffTk to be very useful in my research, but since at different
>>> steps I have to stop and run Gaussian, and then other things happen in
>>> life (...) If VMD has been closed, I have to repopulate the ffTk screens.
>>> Not overly onerous, but...
>>> Since it appears that ffTK is logging my inputs, I'm naively assuming it
>>> would it be possible to add a feature that if a "load log" button is
>>> pressed, the ffTK screens could be repopulated with the last inputs.
>>> Maybe?
>>> Cheers,
>>> --Jim
>> --
>> NIH Center for Macromolecular Modeling and Bioinformatics
>> Beckman Institute for Advanced Science and Technology
>> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
>> Phone: 217-244-3349