mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Merge pull request #1876 from mdosch/fix-screensaver-spam
Don't use xscreensaver on wayland.
This commit is contained in:
commit
f56ce07141
@ -107,7 +107,11 @@ ui_init(void)
|
||||
notifier_initialise();
|
||||
cons_about();
|
||||
#ifdef HAVE_LIBXSS
|
||||
display = XOpenDisplay(0);
|
||||
char* x11_display = getenv("DISPLAY");
|
||||
char* wayland_display = getenv("WAYLAND_DISPLAY");
|
||||
if (x11_display && !wayland_display) {
|
||||
display = XOpenDisplay(0);
|
||||
}
|
||||
#endif
|
||||
ui_idle_time = g_timer_new();
|
||||
inp_size = 0;
|
||||
@ -150,15 +154,17 @@ ui_get_idle_time(void)
|
||||
{
|
||||
// if compiled with libxss, get the x sessions idle time
|
||||
#ifdef HAVE_LIBXSS
|
||||
XScreenSaverInfo* info = XScreenSaverAllocInfo();
|
||||
if (info && display) {
|
||||
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
|
||||
unsigned long result = info->idle;
|
||||
XFree(info);
|
||||
return result;
|
||||
}
|
||||
if (info) {
|
||||
XFree(info);
|
||||
if (display) {
|
||||
XScreenSaverInfo* info = XScreenSaverAllocInfo();
|
||||
if (info && display) {
|
||||
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
|
||||
unsigned long result = info->idle;
|
||||
XFree(info);
|
||||
return result;
|
||||
}
|
||||
if (info) {
|
||||
XFree(info);
|
||||
}
|
||||
}
|
||||
// if no libxss or xss idle time failed, use profanity idle time
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user