summaryrefslogtreecommitdiff
path: root/src/Screen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Screen.cc')
-rw-r--r--src/Screen.cc24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 73631fbf..60ae159e 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -104,6 +104,7 @@
#include <strstream>
#include <string>
#include <algorithm>
+#include <functional>
using namespace std;
static Bool running = True;
@@ -1155,6 +1156,11 @@ void BScreen::save() {
setClock24Hour(resource.clock24hour);
#endif // HAVE_STRFTIME
setHideToolbar(resource.hide_toolbar);
+
+ toolbar->save();
+#ifdef SLIT
+ slit->save();
+#endif // SLIT
}
@@ -1541,14 +1547,12 @@ void BScreen::reconfigure(void) {
slit->reconfigure();
#endif // SLIT
- wkspList::iterator wit;
- for (wit = workspacesList.begin(); wit != workspacesList.end(); ++wit)
- (*wit)->reconfigure();
+ std::for_each(workspacesList.begin(), workspacesList.end(),
+ std::mem_fun(&Workspace::reconfigure));
- winList::iterator iit;
- for (iit = iconList.begin(); iit != iconList.end(); ++iit)
- if ((*iit)->validateClient())
- (*iit)->reconfigure();
+ for (winList::iterator it = iconList.begin(); it != iconList.end(); ++it)
+ if ((*it)->validateClient())
+ (*it)->reconfigure();
image_control->timeout();
}
@@ -2055,6 +2059,7 @@ void BScreen::updateNetizenWindowFocus(void) {
(*it)->sendWindowFocus(f);
}
+
void BScreen::updateNetizenWindowAdd(Window w, unsigned long p) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
@@ -2737,9 +2742,8 @@ void BScreen::shutdown(void) {
XSelectInput(getBaseDisplay().getXDisplay(), getRootWindow(), NoEventMask);
XSync(getBaseDisplay().getXDisplay(), False);
- wkspList::iterator it;
- for (it = workspacesList.begin(); it != workspacesList.end(); ++it)
- (*it)->shutdown();
+ std::for_each(workspacesList.begin(), workspacesList.end(),
+ std::mem_fun(&Workspace::shutdown));
while (!iconList.empty())
iconList.front()->restore();