xlib-XLIB的XSendEvent无效问题

问题描述

XLIB的XSendEvent无效问题
 #include <X11/Xlib.h>

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <signal.h>

#include <time.h>

#include <sys/time.h>

 int x=10,y=10;
 struct _XDisplay *d;
 int s;
 Window w;
 XEvent e;

void sigroutine(int signo){

    /* send event */
    XSendEvent(d, w, 1, ExposureMask, &e);
    printf("Catch a signal -- SIGALRM
");
    signal(SIGALRM, sigroutine);
    return;
}

int main()
{
        struct itimerval value, ovalue;
        /* open connection with the server */
        d = XOpenDisplay(NULL);
        if(d == NULL)
        {
                printf("Cannot open display
");
                exit(1);
        }
        s = DefaultScreen(d);

        /* create window */
        w = XCreateSimpleWindow(d,
                                RootWindow(d, s),
                                10,
                                10,
                                500,
                                500,
                                1,
                                BlackPixel(d, s),
                                WhitePixel(d, s));

        /* select kind of events we are interested in */
        XSelectInput(d, w, ExposureMask | KeyPressMask);

        /* map (show) the window */
        XMapWindow(d, w);

        /* Set timer */
        signal(SIGALRM, sigroutine);

        value.it_value.tv_sec = 1;

        value.it_value.tv_usec = 0;

        value.it_interval.tv_sec = 1;

        value.it_interval.tv_usec = 0;

        setitimer(ITIMER_REAL, &value, &ovalue);

        /* event loop */
        while(1)
        {
                XNextEvent(d, &e);
                /* draw or redraw the window */
                if(e.type == Expose)
                {
                        printf("Expose
");
                        XFillRectangle(d, w, DefaultGC(d, s), x, y, 10, 10);
                        x+=10;
                        y+=10;
                }
                /* exit on key press */
                if(e.type == KeyPress)

                       break;
        }

        /* close connection to server */
        XCloseDisplay(d);

        return 0;
}

代码如上,sigroutine函数可以正确执行,但是expose事件不能触发,求大神解决

解决方案

http://bbs.csdn.net/topics/391835527

解决方案二:

android setTextColor 无效的问题

时间: 2024-08-20 04:28:09

xlib-XLIB的XSendEvent无效问题的相关文章

oracel中Xlib: connection to

今天刚安装完Oracle,想在图形界面里,创建一个数据库实例进行测试,可是我在终端里输入dbca后,出现如下错误提示: Xlib: connection to ":0.0" refused by server. 后来通过以下方法解决: 用root账户登录,然后在终端输入以下命令解决: xhost oracle

Xlib: connection to &quot;:0.0&quot; refused by server Xlib: No protocol specified解决方案

Xlib: connection to ":0.0" refused by server Xlib:  No protocol specified 解决办法: 1. 退出oracle,用root登陆: 2. root命令行下输入: [root@localhost ~]# xhost local:oracle non-network local connections being added to access control list  屏幕提示xhost:    bad hostna

Xlib: Invalid MIT-MAGIC-COOKIE-1 key 解决方法

使用VNC工具连接服务器,使用图形界面方式安装oracle时,grid 用户执行./runInstaller 后报错,提示说明缺少/etc/bin/xplayinfo 命令文件, 但是网上的资料解决问题时,以root身份执行xhost + 时又报如下错误:Xlib: connection to ":0.0" refused by serverXlib: Invalid MIT-MAGIC-COOKIE-1 keyCan't open display named 当前的情况是:当前用户为

异步上传UploadFileAsync老是提示有无效参数,错在哪里

问题描述 异步上传UploadFileAsync老是提示有无效参数,错在哪里 错在哪里 ???文件明明是存在的 解决方案 第一个参数不对,应该放在new Uri()里面. 解决方案二: 第一个参数是Uri,你传递string当然错了 c.UploadFileAsync(new Uri(""http://localhost:.................."")POST"".........."")

eclipse中svn1.10.9插件设置Ignored Resources中.project等无效

问题描述 eclipse中svn1.10.9插件设置Ignored Resources中.project等无效 Myeclipse中svn1.10.9插件设置Ignored Resources中.project等不起作用下面是myeclipse配置的图片: 解决方案 重启也不可用,是插件本身问题 解决方案二: 你重启了吗?重启下试试

InvalidArgument=“4”的值对于“index”无效。

问题描述 InvalidArgument="4"的值对于"index"无效. InvalidArgument="4"的值对于"index"无效.什么意思啊,求指导 解决方案 具体要对应的代码.然后来分析

jsp文件中滚动条无效!求大神!急!!!

问题描述 jsp文件中滚动条无效!求大神!急!!! jsp文件中点击展开菜单后展开内容,但是右侧滚动条没有变化,以至于看不到下面的内容!1

wpf dispatcher.begininvoke与匹配的重载方法具有一些无效参数

问题描述 wpf dispatcher.begininvoke与匹配的重载方法具有一些无效参数 wpf dispatcher.begininvoke与匹配的重载方法具有一些无效参数,我在另外一个项目里面用这个方法就有,请问这是为什么呢? 解决方案 两个项目的.net framework 版本一样么?

动易系统解决IE8网站后台编辑器无效问题

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 有不少的动易用户升级了微软的IE8正式版,但在升级后都发现动易的后台编辑器无法使用了,症状就是点击任何功能图标都没有弹出设置窗口. 微软的IE8正式版已于2009年3月20日正式发布了,也有不少的动易用户升级了自己的浏览器,但在升级后都发现动易的后台编辑器无法使用了,症状就是点击任何功能图标都没有弹出设置窗口,经过搜索了一下,终于找到了解决I