Implement pause-on-active for Linux and FreeBSD
This commit is contained in:
parent
69590f9777
commit
a7d57daad3
2 changed files with 31 additions and 9 deletions
|
@ -159,15 +159,21 @@ else()
|
||||||
|
|
||||||
if (XMRIG_OS_ANDROID)
|
if (XMRIG_OS_ANDROID)
|
||||||
set(EXTRA_LIBS pthread rt dl log)
|
set(EXTRA_LIBS pthread rt dl log)
|
||||||
elseif (XMRIG_OS_LINUX)
|
else()
|
||||||
list(APPEND SOURCES_OS
|
if (XMRIG_OS_LINUX)
|
||||||
src/crypto/common/LinuxMemory.h
|
list(APPEND SOURCES_OS
|
||||||
src/crypto/common/LinuxMemory.cpp
|
src/crypto/common/LinuxMemory.h
|
||||||
)
|
src/crypto/common/LinuxMemory.cpp
|
||||||
|
)
|
||||||
|
|
||||||
set(EXTRA_LIBS pthread rt dl)
|
set(EXTRA_LIBS pthread rt dl)
|
||||||
elseif (XMRIG_OS_FREEBSD)
|
elseif (XMRIG_OS_FREEBSD)
|
||||||
set(EXTRA_LIBS kvm pthread)
|
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()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,8 @@
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
|
#include <X11/extensions/scrnsaver.h>
|
||||||
|
|
||||||
|
|
||||||
#include "base/kernel/Platform.h"
|
#include "base/kernel/Platform.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
@ -163,5 +165,19 @@ bool xmrig::Platform::isOnBatteryPower()
|
||||||
|
|
||||||
uint64_t xmrig::Platform::idleTime()
|
uint64_t xmrig::Platform::idleTime()
|
||||||
{
|
{
|
||||||
return std::numeric_limits<uint64_t>::max();
|
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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue