繁体   English   中英

在不进入 X-Window 的虚拟桌面的情况下从不同的虚拟桌面控制 X-Window?

[英]Controlling an X-Window from a different virtual desktop without entering that X-Window's virtual desktop?

我在Ubuntu 20.0.4下使用XFCE4桌面环境。

我设置了几个虚拟桌面,每个虚拟桌面都包含一个或多个正在运行的应用程序。

有什么方法可以从一个桌面运行基于 X-Windows 的命令,并让它在另一个桌面上操作 window,而无需切换桌面?

例如,假设我有一个 xterm shell window 在虚拟桌面 0 中运行,并且我目前专注于虚拟桌面 0。

假设我在虚拟桌面 1 中打开了一个文本编辑器 window。

有什么方法可以让我保持专注于桌面 0 并在 xterm shell window 中运行命令,该命令会将文本发送到桌面 1 中的文本编辑器 window?

在将此文本发送到文本编辑器时,我不想看到桌面在桌面 0 和桌面 1 之间来回移动。 我想在运行此命令的整个过程中始终专注于桌面 0。

我知道我可以使用xdotool将文本发送到另一个 X window,但是当目标 window 位于当前具有焦点的同一个虚拟桌面时, xdotool似乎只有 function。 例如,我可以使用xdotool执行以下操作,但除非目标 window(在以下示例中由 $windowid 引用)在我当前查看的虚拟桌面中,否则它不会工作:

xdotool type --window $windowid Sample text

我想要的是将文本和鼠标点击发送到与我当前正在查看的桌面不同的桌面中的 windows,并让其他桌面中的 windows 接收并响应文本和鼠标点击,而无需切换到其他桌面发生。

如有必要,我愿意用 C、C++ 或几乎任何其他语言编写程序来实现此功能。

但我想知道:在 X Windows 环境中,我正在尝试做的事情是否可行?

非常感谢您的任何想法和建议。

虚拟桌面

大多数 X 服务器只有一个屏幕。 window 管理员可以虚拟化此资源并提供多个所谓的“虚拟桌面”,一次只能在屏幕上显示一个。 虚拟桌面实现的功能之间存在一些差异。 可能有固定数量的桌面,也可能会动态创建新的桌面。 桌面的大小可以是固定的或可变的。

实施说明

至少有两种实施虚拟桌面的选择。 第一种是使用多个虚拟根并通过操纵虚拟根的堆叠顺序来更改当前桌面。

第二个选项是将所有托管的 windows 保留为根 window 的子项,并取消映射那些不在当前桌面上的框架。

在任何情况下,您都应该学习扩展的 Window 管理器提示
您可能对这些属性感兴趣:

根 Window 属性

应用程序 Window 属性


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM