X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2FSlit.cc;h=66cdc583809a5eaf5c14af1e35d92a7efbd250f0;hb=ae093dba2fb97124bb4af3eaf4070b46f07dfd74;hp=0da4b11dec03dba86992d123560391c5e7952003;hpb=b7d0a77d16e034097a15fb7a7175e0882f6dd429;p=chaz%2Fopenbox diff --git a/src/Slit.cc b/src/Slit.cc index 0da4b11d..66cdc583 100644 --- a/src/Slit.cc +++ b/src/Slit.cc @@ -41,11 +41,12 @@ #include "Slit.h" #include "Toolbar.h" -#include #include +#include +using std::ends; -Slit::Slit(BScreen &scr, Resource &conf) : screen(scr), - openbox(scr.getOpenbox()), config(conf) +Slit::Slit(BScreen &scr, Resource &conf) : openbox(scr.getOpenbox()), + screen(scr), config(conf) { load(); @@ -53,7 +54,7 @@ Slit::Slit(BScreen &scr, Resource &conf) : screen(scr), frame.window = frame.pixmap = None; timer = new BTimer(openbox, *this); - timer->setTimeout(openbox.getAutoRaiseDelay()); + // the time out is set in ::reconfigure() timer->fireOnce(True); slitmenu = new Slitmenu(*this); @@ -104,7 +105,6 @@ Slit::~Slit() { void Slit::addClient(Window w) { - cout << "ADDCLIENT\n"; openbox.grab(); if (openbox.validateWindow(w)) { @@ -157,7 +157,6 @@ void Slit::addClient(Window w) { XFlush(display); clientList.push_back(client); - cout << "SLIT COUNT " << clientList.size() << endl; openbox.saveSlitSearch(client->client_window, this); openbox.saveSlitSearch(client->icon_window, this); @@ -230,8 +229,8 @@ void Slit::setAutoHide(bool b) { void Slit::setPlacement(int p) { m_placement = p; std::ostrstream s; - s << "session.screen" << screen.getScreenNumber() << ".slit.placement" << - ends; + s << "session.screen" << screen.getScreenNumber() << ".slit.placement" + << ends; const char *placement; switch (m_placement) { case TopLeft: placement = "TopLeft"; break; @@ -250,8 +249,8 @@ void Slit::setPlacement(int p) { void Slit::setDirection(int d) { m_direction = d; std::ostrstream s; - s << "session.screen" << screen.getScreenNumber() << ".slit.direction" << - ends; + s << "session.screen" << screen.getScreenNumber() << ".slit.direction" + << ends; config.setValue(s.str(), m_direction == Horizontal ? "Horizontal" : "Vertical"); s.rdbuf()->freeze(0); @@ -293,6 +292,7 @@ void Slit::load() { m_placement = CenterRight; rname.seekp(0); rclass.seekp(0); + rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0); rname << rscreen.str() << "slit.direction" << ends; rclass << rscreen.str() << "Slit.Direction" << ends; if (config.getValue(rname.str(), rclass.str(), s)) { @@ -304,6 +304,7 @@ void Slit::load() { m_direction = Vertical; rname.seekp(0); rclass.seekp(0); + rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0); rname << rscreen.str() << "slit.onTop" << ends; rclass << rscreen.str() << "Slit.OnTop" << ends; if (config.getValue(rname.str(), rclass.str(), b)) @@ -312,6 +313,7 @@ void Slit::load() { m_ontop = false; rname.seekp(0); rclass.seekp(0); + rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0); rname << rscreen.str() << "slit.autoHide" << ends; rclass << rscreen.str() << "Slit.AutoHide" << ends; if (config.getValue(rname.str(), rclass.str(), b)) @@ -320,11 +322,12 @@ void Slit::load() { m_hidden = m_autohide = false; rscreen.rdbuf()->freeze(0); - rname.rdbuf()->freeze(0); - rclass.rdbuf()->freeze(0); + rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0); } void Slit::reconfigure(void) { + timer->setTimeout(openbox.getAutoRaiseDelay()); + frame.area.setSize(0, 0); slitClientList::const_iterator it; @@ -369,7 +372,6 @@ void Slit::reconfigure(void) { break; } - cout << "SLIT SIZE " << frame.area.w() << "," << frame.area.h() << endl; reposition(); @@ -800,6 +802,7 @@ void Slitmenu::Directionmenu::setValues() { void Slitmenu::Directionmenu::reconfigure() { setValues(); + Basemenu::reconfigure(); }