View Single Post
Old 07-09-2009, 04:35 AM   #108
ericshliao
Guru
ericshliao will become famous soon enoughericshliao will become famous soon enoughericshliao will become famous soon enoughericshliao will become famous soon enoughericshliao will become famous soon enoughericshliao will become famous soon enough
 
Posts: 976
Karma: 687
Join Date: Nov 2007
Device: Dell X51v; iLiad v2
Quote:
Originally Posted by hansel View Post
xepdmgr?

Of course not xepdmgr. Sorry for not stating my question clearly.

As indicated by Antartica, for DR1000, iRex adopted another approach to control screen-refreshment.
The modified GTK+ for DR1000 can be downloaded here:http://developer.irexnet.com/pub/iOn...-2.12.7.tar.gz.

In that package, among the files, I saw some lines of code in gdkwindow.c:
Code:
// IREX
// create connection to displayMgr
void irex_display_init(char addr[], int port) {
    if (irex_display_socket==-1) {
        irex_display_socket = socket(PF_INET, SOCK_DGRAM, 0);
        irex_display_addr.sin_family = AF_INET; 
        irex_display_addr.sin_port = htons(port);
        irex_display_addr.sin_addr.s_addr = inet_addr(addr);
        irex_pid = getpid();
        memset(irex_display_addr.sin_zero, '\0', sizeof irex_display_addr.sin_zero);
    }
}

// IREX
// send a display update message
void irex_display_update(int x, int y, int width, int height) {
    char msg[256];
    irex_display_init("127.0.0.1",50555);
    sprintf(msg,"!I,%d,%d,%d,%d,%d,%d,%d,%d,%s,%d", 
            irex_pid,
            x, y, width, height, 
            irex_dump_ignore,
            irex_dump_is_window, 
            irex_dump_window_type, 
            irex_dump_widget_type,
            irex_dump_focus);
    //printf("Sent update message: %s\n", msg);
    sendto(irex_display_socket, msg, strlen(msg), 0, 
            (struct sockaddr*)&irex_display_addr, sizeof(irex_display_addr));
    irex_dump_focus = 0;
}
From the above code, I guest that iRex modified GTK+ libs to make GTK+ send update message to some unknown DisplayMgr through socket. Then I tried to find that DisplayMgr, but I can't find it. That's what I meant in the previous post.

Last edited by ericshliao; 07-09-2009 at 04:44 AM.
ericshliao is offline   Reply With Quote