+ if (root == null) {
+ createRootTerminal();
+ return true;
+ }
+ TWidget active = root.getActiveChild();
+ TSplitPane split = active.splitHorizontal(false,
+ new TTerminalWidget(getDesktop(), active.getX(),
+ active.getY(), active.getWidth(), active.getHeight(),
+ new TAction() {
+ public void DO() {
+ if (source.getParent() instanceof TSplitPane) {
+ ((TSplitPane) source.getParent()).removeSplit(source, true);
+ } else if (source == root) {
+ assert (root != null);
+ root.remove();
+ root = null;
+ }
+ }
+ }));