1
0
mirror of https://github.com/xmrig/xmrig.git synced 2025-12-09 00:33:33 -05:00
This commit is contained in:
Alik Aslanyan
2023-08-06 22:00:36 +02:00
committed by GitHub
2 changed files with 31 additions and 9 deletions

View File

@@ -180,7 +180,8 @@ else()
if (XMRIG_OS_ANDROID)
set(EXTRA_LIBS pthread rt dl log)
elseif (XMRIG_OS_LINUX)
else()
if (XMRIG_OS_LINUX)
list(APPEND SOURCES_OS
src/crypto/common/LinuxMemory.h
src/crypto/common/LinuxMemory.cpp
@@ -190,6 +191,11 @@ else()
elseif (XMRIG_OS_FREEBSD)
set(EXTRA_LIBS kvm pthread)
endif()
find_package(X11 REQUIRED)
set(EXTRA_LIBS ${EXTRA_LIBS} Xss ${X11_LIBRARIES})
include_directories(${X11_INCLUDE_DIR})
endif()
endif()
add_definitions(-DXMRIG_MINER_PROJECT -DXMRIG_JSON_SINGLE_LINE_ARRAY)

View File

@@ -38,6 +38,8 @@
#include <fstream>
#include <limits>
#include <X11/extensions/scrnsaver.h>
#include "base/kernel/Platform.h"
#include "version.h"
@@ -175,5 +177,19 @@ bool xmrig::Platform::isOnBatteryPower()
uint64_t xmrig::Platform::idleTime()
{
Display *dpy = XOpenDisplay(nullptr);
if (!dpy) {
return std::numeric_limits<uint64_t>::max();
}
XScreenSaverInfo *info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(dpy, DefaultRootWindow(dpy), info);
uint64_t idle = info->idle;
XFree(info);
XCloseDisplay(dpy);
return idle;
}