将Notion窗口管理器中的工作区拆分

我使用 Notion 窗口管理器 (http://notion.sourceforge.net/) 已经几周了。我想知道是否有可能创建一个键绑定,像 META+S 和 META+K S 一样将工作区拆分成水平和垂直的框架。

因此,如果我在工作区中有两个垂直的框架,就像这样:

-----
|1|2|
| | |
| | |
| | |
-----

横向拆分的键绑定应该添加一个水平跨越整个工作区的新框架:

-----
|1|2|
| | |
-----
| 3 |
-----

目前的 META+S 只在所选框架中水平分割:

-----
|1|2|
| | |
|-| |
|3| |
-----

有没有办法在 Notion 中完成整个工作区的水平或垂直拆分?

点赞
用户258523
用户258523

是的,你可以。

你可以把你的binding放在workspace context中,或者从frame/mplex context里查找管理workspace并对它调用split。

(我想发一些代码和更具体的术语,但是我现在不在Notion机器前,而且不想通过使用错误的术语来混淆事情。)

2014-06-30 17:13:11
用户1997707
用户1997707

我想到的解决方案是在cfg_tiling.lua中的split_top函数中添加一个按键绑定。为了水平拆分,我添加了:

kpress(META..“Z”,“WTiling.split_top(_, 'bottom')”)

到WTiling defbindings函数中。我还添加了

kpress("Z", "Wtiling.split_top(_, 'left')")

到子映射META.."K"绑定中。

split_top函数拆分分裂树的根。这将创建一个拆分整个工作区的新框架,而不是当前框架。

我注意到的一个大小问题是它将尝试将工作区拆分成两半。如果有一个水平框架拆分了一个工作区,split_top会将它调整为最小尺寸并在其下方添加一个新框架。如果有一个垂直框架,将在添加新框架时变为约10个像素宽。 水平大小问题。新框架的高度为0:

开始 -> Mod1+Z ->Mod1+Z

-1--2--  -1--2--  -1--2--
|  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |
-3-----  -3-----  -3-----
|     |  -4-----  -4-----
|     |  |     |  -5-----
|     |  |     |  |     |
|     |  |     |  |     |
-------  -------  -------

垂直大小问题。新框架的宽度为0:

开始      -> Mod1+K Z  -> Mod1+K Z
-1----2----  -4--1-2----  -5-41-2----
|    |    |  |   ||    |  |  |||    |
|    |    |  |   ||    |  |  |||    |
|    |3---|  |   ||3---|  |  |||3---|
|    |    |  |   ||    |  |  |||    |
|    |    |  |   ||    |  |  |||    |
-----------  -----------  -----------

另一个问题是焦点不会自动切换到新创建的框架。按Mod1+Z将创建框架,但用户必须按Mod1+TAB切换到框架来操作它。

这只是一个开始,全面的解决方案将检查已经拆分工作区的框架并代替拆分它们,并将焦点改变到新框架。

2014-07-03 01:12:22