firefox + pentadactyl 实现纯绿色高效易扩展浏览器(同时实现修改默认状态栏样式)

  这几天开始使用firefox+pentadactyl来搭建一个开源、可扩展、完全绿化的浏览器环境,以便随身带着使用,其中firefox的使用了24.0的长期支持版, 这边版本稳定, 快速, 兼容性好, 重点是pentadactyl最高只支持到24.0。在网络上找了半天, 终于找到了一个真正完绿化版的firefox24.0, 下载地址如下:

  http://chenxuefeng.net.cn/

 这是一个名为Shura的个人网页, 他绿化了不少好东西, 从中找到24.0版的firefox即可。

   下载下来的压缩包随便解压到一个地方进入,解压后的firefox目录, 点击!绿化工具.exe运行绿化过程即可.实现完全绿化 , 研究了一下这个绿化的原理发现,firefox其实将所有的用户相关的配置都放在了一个默认位置为 c:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\的目录下面, 如果希望实现,绿化, 只需要在这个目录下创建一个profile.ini的文件,在其中制定用户配置文件夹的新路径即可,这里的!绿化工具.exe做的事情其实就是创这个profile.ini文件并在启动将用户配置文件重新定向到了解压后firefox所在位置下的一个名为ShuraData的目录。从这个里就可以推断出, 如果我们移动了解压后的firefox目录需用重新运行!绿化工具.exe程序来重新定向配置文件的正确路径, 如果我们将firefox目录复制到一个可移动的固态盘片或u盘中,并且将其带到了一个新的电脑上时同样需用运行一次!绿化工具.exe来完成配置重定向。

  绿化完成之后, 打开firefox, 删除一些自己不想要的插件之后安装pentadactyl扩展。之后开始优化firefox, 下面的记录是我找到的一些firefox存在的问题及解决办法:

Windows 7系统下解决Firefox、Flash假死的方法
原因:
从Flash11.3开始,Adobe引入保护模式,即Flash沙箱功能,这项沙箱机制常常导致firefox页面假死等问题。

解决方式:
访问系统盘,修改mms.cfg,其文件所在位置如下:
Win32:
C:\windows\system32\macromed\flash
Win64:
C:\windows\syswow64\macromed\flash
编辑mms.cfg, 在文件末尾添加一行
ProtectedMode=0
保存重启firefox即可

Pentadactyl目前只支持到firefox24.0 为了防止firefox自动更新, 需要关闭firefox的自动更新功能, 关闭方法:

选项->高级->更新->关闭更新

firefox的缓存文件夹默认在D:\data\cache目录, 我修改到了如下目录:
c:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\cache
设置在改目录的目的是减小对firefox所在的可移动盘符的频繁读写,同时可以提高firefox的反应速度
如果希望修改缓存文件夹的位置在如下位置修改:
about:config-> browser.cache.disk.parent_directory

Pentadactyl我设置为启动时关闭了firefox的工具栏, 原因是如果打开工具栏,firefox启动时会自动定位到地址栏并处于插入模式, 这很影响启动后的操作。

在windows系统的PATH环境中加入一个HOME变量, 在HOME变量指向的文件夹下面创建一个 .pentadactylrc 文件, 编辑该文件来对pentadactyl进行配置,我找到的一些设置修改后收集如下:

“pentadactyl设置

loadplugins ‘\.(js|penta)$‘
group user

map -m n,v j 15j
map -m n,v k 15k

map -m n,v J <C-d>
map -m n,v K <C-u>

map -m n,v y Y
map -m n,v Y y
map -m n,v p P
map -m n,v P p

map -m n,v l  gt
map -m n,v h  gT

map -m n,v < [[
map -m n,v > ]]

map -m n,v m :bmarks<cr>
map -m n,v M :bmark<cr>

map -m n,v b <PageUp>
map -m n,v s :stop<cr>
map -m n,v U :undo<Space>

map -m i <C-h> <Left>
map -m i <C-j> <Down>
map -m i <C-k> <Up>
map -m i <C-l> <Right>

map -m n <leader>r :restart<cr>
map -m n <leader>q :qall<cr>
map -m n <leader>h :history<Space><cr>
map -m n <leader>x :xall<cr>
map -m n <leader>s :reh<CR>

map -m n <leader>d :dialog<sp>addbookmark<cr>
map -m n <leader>b :dialog<sp>customizetoolbar<cr>
map -m n <leader>c :dialog<sp>cleardata<cr>
map -m n <leader>p :preferences<cr>
map -m n <leader>P :tabopen about:config<cr>
map -m n <leader>e :dialog searchengines<cr>

map -m n <c-f> :set guioptions!=T<cr>
map -m n <c-e> :set guioptions!=s<cr>
map -m i,c,t <C-v> <Pass>
map -m i,c,t <C-x> <Pass>
map -m i,c,t <C-z> <Pass>
map -m n,v,i,c,t <C-a> <Pass>
map -m n,v,i,c,t <C-c> <Pass>

