c - 如果新窗口为 x11,则自动对焦

标签 c window x11 xlib

当我使用 x11 和 XCreateSimpleWindow 创建新窗口时,我观察到键盘焦点自动转到这个新窗口。有什么方法可以防止这种自动对焦吗?

最佳答案

这是窗口管理器的一个功能。改变这种行为对于不同的 WM 来说是不同的。大多数(如果不是全部)的行为将如您在新窗口中所描述的那样。如果您只想对正在创建的特定新窗口执行此操作,您可以尝试将类型设置为通常不会获得焦点的类型(例如 _NET_WM_WINDOW_TYPE_TOOLTIP),但这样您可能不会得到任何装饰或任何东西。您还可以在映射之前查看当前哪个窗口具有键盘焦点,然后在映射后将其更改回来。可能还有其他解决方案,具体取决于您想要做什么。

关于c - 如果新窗口为 x11,则自动对焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54140669/

相关文章:

python - clang : error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

linux - XCreateWindow 提供了一个与现有窗口冲突的窗口 ID

c - 在 C 中的双字符指针中查找字符串的方法?

c - 段错误:11 in C

c - 是否有任何编译器/预处理器技巧来调试打印枚举名称?

c - 使用 write() 系统调用写一个完整的缓冲区

JavaScript:用浏览器打开窗口

android - 在 Android 中,什么是窗口插入?

c++ - C++中的X11-调整窗口大小时只要设置ResizeRedirectMask,就会发生裁剪

JQuery 如何在向上或向下滚动时调整 div 大小