指针

当我们在前几页介绍弹出式窗口的时候,我们注意到创建弹出式窗口时你必须提供一个定位器对象。之所以我们告诉你不必担心这个问题,只需要使用默认值,是因为这是一个复杂的接口,在当时是无关紧要的。现在,我们将深入探讨这个复杂的接口。

当你打开一个弹窗时候,它是在一个窗口系统中显示的,该系统有些你客户端不知道的限制。例如,Wayland 客户端不知道它们在屏幕上显示的位置。因此,如果右键单机窗口,则客户端缺失了必要信息来进行决策,可能出现弹窗越过屏幕边缘的情况。定位器就是为了解决这些问题而设计的,它让客户端指定弹出式窗口移动方式或调整大小的某些约束条件,然后混成器在完全掌握全局的情况下,可以对如何使用作出最终决定。

基本请求

<request name="destroy" type="destructor"></request>

当你完成的时候,这个请求会销毁定位器。你可以在创建弹出窗口后调用此功能。

<request name="set_size">
  <arg name="width" type="int" />
  <arg name="height" type="int" />
</request>

set_size 请求用于设置正在创建的弹出窗口的大小。

所有使用使用定位器的客户端都将会用到这两个请求。现在,让我们来看一个更有趣的请求。

锚定