# include <stdio.h>
#endif // HAVE_STDIO_H
-#ifdef STDC_HEADERS
+#ifdef HAVE_STDLIB_H
# include <stdlib.h>
+#endif // HAVE_STDLIB_H
+
+#ifdef HAVE_STRING_H
# include <string.h>
-#endif // STDC_HEADERS
+#endif // HAVE_STRING_H
#ifdef HAVE_UNISTD_H
# include <sys/types.h>
menuTimestamps = new LinkedList<MenuTimestamp>;
- load_rc();
+ load();
#ifdef HAVE_GETPID
openbox_pid = XInternAtom(getXDisplay(), "_BLACKBOX_PID", False);
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;
::exit(3);
}
+ // save current settings and default values
+ save();
+
XSynchronize(getXDisplay(), False);
XSync(getXDisplay(), False);
}
-Openbox::~Openbox(void) {
+Openbox::~Openbox() {
while (screenList->count())
delete screenList->remove(0);
if (resource.style_file)
delete [] resource.style_file;
+ if (resource.titlebar_layout)
+ delete [] resource.titlebar_layout;
+
delete timer;
delete screenList;
screen->getRootmenu()->show();
}
} else if (e->xbutton.button == 4) {
- if ((screen->getCurrentWorkspaceID()-1)<0)
- screen->changeWorkspaceID(screen->getWorkspaceCount()-1);
+ if ((screen->getCurrentWorkspaceID() + 1) >
+ screen->getWorkspaceCount() - 1)
+ screen->changeWorkspaceID(0);
else
- screen->changeWorkspaceID(screen->getCurrentWorkspaceID()-1);
+ screen->changeWorkspaceID(screen->getCurrentWorkspaceID() + 1);
} else if (e->xbutton.button == 5) {
- if ((screen->getCurrentWorkspaceID()+1)>screen->getWorkspaceCount()-1)
- screen->changeWorkspaceID(0);
+ if ((screen->getCurrentWorkspaceID() - 1) < 0)
+ screen->changeWorkspaceID(screen->getWorkspaceCount() - 1);
else
- screen->changeWorkspaceID(screen->getCurrentWorkspaceID()+1);
+ screen->changeWorkspaceID(screen->getCurrentWorkspaceID() - 1);
}
}
}
(screen = searchScreen(e->xcrossing.window))) {
screen->getImageControl()->installRootColormap();
} else if ((win = searchWindow(e->xcrossing.window))) {
- if (win->getScreen()->isSloppyFocus() &&
+ if (win->getScreen()->sloppyFocus() &&
(! win->isFocused()) && (! no_focus)) {
grab();
Bool Openbox::handleSignal(int sig) {
switch (sig) {
case SIGHUP:
- reconfigure();
- break;
-
case SIGUSR1:
- reload_rc();
+ reconfigure();
break;
case SIGUSR2:
}
-void Openbox::shutdown(void) {
+void Openbox::shutdown() {
BaseDisplay::shutdown();
XSetInputFocus(getXDisplay(), PointerRoot, None, CurrentTime);
s->shutdown();
XSync(getXDisplay(), False);
-
- save_rc();
}
-void Openbox::save_rc(void) {
+void Openbox::save() {
config.setAutoSave(false);
+ // save all values as they are so that the defaults will be written to the rc
+ // file
+
config.setValue("session.menuFile", getMenuFilename());
config.setValue("session.colorsPerChannel",
resource.colors_per_channel);
(resource.auto_raise_delay.tv_usec / 1000)));
config.setValue("session.cacheLife", (long)resource.cache_life / 60000);
config.setValue("session.cacheMax", (long)resource.cache_max);
+ config.setValue("session.styleFile", resource.style_file);
LinkedListIterator<BScreen> it(screenList);
- for (BScreen *screen = it.current(); screen; it++, screen = it.current()) {
-// ScreenList::iterator it = screenList.begin();
-// for (; it != screenList.end(); ++it) {
-// BScreen *screen = *it;
- 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",
- (screen->getImageControl()->doDither()) ? "True" : "False");
-
- sprintf(rc_string, "session.screen%d.fullMaximization", screen_number);
- config.setValue(rc_string, screen->doFullMax() ? "True" : "False");
-
- sprintf(rc_string, "session.screen%d.focusNewWindows", screen_number);
- config.setValue(rc_string, screen->doFocusNew() ? "True" : "False");
-
- sprintf(rc_string, "session.screen%d.focusLastWindow", screen_number);
- config.setValue(rc_string, screen->doFocusLast() ? "True" : "False");
-
- sprintf(rc_string, "session.screen%d.rowPlacementDirection", screen_number);
- config.setValue(rc_string,
- screen->getRowPlacementDirection() == BScreen::LeftRight ?
- "LeftToRight" : "RightToLeft");
-
- sprintf(rc_string, "session.screen%d.colPlacementDirection", screen_number);
- config.setValue(rc_string,
- screen->getColPlacementDirection() == BScreen::TopBottom ?
- "TopToBottom" : "BottomToTop");
-
- switch (screen->getPlacementPolicy()) {
- case BScreen::CascadePlacement: placement = "CascadePlacement"; break;
- case BScreen::BestFitPlacement: placement = "BestFitPlacement"; break;
- case BScreen::ColSmartPlacement: placement = "ColSmartPlacement"; break;
- default:
- case BScreen::RowSmartPlacement: placement = "RowSmartPlacement"; break;
- }
- sprintf(rc_string, "session.screen%d.windowPlacement", screen_number);
- config.setValue(rc_string, placement);
-
- sprintf(rc_string, "session.screen%d.focusModel", screen_number);
- config.setValue(rc_string,
- (screen->isSloppyFocus() ?
- (screen->doAutoRaise() ? "AutoRaiseSloppyFocus" :
- "SloppyFocus") : "ClickToFocus"));
-
- sprintf(rc_string, "session.screen%d.workspaces", screen_number);
- config.setValue(rc_string, screen->getWorkspaceCount());
-
- sprintf(rc_string, "session.screen%d.toolbar.onTop", screen_number);
- config.setValue(rc_string, screen->getToolbar()->isOnTop() ?
- "True" : "False");
-
- sprintf(rc_string, "session.screen%d.toolbar.autoHide", screen_number);
- config.setValue(rc_string, screen->getToolbar()->doAutoHide() ?
- "True" : "False");
-
- switch (screen->getToolbarPlacement()) {
- case Toolbar::TopLeft: placement = "TopLeft"; break;
- case Toolbar::BottomLeft: placement = "BottomLeft"; break;
- case Toolbar::TopCenter: placement = "TopCenter"; break;
- case Toolbar::TopRight: placement = "TopRight"; break;
- case Toolbar::BottomRight: placement = "BottomRight"; break;
- default:
- case Toolbar::BottomCenter: placement = "BottomCenter"; break;
- }
-
- sprintf(rc_string, "session.screen%d.toolbar.placement", screen_number);
- config.setValue(rc_string, placement);
-
-#ifdef HAVE_STRFTIME
- sprintf(rc_string, "session.screen%d.strftimeFormat", screen_number);
- config.setValue(rc_string, screen->getStrftimeFormat());
-#else // !HAVE_STRFTIME
- sprintf(rc_string, "session.screen%d.dateFormat", screen_number);
- config.setValue(rc_string, screen->getDateFormat() == B_EuropeanDate ?
- "European" : "American");
-
- sprintf(rc_string, "session.screen%d.clockFormat", screen_number);
- config.setValue(rc_string, screen->isClock24Hour() ? 24 : 12);
-#endif // HAVE_STRFTIME
-
- sprintf(rc_string, "session.screen%d.edgeSnapThreshold", screen_number);
- config.setValue(rc_string, screen->getEdgeSnapThreshold());
-
- sprintf(rc_string, "session.screen%d.toolbar.widthPercent", screen_number);
- config.setValue(rc_string, screen->getToolbarWidthPercent());
-
- // write out the user's workspace names
- int i, len = 0;
- for (i = 0; i < screen->getWorkspaceCount(); i++)
- len += strlen((screen->getWorkspace(i)->getName()) ?
- screen->getWorkspace(i)->getName() : "Null") + 1;
-
- char *resource_string = new char[len + 1024],
- *save_string = new char[len], *save_string_pos = save_string,
- *name_string_pos;
- if (save_string) {
- for (i = 0; i < screen->getWorkspaceCount(); i++) {
- len = strlen((screen->getWorkspace(i)->getName()) ?
- screen->getWorkspace(i)->getName() : "Null") + 1;
- name_string_pos =
- (char *) ((screen->getWorkspace(i)->getName()) ?
- screen->getWorkspace(i)->getName() : "Null");
-
- while (--len) *(save_string_pos++) = *(name_string_pos++);
- *(save_string_pos++) = ',';
- }
- }
-
- *(--save_string_pos) = '\0';
-
- sprintf(resource_string, "session.screen%d.workspaceNames", screen_number);
- config.setValue(resource_string, save_string);
-
- delete [] resource_string;
- delete [] save_string;
-/*
- std::string save_string = screen->getWorkspace(0)->getName();
- for (unsigned int i = 1; i < screen->getWorkspaceCount(); ++i) {
- save_string += ',';
- save_string += screen->getWorkspace(i)->getName();
- }
-
- char *resource_string = new char[save_string.length() + 48];
- sprintf(resource_string, "session.screen%d.workspaceNames", screen_number);
- config.setValue(rc_string, save_string);
-
- delete [] resource_string;*/
+ for (BScreen *s = it.current(); s != NULL; it++, s = it.current()) {
+ s->save();
+ s->getToolbar()->save();
+ s->getSlit()->save();
}
config.setAutoSave(true);
config.save();
}
-void Openbox::load_rc(void) {
+void Openbox::load() {
if (!config.load())
- return;
+ config.create();
std::string s;
long l;
}
-void Openbox::load_rc(BScreen *screen) {
- ASSERT (screen != NULL);
- const int screen_number = screen->getScreenNumber();
- ASSERT (screen_number >= 0);
-
- if (!config.load())
- return;
-
- std::string s;
- long l;
- bool b;
- char name_lookup[1024], class_lookup[1024];
-
- sprintf(name_lookup, "session.screen%d.fullMaximization", screen_number);
- sprintf(class_lookup, "Session.Screen%d.FullMaximization", screen_number);
- if (config.getValue(name_lookup, class_lookup, b))
- screen->saveFullMax((Bool)b);
- else
- screen->saveFullMax(False);
-
- sprintf(name_lookup, "session.screen%d.focusNewWindows", screen_number);
- sprintf(class_lookup, "Session.Screen%d.FocusNewWindows", screen_number);
- if (config.getValue(name_lookup, class_lookup, b))
- screen->saveFocusNew((Bool)b);
- else
- screen->saveFocusNew(False);
-
- sprintf(name_lookup, "session.screen%d.focusLastWindow", screen_number);
- sprintf(class_lookup, "Session.Screen%d.focusLastWindow", screen_number);
- if (config.getValue(name_lookup, class_lookup, b))
- screen->saveFocusLast((Bool)b);
- else
- screen->saveFocusLast(False);
-
- sprintf(name_lookup, "session.screen%d.rowPlacementDirection",
- screen_number);
- sprintf(class_lookup, "Session.Screen%d.RowPlacementDirection",
- screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- if (0 == strncasecmp(s.c_str(), "righttoleft", s.length()))
- screen->saveRowPlacementDirection(BScreen::RightLeft);
- else
- screen->saveRowPlacementDirection(BScreen::LeftRight);
- } else
- screen->saveRowPlacementDirection(BScreen::LeftRight);
-
- sprintf(name_lookup, "session.screen%d.colPlacementDirection",
- screen_number);
- sprintf(class_lookup, "Session.Screen%d.ColPlacementDirection",
- screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- if (0 == strncasecmp(s.c_str(), "bottomtotop", s.length()))
- screen->saveColPlacementDirection(BScreen::BottomTop);
- else
- screen->saveColPlacementDirection(BScreen::TopBottom);
- } else
- screen->saveColPlacementDirection(BScreen::TopBottom);
-
- sprintf(name_lookup, "session.screen%d.workspaces", screen_number);
- sprintf(class_lookup, "Session.Screen%d.Workspaces", screen_number);
- if (config.getValue(name_lookup, class_lookup, l))
- screen->saveWorkspaces(l);
- else
- screen->saveWorkspaces(1);
-
- sprintf(name_lookup, "session.screen%d.toolbar.widthPercent",
- screen_number);
- sprintf(class_lookup, "Session.Screen%d.Toolbar.WidthPercent",
- screen_number);
- if (config.getValue(name_lookup, class_lookup, l) && (l > 0 && l <= 100))
- screen->saveToolbarWidthPercent(l);
- else
- screen->saveToolbarWidthPercent(66);
-
- sprintf(name_lookup, "session.screen%d.toolbar.placement", screen_number);
- sprintf(class_lookup, "Session.Screen%d.Toolbar.Placement", screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- if (0 == strncasecmp(s.c_str(), "TopLeft", s.length()))
- screen->saveToolbarPlacement(Toolbar::TopLeft);
- else if (0 == strncasecmp(s.c_str(), "BottomLeft", s.length()))
- screen->saveToolbarPlacement(Toolbar::BottomLeft);
- else if (0 == strncasecmp(s.c_str(), "TopCenter", s.length()))
- screen->saveToolbarPlacement(Toolbar::TopCenter);
- else if (0 == strncasecmp(s.c_str(), "TopRight", s.length()))
- screen->saveToolbarPlacement(Toolbar::TopRight);
- else if ( 0 == strncasecmp(s.c_str(), "BottomRight", s.length()))
- screen->saveToolbarPlacement(Toolbar::BottomRight);
- else
- screen->saveToolbarPlacement(Toolbar::BottomCenter);
- } else
- screen->saveToolbarPlacement(Toolbar::BottomCenter);
-
- screen->removeWorkspaceNames();
- sprintf(name_lookup, "session.screen%d.workspaceNames", screen_number);
- sprintf(class_lookup, "Session.Screen%d.WorkspaceNames", screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- // for (int i = 0; i < screen->getNumberOfWorkspaces(); i++) {
- std::string::const_iterator it = s.begin(), end = s.end();
- while(1) {
- std::string::const_iterator tmp = it;// current string.begin()
- it = std::find(tmp, end, ','); // look for comma between tmp and end
- std::string name(tmp, it); // name = s[tmp:it]
- screen->addWorkspaceName(name.c_str());
- if (it == end)
- break;
- ++it;
- }
- }
-
- sprintf(name_lookup, "session.screen%d.toolbar.onTop", screen_number);
- sprintf(class_lookup, "Session.Screen%d.Toolbar.OnTop", screen_number);
- if (config.getValue(name_lookup, class_lookup, b))
- screen->saveToolbarOnTop((Bool)b);
- else
- screen->saveToolbarOnTop(False);
-
- sprintf(name_lookup, "session.screen%d.toolbar.autoHide", screen_number);
- sprintf(class_lookup, "Session.Screen%d.Toolbar.autoHide", screen_number);
- if (config.getValue(name_lookup, class_lookup, b))
- screen->saveToolbarAutoHide((Bool)b);
- else
- screen->saveToolbarAutoHide(False);
-
- sprintf(name_lookup, "session.screen%d.focusModel", screen_number);
- sprintf(class_lookup, "Session.Screen%d.FocusModel", screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- if (0 == strncasecmp(s.c_str(), "clicktofocus", s.length())) {
- screen->saveAutoRaise(False);
- screen->saveSloppyFocus(False);
- } else if (0 == strncasecmp(s.c_str(), "autoraisesloppyfocus",
- s.length())) {
- screen->saveSloppyFocus(True);
- screen->saveAutoRaise(True);
- } else {
- screen->saveSloppyFocus(True);
- screen->saveAutoRaise(False);
- }
- } else {
- screen->saveSloppyFocus(True);
- screen->saveAutoRaise(False);
- }
-
- sprintf(name_lookup, "session.screen%d.windowZones", screen_number);
- sprintf(class_lookup, "Session.Screen%d.WindowZones", screen_number);
- if (config.getValue(name_lookup, class_lookup, l))
- screen->saveWindowZones((l == 1 || l == 2 || l == 4) ? l : 1);
- else
- screen->saveWindowZones(1);
-
- sprintf(name_lookup, "session.screen%d.windowPlacement", screen_number);
- sprintf(class_lookup, "Session.Screen%d.WindowPlacement", screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- if (0 == strncasecmp(s.c_str(), "RowSmartPlacement", s.length()))
- screen->savePlacementPolicy(BScreen::RowSmartPlacement);
- else if (0 == strncasecmp(s.c_str(), "ColSmartPlacement", s.length()))
- screen->savePlacementPolicy(BScreen::ColSmartPlacement);
- else if (0 == strncasecmp(s.c_str(), "BestFitPlacement", s.length()))
- screen->savePlacementPolicy(BScreen::BestFitPlacement);
- else
- screen->savePlacementPolicy(BScreen::CascadePlacement);
- } else
- 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
- sprintf(name_lookup, "session.screen%d.strftimeFormat", screen_number);
- sprintf(class_lookup, "Session.Screen%d.StrftimeFormat", screen_number);
- if (config.getValue(name_lookup, class_lookup, s))
- screen->saveStrftimeFormat(s.c_str());
- else
- screen->saveStrftimeFormat("%I:%M %p");
-
-#else // HAVE_STRFTIME
- sprintf(name_lookup, "session.screen%d.dateFormat", screen_number);
- sprintf(class_lookup, "Session.Screen%d.DateFormat", screen_number);
- if (config.getValue(name_lookup, class_lookup, s)) {
- if (strncasecmp(s.c_str(), "european", s.length()))
- screen->saveDateFormat(B_AmericanDate);
- else
- screen->saveDateFormat(B_EuropeanDate);
- } else
- screen->saveDateFormat(B_AmericanDate);
-
- sprintf(name_lookup, "session.screen%d.clockFormat", screen_number);
- sprintf(class_lookup, "Session.Screen%d.ClockFormat", screen_number);
- if (config.getValue(name_lookup, class_lookup, l)) {
- if (clock == 24)
- screen->saveClock24Hour(True);
- else
- screen->saveClock24Hour(False);
- } else
- screen->saveClock24Hour(False);
-#endif // HAVE_STRFTIME
-
- sprintf(name_lookup, "session.screen%d.edgeSnapThreshold", screen_number);
- sprintf(class_lookup, "Session.Screen%d.EdgeSnapThreshold", screen_number);
- if (config.getValue(name_lookup, class_lookup, l))
- screen->saveEdgeSnapThreshold(l);
- else
- screen->saveEdgeSnapThreshold(4);
-
- sprintf(name_lookup, "session.screen%d.imageDither", screen_number);
- sprintf(class_lookup, "Session.Screen%d.ImageDither", screen_number);
- if (config.getValue("session.imageDither", "Session.ImageDither", b))
- screen->saveImageDither((Bool)b);
- else
- screen->saveImageDither(True);
-
- sprintf(name_lookup, "session.screen%d.rootCommand", screen_number);
- sprintf(class_lookup, "Session.Screen%d.RootCommand", screen_number);
- if (config.getValue(name_lookup, class_lookup, s))
- screen->saveRootCommand(s.c_str());
- else
- screen->saveRootCommand(NULL);
-
- if (config.getValue("session.opaqueMove", "Session.OpaqueMove", b))
- screen->saveOpaqueMove((Bool)b);
- else
- screen->saveOpaqueMove(False);
-}
-
-
-void Openbox::reload_rc(void) {
- load_rc();
- reconfigure();
-}
-
-
-void Openbox::reconfigure(void) {
+void Openbox::reconfigure() {
reconfigure_wait = True;
if (! timer->isTiming()) timer->start();
}
-void Openbox::real_reconfigure(void) {
+void Openbox::real_reconfigure() {
grab();
- config.load();
- config.setValue("session.styleFile", resource.style_file); // autosave's
+ load();
for (int i = 0, n = menuTimestamps->count(); i < n; i++) {
MenuTimestamp *ts = menuTimestamps->remove(0);
}
-void Openbox::checkMenu(void) {
+void Openbox::checkMenu() {
Bool reread = False;
LinkedListIterator<MenuTimestamp> it(menuTimestamps);
for (MenuTimestamp *tmp = it.current(); tmp && (! reread);
}
-void Openbox::rereadMenu(void) {
+void Openbox::rereadMenu() {
reread_menu_wait = True;
if (! timer->isTiming()) timer->start();
}
-void Openbox::real_rereadMenu(void) {
+void Openbox::real_rereadMenu() {
for (int i = 0, n = menuTimestamps->count(); i < n; i++) {
MenuTimestamp *ts = menuTimestamps->remove(0);
}
-void Openbox::saveStyleFilename(const char *filename) {
+void Openbox::setStyleFilename(const char *filename) {
if (resource.style_file)
delete [] resource.style_file;
resource.style_file = bstrdup(filename);
+ config.setValue("session.styleFile", resource.style_file);
}
-void Openbox::saveMenuFilename(const char *filename) {
+void Openbox::setMenuFilename(const char *filename) {
Bool found = False;
LinkedListIterator<MenuTimestamp> it(menuTimestamps);
}
-void Openbox::timeout(void) {
+void Openbox::timeout() {
if (reconfigure_wait)
real_reconfigure();