Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/05/2007, à 10:30

csoler

Cueillir les evenements X

Salut,

J'aimerais coder un truc qui verifie que je ne m'endors pas, i.e qui verifie que je tappe sur mon clavier au moins toutes les 10 mn, et sinon qui popup un message d'alarme (bon, je sais, ca parait bizarre, mais j'en ai besoin).

Quelle interface et architecture vaut-il-mieux utiliser pour ce genre de truc ? Il me semble que j'ai besoin de forker un daemon qui intercepte et retransmet tous les evenements X, mais je veux savoir si je dois mettre les mains dans le cambouis ou si je peux faire ca avec Qt ou Gtk.

Merci
CsoL


Mon projet chou: http://retroshare.sourceforge.net
(Voir aussi la page ubuntu-fr: http://doc.ubuntu-fr.org/retroshare)

Hors ligne

#2 Le 29/05/2007, à 11:14

ac2n

Re : Cueillir les evenements X

bah je searis toi j'utiliserais plutot xscreensaver ou un truc comme ca. Il doit permettre de lancer une commande lorsqu'il met l'ecran en veille... donc a toi de jouer smile


LT Value - LTValue
http://www.ltvalue.com
market your value - Relation investisseur

Hors ligne

#3 Le 29/05/2007, à 11:15

marc31

Re : Cueillir les evenements X

tu peux aussi regarder du coté de la doc Gtk concernant les "events" : http://developer.gnome.org/doc/API/gdk/gdk-events.html


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne

#4 Le 29/05/2007, à 11:50

rotototo

Re : Cueillir les evenements X

comme le dit ac2n , scrnsaver peu faire le travail

http://search.cpan.org/src/AWENDT/X11-IdleTime-0.4/IdleTime.pm

#include <time.h>
#include <stdio.h>
#include <unistd.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/extensions/scrnsaver.h>

int GetIdleTime () {
        time_t idle_time;
        static XScreenSaverInfo *mit_info;
        Display *display;
        int screen;
        mit_info = XScreenSaverAllocInfo();
        if((display=XOpenDisplay(NULL)) == NULL) { return(-1); }
        screen = DefaultScreen(display);
        XScreenSaverQueryInfo(display, RootWindow(display,screen), mit_info);
	XFree(mit_info);
	XCloseDisplay(display); 
        idle_time = (mit_info->idle) / 1000;
        return idle_time;
}

int main(void){
	int i;
	
	while(1){
		
		i=GetIdleTime();
		if(i>=6)printf( "Your mouse and keyboard have been idle for %d seconds.\n",i);
		
	}
	
	
return 0;	
	
}

#5 Le 29/05/2007, à 12:47

csoler

Re : Cueillir les evenements X

Cool. C'est pile ce dont j'ai besoin.
Merci !
CsoL


Mon projet chou: http://retroshare.sourceforge.net
(Voir aussi la page ubuntu-fr: http://doc.ubuntu-fr.org/retroshare)

Hors ligne