diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-04-16 23:50:53 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-04-16 23:50:53 +0000 |
| commit | 73a3c979b39ae0b51298d16bc5e76b61d31c89d5 (patch) | |
| tree | bb9fc01c03957c308b2bd2878e910fe57940f7c8 /src/openbox.cc | |
| parent | fe9b1efde5e46c00679d0435601f915099a574b0 (diff) | |
Slit loads its own settings and saves them as they are changed
added an assert in Resource
Diffstat (limited to 'src/openbox.cc')
| -rw-r--r-- | src/openbox.cc | 76 |
1 files changed, 3 insertions, 73 deletions
diff --git a/src/openbox.cc b/src/openbox.cc index 64123521..3519c767 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -179,6 +179,7 @@ Openbox::Openbox(int m_argc, char **m_argv, char *dpy_name, char *rc) rc_file = bstrdup(rc); } config.setFile(rc_file); + config.load(); no_focus = False; @@ -209,7 +210,7 @@ Openbox::Openbox(int m_argc, char **m_argv, char *dpy_name, char *rc) screenList = new LinkedList<BScreen>; for (int i = 0; i < getNumberOfScreens(); i++) { - BScreen *screen = new BScreen(*this, i); + BScreen *screen = new BScreen(*this, i, config); if (! screen->isScreenManaged()) { delete screen; @@ -994,33 +995,6 @@ void Openbox::save_rc(void) { char rc_string[1024]; const int screen_number = screen->getScreenNumber(); - char *placement = (char *) 0; - - switch (screen->getSlitPlacement()) { - case Slit::TopLeft: placement = "TopLeft"; break; - case Slit::CenterLeft: placement = "CenterLeft"; break; - case Slit::BottomLeft: placement = "BottomLeft"; break; - case Slit::TopCenter: placement = "TopCenter"; break; - case Slit::BottomCenter: placement = "BottomCenter"; break; - case Slit::TopRight: placement = "TopRight"; break; - case Slit::BottomRight: placement = "BottomRight"; break; - case Slit::CenterRight: default: placement = "CenterRight"; break; - } - sprintf(rc_string, "session.screen%d.slit.placement", screen_number); - config.setValue(rc_string, placement); - - sprintf(rc_string, "session.screen%d.slit.direction", screen_number); - config.setValue(rc_string, - screen->getSlitDirection() == Slit::Horizontal ? - "Horizontal" : "Vertical"); - - sprintf(rc_string, "session.screen%d.slit.onTop", screen_number); - config.setValue(rc_string, screen->getSlit()->isOnTop() ? "True" : "False"); - - sprintf(rc_string, "session.screen%d.slit.autoHide", screen_number); - config.setValue(rc_string, screen->getSlit()->doAutoHide() ? - "True" : "False"); - config.setValue("session.opaqueMove", (screen->doOpaqueMove()) ? "True" : "False"); config.setValue("session.imageDither", @@ -1045,6 +1019,7 @@ void Openbox::save_rc(void) { screen->getColPlacementDirection() == BScreen::TopBottom ? "TopToBottom" : "BottomToTop"); + const char *placement; switch (screen->getPlacementPolicy()) { case BScreen::CascadePlacement: placement = "CascadePlacement"; break; case BScreen::BestFitPlacement: placement = "BestFitPlacement"; break; @@ -1388,51 +1363,6 @@ void Openbox::load_rc(BScreen *screen) { screen->savePlacementPolicy(BScreen::RowSmartPlacement); #ifdef SLIT - sprintf(name_lookup, "session.screen%d.slit.placement", screen_number); - sprintf(class_lookup, "Session.Screen%d.Slit.Placement", screen_number); - if (config.getValue(name_lookup, class_lookup, s)) { - if (0 == strncasecmp(s.c_str(), "TopLeft", s.length())) - screen->saveSlitPlacement(Slit::TopLeft); - else if (0 == strncasecmp(s.c_str(), "CenterLeft", s.length())) - screen->saveSlitPlacement(Slit::CenterLeft); - else if (0 == strncasecmp(s.c_str(), "BottomLeft", s.length())) - screen->saveSlitPlacement(Slit::BottomLeft); - else if (0 == strncasecmp(s.c_str(), "TopCenter", s.length())) - screen->saveSlitPlacement(Slit::TopCenter); - else if (0 == strncasecmp(s.c_str(), "BottomCenter", s.length())) - screen->saveSlitPlacement(Slit::BottomCenter); - else if (0 == strncasecmp(s.c_str(), "TopRight", s.length())) - screen->saveSlitPlacement(Slit::TopRight); - else if (0 == strncasecmp(s.c_str(), "BottomRight", s.length())) - screen->saveSlitPlacement(Slit::BottomRight); - else - screen->saveSlitPlacement(Slit::CenterRight); - } else - screen->saveSlitPlacement(Slit::CenterRight); - - sprintf(name_lookup, "session.screen%d.slit.direction", screen_number); - sprintf(class_lookup, "Session.Screen%d.Slit.Direction", screen_number); - if (config.getValue(name_lookup, class_lookup, s)) { - if (0 == strncasecmp(s.c_str(), "Horizontal", s.length())) - screen->saveSlitDirection(Slit::Horizontal); - else - screen->saveSlitDirection(Slit::Vertical); - } else - screen->saveSlitDirection(Slit::Vertical); - - sprintf(name_lookup, "session.screen%d.slit.onTop", screen_number); - sprintf(class_lookup, "Session.Screen%d.Slit.OnTop", screen_number); - if (config.getValue(name_lookup, class_lookup, b)) - screen->saveSlitOnTop((Bool)b); - else - screen->saveSlitOnTop(False); - - sprintf(name_lookup, "session.screen%d.slit.autoHide", screen_number); - sprintf(class_lookup, "Session.Screen%d.Slit.AutoHide", screen_number); - if (config.getValue(name_lookup, class_lookup, b)) - screen->saveSlitAutoHide((Bool)b); - else - screen->saveSlitAutoHide(False); #endif // SLIT #ifdef HAVE_STRFTIME |
