diff options
Diffstat (limited to 'src/main.cc')
-rw-r--r-- | src/main.cc | 161 |
1 files changed, 106 insertions, 55 deletions
diff --git a/src/main.cc b/src/main.cc index 28302d4..6c03c63 100644 --- a/src/main.cc +++ b/src/main.cc | |||
@@ -70,116 +70,142 @@ using std::exception; | |||
70 | 70 | ||
71 | static void showInfo(ostream &ostr) { | 71 | static void showInfo(ostream &ostr) { |
72 | _FB_USES_NLS; | 72 | _FB_USES_NLS; |
73 | ostr<<_FB_CONSOLETEXT(Common, FluxboxVersion, "Fluxbox version", "Fluxbox version heading")<<": "<<__fluxbox_version<<endl; | 73 | ostr << |
74 | _FB_CONSOLETEXT(Common, FluxboxVersion, "Fluxbox version", "Fluxbox version heading") | ||
75 | << ": " | ||
76 | << __fluxbox_version <<endl; | ||
74 | 77 | ||
75 | if (strlen(gitrevision()) > 0) | 78 | if (strlen(gitrevision()) > 0) |
76 | ostr << _FB_CONSOLETEXT(Common, SvnRevision, "GIT Revision", "Revision number in GIT repositary") << ": " << gitrevision() << endl; | 79 | ostr << _FB_CONSOLETEXT(Common, SvnRevision, "GIT Revision", "Revision number in GIT repositary") |
80 | << ": " | ||
81 | << gitrevision() << endl; | ||
77 | #if defined(__DATE__) && defined(__TIME__) | 82 | #if defined(__DATE__) && defined(__TIME__) |
78 | ostr<<_FB_CONSOLETEXT(Common, Compiled, "Compiled", "Time fluxbox was compiled")<<": "<<__DATE__<<" "<<__TIME__<<endl; | 83 | ostr << _FB_CONSOLETEXT(Common, Compiled, "Compiled", "Time fluxbox was compiled") |
84 | << ": " | ||
85 | << __DATE__ | ||
86 | << " " | ||
87 | << __TIME__ << endl; | ||
79 | #endif | 88 | #endif |
80 | #ifdef __fluxbox_compiler | 89 | #ifdef __fluxbox_compiler |
81 | ostr<<_FB_CONSOLETEXT(Common, Compiler, "Compiler", "Compiler used to build fluxbox")<<": "<<__fluxbox_compiler<<endl; | 90 | ostr << _FB_CONSOLETEXT(Common, Compiler, "Compiler", "Compiler used to build fluxbox") |
91 | << ": " | ||
92 | << __fluxbox_compiler << endl; | ||
82 | #endif // __fluxbox_compiler | 93 | #endif // __fluxbox_compiler |
83 | #ifdef __fluxbox_compiler_version | 94 | #ifdef __fluxbox_compiler_version |
84 | ostr<<_FB_CONSOLETEXT(Common, CompilerVersion, "Compiler version", "Compiler version used to build fluxbox")<<": "<<__fluxbox_compiler_version<<endl; | 95 | ostr << _FB_CONSOLETEXT(Common, CompilerVersion, "Compiler version", "Compiler version used to build fluxbox") |
96 | << ": " | ||
97 | << __fluxbox_compiler_version << endl; | ||
85 | #endif // __fluxbox_compiler_version | 98 | #endif // __fluxbox_compiler_version |
86 | 99 | ||
87 | ostr<<endl<<_FB_CONSOLETEXT(Common, Defaults, "Defaults", "Default values compiled in")<<":"<<endl; | 100 | ostr << endl |
101 | <<_FB_CONSOLETEXT(Common, Defaults, "Defaults", "Default values compiled in") | ||
102 | << ": " << endl; | ||
88 | 103 | ||
89 | ostr<<_FB_CONSOLETEXT(Common, DefaultMenuFile, " menu", "default menu file (right aligned - make sure same width as other default values)")<<": "<<DEFAULTMENU<<endl; | 104 | ostr <<_FB_CONSOLETEXT(Common, DefaultMenuFile, " menu", "default menu file (right aligned - make sure same width as other default values)") |
90 | ostr<<_FB_CONSOLETEXT(Common, DefaultStyle, " style", "default style (right aligned - make sure same width as other default values)")<<": "<<DEFAULTSTYLE<<endl; | 105 | << ": " |
106 | << DEFAULTMENU << endl; | ||
107 | ostr << _FB_CONSOLETEXT(Common, DefaultStyle, " style", "default style (right aligned - make sure same width as other default values)") | ||
108 | << ": " | ||
109 | << DEFAULTSTYLE << endl; | ||
91 | 110 | ||
92 | ostr<<_FB_CONSOLETEXT(Common, DefaultKeyFile, " keys", "default key file (right aligned - make sure same width as other default values)")<<": "<<DEFAULTKEYSFILE<<endl; | 111 | ostr << _FB_CONSOLETEXT(Common, DefaultKeyFile, " keys", "default key file (right aligned - make sure same width as other default values)") |
93 | ostr<<_FB_CONSOLETEXT(Common, DefaultInitFile, " init", "default init file (right aligned - make sure same width as other default values)")<<": "<<DEFAULT_INITFILE<<endl; | 112 | << ": " |
113 | << DEFAULTKEYSFILE << endl; | ||
114 | ostr << _FB_CONSOLETEXT(Common, DefaultInitFile, " init", "default init file (right aligned - make sure same width as other default values)") | ||
115 | << ": " | ||
116 | << DEFAULT_INITFILE << endl; | ||
94 | 117 | ||
95 | #ifdef NLS | 118 | #ifdef NLS |
96 | ostr<<_FB_CONSOLETEXT(Common, DefaultLocalePath, " nls", "location for localization files (right aligned - make sure same width as other default values)")<<": "<<LOCALEPATH<<endl; | 119 | ostr << _FB_CONSOLETEXT(Common, DefaultLocalePath, " nls", "location for localization files (right aligned - make sure same width as other default values)") |
120 | << ": " | ||
121 | << LOCALEPATH << endl; | ||
97 | #endif | 122 | #endif |
98 | 123 | ||
99 | const char NOT[] = "-"; | 124 | const char NOT[] = "-"; |
100 | ostr<<endl<< | 125 | ostr << endl |
101 | _FB_CONSOLETEXT(Common, CompiledOptions, "Compiled options", "Options used when compiled") | 126 | << _FB_CONSOLETEXT(Common, CompiledOptions, "Compiled options", "Options used when compiled") |
102 | <<" ("<<NOT<<" => "<< | 127 | << " (" << NOT << " => " |
103 | _FB_CONSOLETEXT(Common, Disabled, "disabled", "option is turned off")<<"): "<<endl<< | 128 | << _FB_CONSOLETEXT(Common, Disabled, "disabled", "option is turned off") << "): " << endl |
129 | << | ||
104 | 130 | ||
105 | /**** NOTE: This list is in alphabetical order! ****/ | 131 | /**** NOTE: This list is in alphabetical order! ****/ |
106 | 132 | ||
107 | #ifndef HAVE_FRIBIDI | 133 | #ifndef HAVE_FRIBIDI |
108 | NOT<< | 134 | NOT << |
109 | #endif | 135 | #endif |
110 | "BIDI"<<endl<< | 136 | "BIDI" << endl << |
111 | 137 | ||
112 | #ifndef DEBUG | 138 | #ifndef DEBUG |
113 | NOT<< | 139 | NOT << |
114 | #endif // DEBUG | 140 | #endif // DEBUG |
115 | "DEBUG"<<endl<< | 141 | "DEBUG" << endl << |
116 | 142 | ||
117 | #ifndef USE_NEWWMSPEC | 143 | #ifndef USE_NEWWMSPEC |
118 | NOT<< | 144 | NOT << |
119 | #endif // USE_NEWWMSPEC | 145 | #endif // USE_NEWWMSPEC |
120 | "EWMH"<<endl<< | 146 | "EWMH" << endl << |
121 | 147 | ||
122 | #ifndef USE_GNOME | 148 | #ifndef USE_GNOME |
123 | NOT<< | 149 | NOT << |
124 | #endif // USE_GNOME | 150 | #endif // USE_GNOME |
125 | "GNOME"<<endl<< | 151 | "GNOME" << endl << |
126 | 152 | ||
127 | #ifndef HAVE_IMLIB2 | 153 | #ifndef HAVE_IMLIB2 |
128 | NOT<< | 154 | NOT<< |
129 | #endif // HAVE_IMLIB2 | 155 | #endif // HAVE_IMLIB2 |
130 | "IMLIB2"<<endl<< | 156 | "IMLIB2" << endl << |
131 | 157 | ||
132 | #ifndef NLS | 158 | #ifndef NLS |
133 | NOT<< | 159 | NOT<< |
134 | #endif // NLS | 160 | #endif // NLS |
135 | "NLS"<<endl<< | 161 | "NLS" << endl << |
136 | 162 | ||
137 | #ifndef REMEMBER | 163 | #ifndef REMEMBER |
138 | NOT<< | 164 | NOT << |
139 | #endif // REMEMBER | 165 | #endif // REMEMBER |
140 | "REMEMBER"<<endl<< | 166 | "REMEMBER" << endl << |
141 | 167 | ||
142 | #ifndef HAVE_XRENDER | 168 | #ifndef HAVE_XRENDER |
143 | NOT<< | 169 | NOT << |
144 | #endif // HAVE_XRENDER | 170 | #endif // HAVE_XRENDER |
145 | "RENDER"<<endl<< | 171 | "RENDER" << endl << |
146 | 172 | ||
147 | #ifndef SHAPE | 173 | #ifndef SHAPE |
148 | NOT<< | 174 | NOT << |
149 | #endif // SHAPE | 175 | #endif // SHAPE |
150 | "SHAPE"<<endl<< | 176 | "SHAPE" << endl << |
151 | 177 | ||
152 | #ifndef SLIT | 178 | #ifndef SLIT |
153 | NOT<< | 179 | NOT << |
154 | #endif // SLIT | 180 | #endif // SLIT |
155 | "SLIT"<<endl<< | 181 | "SLIT" << endl << |
156 | 182 | ||
157 | #ifndef USE_TOOLBAR | 183 | #ifndef USE_TOOLBAR |
158 | NOT<< | 184 | NOT << |
159 | #endif // USE_TOOLBAR | 185 | #endif // USE_TOOLBAR |
160 | "TOOLBAR"<<endl<< | 186 | "TOOLBAR" << endl << |
161 | 187 | ||
162 | #ifndef USE_XFT | 188 | #ifndef USE_XFT |
163 | NOT<< | 189 | NOT << |
164 | #endif // USE_XFT | 190 | #endif // USE_XFT |
165 | "XFT"<<endl<< | 191 | "XFT" << endl << |
166 | 192 | ||
167 | #ifndef XINERAMA | 193 | #ifndef XINERAMA |
168 | NOT<< | 194 | NOT << |
169 | #endif // XINERAMA | 195 | #endif // XINERAMA |
170 | "XINERAMA"<<endl<< | 196 | "XINERAMA" << endl << |
171 | 197 | ||
172 | #ifndef USE_XMB | 198 | #ifndef USE_XMB |
173 | NOT<< | 199 | NOT << |
174 | #endif // USE_XMB | 200 | #endif // USE_XMB |
175 | "XMB"<<endl<< | 201 | "XMB" << endl << |
176 | 202 | ||
177 | #ifndef HAVE_XPM | 203 | #ifndef HAVE_XPM |
178 | NOT<< | 204 | NOT << |
179 | #endif // HAVE_XPM | 205 | #endif // HAVE_XPM |
180 | "XPM"<<endl<< | 206 | "XPM" << endl |
181 | 207 | ||
182 | endl; | 208 | << endl; |
183 | } | 209 | } |
184 | 210 | ||
185 | struct Options { | 211 | struct Options { |
@@ -294,11 +320,17 @@ int main(int argc, char **argv) { | |||
294 | 320 | ||
295 | // setup log file | 321 | // setup log file |
296 | if (log_file.is_open()) { | 322 | if (log_file.is_open()) { |
297 | cerr<<_FB_CONSOLETEXT(main, LoggingTo, "Logging to", "Logging to a file")<<": "<<opts.log_filename<<endl; | 323 | cerr << _FB_CONSOLETEXT(main, LoggingTo, "Logging to", "Logging to a file") |
298 | log_file<<"------------------------------------------"<<endl; | 324 | << ": " |
299 | log_file<<_FB_CONSOLETEXT(main, LogFile, "Log File", "")<<": "<<opts.log_filename<<endl; | 325 | << opts.log_filename << endl; |
326 | |||
327 | log_file <<"------------------------------------------" << endl; | ||
328 | log_file << _FB_CONSOLETEXT(main, LogFile, "Log File", "") | ||
329 | << ": " | ||
330 | << opts.log_filename <<endl; | ||
331 | |||
300 | showInfo(log_file); | 332 | showInfo(log_file); |
301 | log_file<<"------------------------------------------"<<endl; | 333 | log_file << "------------------------------------------" << endl; |
302 | // setup log to use cout and cerr stream | 334 | // setup log to use cout and cerr stream |
303 | outbuf = cout.rdbuf(log_file.rdbuf()); | 335 | outbuf = cout.rdbuf(log_file.rdbuf()); |
304 | errbuf = cerr.rdbuf(log_file.rdbuf()); | 336 | errbuf = cerr.rdbuf(log_file.rdbuf()); |
@@ -317,19 +349,38 @@ int main(int argc, char **argv) { | |||
317 | exitcode = EXIT_SUCCESS; | 349 | exitcode = EXIT_SUCCESS; |
318 | 350 | ||
319 | } catch (out_of_range &oor) { | 351 | } catch (out_of_range &oor) { |
320 | cerr<<"Fluxbox: "<<_FB_CONSOLETEXT(main, ErrorOutOfRange, "Out of range", "Error message")<<": "<<oor.what()<<endl; | 352 | cerr <<"Fluxbox: " |
353 | << _FB_CONSOLETEXT(main, ErrorOutOfRange, "Out of range", "Error message") | ||
354 | << ": " | ||
355 | << oor.what() << endl; | ||
321 | } catch (runtime_error &re) { | 356 | } catch (runtime_error &re) { |
322 | cerr<<"Fluxbox: "<<_FB_CONSOLETEXT(main, ErrorRuntime, "Runtime error", "Error message")<<": "<<re.what()<<endl; | 357 | cerr << "Fluxbox: " |
358 | << _FB_CONSOLETEXT(main, ErrorRuntime, "Runtime error", "Error message") | ||
359 | << ": " | ||
360 | << re.what() << endl; | ||
323 | } catch (bad_cast &bc) { | 361 | } catch (bad_cast &bc) { |
324 | cerr<<"Fluxbox: "<<_FB_CONSOLETEXT(main, ErrorBadCast, "Bad cast", "Error message")<<": "<<bc.what()<<endl; | 362 | cerr << "Fluxbox: " |
363 | << _FB_CONSOLETEXT(main, ErrorBadCast, "Bad cast", "Error message") | ||
364 | << ": " | ||
365 | << bc.what() << endl; | ||
325 | } catch (bad_alloc &ba) { | 366 | } catch (bad_alloc &ba) { |
326 | cerr<<"Fluxbox: "<<_FB_CONSOLETEXT(main, ErrorBadAlloc, "Bad Alloc", "Error message")<<": "<<ba.what()<<endl; | 367 | cerr << "Fluxbox: " |
368 | << _FB_CONSOLETEXT(main, ErrorBadAlloc, "Bad Alloc", "Error message") | ||
369 | << ": " | ||
370 | << ba.what() << endl; | ||
327 | } catch (exception &e) { | 371 | } catch (exception &e) { |
328 | cerr<<"Fluxbox: "<<_FB_CONSOLETEXT(main, ErrorStandardException, "Standard Exception", "Error message")<<": "<<e.what()<<endl; | 372 | cerr << "Fluxbox: " |
373 | << _FB_CONSOLETEXT(main, ErrorStandardException, "Standard Exception", "Error message") | ||
374 | << ": " | ||
375 | << e.what() << endl; | ||
329 | } catch (string error_str) { | 376 | } catch (string error_str) { |
330 | cerr<<_FB_CONSOLETEXT(Common, Error, "Error", "Error message header")<<": "<<error_str<<endl; | 377 | cerr << _FB_CONSOLETEXT(Common, Error, "Error", "Error message header") |
378 | << ": " | ||
379 | << error_str << endl; | ||
331 | } catch (...) { | 380 | } catch (...) { |
332 | cerr<<"Fluxbox: "<<_FB_CONSOLETEXT(main, ErrorUnknown, "Unknown error", "Error message")<<"."<<endl; | 381 | cerr << "Fluxbox: " |
382 | << _FB_CONSOLETEXT(main, ErrorUnknown, "Unknown error", "Error message") | ||
383 | << "." << endl; | ||
333 | abort(); | 384 | abort(); |
334 | } | 385 | } |
335 | 386 | ||