布局与网格
小部件如何定位、缩放与吸附,以及为什么一套布局能扛过更换显示器。
位置是按比例的,不是按像素
小部件的位置和大小以屏幕的分数保存,而不是像素坐标。位于 x: 0.5 的小部件,在任何显示器上都从横向中点开始。
这正是布局能扛过硬件更换的原因。在更大的显示器上打开同一套布局,每个小部件都会按比例变大,相对排布保持不变。既不会在小屏边缘被裁掉,也不会在大屏一角挤作一团。
两个轴各自独立处理,因此在宽高比不同的屏幕之间搬动布局时是拉伸而不是加黑边。这是刻意的取舍:保住整体排布比保住每个小部件的精确形状更重要。
放置、移动、缩放
新小部件自带一个以像素为单位的默认尺寸,在落下的那一刻换算成当前屏幕的一个分数。因此刚放下的小部件在任何显示器上都有合理的物理尺寸,之后才按比例缩放。
在编辑模式下,每个小部件有八个控点:四角与四边。角会在两个轴上各拖动一条边;边控点只移动它自己那条边,让对边和另一整个轴保持原位。缩放绝不会碰你没有动的那几条边。
始终有两条约束:
- 在当前屏幕上 64 像素的最小尺寸,使小部件不至于被缩成一无所有。
- 完全限位:拖动、缩放和放置过程中小部件都会被限制在屏幕内,因此没有东西能被推到屏幕外一半。
吸附
拖动时有吸附辅助,帮助小部件彼此对齐以及与屏幕对齐。小部件之间的间距可按喜好调整,该值按视图保存。
容器
三个容器小部件会改变其内容的排布方式:
- 堆叠:多个小部件共用一个外框,一次显示一个。
- 标签页:同样如此,但带有可见的标签条用于切换。
- 分组:一块整体移动和缩放的区域,不重新排布其中的内容。
容器之间不会互相嵌套。当你正在往一个容器里添加内容时,小部件选择器会隐藏容器类型,而不是给出一张根本加不进去的卡片。
弹出窗口
内容类和编辑类小部件可以在自己带边框的桌面窗口中打开。小部件在桌面层与窗口之间移动时保持物理尺寸,因此弹出时不会突然变大变小。
这些保存在哪里
布局按视图保存在你的机器上,与 Themia 的其余配置放在一起,并包含在导出与导入之中。