我有两个顶级窗口win1和win2。
我想让win2在win1移动时跟随win1,以使win2相对于win1的位置(我将其称为relpos)保持不变。也就是说,实现粘性窗口!
我的想法是在win1的ConfigureNotify中移动win2。为此,我需要知道relpos。
当移动win2时,我可以在win2的ConfigureNotify中获取(并存储)relpos。
问题在于,无论是用户移动还是程序移动,win2都会收到ConfigureNotify。有没有办法区分这两种情况?
如果没有,整个方法都失败了,那么下一个问题是:还有其他方法吗?
谢谢。
注意:我不能仅设置“moving_programmatically”标志,移动窗口,然后在ConfigureNotify上检查标志,因为X是异步的(它的最大缺点之一-许多人认为这是一个特征),而且不能保证我何时以及我得到多少ConfigureNotify事件。尝试这样做并快速移动win1,看看win2如何落后。
我想让win2在win1移动时跟随win1,以使win2相对于win1的位置(我将其称为relpos)保持不变。也就是说,实现粘性窗口!
我的想法是在win1的ConfigureNotify中移动win2。为此,我需要知道relpos。
当移动win2时,我可以在win2的ConfigureNotify中获取(并存储)relpos。
问题在于,无论是用户移动还是程序移动,win2都会收到ConfigureNotify。有没有办法区分这两种情况?
如果没有,整个方法都失败了,那么下一个问题是:还有其他方法吗?
谢谢。
注意:我不能仅设置“moving_programmatically”标志,移动窗口,然后在ConfigureNotify上检查标志,因为X是异步的(它的最大缺点之一-许多人认为这是一个特征),而且不能保证我何时以及我得到多少ConfigureNotify事件。尝试这样做并快速移动win1,看看win2如何落后。