问题标签 [x11]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
32722 浏览

cross-platform - 从 Windows 进行 Linux 开发的最佳设置?

从 Windows 工作站开发 Linux 应用程序的最佳设置是什么?现在我通过 SSH 连接到我们的 Linux 开发服务器并使用 Eclipse,通过 PuTTY 通过 SSH 转发到我的 Windows 工作站上运行的 Xming 的公共域版本。它有效,但不是很好;Eclipse 的响应时间远非快速(明显比在我慢得多的 Windows 工作站上本地运行的 Eclipse 差),我无法调整某些对话框的大小,而且我还没有找到重新配置字体的好方法。

有更好的设置吗?

编辑:这是用于 C/C++ 开发的。

0 投票
3 回答
516 浏览

c - 为什么 XDrawString 不采用“const char *”?

从 X11 看 XDrawString 的声明,它是

为什么第 6 个参数是类型“char *”而不是“const char *”?绘制字符串需要修改它吗?我见过很多人们传递常量字符串的例子。那不安全吗?

0 投票
3 回答
1036 浏览

unix - Linux 系统剪贴板是否在文件系统中作为设备表示?

如果不是为什么不呢?如果考虑到多实例和多用户问题,似乎读取、写入和附加到它会更加灵活。

0 投票
4 回答
18346 浏览

x11 - 如何知道哪个窗口有焦点以及如何改变它?

我想知道如何询问 X11 哪些窗口有焦点。如果出于任何原因我自己的应用程序(可能可见或不可见)获得焦点,我希望能够让以前的窗口再次获得焦点。

例如,我的应用程序与许多其他应用程序一起运行(例如 firefox、gvim、nautilus、...)

假设一开始 Firefox 有焦点,并且用户点击了我现在拥有焦点的应用程序。我希望我的应用程序再次关注 Firefox。

有谁知道如何实现这一目标?书籍推荐会非常好。

非常感谢。

0 投票
3 回答
10669 浏览

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

我想监控X11下所有打开的窗口。目前,我这样做如下:

  1. 最初通过从根窗口递归调用 XQueryTree 来遍历整个树
  2. 监听整个桌面的子结构变化:XSelectInput( display, root_window, SubstructureNotifyMask | PropertyChangeMask )
  3. 处理所有 MapNotify、UnmapNotify 和 DestroyNotify 事件,在进程中更新我自己的窗口列表

我主要担心第1点。在递归过程中,XQueryTree会被多次调用。有什么办法可以确保树在此期间不会改变?换句话说,在某个时间点获取整棵树的“快照”?

另外,我注意到在某些 X11 系统下,并非所有事件都正确到达。例如,当在桌面上打开一个新窗口时,该窗口的 MapNotify 可能永远不会到达我的监控应用程序。怎么会这样?是否有可能在到达之前被丢弃?

更新:

我编写了一个小程序来监视根窗口上的 X 事件(见下文)。现在,当我运行这个程序并启动和退出 xcalc 时,我得到以下输出:

而已。我从来没有收到关于真实窗口(0x4a0005b)被破坏的通知。甚至没有被映射!谁能告诉我为什么不呢?SubStructureNotifyMask 是否只导致发送直接子窗口的事件而不是整个子树?

顺便说一句,这显然不会在 Compiz 运行时发生。然后不进行重新父项:

监控程序来源:

0 投票
6 回答
483 浏览

automation - 为什么更多的编程语言没有内置的窗口管理器接口?

编程是在计算机上自动执行任务的核心。
据推测,这些任务通常由人手动完成。
人类通过键盘、鼠标以及与控制台或窗口管理器的交互来使用计算机。
但是很少有语言内置了为这些基本计算对象提供接口的函数。

一个值得注意的例外是 autohotkey,它是 Windows 上的一种开源语言,它提供了允许执行以下简单任务的内置函数:
* 获取像素信息
* 获取鼠标位置
* 键盘宏
* 模拟击键
* 模拟鼠标点击
* 窗口管理
请参阅rosettacode上的示例。

linux上有过各种尝试,很多都没有解释就停止了。一个是不活跃的 tcl 库:android. 在 google 代码中搜索 android, lang:tcl

0 投票
2 回答
4203 浏览

x11 - X11:获取我显示器上所有 gnome 终端窗口的列表?

我的 X 显示器上有两个 xterm 和几个 gnome-terminal 窗口处于活动状态。

但是,xlsclients 仅显示一个 gnome 终端客户端。

如何获取附加到我的显示器的 gnome-terminal 会话列表?

0 投票
1 回答
4873 浏览

x11 - gnome-terminal:如何以编程方式消除滚动条?

我正在生成一些在自己的 gnome 终端中运行的进程,并且不想显示滚动条。是否有类似xterm +sb 关闭该特定窗口的滚动条的方法?

0 投票
2 回答
5889 浏览

x11 - X11:通过命令行提升现有窗口?

给定一个 X 客户端窗口 ID,有没有办法从命令行启动该窗口?

0 投票
1 回答
24070 浏览

x11 - X11:通过命令行移动现有窗口?

给定一个 X 客户端窗口 ID,有没有办法从命令行移动该窗口或更改其几何图形?