Xlib 隐藏然后显示原始状态的 window
Xlib hide and then show a window in its original state
我注意到如果取消 window 的映射,当我将其映射回来时,它会最大化
状态以及恢复到的大小和位置都丢失了(Ubuntu
10).有没有办法获得正常的 size/pos 这样我就可以把它放回去
映射之前?还是我必须通过调整大小事件自己跟踪它
(如果可能的话)?
谢谢。
当我注意到同样的事情时,这出现在搜索中......所以我不确定我的答案是最好的,但在查看了我的 window 经理的源代码和尽可能多的文档之后我可以(Xlib 手册页、ICCCM、EWMH 规范),但我找不到任何自动完成的东西。在我的实验和我的 window 经理的源代码中,XWithdrawWindow 与 XUnmapWindow 的作用基本相同,这是我最好的选择。
看Qt的源码,调用show()方法的时候也有调整大小的调用。所以至少在某些情况下必须有必要,如果不是全部的话。
Sooo 我认为答案是您需要自己跟踪它。 ConfigureNotify
事件会告诉您何时调整大小并且我相信会感动。您也可以观察其他属性,例如通过事件最大化。如果您跟踪这些,您可以将 window 移回原位。
或者您可以在取消映射之前使用 XGetGeometry(以及其他原子状态)询问大小。
我注意到如果取消 window 的映射,当我将其映射回来时,它会最大化 状态以及恢复到的大小和位置都丢失了(Ubuntu 10).有没有办法获得正常的 size/pos 这样我就可以把它放回去 映射之前?还是我必须通过调整大小事件自己跟踪它 (如果可能的话)?
谢谢。
当我注意到同样的事情时,这出现在搜索中......所以我不确定我的答案是最好的,但在查看了我的 window 经理的源代码和尽可能多的文档之后我可以(Xlib 手册页、ICCCM、EWMH 规范),但我找不到任何自动完成的东西。在我的实验和我的 window 经理的源代码中,XWithdrawWindow 与 XUnmapWindow 的作用基本相同,这是我最好的选择。
看Qt的源码,调用show()方法的时候也有调整大小的调用。所以至少在某些情况下必须有必要,如果不是全部的话。
Sooo 我认为答案是您需要自己跟踪它。 ConfigureNotify
事件会告诉您何时调整大小并且我相信会感动。您也可以观察其他属性,例如通过事件最大化。如果您跟踪这些,您可以将 window 移回原位。
或者您可以在取消映射之前使用 XGetGeometry(以及其他原子状态)询问大小。