The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Определение Idle состояния X сесии, !*! anton7811, 22-Апр-11, 15:52  [смотреть все]
Может кто сталкивался, как определить, что сесия (gnome/kde) находится в состоянии idle?

Конкретно сейчас борюсь с Gnome. Ранее в dbus у screensaver были методы GetSessionIdle() GetSessionIdleTime(), но сейчас они признаны устаревшими. GetActive() показывает true только когда запущен screensaver, но его в настройках и вовсе можно отключить. А интересует именно момент когда нету активности (мышка, клавиатура) пользователя. Сам screensaver как-то может ведь єто отследить. Можно ли такое без C/C++ сделать, например читать гдето тот же dbus или еще что? Если нет, то рассмотрю варианты и на C/C++.

  • Определение Idle состояния X сесии, !*! anton7811, 18:21 , 22-Апр-11 (1)
    Способ получения результата без C/C++ актуален.

    Но паралельно, если никто не знает другого варианта, может подскажете как сделать что б нижеприведеная программа работала корректно не только на дисплее :0, но и на других, таких как удаленные сеансы.

    #include <stdio.h>
    #include <X11/extensions/scrnsaver.h>

    main() {
        XScreenSaverInfo *info = XScreenSaverAllocInfo();
        Display *display = XOpenDisplay(0);

        XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
        printf("%lu ms\n", info->idle);
    }


    Собственно сразу оговорюсь, что я с C/C++ не знаком, поєтому если можно коментируйте поподробней.
    Заранее благодарен!

  • Определение Idle состояния X сесии, !*! pavlinux, 20:33 , 22-Апр-11 (3)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру