This is the code for LFUN_CITATION_CREATE as I have it in my tree: case LFUN_CITATION_CREATE: { InsetCommandParams p("cite");
if (!argument.empty()) { // This should be set at source, ie when typing // "citation-insert foo" in the minibuffer. // Question: would pybibliographer also need to be // changed. Suspect so. Leave as-is therefore. if (contains(argument, "|")) { p.setContents(token(argument, '|', 0)); p.setOptions(token(argument, '|', 1)); } else { p.setContents(argument); } dispatch(FuncRequest(view(), LFUN_CITATION_INSERT, p.getAsString())); } else { string data = InsetCommandMailer::params2string(p); owner->getDialogs().show("citation", data, 0); } } break; I think that it should become something like: case LFUN_CITATION_SHOW: { InsetCommandParams p("cite"); string data = InsetCommandMailer::params2string(p); owner->getDialogs().show("citation", data, 0); } break; (Maybe eventually LFUN_DIALOG_SHOW "citation"). This clearly removes the ability to fill a citation inset entirely from the minibuffer. It does not preclude the insertion of new citations by the lyxserver because we now have the more sophisticated LFUN_CITATION_APPLY that I showed you last night. Questions: 1. Should I move the 'hack', above into ControlMiniBuffer so that it can create a citation inset and then call LFUN_CITATION_APPLY. 2. Alternatively, should I just remove the 'hack'? 3. Should I leave things as they are? -- Angus