Articles of xorg

如何从用户代码移动鼠标光标?

我的数据来自arduino(从传感器获取)。 我想通过用户程序处理数据(从/ dev / ttyUSB0读取数据后)。 之后,我需要使用程序的输出来控制鼠标光标。 (我现在真的很想避免编写一个内核驱动程序。) 推荐的方法是什么(在Linux环境下)? 也许一个库的顶部X …或一些工具/脚本我可以直接pipe道数据到?

如何创build一个英特尔graphics“监视器插入”的callback?

我有一个英特尔graphicseeepc。 我想钩上一个脚本,通过VGA插入显示器事件。 怎么做?

xwindow剪贴板的机制

任何人都可以向我解释xwindow剪贴板的机制吗? 例如,如果我从gedit中打开一个文件并使用ctrl + c复制这个文件的内容。 然后我打开vim并使用Ctrl + V将内容粘贴到新打开的文件中。 我知道它将使用xwindow的缓冲区来存储内容。 但我很好奇它是如何在系统级别工作的。 更具体地说,底层的linux内核需要如何处理这个复制粘贴操作? 是否有与此操作相关的系统调用? 谢谢

每次按下某个键(不pipe哪个窗口都有焦点),函数callback?

我想在Linux(Ubuntu Linux 9.10)上编写一个程序(在python中),它将logging我每秒/分钟的按键次数。 这包括正常的字母键和控制/移位/空格等。 有没有办法挂钩到X,以便我可以说“当按下一个键时调用这个函数?”。 由于我想在正常工作的时候在后台运行这个函数,因此这个函数调用必须能够知道所有程序的所有按键。 我想这有点像键盘logging。 这只是一个私人的事情,所以我不在乎使它在Windows / OSX上工作,我不关心什么时候有人喜欢远程X会话等。

用bash脚本发送keycode到Xorg + wine

如何发送键码到当前正在运行的应用程序在Linux下运行的葡萄酒? 我希望它是在简单的情况下。

没有X的硬件加速

我想知道是否有可能没有Xorg和DDX驱动程序的graphics硬件加速,只有内核模块和其余的用户空间驱动程序。 我问这是因为我开始在embedded式平台上开发(比如beagleboard或者更为粗略的是德州仪器集成GPU的ARM芯片),而且我会在没有graphics服务器开销的情况下获得硬件加速(这不是需要)。 如果是的话,怎么样? 我在想OpenGL或OpengGLES的实现,或者Qtembeddedhttp://harmattan-dev.nokia.com/docs/library/html/qt4/qt-embeddedlinux-accel.html 而TI提供了大量的文档,但仍然不清楚http://processors.wiki.ti.com/index.php/Sitara_Linux_Software_Developer%E2%80%99s_Guide 谢谢。

从udev启动的脚本不再有DISPLAY访问?

当我插入外部驱动器时,我有一个从udev运行的脚本。 它一直工作。 但从Linux 3.8 / Xorg 1.12 / Mint 14 ( Ubuntu 12.10兼容)升级到Linux 3.11 / Xorg 1.14 / Mint 16 ( Ubuntu 13.10兼容)后,它不再工作。 该脚本仍然运行,但没有任何需要显示的命令工作。 我想通过退出udev守护进程并手动运行udevd –debug进行详细输出(更多下面)。 这个脚本用于Mint 14 / 12.10 : export DISPLAY=:0 UUID=$1 DEV=$2 notify-send -t 700 "mounting $DEV ($UUID)" gnome-terminal -t "Backing up home…" -x rsync long line of data zenity –warning –text="Done." […]

如何获取和同步所有X11窗口的完整列表?

我想监视X11下所有打开的窗口。 目前,我正在做这个如下: 最初通过从根窗口recursion调用XQueryTree来遍历整个树 在整个桌面上监听子结构更改: XSelectInput( display, root_window, SubstructureNotifyMask | PropertyChangeMask ) 处理所有的MapNotify,UnmapNotify和DestroyNotify事件,更新我自己的窗口列表 我主要担心第1点。在recursion过程中,XQueryTree会被多次调用。 有什么方法可以确保树在此期间不会改变? 换句话说,要在一个时间点获得整个树的“快照”? 另外,我注意到在一些X11系统下,并不是所有的事件都能正确地到达。 例如,在桌面上打开新窗口时,该窗口的MapNotify可能永远不会到达我的监视应用程序。 怎么会这样? 在抵达之前是否有可能被扔掉? 更新: 我写了一个小程序来监视根窗口上的X事件(见下文)。 现在,当我运行这个程序,并启动并退出xcalc,我得到以下输出: Reparented: 0x4a0005b to 0x1001e40 Mapped : 0x1001e40 Destroyed : 0x1001e40 而已。 我从来没有被通知被销毁的真正的窗口(0x4a0005b)。 甚至没有被映射! 谁能告诉我为什么不呢? SubStructureNotifyMask只会导致直接子窗口的事件被发送而不是整个子树? 顺便说一下,Compiz运行时,这显然不会发生。 然后没有重新完成: Mapped : 0x4a0005b Mapped : 0x4e00233 Destroyed : 0x4a0005b Destroyed : 0x4e00233 监测scheme来源: #include <X11/Xlib.h> #include […]

以编程方式确定Linux中的各个屏幕宽度/高度(带有Xinerama,TwinView和/或BigDesktop)

我正在开发一个小项目,在GNOME下的多个屏幕上显示多个壁纸(显然,GNOME本身或其他任何东西都无法完成)。 我已经想出了如何做它的主要部分(使用ImageMagick组件,好奇); 我正在尝试自动configuration系统。 要做到这一点,我需要一种方法来确定各个屏幕的尺寸。 任何人都可以给我一个提示在哪里寻找? 我认为X服务器本身就有这些信息,但是我不确定我的程序是如何要求的。