diff options
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r-- | src/fluxbox.cc | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index ec8537c..ae27828 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -522,16 +522,15 @@ void Fluxbox::ungrab() { | |||
522 | void Fluxbox::setupConfigFiles() { | 522 | void Fluxbox::setupConfigFiles() { |
523 | 523 | ||
524 | bool create_init = false, create_keys = false, create_menu = false, | 524 | bool create_init = false, create_keys = false, create_menu = false, |
525 | create_apps = false, create_overlay = false; | 525 | create_apps = false, create_overlay = false, create_windowmenu = false; |
526 | 526 | ||
527 | string dirname = getenv("HOME") + string("/.") + m_RC_PATH + "/"; | 527 | string dirname = getDefaultDataFilename(""); |
528 | string init_file, keys_file, menu_file, slitlist_file, apps_file, | 528 | string init_file = getDefaultDataFilename(m_RC_INIT_FILE); |
529 | overlay_file; | 529 | string keys_file = getDefaultDataFilename("keys"); |
530 | init_file = dirname + m_RC_INIT_FILE; | 530 | string menu_file = getDefaultDataFilename("menu"); |
531 | keys_file = dirname + "keys"; | 531 | string apps_file = getDefaultDataFilename("apps"); |
532 | menu_file = dirname + "menu"; | 532 | string overlay_file = getDefaultDataFilename("overlay"); |
533 | apps_file = dirname + "apps"; | 533 | string windowmenu_file = getDefaultDataFilename("windowmenu"); |
534 | overlay_file = dirname + "overlay"; | ||
535 | 534 | ||
536 | struct stat buf; | 535 | struct stat buf; |
537 | 536 | ||
@@ -549,6 +548,8 @@ void Fluxbox::setupConfigFiles() { | |||
549 | create_apps = true; | 548 | create_apps = true; |
550 | if (stat(overlay_file.c_str(), &buf)) | 549 | if (stat(overlay_file.c_str(), &buf)) |
551 | create_overlay = true; | 550 | create_overlay = true; |
551 | if (stat(windowmenu_file.c_str(), &buf)) | ||
552 | create_windowmenu = true; | ||
552 | 553 | ||
553 | } else { | 554 | } else { |
554 | #ifdef DEBUG | 555 | #ifdef DEBUG |
@@ -590,6 +591,9 @@ void Fluxbox::setupConfigFiles() { | |||
590 | if (create_init) | 591 | if (create_init) |
591 | FbTk::FileUtil::copyFile(DEFAULT_INITFILE, init_file.c_str()); | 592 | FbTk::FileUtil::copyFile(DEFAULT_INITFILE, init_file.c_str()); |
592 | 593 | ||
594 | if (create_windowmenu) | ||
595 | FbTk::FileUtil::copyFile(DEFAULT_WINDOWMENU, windowmenu_file.c_str()); | ||
596 | |||
593 | #define CONFIG_VERSION 8 | 597 | #define CONFIG_VERSION 8 |
594 | FbTk::Resource<int> config_version(m_resourcemanager, 0, | 598 | FbTk::Resource<int> config_version(m_resourcemanager, 0, |
595 | "session.configVersion", "Session.ConfigVersion"); | 599 | "session.configVersion", "Session.ConfigVersion"); |
@@ -1319,18 +1323,14 @@ void Fluxbox::save_rc() { | |||
1319 | 1323 | ||
1320 | /// @return filename of resource file | 1324 | /// @return filename of resource file |
1321 | string Fluxbox::getRcFilename() { | 1325 | string Fluxbox::getRcFilename() { |
1322 | 1326 | if (m_rc_file.empty()) | |
1323 | if (m_rc_file.empty()) { // set default filename | 1327 | return getDefaultDataFilename(m_RC_INIT_FILE); |
1324 | string defaultfile(getenv("HOME") + string("/.") + m_RC_PATH + string("/") + m_RC_INIT_FILE); | ||
1325 | return defaultfile; | ||
1326 | } | ||
1327 | |||
1328 | return m_rc_file; | 1328 | return m_rc_file; |
1329 | } | 1329 | } |
1330 | 1330 | ||
1331 | /// Provides default filename of data file | 1331 | /// Provides default filename of data file |
1332 | void Fluxbox::getDefaultDataFilename(const char *name, string &filename) const { | 1332 | string Fluxbox::getDefaultDataFilename(const char *name) const { |
1333 | filename = string(getenv("HOME") + string("/.") + m_RC_PATH + string("/") + name); | 1333 | return (getenv("HOME") + string("/.") + m_RC_PATH + string("/") + name); |
1334 | } | 1334 | } |
1335 | 1335 | ||
1336 | /// loads resources | 1336 | /// loads resources |
@@ -1359,8 +1359,7 @@ void Fluxbox::load_rc() { | |||
1359 | if (!m_rc_slitlistfile->empty()) { | 1359 | if (!m_rc_slitlistfile->empty()) { |
1360 | *m_rc_slitlistfile = StringUtil::expandFilename(*m_rc_slitlistfile); | 1360 | *m_rc_slitlistfile = StringUtil::expandFilename(*m_rc_slitlistfile); |
1361 | } else { | 1361 | } else { |
1362 | string filename; | 1362 | string filename = getDefaultDataFilename("slitlist"); |
1363 | getDefaultDataFilename("slitlist", filename); | ||
1364 | m_rc_slitlistfile.setFromString(filename.c_str()); | 1363 | m_rc_slitlistfile.setFromString(filename.c_str()); |
1365 | } | 1364 | } |
1366 | 1365 | ||