I think I should mention that this code
$tableview->selectRow_byExtendingSelection($rows_ckpath-1, 0); $self->{'Window'}->display();
is located in numberOfRowsInTableView, but is only executed the first time the data source is called after the path has changed:
# numberOfRowsInTableView - return number of rows # sub numberOfRowsInTableView { my ($self, $tableview) = @_; my ($default); $default = ''; $default = '/var/tmp/foo'; # DEBUG unless (defined($curr_path)) { $curr_path = $default; $self->{'PathName'}->setStringValue($default); } if (! defined($last_path{'Access'}) or $curr_path ne $last_path{'Access'}) { $r_ckpath = ckpath($curr_path); $rows_ckpath = @$r_ckpath; $last_path{'Access'} = $curr_path; $tableview->selectRow_byExtendingSelection($rows_ckpath-1, 0); $self->{'Window'}->display(); } return($rows_ckpath); } -- email: [EMAIL PROTECTED]; phone: +1 650-873-7841 http://www.cfcl.com/rdm - my home page, resume, etc. http://www.cfcl.com/Meta - The FreeBSD Browser, Meta Project, etc. http://www.ptf.com/dossier - Prime Time Freeware's DOSSIER series http://www.ptf.com/tdc - Prime Time Freeware's Darwin Collection