modify some interface in pecker_window_context
delete the template class