把gnome的面板(任务栏)定制成win7那样。注:形似神不似

桌面秀,不同桌面、不同风格。
回复
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#1

帖子 fanhe » 2010-05-07 23:37

我喜欢win7的任务栏的样子,win2-7的项目不错,但是不喜欢把整个主题都换了,只想改个任务栏(面板),所以有以下文章

首先,必须说清楚,是形似神不似
效果看下图,有兴趣的话就往下看(带箭头的两个图标是那个抽屉面板小程序)
Screenshot-1.jpg
---------------------------------------------------------------------------------

1、去掉主菜单(图中左下角的那个图标就是主菜单)丑陋的小箭头
网上搜索到的修改源码的方法,如果你怕麻烦又不介意那个小箭头的话就可以跳过这一步
添加源

代码: 全选

deb-src http://debian.ustc.edu.cn/ubuntu/ lucid main universe restricted multiverse
刷新,然后在某目录下

代码: 全选

sudo apt-get source gnome-panel
解压后找这个文件编辑
gnome-panel-(版本)/gnome-panel/panel-menu-button.c
搜索 has-arrow
会找到如下

代码: 全选

"has-arrow", TRUE,
把 True 改成 False
然后在 gnome-panel-(版本)下(如果有权限问题,前两个命令也加 sudo)

代码: 全选

./configure
make
sudo make install
killall gnome-panel
如果你用的是10.04的话,可以直接用下面的附件安装
gnome-panel_2.30.0-0ubuntu1_i386.deb
修改过的包
(401.23 KiB) 已下载 115 次
2、修改主题文件
我是直接到主目录下的 .themes 目录下复制一份elementary然后修改里面的gtk-2.0/gtkrc的
然后先把所有关于 panel的项目删除掉,在后面添加如下内容(代码杂七杂八,参考win2-7项目的代码改的,未整理)

代码: 全选

###################### GNOME PANEL ######################

style "elementary-panel"
{
	xthickness		= 1#mod 4
	ythickness		= 0

#mod	bg_pixmap[NORMAL]	= "/Panel/panel.png" # Disable for normal panel backgrounds.

#mod	engine "murrine" {
#		textstyle = 1
#		roundness = 0
#	}
}

style "elementary-panel-light"
{
	xthickness		= 4
	ythickness		= 0

	fg[NORMAL]	= @fg_color

#mod	engine "murrine" {
#		textstyle = 1
#		roundness = 0
#	}
}

style "elementary-panel-text"
{
	fg[NORMAL]	= "#4D4D4D"
	fg[PRELIGHT]	= "#4D4D4D"
	fg[ACTIVE]	= "#ffffff"
	text[NORMAL]	= "#4D4D4D"
	text[PRELIGHT]	= "#4D4D4D"
	text[ACTIVE]	= "#ffffff"

}

style "elementary-main-menu-text" = "elementary-panel-text"
{
	fg[PRELIGHT]	= "#ffffff"
	text[PRELIGHT]	= "#ffffff"
}

style "panel-handle" 
{
engine "pixmap"
  {
    image
    {
      function            = HANDLE
      file                      = "Panel/panel-handle-black-24.png"
      border                    = { 0, 0, 0, 0 }
      stretch                   = TRUE
      orientation            = VERTICAL
    }
    image
    {
      function            = HANDLE
      file                      = "Panel/panel-handle-black-24.png"
      border                    = { 0, 0, 0, 0 }
      stretch                   = TRUE
      orientation            = HORIZONTAL
    }
  }
}

style "panelbuttons-black"
{

  fg[NORMAL]		= "#ffffff"
  fg[PRELIGHT]		= "#ffffff" # text on buttons (hover)
  fg[ACTIVE]		= "#ffffff" # text on unfocused tabs
  fg[SELECTED]		= "#ffffff" # selected text on lists
  fg[INSENSITIVE]	= "#ffffff" # greyed "unused" text

  xthickness	= 2
  ythickness	= 1

  GtkWidget::focus_padding = 2

	engine "pixmap" {

		image
		{
			function		= BOX
			recolorable	= TRUE
			state			= ACTIVE
# Blue active panel button
#			file			= "Panel/panelbutton_black_1.png"
# Black active panel button
			file			= "Panel/panelbutton_black_3.png"
			border		= { 4, 4, 4, 4 }
			stretch		= TRUE
		}

		image
		{
			function		= BOX
			recolorable	= TRUE
			state			= PRELIGHT
			file			= "Panel/panelbutton_black_1.png"
			border		= { 4, 4, 4, 4 }
			stretch		= TRUE
		}

		image
		{
			function		= BOX
			recolorable	= TRUE
			state			= NORMAL
			file			= "Panel/panelbutton_black_2.png"
			border		= { 4, 4, 4, 4 }
			stretch		= TRUE
		}

		image
		{
			function		= BOX
			recolorable	= TRUE
			state			= INSENSITIVE
			file			= "Panel/panelbutton_black_2.png"
			border		= { 4, 4, 4, 4 }
			stretch		= TRUE
		}  

	}

}

##################################
# Panel
##################################

