有重大改动-----2012.03.16----deb包没有对应改动,请不要再使用deb包
有重大改动-----2012.04.03----deb包没有对应改动,请不要再使用deb包,新的包在28楼。这次改动,使用bash的shell脚本取代了原来的basic脚本(此包有bug,不要下载,只是为了保留历史记录)
有重大改动-----2012.04.05----deb包没有对应改动,请不要再使用deb包,新的包在29楼请到29楼阅读相关信息
特别注意:此wharf已经停止开发,已经转成一个新的软件
新软件:viewtopic.php?f=24&t=370538
已经发现本楼层的软件有bug,29楼有更新,请到29楼下载----2012.04.07
1,软件来源:
2,界面
3,特色
4,配置方法
5,缺陷
1,软件来源:
我的这个Wharf是从puppy iconmenu改造过来的。
wharf是afterstep应用程式的停靠站,以驻列的icon来表示即将想要执行的程式,按滑鼠的左键来启动应用程式,按滑鼠的右鍵可以将整排驻列收成一个icon。按键列上的每一个button也可以是一个folder,也就是说,当你点选这个button之後,实际上是内含了一排button可以点选,就有如抽屉一般。
Fvwm也有fvwmwharf,这个和afterstep的wharf一样的,正因为有这个,fvwm模拟afterstep就非常的容易。
可是这两个Wharf都是不能独立运行的,需要先启动起来afterstep及Fvwm,不能在其他Window manager里面运行。
另外,wmaker也有wharf,是通过dockapp实现的,常用的是wmdrawerrc,有兴趣的可以尝试一下,不过他通用行也不强,主要也是在Fvwm、Afterstep、wmaker里面用。
我曾经尝试使用这几种WM,感觉虽然不是十分喜欢他们的WM,但是较喜欢这种Wharf,希望他能够在其他Window manager里面运行。一开始的思路是找到afterstep及Fvwm的源程序,看看能不能把Wharf部分单独“抠”出来,做一个独立的包,研究以后发现凭我的能力,基本做不到。
unity的侧边栏,也是类似wharf的风格,只是它没有folder,而且还能用来切换已经打开的程序。
正在我要灰心时,我找到了下面的网址:
http://www.murga-linux.com/puppy/viewtopic.php?t=4407
,据说在puppy环境下仿照afterstep的wharf开发的,不过它是2005年发布的,基于puppy的。
他需要imlib2和PuppyBasic,我下载了他的安装包,在puppy内安装使用,效果一般,因为他为了配合puppy,使用的的是22x22的图片和图标,太小,很难看,而且中文乱码。
然后发现他有源程序,C语言配合Basic开发的,我研究了一上午源代码,居然勉强看懂他的原理了。他依赖puppy的只是一个PuppyBasic,一个Basic语言解释器。然后我把他这个Basic语言解释器从puppy内复制出来,放到了puppy iconmenu的目录里面。然后回到ubuntu安装了imlib2:
(2012.04.03重大改动,舍弃Basic,改用bash的shell重写,已经不再需要basic的解释器了)
代码: 全选
sudo apt-get install libimlib2
2,界面:
如下图左边:
最新的截图:
wharf未展开时的样子(左上,那个笑脸)
界面的说明:
这个Wharf由3部分组成,截图中显示的是全部展开的样子。
最顶上的那一个icon是第一部分,软件启动起来以后显示的只有这一个icon,鼠标点击他可以显示/收起竖直的那一列icon,右键点击则重新调入配置文件。
竖直的一列icon是第二部分,点击后可以展开对应的水平的一列icon。
水平的icon是第三部分,点击水平的icon可以打开具体的程序。
3,特色:
(1),可以设置icon的大小
(2),可以人为设定包括主icon在内的所有icon
(3),可以自动收起下级icon,可以自动隐藏主icon
(4),可以重新调入配置文件(右键点击主icon)
(5),可以自定义背景图片
(6),只依赖一个imlib2,可以独立运行。
-------------以下是2012.03.16改版新加的功能
(7),可以在2级icon中直接放进去独立icon。
(8),可以设置:鼠标划过主icon就自动显示2级icon,点击3级icon则自动隐藏2级icon(也可以设置成 通过点击主icon来显示/收起2级icon,此时点击3级icon不会收起2级icon)
4,配置方法:
(1)主要文件和目录结构:(28楼的包,/bin目录里面的文件有变化。详细的情况请看28楼)
代码: 全选
├── bin
│ ├── iconrun1
│ ├── iconrun1.c
│ ├── iconrun2
│ ├── iconrun2.c
│ ├── iconrun2a
│ ├── iconrun2a.c
│ ├── iconrun2b
│ ├── iconrun2b.c
│ ├── iconrun2c
│ ├── iconrun2c.c
│ ├── iconrun2d
│ ├── iconrun2d.c
│ ├── menue.wxb
│ ├── puppybasic -> wxbasicscript
│ ├── puppybasic2 -> wxbasicscript
│ ├── start.sh
│ ├── Vera.ttf
│ ├── wxbasicconsole -> puppybasic
│ ├── basefunctions.inc
│ └── wxbasicscript
├── iconcache
│ ├── amusement.png
│ ├── configuration.png
│ ├── graphics.png
│ ├── home.png
│ ├── music.png
│ ├── network.png
│ ├── terminal.png
│ ├── utility.png
│ └── word-processor.png
├── icons
│ ├── background1.jpg
│ ├── background3.jpg
│ ├── background-.jpg
│ ├── background.jpg
│ ├── images.jpg
│ └── imenu.jpg
├── menu.rc
└── pics
└── background.jpg -> ../icons/background.jpg
bin文件夹下面是可执行文件(及其源程序)。
│ ├── iconrun1(主icon)
│ ├── iconrun1.c(主icon源程序)
│ ├── iconrun2(二级icon)
│ ├── iconrun2.c(二级icon源程序)
│ ├── iconrun2a(三级icon的a --2012..03.15添加)
│ ├── iconrun2a.c(三级icon的a的源程序--2012..03.15添加)
│ ├── iconrun2b(三级icon的b)
│ ├── iconrun2b.c(三级icon的b的源程序)
│ ├── iconrun2c(三级icon的c --2012..03.15添加)
│ ├── iconrun2c.c(三级icon的c的源程序--2012..03.15添加)
│ ├── iconrun2a(三级icon的d --2012..03.15添加)
│ ├── iconrun2a.c(三级icon的d的源程序--2012..03.15添加)
│ ├── menue.wxb(我改动后的Basic语句)
│ ├── start.sh(启动脚本 命令格式:先cd到bin目录,然后 “./start.sh START”)
│ ├── Vera.ttf(字体,下面的软件包没有包含这个文件,请自己找一个中文字体,改成这个名字放进去)
│ ├── puppybasic -> wxbasicscript(下面这几个文件都是basic的解释器,因为源程序中调用的原因,建立了多个,其实都是连接到了wxbasicscript这一个文件。)
│ ├── puppybasic2 -> wxbasicscript
│ ├── wxbasicconsole -> puppybasic
│ ├── basefunctions.inc
│ └── wxbasicscript
├── iconcache(放置图标用的目录,可以自己找喜欢的图标放进去。)
├── icons(放置背景图片的目录)
│ ├── background.jpg(背景图片,必须是jpg格式,可以用自己喜欢图片的替换,注意大小一致就行)
├── menu.rc(最主要的配置文件)
配置文件menu.rc的内容:
(这里注意:
如果SubIconHidesAutomatically,即“其他icon自动隐藏”选0,则需要手动点击主icon来展开/收回2级icon。
如果选1,则点击独立icon和3级icon时自动收回2级icon。
选1时,左键点击主icon反而不能收回2级icon,右击2级icon才能收回2级icon。)
代码: 全选
#---------------------------------------------------------------------------------------------------
# Base-configuration:
#
# baseconfig:x y sizeOfMainIcons GapBetweenMainIcons sizeOfSubmenueIcons GapBetweenSubIcons Lowered/Raised MainIconHidesAutomatically SubIconHidesAutomatically
# x y 主icon大小 二级icon间隔 其他icon大小 三级icon间隔 样式 主icon自动隐藏 其他icon自动隐藏
baseconfig:0 100 64 0 64 0 1 1 1
##参数的最后三个,推荐 (1 1 1)和(1 0 0),倒数第二个参数选(0)时,建议最左边的参数也选(0),即自动隐藏主icon时,要保证主icon贴屏幕左边。
#------------------------------------------------------------------
# Mainbutton
group0# /usr/share/icons/oxygen/48x48/emotes/face-smile.png
###group0#是主icon
single1# /usr/share/icons/hicolor/48x48/apps/chromium-browser.png "chromium-browser" "chromium-browser"
### singleX# 是参杂在二级icon中的独立icon,点击直接打开程序。
group2# /usr/share/icons/oxygen/48x48/places/folder-favorites.png "文件浏览/位置"
### groupX# 是一组按钮,点击展开3级icon
###下面是横向的独立按钮: 图标文件 命令 描述
/usr/share/icons/oxygen/48x48/places/user-home.png "dolphin ~/" "个人目录"
/usr/share/icons/oxygen/48x48/places/folder-blue.png "dolphin /" "/ 根目录"
/usr/share/icons/oxygen/48x48/places/user-desktop.png "dolphin ~/Desktop/" "桌面"
/usr/share/icons/oxygen/48x48/places/folder-downloads.png "dolphin ~/下载/" "下载目录"
/usr/share/icons/oxygen/48x48/places/folder-documents.png "dolphin /dos/重要文件/" "文档目录"
/usr/share/icons/oxygen/48x48/places/folder-orange.png "kdesudo dolphin /" "root 权限打开"
group3# /usr/share/icons/oxygen/48x48/places/network-workgroup.png "互联网"
/usr/share/icons/hicolor/48x48/apps/chromium-browser.png "chromium-browser" "chromium-browser"
(3)程序启动:
注意:下面这个包里面缺少中文字体,需要自己复制一个字体到bin子目录并改名为: Vera.ttf(因为字体文件太大,打包进来就无法上传了)
下载,解压,
然后修改menu.rc(为了控制压缩文件体积,我把图片删除了又打包的,这个包里面的menu.rc也不能对应你计算机里面的图片文件,所以务必要配置这个文件,否则无法启动)
替换icons目录 background.jpg文件(可选)
拷贝一个中文字体到:/<解压目录>/bin/,改名为Vera.ttf(否则不能显示提示文本)
最后执行以下指令:
代码: 全选
cd /<解压目录>/bin
./start.sh START
(1),不能嵌入wmaker dockapp;
(2),必须是3级icon结构-----2012.03.15改进,现在可以在2级icon中包含独立按钮了。
(3),发现一个小bug:----2012.03.15
代码: 全选
# baseconfig:x y sizeOfMainIcons GapBetweenMainIcons sizeOfSubmenueIcons GapBetweenSubIcons Lowered/Raised MainIconHidesAutomatically SubIconHidesAutomatically
# x y 主icon大小 二级icon间隔 其他icon大小 三级icon间隔 样式 主icon自动隐藏 其他icon自动隐藏
baseconfig:0 100 64 0 64 0 1 1 1
2012.03.16改动:如果最后面那个参数(2级icon自动显示/隐藏)设置为1,则鼠标移动到主icon时,二级icon自动出现。右键点击2级icon,或者点击3级icon(或独立icon)打开程序时,2级icon自动隐藏。
那个参数设置为0时,则鼠标移动到主icon时,二级icon不会自动出现,需要左键点击使之出现,再点击则隐藏。点击3级icon(或独立icon)打开程序时,2级icon也不会自动隐藏。