void updateSetup() { //printf("updateSetup()\n"); struct stat s; // Check if configuration needs to be updated if(!stat(pGlobalConfig.filename(), &s)) { static long last_modified = 0; long now = s.st_mtime; if(last_modified>0 && last_modified==now) { // Return if not modified return; } // Store last modified time last_modified = s.st_mtime; } pGlobalConfig.read_file(false); if(pGlobalConfig.error()) { fprintf(stderr, "[EWorkPanel Error]: %s\n", pGlobalConfig.strerror()); return; } bool auto_hide = false; static bool hiden = false; static bool last_state = false; static bool on_start = true; bool runbrowser; pGlobalConfig.get("Panel", "AutoHide", auto_hide, false); if (on_start) { last_state = auto_hide; pGlobalConfig.get("Panel", "RunBrowser", runbrowser, true); if (runbrowser) { restoreRunBrowser() ; } } bool old_hiden = hiden; if (auto_hide) { mPanelWindow->setAutoHide(1); hiden = true; } else { mPanelWindow->setAutoHide(0); hiden = false; } if(old_hiden!=hiden || on_start) { if(!hiden) { mPanelWindow->position(mPanelWindow->initX, mPanelWindow->initY); if(mPanelWindow->shown()) Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, mPanelWindow->h()); } else { mPanelWindow->position(mPanelWindow->initX, mPanelWindow->initY+mPanelWindow->h()-4); if(mPanelWindow->shown()) Fl_WM::set_window_strut(fl_xid(mPanelWindow), 0, 0, 0, 4); } } on_start = false; }
// Start utility, like "time/date" or "volume" void startUtility(Fl_Button *, void *pName) { Fl_String value; pGlobalConfig.get("Panel", (char*)pName, value, ""); if(!pGlobalConfig.error() && !value.empty()) { value = "ede-launch \""+value; value += "\""; fl_start_child_process(value, false); } }