widget "*PanelWidget*"			style "elementary-panel"
widget "*PanelApplet*"			style "elementary-panel"
widget "*fast-user-switch*"		style "elementary-panel"
widget "*CPUFreq*Applet*"		style "elementary-panel"
widget "*indicator-applet*"		style "elementary-panel"
class "PanelApp*"			style "elementary-panel"
class "PanelToplevel*"			style "elementary-panel"
widget_class "*PanelToplevel*"		style "elementary-panel"
widget_class "*notif*"			style "elementary-panel"
widget_class "*Notif*"			style "elementary-panel"
widget_class "*Tray*"			style "elementary-panel" 
widget_class "*tray*"			style "elementary-panel"
widget_class "*computertemp*"		style "elementary-panel"
widget_class "*Applet*Tomboy*"		style "elementary-panel"
widget_class "*Applet*Netstatus*"	style "elementary-panel"

# Fixes for tooltip text in some apps.
widget_class "*Notif*Beagle*"		style "elementary-panel-light"
widget_class "*Notif*Brasero*"		style "elementary-panel-light"

# XFCE panel theming.
widget "*Xfce*Panel*"			style "elementary-panel"
class "*Xfce*Panel*"			style "elementary-panel"

# Make sure panel text color doesn't change
widget_class "*Panel*MenuBar*"		style "elementary-main-menu-text"
widget_class "*Panel*<GtkMenuBar>*"	style "elementary-main-menu-text"
widget "*.clock-applet-button.*"	style "elementary-panel-text"
widget "*PanelApplet*"			style "elementary-panel-text"

# 去除一些面板程序前面的把手
class "PanelAppletFrame" 				style "panel-handle"

widget "*PanelApplet*" 					style:highest  "elementary-panel"
widget "*PanelWidget*" 					style:highest  "elementary-panel"
widget_class "Panel*GtkToggleButton"			style:highest  "panelbuttons-black"
widget_class "Panel*GtkButton"				style:highest  "panelbuttons-black"
widget "*PanelWidget*" 					style "panelbuttons-black"
widget "*PanelApplet*" 					style "panelbuttons-black"
widget_class "*PanelButton*." 				style "panelbuttons-black"
还要几个图片的,看附件,把panel文件夹放到你的gtk-2.0里面
如果你平时是用elementary的话,可以直接用附件的elementary主题,我只修改了panel部分还有137行的xthickness而已
Test.tar.gz
(160.22 KiB) 已下载 107 次
3、dockbarx
打开ubuntu-tweak,添加dockbarx的ppa源安装
或者下载下面的附件安装,然后添加到面板就行了,再加个主题,附件,推荐tonkybar或者shinybar系列
dockbarx_0.30.0-0~ppa1_all.deb
最新的ppa的deb
(148.18 KiB) 已下载 90 次
themes.tar.bz2
dockbarx的主题,放到~/.dockbarx
(66.55 KiB) 已下载 87 次

4、修改显示桌面图标
其实就是修改图标主题,把32x32的user-desktop.png更换成一张12x32的透明图片就行了,当然,面板要调到32像素以上才行
见附件,下载后替换你当前的图标主题32x32尺寸的同名文件,一般在places目录里
user-desktop.png
user-desktop.png (94 Bytes) 查看 3327 次
5、修改面板背景
面板→右键属性→背景→背景图片→选择上面附件panel文件夹里面的一张图片,例如我选的是Panel_Win2-7White.png

应该就可以的了
以上仅作参考,具体自己参透
上次由 fanhe 在 2010-05-08 10:03,总共编辑 3 次。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#2

帖子 fanhe » 2010-05-07 23:38

附件待传
论坛网速很有问题
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#3

帖子 leeaman » 2010-05-07 23:43

支持,那个小箭头直接gimp透明也可以的,源码好麻烦的说
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#4

帖子 fanhe » 2010-05-07 23:51

leeaman 写了:支持,那个小箭头直接gimp透明也可以的,源码好麻烦的说
告诉我改哪个文件,我google了很长时间只搜索到改源码的
顺便告诉我怎么去掉“抽屉”的箭头去掉

其实那个修改源码可以很简单的,我改了后打包了一个deb,10.04只要安装就行了,但是我已经删了
怕麻烦不介意就行了
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#5

帖子 leeaman » 2010-05-07 23:57

你用那个主题就改那个主题的..我也google到修改源码...吓死我了,不会 :em01
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#7

帖子 fanhe » 2010-05-08 0:08

leeaman 写了:你用那个主题就改那个主题的..我也google到修改源码...吓死我了,不会 :em01
图标主题还是gtk主题,晕死
明天我打包一个修改好的deb好了
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#8

帖子 leeaman » 2010-05-08 0:22

呵呵,支持打包,gtk主题里面改
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
dragonster
帖子: 5
注册时间: 2010-04-29 12:10

Re: 把gnome的面板(任务栏)定制成win7那样。注:形似神不似

#9

帖子 dragonster » 2010-11-09 18:54

我也有同样的想法,感谢前辈的慷慨指点,只是一句(代码杂七杂八,参考win2-7项目的代码改的,未整理)让我这个linux菜鸟又有点怕了,望前辈做一个更好的deb包。万分期待中。 :em11
回复