在 Gnome 或 KDE 中以编程方式在桌面上移动应用程序窗口

2023-11-30

我想使用 C++ 程序在桌面上重新定位应用程序窗口。 我应该如何去做,我需要针对这两种情况的解决方案。

  1. 当我拥有想要移动的应用程序的源时。

  2. 通过编写外部程序来移动其他应用程序的窗口。


外部 Bash 脚本:

xdotool   search --onlyvisible --class dolphin   windowmove 13 37
#                                         ^                 ^   ^
#                                   window class            X & Y coordinates

有关这方面的更多信息,请使用xdotool search, xdotool windowmove and man xdotool.

C++ 示例:

#include <cstdlib>
#include <string>
#include <sstream>

using namespace std;

int main()
{
    string cls="dolphin";
    int x=13, y=37;

    stringstream s;
    s<<"xdotool search --onlyvisible --class "<<cls<<" windowmove "<<x<<" "<<y;

    system(s.str().c_str());

    return 0;
}

以及最低限度的例子:

#include <stdlib.h>

int main()
{
    system("xdotool search --onlyvisible --class dolphin windowmove 13 37");
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Gnome 或 KDE 中以编程方式在桌面上移动应用程序窗口 的相关文章

随机推荐

  • 颜色转换器 DSP 的 IMFTransform 接口在 SetInputType/SetOutputType 上给出 E_INVALIDARG

    我正在尝试使用 Color Converter DMO http msdn microsoft com en us library windows desktop ff819079 v vs 85 aspx 通过 Media Foundat
  • 如何识别字符串中是否包含unicode字符?

    我有一个字符串 我想知道它里面是否有 unicode 字符 是否完全包含 ASCII 我怎样才能做到这一点 Thanks 如果我的假设是正确的 您想知道您的字符串是否包含任何 非 ANSI 字符 您可以按如下方式推导它 public voi
  • 为什么Python按顺序打印一组数字

    我尝试在 python 空闲 6 3 7 中打印它 输出为 3 6 7 集合不应该是无序的并且每次打印不同的顺序吗 这与哈希图的构建方式有关吗 Python 中的集合确实是无序的 事实上 您的特定示例集在迭代时恰好以明显排序的顺序给出元素
  • 如何使底部堆叠上下文中的元素保留在另一个较高堆叠上下文的前面? [复制]

    这个问题在这里已经有答案了 如何使堆叠顺序底部的堆叠上下文中包含的元素出现在堆叠顺序较高的不同堆叠上下文中的另一个元素的前面 e g HTML div class Parent 1 div div class Parent 2 div cl
  • DebugDiag 能否像 Visual Studio 2013 一样生成具有“包含大小”的报告

    Visual Studio 2013 可以显示包含大小的列 其中包括子对象的大小 http blogs msdn com b visualstudioalm archive 2013 10 16 net memory analysis en
  • 使用 Robolectric 和 Dagger 进行 Android 测试

    我正在尝试使用 Dagger 编写 Android 应用程序 为了遵循 TDD 方法 我开始为我的第一个活动编写测试 为了编写测试 我使用 Robolectric 并尝试使用 Mockito 让它在不同的场景中工作 短篇故事 我有一个 An
  • 用多个不同的替换来替换多个不同的出现 - Swift 4.2

    试图找到执行此操作的确切格式 我有一个文本字段用户输入 我想获取该输入并查找多个出现的情况 并将每个唯一出现的情况替换为不同的分别具有独特的性格 i e 代替 example with 1328571 这是我目前拥有的代码 目前只是为单个替
  • Git 分叉实际上是 Git 克隆吗?

    我不断听到人们说他们在 Git 中 fork 代码 Git fork 听起来很像 Git clone 加上一些 无意义的 放弃未来合并的心理意愿 Git 里没有 fork 命令吧 GitHub 通过将信件钉在叉子上 使叉子变得更加真实 也就
  • 未获取格式化形式的 Xml 部分?

    我正在尝试创建一个格式完美的 xml 文件 它包括稍后被替换的元素 输出的格式不完美 xEvent包含一个完整的 xml 模板表单 如字符串 这是最相关的代码 string c2 gt string c
  • 无法在 powershell 中转义管道字符 (|)

    我试图找到文件每一行中管道 字符的数量 我正在使用以下命令来执行此操作 gc test txt select string all matches measure select count 它不包括管道符号 我也尝试过 谁能告诉我如何在 p
  • Facebook 如何解析 blogspot.com 开放图属性

    blogspot com 的某些页面不包含开放图标签 但 Facebook 对象调试器仍然可以正确解析开放图属性 它如何获取开放图信息 例如 我在中没有看到任何开放图元标记http sushiwens blogspot com 源代码 但
  • 导航栏后退按钮重叠

    I am stuck in navigationcontroller Here are screenshots 1 from this page i am initializing paypal sdk I am presenting pa
  • Play框架:包javax.inject不存在

    在我的 Play 2 0 Framework Java 项目中 以下行在 Eclipse 中和 sbt 编译步骤期间都会产生错误 import javax inject 我已经添加了javax inject对我的 build sbt 文件的
  • iOS 8 当键盘出现时将 UIView 向上移动 |问题

    我有一个UIView with a UITextField放置在屏幕底部 当键盘出现时它将向上移动 在 iOS 8 之前我一直遵循以下方法 似乎效果很好 When Keyboard appears void keyboardWillShow
  • 从 64 位代码访问 32 位 DLL

    我需要迁移 32 位 dll 以便在 64 位 C 以及 C 应用程序中使用它 该dll是用非托管delphi代码编写的 我无法重新编译 dll 唯一的方法是使用进程间通信 IPC 我搜索了很长时间 但没有找到太多相关信息 我找到的最好的指
  • OCaml“else”语法错误

    我是第一次学习 OCaml 我遇到了一个非常模糊的 语法错误 的麻烦 定义函数时generateboxes像这样 let rec generateboxes a b if a add1 b then force newline print
  • 两条弧线之间的交点? (弧 = 一对角之间的距离)

    我正在尝试找到一种方法来计算两条弧之间的交点 我需要用它来确定圆弧在视觉上有多少在右半边 有多少在左半边 我考虑创建右半部分的弧 并将其与实际弧相交 但我花了很多时间来解决这个问题 所以我想在这里问 以前肯定有人做过 编辑 很抱歉 当我在处
  • 如何在 C++ 中从二进制文件中删除部分

    我想使用 C 从二进制文件中删除部分 二进制文件大约有 5 10 MB 左右 我想做的事 搜索 ANSI 字符串 something 一旦找到这个字符串 我想删除接下来的n个字节 例如下面的1MB数据 我想删除这些字符 而不是用 NULL
  • Linq to XML(Base64 编码)

    我必须将 PDF 转换为 Base64 编码并将其写入 XML 文件中的元素 我已经得到了 Base64 编码的字符串 很长 很大 但我工作的规范如下 选择此选项是为了确保 XML 文件可以在没有任何潜在风险的情况下显示和验证 由于处理原始
  • 在 Gnome 或 KDE 中以编程方式在桌面上移动应用程序窗口

    我想使用 C 程序在桌面上重新定位应用程序窗口 我应该如何去做 我需要针对这两种情况的解决方案 当我拥有想要移动的应用程序的源时 通过编写外部程序来移动其他应用程序的窗口 外部 Bash 脚本 xdotool search onlyvisi