map t -js str=util.domToString(buffer.focusedFrame.getSelection()); str!=""?dactyl.open(str, {where: dactyl.NEW_TAB}):CommandExMode().open("tabopen ")

map o -js str=util.domToString(buffer.focusedFrame.getSelection()); str!=""?dactyl.open(str, {where: dactyl.CURRENT_TAB}):CommandExMode().open("open ")

set guioptions+=B
set history=100
set maxitems=12
set hintkeys=jksdflaghioweqrumncvx

hi Normal color: black; background: white; font-size:10pt

hi Hint font:12px "Droid Sans Mono",monospace !important;margin:-.2ex;padding:0 0 0 1px;outline:1px solid rgba(0,0,0,.5);background:rgba(255,248,231,.8);color:black;text-transform:uppercase;

set nextpattern=‘(下|后)一?(页|頁|篇|章|张)|次のページ|次へ‘,‘^\bnext\b‘,‘\bnext\b‘,‘\bsuivant\b‘,‘^(>|›)$‘,‘^(>>|»)$‘,‘^(>|»)‘,‘(>|»)$‘,‘\bmore\b‘
set previouspattern=‘(上|前)一?(页|頁|篇|章|张)|前のページ|前へ‘,‘^\bprev|previous\b‘,‘\bprev|previous\b‘,‘\bprécédent\b‘,‘^(<|‹)$‘,‘^(<<|«)$‘,‘^(<|«)‘,‘(<|«)$‘

style -name=commandline-ime chrome://* #dactyl-commandline-command input {ime-mode: inactive;}
style chrome://* #dactyl-statusline-field-commandline-command input {ime-mode: inactive;}

" vim: set ft=pentadactyl:

pentadactyl默认实现了一个黑色的状态栏(status bar), 字体为白色粗体, 在打开网站的时候还会出现黑色的状态栏变成紫色的情况,不知道为什么,我总觉得这个颜色是在是和我firefox的semple white主题不搭调, 看的我着实难受了好几天, 后来实在无法忍受这个突兀的状态, 下定决心修改之, 百度谷歌了一段时间加上自己的聪明才智最终实现的状态栏的修改,记录如下:

黑色的状态在pentadactyl插件中定义, 这个插件的打包文件位置在 *\Firefox\ShuraData\extensions\[email protected] 这是一个陌生的类型文件, 百度一下发现可以通过修改其后缀名为rar后使用total commander等工具来直接编辑其中的打包文件, 我修改了后缀命令后使用total commander直接打开rar文件仔细找了一会终于定位到状态栏的样式定义在 [email protected]\chrome\common\skin\global-styles.css这个文件中,其中可以发现
如下一段代码:

StatusLine;;;FontFixed  {
    /* The status bar */
    -moz-appearance: none !important;
    font-weight: bold;
    background: transparent !important;
    border: 0px !important;
    padding-right: 0px !important;
    min-height: 18px !important;
    text-shadow: none !important;
}
StatusLineNormal;[dactyl|highlight]    /* The status bar for an ordinary web page */ \
                                       color: white !important; background: black   !important;
StatusLineBroken;[dactyl|highlight]    /* The status bar for a broken web page */ \
                                       color: black !important; background: #FFa0a0 !important; /* light-red */
StatusLineSecure;[dactyl|highlight]    /* The status bar for a secure web page */ \
                                       color: black !important; background: #a0a0FF !important; /* light-blue */
StatusLineExtended;[dactyl|highlight]  /* The status bar for a secure web page with an Extended Validation (EV) certificate */ \
                                       color: black !important; background: #a0FFa0 !important; /* light-green */

其中不难看是状态栏字体颜色背景色等设置, 我将其修改为如下内容, 成功实现状态栏的白底黑字效果, 当然, 字体没有用粗体:

StatusLine;;;FontFixed  {
    /* The status bar */
    -moz-appearance: none !important;
    background: transparent !important;
    border: 0px !important;
    padding-right: 0px !important;
    min-height: 18px !important;
    text-shadow: none !important;
}
StatusLineNormal;[dactyl|highlight]    /* The status bar for an ordinary web page */ \
                                       color: black !important; background: white   !important;
StatusLineBroken;[dactyl|highlight]    /* The status bar for a broken web page */ \
                                       color: black !important; background: white !important; /* light-red */
StatusLineSecure;[dactyl|highlight]    /* The status bar for a secure web page */ \
                                       color: black !important; background: white !important; /* light-blue */
StatusLineExtended;[dactyl|highlight]  /* The status bar for a secure web page with an Extended Validation (EV) certificate */ \
                                       color: black !important; background: #a0FFa0 !important; /* light-green */

修改后将后缀名改回xpi后重启firefox即可看到效果,我的世界从此再次变得更加美好了。

时间: 2024-10-29 00:41:33

firefox + pentadactyl 实现纯绿色高效易扩展浏览器(同时实现修改默认状态栏样式)的相关文章

易扩展的办公流程化管理核心模型(第1版)

