+void Slit::load() {
+ std::ostrstream rscreen, rname, rclass;
+ std::string s;
+ bool b;
+ rscreen << "session.screen" << screen.getScreenNumber() << '.' << ends;
+
+ rname << rscreen.str() << "slit.placement" << ends;
+ rclass << rscreen.str() << "Slit.Placement" << ends;
+ if (config.getValue(rname.str(), rclass.str(), s)) {
+ if (0 == strncasecmp(s.c_str(), "TopLeft", s.length()))
+ m_placement = TopLeft;
+ else if (0 == strncasecmp(s.c_str(), "CenterLeft", s.length()))
+ m_placement = CenterLeft;
+ else if (0 == strncasecmp(s.c_str(), "BottomLeft", s.length()))
+ m_placement = BottomLeft;
+ else if (0 == strncasecmp(s.c_str(), "TopCenter", s.length()))
+ m_placement = TopCenter;
+ else if (0 == strncasecmp(s.c_str(), "BottomCenter", s.length()))
+ m_placement = BottomCenter;
+ else if (0 == strncasecmp(s.c_str(), "TopRight", s.length()))
+ m_placement = TopRight;
+ else if (0 == strncasecmp(s.c_str(), "BottomRight", s.length()))
+ m_placement = BottomRight;
+ else if (0 == strncasecmp(s.c_str(), "CenterRight", s.length()))
+ m_placement = CenterRight;
+ } else
+ m_placement = CenterRight;
+
+ rname.seekp(0); rclass.seekp(0);
+ rname << rscreen.str() << "slit.direction" << ends;
+ rclass << rscreen.str() << "Slit.Direction" << ends;
+ if (config.getValue(rname.str(), rclass.str(), s)) {
+ if (0 == strncasecmp(s.c_str(), "Horizontal", s.length()))
+ m_direction = Horizontal;
+ else if (0 == strncasecmp(s.c_str(), "Vertical", s.length()))
+ m_direction = Vertical;
+ } else
+ m_direction = Vertical;
+
+ rname.seekp(0); rclass.seekp(0);
+ rname << rscreen.str() << "slit.onTop" << ends;
+ rclass << rscreen.str() << "Slit.OnTop" << ends;
+ if (config.getValue(rname.str(), rclass.str(), b))
+ m_ontop = b;
+ else
+ m_ontop = false;
+
+ rname.seekp(0); rclass.seekp(0);
+ rname << rscreen.str() << "slit.autoHide" << ends;
+ rclass << rscreen.str() << "Slit.AutoHide" << ends;
+ if (config.getValue(rname.str(), rclass.str(), b))
+ m_hidden = m_autohide = b;
+ else
+ m_hidden = m_autohide = false;
+
+ rscreen.rdbuf()->freeze(0);
+ rname.rdbuf()->freeze(0);
+ rclass.rdbuf()->freeze(0);
+}