QString DesktopFile::getEnvVar(int pid) { QFile envFile(QString("/proc/%1/environ").arg(pid)); if(!envFile.open(QIODevice::ReadOnly | QIODevice::Text)) return ""; QTextStream in(&envFile); QString content = in.readAll(); QRegExp rx("DESKTOP_FILE=(.+)"); int pos = rx.indexIn(content); if (pos == -1) return ""; return rx.cap(1); }
Environment createHornEnvironment(unsigned int d, double eps) { std::ofstream envFile("environment.dat"); std::vector<Segment> env; double w = 1. / (double)d, x = w, y = -eps, xN, yN, theta = 0., scale = w * (1. + boost::math::constants::pi<double>() * eps); envFile << x << " " << y << std::endl; for(unsigned int i = 0; i < d - 1; ++i) { theta += boost::math::constants::pi<double>() / (double) d; xN = x + cos(theta) * scale; yN = y + sin(theta) * scale; env.emplace_back(x, y, xN, yN); x = xN; y = yN; envFile << x << " " << y << std::endl; } theta = 0.; x = w; y = eps; envFile << x << " " << y << std::endl; scale = w * (1.0 - boost::math::constants::pi<double>() * eps); for(unsigned int i = 0; i < d - 1; ++i) { theta += boost::math::constants::pi<double>() / d; xN = x + cos(theta) * scale; yN = y + sin(theta) * scale; env.emplace_back(x, y, xN, yN); x = xN; y = yN; envFile << x << " " << y << std::endl; } envFile.close(); return env; }
void readEnvFile() { QFile envFile(QDir::homePath() + "/.cache/boomaga.env"); if (envFile.exists()) { envFile.open(QFile::ReadOnly); while (!envFile.atEnd()) { QString line = QString::fromLocal8Bit(envFile.readLine()); QString name = line.section("=", 0, 0).trimmed(); QString value = line.section("=", 1).trimmed(); if ((value.startsWith('\'') && value.endsWith('\'')) || (value.startsWith('"') && value.endsWith('"'))) { value = value.mid(1, value.length() - 2); } qputenv(name.toLocal8Bit(), value.toLocal8Bit()); } envFile.close(); } }