} else {
rc_file = bstrdup(rc);
}
+ symlink_rc(rc_file);
config.setFile(rc_file);
no_focus = False;
screenList = new LinkedList<BScreen>;
for (int i = 0; i < getNumberOfScreens(); i++) {
- BScreen *screen = new BScreen(this, i);
+ BScreen *screen = new BScreen(*this, i);
if (! screen->isScreenManaged()) {
delete screen;
reconfigure_wait = reread_menu_wait = False;
- timer = new BTimer(this, this);
+ timer = new BTimer(*this, *this);
timer->setTimeout(0);
timer->fireOnce(True);
OpenboxWindow *win = searchWindow(e->xmaprequest.window);
if (! win)
- win = new OpenboxWindow(this, e->xmaprequest.window);
+ win = new OpenboxWindow(*this, e->xmaprequest.window);
if ((win = searchWindow(e->xmaprequest.window)))
win->mapRequestEvent(&e->xmaprequest);
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(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)) {
- cout << s << endl;
if (0 == strncasecmp(s.c_str(), "clicktofocus", s.length())) {
screen->saveAutoRaise(False);
screen->saveSloppyFocus(False);
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
if (old_screen && old_screen != screen)
old_screen->updateNetizenWindowFocus();
}
+
+#warning TODO: wrap in appropriate #ifdefs.
+
+void Openbox::symlink_rc(const char*rcfile)const{
+ char *homedir = getenv("HOME");
+
+ char *link_file = new char[strlen(homedir) + strlen("/.blackoxrc") + 1];
+ sprintf(link_file, "%s/.blackboxrc", homedir);
+ if(symlink(rcfile, link_file) == -1){
+ perror("Cannot create symlink");
+ }
+}