前言 关于办公管理升级思考.规划,已经一年有余(2013年11月<使用云技术升级改造现有应用系统的思考>),从2014年3月开始,协助用户完成规划.可研.立项. 刚开始更多的是以云计算视角,通过技术手段来支撑用户,为用户画了一张大饼,可是用户投资有限,买小餐包充饥都不够,这样,只能按二八原则,提供核心业务支撑平台,或者叫做最小核心化的办公生产运营能力产品. 传统办公管理及其业务现状 从办公自动化开始,传统办公系统逐步升级到以工作流.协同办公.知识管理为一体的知识型协同办公系统,为企事业单位提供

易扩展的办公流程化管理核心模型(第2版)

前言 关于办公管理系统升级思考.规划工作,已经一年有余(2013年11月<使用云技术升级改造现有应用系统的思考>).从2014年3月开始,我开始协助用户完成规划.可研.立项,直至今年(2015年)1月份做为项目经理承接此项目,建设思路也组建清晰. 刚开始更多的是以云计算视角,通过技术手段来支撑用户,为用户画了一张大饼,可是用户投资有限,其结果好比买小餐包充饥都不够,这样,只能按二八原则,提供核心业务支撑平台,或者叫做最小核心化的办公生产运营能力产品,预留将来扩容及增加预算的接口和架构. 传统办

巧用拦截器:高效的扩展点设计

最近在设计框架时,需要设计一类扩展点,发现不能简单地继承或使用事件来给使用者提供 API.最终使用拦截器模式解决了 API 的设计.   扩展点使用场景 该扩展点的使用场景如下: 不能使用继承:需要在类型的继承体系外(非被扩展类型的子类)对类型进行扩展. 需要能在基本逻辑的执行前.后扩展新的逻辑,甚至可以使用新的逻辑替换基础逻辑. 对于性能敏感.由于该基础逻辑是比较核心的代码,需要尽量地减少扩展点带来的额外性能消耗.并尽量少地产生额外的对象.   扩展点设计方案选型 在框架设计时,扩展点设计主要

cinatra--一个高效易用的c++ http框架

cinatra是一个高性能易用的http框架,它是用modern c++(c++17)开发的,它的目标是提供一个快速开发的c++ http框架.它的主要特点如下: 统一而简单的接口 header-only 跨平台 高效 支持面向切面编程 cinatra目前支持了http1.1/1.0和websocket, 你可以用它轻易地开发一个http服务器,比如常见的数据库访问服务器.文件上传下载服务器.实时消息推送服务器,你也可以基于cinatra开发一个mqtt服务器. 如何使用 编译依赖 cinatr

开源、易扩展、方便集成的在线绘图(微服务架构图、网络拓扑图、流程图)工具

一个基于typescript + canvas 实现的开源在线绘图的引擎Topology.采用引擎 + 图形库中间件的思路能够方便.快速的扩展.集成到前端项目.目前暂时实现了基本图形.流程图图形库,能够满足微服务架构图.网络拓扑图和流程图的绘制.后面计划陆续实现活动图/时序图/类图等UML图. 在线体验(因为操作方便问题,暂时没有适配移动端)       产品介绍 为什么重复造轮子 笔者工作中遇到比较多的微服务架构.云资源运维.部署与运维可视化方面的需求 开源.满足自己需求的不多 typescr

易扩展二次开发的web快速开发平台

我们先来看看web快速开发平台的发展 从编程之初,便免不了和方法,类,接口之类的东西打交道.久而久之,自然会对此进行总结,由此而产生了开发平台.而今中国的程序员之中,有很大一部分都是编一些企业MIS.政府MIS之类的程序.其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已.随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式.诸如用友.金蝶等都有自己的开发构件库,还有SAP的ABAP开发平台等等.但是ABAP开发平台太复杂

firefox无法安装未通过验证的扩展

firefox43版本无法安装未验证附加组件,利用以下方法: 1.进入firefox  about:config页面中 2.搜索xpinstall.signatures.required,将值改为false.

Android数据库框架GreenDao封装使用,易理解、易扩展

一.概述 在之前一个项目中,因为涉及到数据库,所以就接触到了ORM框架的GreenDao.后面就去网上大量的搜索下载学习,发现很多都是官网的翻译或者是官网DEMO的简单入门讲解,而且对于小白,也不知道从何下手,最终还是放弃选择了本地sqlite. 时隔不久,GreenDao的应用已经是家常便饭了,于是乎,在上个周末就抽取了些时间对官网的DEMO进行拆解封装,并且完善了功能,尽可能的易于理解和扩展,方便以后直接拿来用. 二.效果图 下图addData/deleteData/changeData/q

[ionic3.x开发记录]参考ionic的float-label动效,写一个项目内通用的input组件,易扩展

上图: module: import {NgModule} from "@angular/core"; import {CommonModule} from "@angular/common" import {PpInputComponent} from './pp-input' import {FormsModule} from "@angular/forms"; @NgModule({ declarations: [PpInputCompon