diff --git a/plugins/org.jkiss.dbeaver.core.application/plugin.xml b/plugins/org.jkiss.dbeaver.core.application/plugin.xml
index 2890df520d4959f28f453c8e8915f927b7e25890..9558ef580c55b857b8a9d9e552de1a408f8c4dfa 100644
--- a/plugins/org.jkiss.dbeaver.core.application/plugin.xml
+++ b/plugins/org.jkiss.dbeaver.core.application/plugin.xml
@@ -46,7 +46,9 @@
+
+
diff --git a/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF b/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
index 17b330122276e3b1dfb6d8c7501de8adf09504ab..9406841457f86b462b3bd41529df1796b7df802e 100644
--- a/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
+++ b/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
@@ -62,6 +62,7 @@ Export-Package: org.jkiss.dbeaver,
org.jkiss.dbeaver.ui.dialogs.sql,
org.jkiss.dbeaver.ui.editors.object.struct,
org.jkiss.dbeaver.ui.dialogs.tools,
+ org.jkiss.dbeaver.ui.e4,
org.jkiss.dbeaver.ui.dnd,
org.jkiss.dbeaver.ui.editors,
org.jkiss.dbeaver.ui.editors.binary,
@@ -124,6 +125,9 @@ Require-Bundle: org.eclipse.core.runtime,
org.jkiss.utils;visibility:=reexport,
com.jcraft.jsch,
org.objectweb.asm,
+ org.eclipse.e4.ui.model.workbench,
+ org.eclipse.e4.ui.workbench.swt,
+ org.eclipse.e4.ui.workbench.renderers.swt,
org.eclipse.e4.ui.css.core,
org.eclipse.e4.ui.css.swt
Bundle-Vendor: JKISS
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverRendererFactory.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverRendererFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..6afc8aac301b83c8b645af37dcc92d452111613a
--- /dev/null
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverRendererFactory.java
@@ -0,0 +1,25 @@
+package org.jkiss.dbeaver.ui.e4;
+
+import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer;
+import org.eclipse.e4.ui.model.application.ui.MUIElement;
+import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
+import org.eclipse.e4.ui.workbench.renderers.swt.WorkbenchRendererFactory;
+
+public class DBeaverRendererFactory extends WorkbenchRendererFactory {
+ private DBeaverStackRenderer stackRenderer;
+
+ public DBeaverRendererFactory() {
+ }
+
+ @Override
+ public AbstractPartRenderer getRenderer(MUIElement uiElement, Object parent) {
+ if (uiElement instanceof MPartStack) {
+ if (stackRenderer == null) {
+ stackRenderer = new DBeaverStackRenderer();
+ super.initRenderer(stackRenderer);
+ }
+ return stackRenderer;
+ }
+ return super.getRenderer(uiElement, parent);
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverStackRenderer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverStackRenderer.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f05f0492b0684a1a51c25e9b42a242b6dd4d086
--- /dev/null
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/e4/DBeaverStackRenderer.java
@@ -0,0 +1,18 @@
+package org.jkiss.dbeaver.ui.e4;
+
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+
+public class DBeaverStackRenderer extends StackRenderer {
+
+ @Override
+ protected void populateTabMenu(Menu menu, MPart part) {
+ super.populateTabMenu(menu, part);
+
+ new MenuItem(menu, SWT.SEPARATOR);
+ }
+
+}
\ No newline at end of file