mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 19:46:00 +01:00
add system info logging
This commit is contained in:
parent
648b2c892c
commit
8de8f6667e
3 changed files with 40 additions and 0 deletions
|
@ -7,6 +7,12 @@ CCompositor::CCompositor() {
|
||||||
|
|
||||||
Debug::log(LOG, "Instance Signature: %s", m_szInstanceSignature.c_str());
|
Debug::log(LOG, "Instance Signature: %s", m_szInstanceSignature.c_str());
|
||||||
|
|
||||||
|
Debug::log(LOG, "===== SYSTEM INFO: =====");
|
||||||
|
|
||||||
|
logSystemInfo();
|
||||||
|
|
||||||
|
Debug::log(LOG, "========================");
|
||||||
|
|
||||||
setenv("HYPRLAND_INSTANCE_SIGNATURE", m_szInstanceSignature.c_str(), true);
|
setenv("HYPRLAND_INSTANCE_SIGNATURE", m_szInstanceSignature.c_str(), true);
|
||||||
|
|
||||||
const auto INSTANCEPATH = "/tmp/hypr/" + m_szInstanceSignature;
|
const auto INSTANCEPATH = "/tmp/hypr/" + m_szInstanceSignature;
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "../defines.hpp"
|
#include "../defines.hpp"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "../Compositor.hpp"
|
#include "../Compositor.hpp"
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
|
||||||
void addWLSignal(wl_signal* pSignal, wl_listener* pListener, void* pOwner, std::string ownerString) {
|
void addWLSignal(wl_signal* pSignal, wl_listener* pListener, void* pOwner, std::string ownerString) {
|
||||||
ASSERT(pSignal);
|
ASSERT(pSignal);
|
||||||
|
@ -233,3 +234,34 @@ float vecToRectDistanceSquared(const Vector2D& vec, const Vector2D& p1, const Ve
|
||||||
const float DY = std::max((double)0, std::max(p1.y - vec.y, vec.y - p2.y));
|
const float DY = std::max((double)0, std::max(p1.y - vec.y, vec.y - p2.y));
|
||||||
return DX * DX + DY * DY;
|
return DX * DX + DY * DY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Execute a shell command and get the output
|
||||||
|
std::string execAndGet(const char* cmd) {
|
||||||
|
std::array<char, 128> buffer;
|
||||||
|
std::string result;
|
||||||
|
const std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose);
|
||||||
|
if (!pipe) {
|
||||||
|
Debug::log(ERR, "execAndGet: failed in pipe");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
|
||||||
|
result += buffer.data();
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void logSystemInfo() {
|
||||||
|
struct utsname unameInfo;
|
||||||
|
|
||||||
|
uname(&unameInfo);
|
||||||
|
|
||||||
|
Debug::log(LOG, "System name: %s", unameInfo.sysname);
|
||||||
|
Debug::log(LOG, "Node name: %s", unameInfo.nodename);
|
||||||
|
Debug::log(LOG, "Release: %s", unameInfo.release);
|
||||||
|
Debug::log(LOG, "Version: %s", unameInfo.version);
|
||||||
|
|
||||||
|
// log etc
|
||||||
|
Debug::log(LOG, "os-release:");
|
||||||
|
|
||||||
|
Debug::log(NONE, "%s", execAndGet("cat /etc/os-release").c_str());
|
||||||
|
}
|
|
@ -11,5 +11,7 @@ bool isNumber(const std::string&);
|
||||||
bool isDirection(const std::string&);
|
bool isDirection(const std::string&);
|
||||||
int getWorkspaceIDFromString(const std::string&, std::string&);
|
int getWorkspaceIDFromString(const std::string&, std::string&);
|
||||||
float vecToRectDistanceSquared(const Vector2D& vec, const Vector2D& p1, const Vector2D& p2);
|
float vecToRectDistanceSquared(const Vector2D& vec, const Vector2D& p1, const Vector2D& p2);
|
||||||
|
void logSystemInfo();
|
||||||
|
std::string execAndGet(const char*);
|
||||||
|
|
||||||
float getPlusMinusKeywordResult(std::string in, float relative);
|
float getPlusMinusKeywordResult(std::string in, float relative);
|
Loading…
Reference in a new issue