Retorna o tempo ocioso em uma sessão do X

Publicado por Elder Marco (última atualização em 23/09/2010)

[ Hits: 4.755 ]

Homepage: http://www.eldermarco.com

Download xidle.c




Este é um programa simples que retorna o tempo ocioso em segundos de uma sessão do X. Creio que já deva ter uma implementação dele em algum programa, mas como não encontrei, decidi escrevê-lo para um colega em uma pergunta aqui no VOL.

Você pode compilar, mover ele para algum lugar no seu PATH e depois obter o tempo ocioso com o comando:

cut -f 1 -d ' ' <(xidle)

em algum script.

  



Esconder código-fonte

/*---------------------------------------------------------------------
 *    Imprime o tempo de inatividade de uma sessão do X em segundos.
 *    Caso haja algum problema, nada é impresso, mas o programa
 *    retorna 1.
 *
 *    Obs: Compile esse programa com o comando:
 *         $ gcc -o xidle xidle.c -lX11 -lXss 
 *
 *         Depois mova-o para um diretório no seu PATH (um bom local
 *         seria o diretório /usr/local/bin)
 *
 *    No Fedora, é necessário instalar o pacote 'libXScrnSaver-devel'
 *    e 'libX11-devel' para poder seguir com a compilação.
 *
 *                 Autor: Elder Marco <eldermarco@gmail.com>
 *                 Data : 13/09/2010
 *    Última modificação: 13/09/2010
 *---------------------------------------------------------------------*/
#include <X11/extensions/scrnsaver.h>
#include <X11/Xlib.h>
#include <X11/Xlibint.h>
#include <stdio.h>

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

      if ((display = XOpenDisplay(NULL))){    
          XScreenSaverQueryInfo(display,
                                DefaultRootWindow(display),
                                info);
           printf("%.0f s\n", (float)info->idle/1000);
      }
     else 
        return 1;  

     Xfree(info);
     XCloseDisplay(display);
     return 0;
}

Scripts recomendados

Controle de tráfego aéreo - filas dinâmicas

Algoritmo do método de Newton

[C] Qsort - Ordenação

Função Hash básica

Exemplo de uso de Math.h


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts