+ usleep (i);
+ if (nsm->is_active())
+ break;
+ }
+ // wait for open command from nsm server
+ for ( i = 0; i < 5000; ++i) {
+ nsm->check ();
+ usleep (1000);
+ if (nsm->client_id ())
+ break;
+ }
+
+ if (_session && nsm) {
+ _session->set_nsm_state( nsm->is_active() );
+ }
+
+ // nsm requires these actions disabled
+ vector<string> action_names;
+ action_names.push_back("SaveAs");
+ action_names.push_back("Rename");
+ action_names.push_back("New");
+ action_names.push_back("Open");
+ action_names.push_back("Recent");
+ action_names.push_back("Close");
+
+ for (vector<string>::const_iterator n = action_names.begin(); n != action_names.end(); ++n) {
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Main"), (*n).c_str());
+ if (act) {
+ act->set_sensitive (false);
+ }
+ }