Very large tabs in Eclipse panes on Ubuntu
EclipseUbuntuUser InterfaceGtkEclipse Problem Overview
My question is very similar to Stack Overflow question https://stackoverflow.com/questions/2743647.
I have tried the solutions presented, but they appear to be old. I have found a solution that nicely handles the toolbar and menus, but not a solution that reduces the size and padding of the disproportionately large tabs (and label) within the panes (see the tab "Package Explorer" in the screen below).
I am happy with the way my OS-wide GTK theme is customized and don't want to change that. Is there a quick fix to reduce the tab sizes of the panes in Eclipse?
I'm using Eclipse for Mobile Developers (Juno) on Ubuntu 12.04. I'll also mention that I really like the way Eclipse appears out of the box in Windows 7, so something similar to that would be ideal.
Here are the eclipse specific GTK styles I'm using:
style "eclin" {
GtkButton::default_border={1,1,1,1}
GtkButton::default_outside_border={1,1,1,1}
GtkButtonBox::child_min_width=0
GtkButtonBox::child_min_heigth=0
GtkButtonBox::child_internal_pad_x=0
GtkButtonBox::child_internal_pad_y=0
GtkMenu::vertical-padding=1
GtkMenuBar::internal_padding=1
GtkMenuItem::horizontal_padding=4
GtkToolbar::internal-padding=1
GtkToolbar::space-size=1
GtkOptionMenu::indicator_size=0
GtkOptionMenu::indicator_spacing=0
GtkPaned::handle_size=4
GtkRange::trough_border=0
GtkRange::stepper_spacing=0
GtkScale::value_spacing=0
GtkScrolledWindow::scrollbar_spacing=0
GtkExpander::expander_size=10
GtkExpander::expander_spacing=0
GtkTreeView::vertical-separator=0
GtkTreeView::horizontal-separator=0
GtkTreeView::expander-size=12
GtkTreeView::fixed-height-mode=TRUE
GtkWidget::focus_padding=0
font_name="Liberation Sans,Sans Regular 8"
}
class "GtkWidget" style "eclin"
style "eclin2" {
xthickness=1
ythickness=1
}
class "GtkButton" style "eclin2"
class "GtkToolbar" style "eclin2"
class "GtkPaned" style "eclin2"
Here is a screenshot of what my IDE looks like with the huge tabs:
Eclipse Solutions
Solution 1 - Eclipse
You can edit Eclipse's CSS instead of messing with the GTK theme.
In your Eclipse directory find the file plugins/org.eclipse.platform_4.2.*/css/e4_default_gtk.css
(there's an *
in there, because I guess that the version may change in the future or may be different already). In this file there's a CSS class:
.MPartStack {
font-size: 11;
swt-simple: false;
swt-mru-visible: false;
}
And you have two possible solutions:
- change
font-size
to something smaller - just comment out or remove
font-size
from this class (works well for me)
And that should do the trick.
Solution 2 - Eclipse
Style of tabs can be changed in Eclipse 4.2 by editing CSS. You can change styles directly in Eclipse Preferences window after installing the E4 CSS editor plug-in.
Go to menu Help > Install new software, then install E4 CSS editor (Incubation)
plug-in using Eclipse 4 update site (add this link: http://download.eclipse.org/e4/updates/0.12).
After restart, go to Window > Preferences, General > Appearance and now you can edit styles here for any selected theme.
I am using this style for tabs:
.MPartStack {
font-size: 9;
font-family: Liberation Sans;
swt-tab-renderer: null;
swt-tab-height: 22px;
swt-selected-tabs-background: #FFFFFF #ECE9D8 100%;
swt-simple: false;
swt-mru-visible: false;
}
You can specify tabs height using the swt-tab-height
option. It's value sets tab height ignoring the font size.
Solution 3 - Eclipse
I also wanted to reduce especially the horizontal space in order to fit more tabs, as Eclipse lacks multi-row tabs.
These instructions will go for any platform (not limited to e.g. Ubuntu/GTK).
What I did was:
- Reduced the font size
- Changed font to something horizontal-compact
- Removed the X (close tab) button
...yielding the following result on my system (Win 7):
...and this is how it's done:
-
Check what CSS layout you're using: Preferences->General->Appearance-> check value of 'Theme:' listbox
-
Open the corresponding file in
<eclipse folder>\plugins\org.eclipse.platform_<your version>\css
, e.g.e4_default_win7.css
-
Modify
.MPartStack
entries to set font size and font, e.g.:.MPartStack { font-size: 8; font-family: 'Arial Narrow'; swt-simple: true; swt-mru-visible: false; }
-
Add the following entry to remove the X (close icon):
CTabItem { swt-show-close: false !important; }
That's it!
Solution 4 - Eclipse
Eclipse is now (4.5 Mars) defaulting to GTK3 on Linux. For 4.6 a fix seems to be alredy merged.
Changing SWT_GTK3
environment variable works for Eclipse Mars:
$ export SWT_GTK3=0
or set that variable inline with running eclipse
$ SWT_GTK3=0 /path/to/eclipse/eclipse
To kill it dead just drop this in the root as eclipse.sh:
#!/bin/bash
SWT_GTK3=0 exec env "${0%.sh}"
Solution 5 - Eclipse
You may try the theme from https://github.com/jeeeyul/eclipse-themes.
After install this theme, apply it by choosing the theme in Window > Preferences > General > Appearence > Jeeeyul's themes.
And to solve the large tab problem, please refer to https://github.com/jeeeyul/eclipse-themes/wiki/Linux-Huge-Toolbar-Problem.
It's easy and beatiful. Enjoy it!
Solution 6 - Eclipse
An alternative way is to select:
System settings > Universal access > Text size as small.