2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 Matthias Ettrich
8 * Copyright 1995-2000 The LyX Team.
10 * ====================================================== */
21 #include "ToolbarDefaults.h"
22 #include "bufferparams.h"
24 /// This contains the runtime configuration of LyX
31 int read (string const & filename);
33 void write(string const & filename) const;
37 void output(std::ostream & os) const;
38 /// Is a bind file already (or currently) read?
41 int ReadBindFile(string const & name = "cua");
43 ToolbarDefaults toolbardefaults;
49 string print_evenpage_flag;
51 string print_oddpage_flag;
53 string print_pagerange_flag;
55 string print_copies_flag;
57 string print_collcopies_flag;
59 string print_reverse_flag;
61 string print_landscape_flag;
63 string print_to_printer;
65 bool print_adapt_output;
69 string print_file_extension;
71 string print_extra_options;
73 string print_spool_command;
75 string print_spool_printerprefix;
77 string print_paper_flag;
79 string print_paper_dimension_flag;
81 string custom_export_command;
83 string custom_export_format;
86 /// program for running latex
89 string pdflatex_command;
91 string pdf_to_ps_command;
93 string dvi_to_ps_command;
94 /// program for performing literate programming
95 string literate_command;
96 string literate_extension;
97 string literate_error_filter;
98 /// program for compiling
100 string build_error_filter;
101 /// program for running relyx
102 string relyx_command;
103 /// postscript interpreter (in general "gs", if it is installed)
105 /// program for viewing postscript output (default "ghostview -swap")
106 string view_ps_command;
107 /// program for viewing postscript pictures (default "ghostview")
108 string view_pspic_command;
109 /// program for viewing dvi output (default "xdvi")
110 string view_dvi_command;
111 /// option for telling the dvi viewer about the paper size
112 string view_dvi_paper_option;
113 /// program for viewing pdf output (default "xpdf")
114 string view_pdf_command;
115 /// default paper size for local xdvi/dvips/ghostview/whatever
116 BufferParams::PAPER_SIZE default_papersize;
117 /// command to run chktex incl. options
118 string chktex_command;
119 /// command to run an html converter incl. options
122 string document_path;
124 string template_path;
130 bool auto_region_delete;
131 /// flag telling whether lastfiles should be checked for existance
132 bool check_lastfiles;
133 /// filename for lastfiles file
135 /// maximal number of lastfiles
136 unsigned int num_lastfiles;
137 /// shall a backup file be created
139 /// A directory for storing backup files
140 string backupdir_path;
141 /// Zoom factor for screen fonts
143 /// Screen font sizes in points for each font size
144 float font_sizes[10];
145 /// Allow the use of scalable fonts? Default is yes.
146 bool use_scalable_fonts;
152 string roman_font_name;
154 string sans_font_name;
156 string typewriter_font_name;
158 string menu_font_name;
160 string popup_font_name;
164 string font_norm_menu;
166 unsigned int autosave;
174 string ascii_roff_command;
176 unsigned int ascii_linelen;
179 /// Accept compound words in spellchecker?
180 bool isp_accept_compound;
181 /// Pass input encoding switch to ispell?
182 bool isp_use_input_encoding;
183 /// Use alternate language?
184 bool isp_use_alt_lang;
185 /// Use personal dictionary?
186 bool isp_use_pers_dict;
187 /// Use escape chars?
188 bool isp_use_esc_chars;
189 /// Alternate language for ispell
191 /// Alternate personal dictionary file for ispell
192 string isp_pers_dict;
193 /// Escape characters
194 string isp_esc_chars;
197 /// Ask for confirmation of exit when there are unsaved documents?
198 bool exit_confirmation;
199 /// Should we display short-cut information in the minibuffer?
200 bool display_shortcuts;
202 string primary_kbmap;
204 string secondary_kbmap;
208 string date_insert_format;
210 string language_package;
212 bool language_auto_begin;
214 bool language_auto_end;
216 string language_command_begin;
218 string language_command_end;
225 /// Do we have to use a GUI?
228 string linuxdoc_to_lyx_command;
230 string linuxdoc_to_html_command;
232 string linuxdoc_to_latex_command;
234 string docbook_to_dvi_command;
236 string docbook_to_html_command;
238 string docbook_to_pdf_command;
240 typedef std::map<string, int> Bindings;
245 void defaultKeyBindings();