一、命令语法基础
1、按钮语句的一般格式:
命令, 参数1, 参数2, "按钮名称", "按钮图标"
有的命令本身不需要参数,如果我们也不指定名称和图标,可以简写为:
命令
比如把
Disable menu bar,,,"隐藏菜单栏","Enter Fullscreen"
(注:“Disable menu bar”为命令,后面没有参数,除了“Disable menu bar”本身的逗号以外,还有两个两个逗号,“隐藏菜单栏”是按钮标题,“Enter Fullscreen”是图标名。)
可以简写为
Disable menu bar
有的命令,Opera可以自动给出它的图标,可以不用指定图标,比如“Find”。这样的命令,如果用户指定了图标,以用户指定的为准。
2、组合语句
组合语句需要使用连接命令的符号,一共有4个,“&”、“|”、“>”和“+”。优先级最高的是“&”、其次是“|”和“>”,最后是“+”。在多个符号连接的语句中,优先级高的首先执行,切记不要使用多余的引号或者括号来改变优先级,那是无效的,而且将导致语句错误。
(1)“&”表示命令连续执行。
一般是:
语句1 & 语句2
比如:
Close page & Switch to previous page
在关闭当前标签执行完毕之后转到上一个标签。
(2)“|”表示两种(一般情况下是两种)状态的切换,或者选择执行。
一般是:
语句1 | 语句2
比如:
Enable menu bar | Disable menu bar
这是显示/隐藏菜单栏的语句。如果菜单栏现在是显示的,那么它执行Disable menu bar,如果菜单栏现在是隐藏的,那么它执行Enable menu bar。
使用“|”连接的语句,按钮名称和按钮图标都以“|”前的语句1为准。如果语句1指定了按钮名称,“|”后的语句2再次指定按钮名称,没有效果。如果语句1未指定按钮名称,那么语句2所指定的按钮名称才会显示出来。但是,语句2无法指定按钮图标,即使“|”前的语句1没有指定。
比如:
Enable menu bar,,,"显示/隐藏菜单栏","Enter Fullscreen" | Disable menu bar
第一条语句指定按钮名称和图标,第二条语句不用指定。
(3)“>”表示多种状态的切换。
一般是:
语句1 > 语句2 > 语句3> 语句4......
比如:
Set skin coloring, #803C00 > Set skin coloring, #BD9431 > Set skin coloring, #2FB35E > Set skin coloring, #2F83B3 > Set skin coloring, #001E80 > Set skin coloring, #900000
“>”与“|”不同的地方:
?1 ?多个状态的切换,比如上面的皮肤色调切换。
?2 “>”可以为每个语句设置独立的按钮名称和按钮图标。也就是说,你没点击一次,按钮名称和图标都会变化。
比如:
Enable plugins,,,"允许插件",Checkbox Skin.selected > Disable plugins,,,"禁止插件",Checkbox Skin
(4)“+”后面通常连接一个菜单,我们一般用“+”实现两个按钮合并为一个按钮的功能。使用“+”之后,按钮右边会出现一个三角形的标记。
一般是:
语句1 + 语句2
点击按钮,执行语句1,点击三角形标记,执行语句2功能。
比如下面这个显示/隐藏菜单栏+菜单项目的组合语句:
Enable menu bar, , , "菜单", "Panel Windows" | Disable menu bar + Show popup menu, "Browser Menu Bar"
如果我们将其做成按钮,点击该按钮,则显示/隐藏菜单栏,如果点击按钮上的三角形,则弹出菜单栏菜单项目。
二、参看按钮图标的网址
http://home.wanadoo.nl/sipke.reina/opera/images.html
在这个页面,我们可以看到当前皮肤下的每个图标以及图标名称。
如图:
三、在线按钮创建工具
http://nontroppo.org/tools/buttonmaker/
利用这个在线按钮创建工具,我们可以直接在网页中生成按钮,然后直接拖拽到Opera中使用。
一般创建的按钮分为两种
(1)普通命令按钮和
(2)启动外部程序的按钮。
说明如图:
1、普通命令按钮制作实例
(1)删除私人数据按钮
这是一个简单命令按钮,本身存在于Opera的工具菜单下。可以在standard_menu.ini文件的[Browser Tools Menu]下找到它的命令“Delete private data”。一般我们需要使用一个已知用途的命令,都可以在standard_menu.ini相关字段下查看对应的命令。
备忘:
在standard_menu.ini中常用的右键弹出菜单名如下,在standard_menu.ini中搜索即可找到:
右键点击页面空白处的弹出菜单: [Document Popup Menu]
右键点击图片的弹出菜单: [Image Popup Menu]
右键点击链接的弹出菜单: [Link Popup Menu]
右键点击已拖选文本的弹出菜单: [Hotclick Popup Menu]
右键点击回复框以及记事本空白处的弹出菜单: [Edit Widget Popup Menu]
右键点击托盘图标的弹出菜单: [Tray Popup Menu]
右键点击标签栏空白处的弹出菜单: [Pagebar Popup Menu]
右键点击当前激活标签栏的弹出菜单: [Pagebar Item Popup Menu]
右键点击其他未激活标签栏的弹出菜单: [Pagebar Inactive Item Popup Menu]
Opera最上方的菜单项目名称如下:
文件菜单: [Browser File Menu]
编辑菜单: [Browser Edit Menu]
查看菜单: [Browser View Menu]
书签菜单: [Browser Bookmarks Menu]
饰件菜单: [Browser Widgets Menu]
新闻推送菜单: [Browser Feeds Menu]
邮件菜单: [Browser Mail Menu]
聊天菜单: [Browser Chat Menu]
工具菜单: [Browser Tools Menu]
窗口菜单: [Browser Window Menu] ——默认没有开启,在工具菜单-首选项-高级-浏览中勾选“显示工具菜单”即可显示。
帮助菜单: [Browser Help Menu]
删除私人数据按钮语句为:
Delete private data,,,"删除私人数据","Stop"
如图:
(2)新闻推送列表按钮
这是一个菜单按钮,可以在standard_menu.ini文件的[Browser Feeds Menu]下找到Internal RSS List命令。
新闻推送按钮语句为:
Show popup menu, "Internal RSS List", , "新闻推送", "Read mail"
如图:
(3)书签和会话按钮(即收藏夹+快捷组双功能按钮)
这个按钮由两个菜单用“+”组合而成。standard_menu.ini文件中的Browser Bookmarks Menu即是工具栏下的书签菜单。[Browser File Menu]下的Browser Session Menu即会话菜单。
书签和会话按钮语句为:
Show popup menu, "Browser Bookmarks Menu", , "书签和会话", "Panel Bookmarks" + Show popup menu, "Browser Session Menu"
如图:
(4)显示/隐藏菜单栏按钮
这个按钮由“|”连接“Enable menu bar”命令和“Disable menu bar”命令组合而成。
语句为:
Enable menu bar,,,"显示隐藏菜单栏","Panel Windows" | Disable menu bar
如图:
(5)显示/隐藏面板+面板项目列表按钮
这个按钮实现2个功能,显示/隐藏面板和弹出面板项目列表。所以它由3个语句组合而成,即“显示面板 | 隐藏面板 + 面板项目列表”。
显示面板 = Set alignment, "hotlist", 6, "显示隐藏面板+面板项目列表", "View hotlist"
隐藏面板 = Set alignment, "hotlist", 0
面板项目列表 = Show popup menu, "Internal panels"
用“|”连接显示面板和隐藏面板,然后在用“+”在后面加上面板项目列表菜单。
语句为:
Set alignment, "hotlist", 6, "显示隐藏面板+面板项目列表", "View hotlist" | Set alignment, "hotlist", 0 + Show popup menu, "Internal panels"
如图:
(6)显示/隐藏菜单和个人栏+菜单项目按钮
这个按钮也是双功能,但是它由5个语句组合而成。
显示菜单 = Enable menu bar,,,"显示/隐藏菜单和个人栏+菜单项目","Panel Windows"
显示个人栏 = View personal bar,2
隐藏菜单 = Disable menu bar
隐藏个人栏 = View personal bar,0
菜单项目列表 = Show popup menu, "Browser Menu Bar"
用“&”、“|”和“+”连接它们(“&”的优先级是最高的,其次是“|”,最后才是“+”。),即:
显示菜单 & 显示个人栏 | 隐藏菜单 & 隐藏个人栏 + 菜单项目
Enable menu bar,,,"显示/隐藏菜单和个人栏+菜单项目","Panel Windows" & View personal bar,2 | Disable menu bar & View personal bar,0 + Show popup menu,"Browser Menu Bar"
如图(图中我是直接输入的语句,因为命令太多,无法使用选择动作的方式连接):
2、启动外部程序的按钮制作实例
这个相当简单,看图就行。需要说明的是,程序路径那里的选择按钮不要使用,那里有bug,使用了也是无效的。程序路径需要自己输入,路径记得带上英文引号。
(1)启动记事本的按钮
启动记事本是不用带参数的,相当简单。
如图:
(2)启动IE的按钮
启动IE可以不带参数,也可以带参数。
不带参数,直接启动IE:
Execute program,"IEXPLORE.EXE",,"IE","View"
带参数(参数%u为当前页面的网址),启动后打开当前Opera打开的网址:
Execute program,"IEXPLORE.EXE","%u","IE","View"
关于变量的定义:
%u = 当前显示网页的地址。常用于打开当前网址,或向下载工具传递本页所有链接。
%l = 当前选择的链接,常用于向下载工具传递当前链接。
%t = 当前选择的文本。比如常用的“转到URL”的命令为“Go to page, "%t"”。
%s = 来源于当前显示文档的字符串。用于查看当前文档源代码。
%c = 剪贴版内容。
%i = 显示的搜索结果个数(用于search.ini中)。
如图:
四、工具栏文件的编辑
Opera默认的工具栏配置文件standard_toolbar.ini位于Operadefaults下。一般修改了工具栏之类,Opera会自动创建工具栏配置文件到profiletoolbar下。
或者自己在Opera的工具菜单->首选项->高级->工具栏->工具栏设置那里点击“副本”创建一个工具栏配置文件的副本,然后去profiletoolbar下打开它进行修改。
不要修改Operadefaults下的standard_toolbar.ini默认配置,否则一旦升级就会被自动替换。
另,修改工具栏配置文件的时候,需要确定该工具栏配置文件目前没有被Opera使用。不清楚的话,最好关闭Opera再修改。
按钮的一般格式是:
Button X ,按钮名称 = 按钮语句
说明:
X 为按钮番号。在某个字段下,第一个按钮即Button0,第二个Button1,番号依次加1。
如果按钮语句中没有指定该按钮名称,那么等号前面的按钮名称才会起作用。
另外,如果按钮语句中指定的按钮名称长度,短于等号前的按钮名称,以等号前的按钮名称长度为准。比如语句中指定按钮名称为“菜单”,即长度为4字节,等号前的按钮名称为“显示隐藏菜单”,即长度为12字节,那么我们最终看到的按钮名称是“菜单 ? ? ?”。
打开工具栏配置文件中,搜索[Document Toolbar.content],可以看到工具栏上的各个项目。
比如我的是:
[Document Toolbar.content]
Address0
Multisearch1
Button2, 菜单=Enable menu bar, , , "菜单", "Panel Windows" | Disable menu bar + Show popup menu, "Browser Menu Bar"
Address0这个表示网页地址栏,Multisearch1这个是带有下拉菜单的搜索框,Button2这个是按钮。
如果我们打算在Button2下面再添加一个删除私人数据的按钮,那么在Button2的下面一行添加:
Button3, 删除私人数据=Delete private data, , , "删除私人数据", "Blocked"
添加按钮最好的地方,是工具栏菜单->外观->按钮->我的按钮那里,添加后,我们可以拖动按钮到工具栏、标签栏等地方。
它在工具栏配置文件中的位置是[Customize Toolbar Custom.content],如果暂时没有(因为目前你可能还没有添加自己的按钮),自己创建这个段落,然后在[Customize Toolbar Custom.content]下面从Button0开始创建按钮即可。
本文主要讲解命令定制的 语法和规则 .这里所讲的内容非常简单,你不用害怕学不会.它比任何一种语言都要简单的多,如果把动作比作单词也才几百个而已,其实它就是单词甚至你不用去记单词, 这里 有本"词典"一份包含绝大部分动作的列表.参数也很好记,语法也非常简单.你只需要了解有规则的几种语法.地球上只有 Opera 才能给你带来这种绝佳的体验
![]()
Forward 即一个动作/命令,表示前进.你可以用到 按钮 , 菜单 , 鼠标手势 , 键盘快捷键 , 语音当中 ,所有的动作都是 通用 的.
这里的区别是如果用到鼠标手势,快捷键,语音中,只需要 动作 + 参数 配合语法.而用在按钮和菜单中略有不同,区别就是按钮多了名称和图标还有点特殊的语法.
按钮标准语法
动作,参数1,参数2,名称,图标一共有 5 个部分.每个部分后面必须要加上,(逗号)直到最后一个部分.缺省的部分用,(逗号)表示."(引号)并不是必须的只在使用 Show popup menu/ Manage/ Go to page/ Set preference/ 这些命令中以及手动编辑 ini 文件中才需要详见下文.名称也可以是数字,即 menu.ini toolbar.ini 里定义的序号,对应 Opera 的语言文件.
如何制作按钮?你可以使用 在线按钮编辑器 ,在第二项里输入命令制作你自己的定制按钮.或者可以用这个 Widget ,然后将创建的按钮拖到你的 Opera 工具栏上或者单击添加我的按钮...
或者直接编辑 ini 文件,命令中名称可以省略,因为在前面已经定义...
ButtonX, "名称"=命令(直接编辑 ini 文件,如果您不熟悉不建议使用...)
论坛上可以使用[opbut=命令]名称[/opbut]
HTML 代码的用法是<a href="opera:/buuton/命令">名称</a>
如果参数中有加注 引号 " 的部分用 %22 表示,或者你可以用 ' 单引号
<a href="opera:/button/Manage,%22Notes%22,,Notes,Panel Notes">Notes</a>
<a href='opera:/button/Manage,"Notes",,Notes,Panel Notes'>Notes</a>
1. Menu
Show popup menu,"Browser Menu Bar"
适用于快捷键,鼠标手势,语音 (动作+参数)
注 :引用菜单的部分必须在前后加上"(引号)
如大家熟悉的 F12 即 Tools>Quick Preferences,它的命令是 Show popup menu, "Quick Preferences Menu"
这里的 Browser Menu Bar 即菜单配置文件 menu.ini 中的 [Browser Menu Bar],在 menu.ini 中所有带有 [ ] 的内容都可以引用,或者 Submenu 的内容,同样包括你自己新建的菜单
按钮
Show hidden popup menu,"Browser Menu Bar",,Menu,Group.open
Show hidden popup menu = 动作, "Browser Menu Bar" = 参数1, (逗号), = 参数2(没有参数2用,表示缺省值) Menu = 名称, Group,open = 图标
Show hidden popup menu 与 Show popup menu 的区别? Menu (Show hidden popup menu) Menu (Show popup menu)
2. | 可选择的
| 表示在几种状态下执行激活(可用)的动作.(通常是在两种状态下)
Highlight note | Highlight bookmark | Add to bookmarks
高亮笔记 | 高亮书签 | 添加到书签
注意 这里有一个优先级的问题.
也可以用做开启/关闭
Enable javascript | Disable javascript
按钮
Highlight note,,,Note,Note Web| Highlight bookmark,,,Bookmark | Add to bookmarks,,,Add,Missing bookmark
Star ,Highlight bookmark 这里没有设定图标,是因为对于少数(很少)命令 Opera 可以自动识别图标或者名称
Enable javascript,,,JS | Disable javascript
JS ,这里的定义的名称可以放在第一个动作里,或者第二个动作里,不需要两个动作都定义名称,因为它始终只能显示一个名称(不能切换),用 | 做此类按钮在你按下按钮后它讲始终保持按下的状态
同样可以定义名称在第二个命令里,名称必须使用冒号
Enable javascript | Disable javascript,,,"JS"
JS
3. > 切换
> 表示从一种状态切换到另一种状态,可以在多种状态下切换循环(1-2-3-1-2-3).
Set skin coloring,#FFFF00 > Set skin coloring,#C0C0C0, > Set skin coloring,#FFA500
切换皮肤颜色,从黄色 到 银色 到 橙色,再回到黄色.
当然 > 也可以用来做开启/关闭.
Enable plugins > Disable plugins
按钮
Set skin coloring, #FFFF00,,Yellow > Set skin coloring, #C0C0C0,,Silver > Set skin coloring, #FFA500,,Orange
Color ,点击这个按钮会显示,Yellow Silver Orange,也就是说你可以定义每一个命令的名称和图标.
Enable plugins,,,Plugins Enabled,Checkbox Skin.Selected > Disable plugins,,,Plugins Disabled,Checkbox Skin
Plugins , 注意这里开启的选项图标要用 Checkbox Skin.Selected
4.& 并/结合
& 可以把几个动作结合在一起,可以排列动作的先后顺序使之变成一个连贯(有几个动作结合起来)的动作.
Close page & Switch to next page
关闭页并转到下一个(左边的)页
page down & page down & page down
page down 表示滚屏,这里用了 & 以加快它的速度.
按钮
Close page,,,Close,"Caption Close Button Skin" & Switch to next page
Close , 注意 ,使用类似命令需要把名称和图标放在第一个命令中
page down,,,Down,Dropdown & page down & page down
5. Set preference
Set preference 这个动作可以控制 opera:config 里所有的设置.
非常简单的,只需要对照 opera:config 设置即可.
Set Preference,"分类|选项=值"
1 表示打开,0 表示关闭,其它参数请参阅 http://www.opera.com/support/usingopera/operaini/
opera:config#User Prefs|User JavaScript
Set preference, "User Prefs|User JavaScript=1" > Set Preference, "User Prefs|User JavaScript=0"
按钮, 注意 ,这里的 参数/命令/图标 必须在前后加上 "引号
Set preference, "User Prefs|User JavaScript=1",,"UserJS Enabled","Checkbox skin.selected" > Set Preference, "User Prefs|User JavaScript=0",,"UserJS Disabled","Checkbox skin"
%20Set%20Preference,%20"User%20Prefs|User%20JavaScript=0",,"UserJS%20Disabled","Checkbox%20skin"">UserJS
6. Execute program 外部程序
Excute program 可以打开外部程序,同样你可以使用快捷键或鼠标手势等打开外部程序
Excute program, "路径/\程序"
注意 在参数的前后必须加上 "引号 .
Windwos 下某些程序不用绝对路径,比如某些系统程序
按钮
Excute program,"路径/\程序","参数2","名称",图标
Execute program 也可以直接打开文件夹,不需要调用其它程序,在 Windows 下. E
"Execute program, "E:\",,"E:"
7. Go to page
Go to page,"URL"
参数必须加注冒号,在按钮里如果没有定义图标,(图标也可以用文字定义)会使用该站点默认的图标.
Go to page, "http://www.opera.com",,Opera
当然同样也支持 JavaScript (EMCAScript)
Go to page, "JavaScript code"
参考:http://operawiki.info/PowerButtons http://operawiki.info/BookMarklets
8. + 附加命令,二合一按钮
+ 可以把两个命令放在一个按钮里,或者说把两个按钮变成一个按钮
你在一个常规的按钮命令 后面 可以使用 + 这里通常(根据 Opera 默认的按钮来看)都是一个菜单
Set preference, "User Prefs|Rendering mode=-1",,"Fit to width Enabled","Checkbox skin.selected" > Set preference, "User Prefs|Rendering mode=0",,"Fit to width Disabled","Checkbox Skin" + Show hidden popup menu, "Images Menu"
%20Set%20preference,%20"User%20Prefs|Rendering%20mode=0",,"Fit%20to%20width%20Disabled","Checkbox%20Skin"%20+%20Show%20hidden%20popup%20menu,%20"Images%20Menu"">Fit to width ,你会发现这个命令很普通,那里有第二个命令?因为 + 后面用了 Show hidden popup menu 所以你需要按住这个按钮 2秒 才会调出 + 后面的命令.
如果 + 后面使用 Show popup menu 则会在按钮旁边有一个下箭头
Manage bookmarks,,,67398,Panel Bookmarks + Show popup menu,"Browser Bookmarks Menu"
Bookmarks ,这个按钮按左边是管理书签,按右边弹出书签菜单
问题
上面介绍了如果附加一个菜单,有人会问这太局限了 + 后面可以使用其它命令吗?
回答是:可以,当然可以![]()
Show hidden popup menu,"Closed Pages Menu",,Closed/Clear cache,Trash + Clear Disk Cache
Closed/Clear cache ,[这个关闭页面列表 + 清除缓存的命令本来在 9.0 fianl 8502 中可以使用(单击打开关闭页面列表,按住两秒清除缓存),但是在 9.01 Weekly Build 8518 里却不能使用清除缓存了...Fixed: 8533 ]
高级技巧
理论上你可以使用 + Show popup menu & 命令 或者 + Show hidden popup menu & 命令 将任何命令连接起来
例子
Show hidden popup menu,"Closed Pages Menu",,Closed/Clear cache,Trash + Show hidden popup menu & Clear Disk Cache
Closed/Clear cache ,按下弹出关闭页面列表菜单,按住 2秒 清除缓存.
Show preferences,-1,,Prefs/Config,"Panel info" + Show popup menu & Enable Javascript & Go to page,"opera:config"
Prefs/Config ,首选项 + 打开 opera:config.
外部程序当然也可以用,某日看到一个“老外”想要要一个 Open IE/FF 的 combo 按钮
Execute program, "iexplore", "%u", "inIE+FF" + Show popup menu & Execute program, "firefox", "%u"
inIE+FF
按左打开当页在 IE 里,按右打开当前也打开在 FF 里
最后要说每个人和每个人的习惯不同,所以写了这篇文章,希望大家可以按照自己的习惯和需求来打造你的 Opera.
附:关于按钮图标的问题
Opera 默认皮肤对应的按钮,看 这里 虽不是很全但大部分图标的定义你还是可以找到的
你也可以这款 Opera 皮肤编辑器 ,支持的皮肤比较多
或者解压你的皮肤.zip 文件(默认皮肤在 Opera/skin,单独安装的皮肤在 Opera/profile/skin) 然后打开对应的文件夹默认是 /Buttons /icons 找到你喜欢的图标,复制图标文件名然后打开 skin.ini 搜索
Window Browser Icon= icons/opera.png
Window Browser Icon 即图标命令
如果想添加新的图标,将图标放在按钮文件下,比如放在 buttons 下面
然后在 skin.ini 中的 [Image] 下添加
自定义名称 = buttons/图标文件名.png
请使用 PNG 格式的图像,默认皮肤的图标大小是 24X24
如果你想自己制作图标推荐使用 GIMP (all platforms/freeware)