日期:2014-05-16  浏览次数:20642 次

[Tips] 在Linux环境下调整Eclipse中树状列表(GtkTreeView)的显示密度

如果你在Windows和Linux两个平台下都使用过Eclipse,那么你一定注意到Windows下Eclipse项目列表的显示要比Linux下紧凑许多。对于做开发的朋友来讲,在屏幕上同时看到的信息总是希望尽可能多,尽可能全,在这一点上目前的GNOME并不能让我们十分满意,它的GTK+控件本身和控件之间的间隙占掉了不少本来就很有限的屏幕空间,尤其当屏幕分辨率不是特别高的时候。

Linux版的Eclipse默认使用GTK+2.0的控件,所以在默认的情况下,会和其他GTK应用程序(如OpenOffice.org)一样给人一种不够密实的感觉。当然,这和GNOME的设计哲学不无关系,不过这不是本文主旨,就不深入讨论了,进入正题讲讲如何调整Eclipse树状列表的显示密度。

基于GTK+2.0的程序在启动时会到用户的home目录找GTK+2.0的配置文件,即~/.gtkrc-2.0,Ubuntu下默认没有这个文件,需要我们自己创建。打开你习惯的编辑器,加入如下代码:

style "eclipse" {
? font_name="Sans 8"
? GtkTreeView::vertical-separator=0
? GtkTreeView::horizontal-separator=0
}
class "GtkTreeView" style "eclipse"

重启Eclipse应该就能看到效果了。如果你想做得更彻底,对所有常用的GTK+2.0控件都开刀的话,可以这样写:

style "gtkcompact" {
? font_name="Sans 8"
? GtkButton::default_border={0,0,0,0}
? GtkButton::default_outside_border={0,0,0,0}
? 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=0
? GtkMenuItem::horizontal_padding=4
? 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=8
? GtkTreeView::fixed-height-mode=TRUE
? GtkWidget::focus_padding=0
}
class "GtkWidget" style "gtkcompact"