Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1630869
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: LINUX

2010-06-25 15:33:55

在XWindow环境中创建一个全屏窗口有两个关键点,第一窗口左上角在(0, 0)并且和所在Screen等宽等高,第二,该窗口不需要窗口管理器的管理,即设置override_redirect属性为True;下面是一个例子:

#include<X11/Xlib.h>

int main(int argc, char *agrv[])
{
XSetWindowAttributes winattrs;
int swidth;/*屏幕宽度*/
int sheight;/*屏幕高度*/
int winmask;
Display *display;
int screen;
Window window;

display = XOpenDisplay(getenv("DISPLAY"));
screen = DefaultScreen(display);
swidth = DisplayWidth(display, screen);/*获取屏幕宽度*/
sheight = DisplayHeight(display, screen);/*获取屏幕高度*/
window = XCreateSimpleWindow(display, XDefaultRootWindow(display), 0, 0, swidth, sheight, 0, 0, 0);
winattrs.override_redirect = True;
winmask = CWOverrideRedirect;/*指定只对override_redirect属性做改变*/
XChangeWindowAttributes(display, window, winmask, &winattrs);

XMapWindow(display, window);

while(1)
{
/*event loop*/
}

return 0;
}


阅读(2204) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~