set!
Firefoxではabout:config から
高度な設定変更が出来る様になっていますが、
この設定をVimperatorから
:set! browser.tabs.closeWindowWithLastTab=false
の様にset!
を使うとabout:config にある項目を
Vimperatorのコマンドモードでセットすることが出来ます。
こんな感じで補完もされます。
値は真偽値の場合にはtrue
かfalse
、文字列や整数値なら
そのまま書けばOK。
.vimperatorrc では
set! browser.tabs.closeWindowWithLastTab=false
の様に書いておけば起動時に反映されます。
ただし、=
の左側は空白を入れて空けても良いですが、右側はダメです。
設定項目に関しては
About:config entries - MozillaZine Knowledge Base
が参考になります。
ここにある項目の中でTools Options
などと書かれてる項目は環境設定から変更できる項目です。
ただし、ひとつ前の別ウィンドウが出てくるタイプの環境設定だった時の物みたいで、
現在の設定項目と名前や場所が違ったりします。
ですが、大体それに当てはまるものが今の環境設定でも見つかります。
また、一部古かったり無い情報があるのでその場合は適時ググるなど。
(一応上のページも最終更新が15:51, 28 January 2016にはなってるんですが。)
下にも出てくる
mousewheel.with_control.action
の設定などは上のページだと0が通常スクロールですが、
実際には下に書いてあるとおり、0はdisableで1が通常スクロールになります。
Gecko:Mouse Wheel Scrolling - MozillaWiki
環境設定から設定できる項目
環境設定からいじれる項目もabout:config の設定を変更しているわけですが、
以下に対応する値のメモを載せておきます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
" Settings in Option
" # General
" ## Startup
set ! browser.shell .checkDefaultBrowser= true
" 0: Blank page, 1: Homepage, 3: Previous view (not 2)
set ! browser.startup.page= 1
set ! browser.startup.homepage= about:home
" ## Download
" If not set, use default download directory of the OS
set ! browser.download.dir = ''
set ! browser.download.useDownloadDir= true
" ## Tab group
" 1: current tab, 2: in a new window, 3: in a new tab
set ! browser.link.open_newwindow= 3
set ! browser.tabs .warnOnClose= true
set ! browser.tabs .warnOnOpen= true
" true: only current tab is loaded at restore, false: 3 pages are loaded
set ! browser.sessionstore.restore_on_demand= true
set ! browser.tabs .loadInBackground= true
" # Search
set ! browser.search.defaultenginename= Google
set ! browser.search.suggest.enabled= true
" # Content
" ## Popup
set ! dom.disable_open_during_load= true
" ## Font and color
set ! font.name.sans- serif.ja= Hiragino\ Kaku\ Gothic\ ProN
set ! font.size.variable.ja= 15
" ## Language
set ! intl.accept_languages= ja, \ en - us, \ en
" # Privacy
" ## Tracking
set ! privacy.donottrackheader.enabled= false
set ! privacy.trackingprotection.pbmode.enabled= true
" ## History
set ! places.history .enabled= true
" 0: Enable all, 2: Disable all
set ! network.cookie.cookieBehavior= 0
" Following clearOnShutdowns are enabled only when sanitizeOnShutdown is enabled.
set ! privacy.sanitize.sanitizeOnShutdown= false
set ! privacy.clearOnShutdown.history = true
set ! privacy.clearOnShutdown.downloads= true
set ! privacy.clearOnShutdown.cookies= true
set ! privacy.clearOnShutdown.sessions= true
set ! privacy.clearOnShutdown.cache= true
set ! privacy.clearOnShutdown.formdata= true
set ! privacy.clearOnShutdown.siteSettings= false
set ! privacy.clearOnShutdown.offlineApps= false
" ## Location bar
set ! browser.urlbar.suggest.history = true
set ! browser.urlbar.suggest.bookmark= true
set ! browser.urlbar.suggest.openpage= rue
" # Security
" ## General
set ! xpinstall.whitelist.required= true
" ## Login information
" # Sync
" ## Synchronize all machines (string?)
set ! services.sync .engine.tabs = true
set ! services.sync .engine.history = true
set ! services.sync .engine.bookmarks= true
set ! services.sync .engine.addons= true
set ! services.sync .engine.passwords= true
set ! services.sync .engine.prefs= true
" # Advanced
" ## General
" ### Accessibility
set ! accessibility.browsewithcaret= false
set ! accessibility.typeaheadfind= false
set ! accessibility.blockautorefresh= false
" ### Browsing
set ! general.autoScroll= true
set ! general.smoothScroll= true
set ! layers.acceleration.disabled= false
" 0: Disable, 1: Enable for multi-line controls, 2: Enable for multi-line controls and single-line controls.
set ! layout.spellcheckDefault= 1
" ## Data selection
set ! datareporting.healthreport.uploadEnabled= true
" ## Update
" ### Firefox's update
set ! app.update .auto= true
set ! app.update .mode = 1
set ! app.update .enabled= true
" ### Automatically update following softwares
set ! browser.search.update = true
" ### Certification
ちょっと見づらいかもしれませんが、環境設定の各ページと見比べてもらうとどれとどれが
わかると思います。
一部抜けてる物もありますが大体カバーしました。
ちょっと注意点として、
環境設定の方では有効にする 、みたいに書かれているものが、
about:config だと...disabled
となっていたりするものがあって、
これだと有効にしたい場合はfalse
を設定しないといけません。
(普通に...enabled
な物もあるし、環境設定の方で無効にする という設定が
...enabled
を使ってたりもする。)
その辺、言葉にも注意してください。
上の設定は一応全てデフォルトの値になっているはずです。
現在の設定
とかに書いてる物や(一部今無いオプションは削除)、
上の環境設定の中で変更している部分は以下の通り。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
" # Settings in Preferences.
" Don't check to see if the browser is set as default.
set ! browser.shell .checkDefaultBrowser= false
" No warnings will be given when closing the browser with more than one tab.
set ! browser.tabs .warnOnClose= false
" No warnings will be given when many tabs are opened at once.
set ! browser.tabs .warnOnOpen= false
" Do not check if the remote host is on the whitelist or not when installing extensions from remote hosts.
set ! xpinstall.whitelist.required= false
" Do not synchronize tabs.
set ! services.sync .engine.tabs = false
" Deactivate autoscroll.
set ! general.autoScroll= false
" Do not send health report.
set ! datareporting.healthreport.uploadEnabled= false
" # Other settings
" Show Google's suggestions in the location bar (default false).
set ! browser.urlbar.suggest.searches= true
" Always show the tab bar (default true).
set ! browser.tabs .autoHide= false
" Do not close the window when closing last tab. (default true).
set ! browser.tabs .closeWindowWithLastTab= false
" Do not warn when about:config is opened. (default true).
set ! general.general.warnOnAboutConfig= false
" Ctrl + mousewheel to normal scroll (default 3).
" 0: Do nothing, 1: Scroll Contents, 2: Got back/forward in the history, 3: Zoom in/out
set ! mousewheel.with_control.action= 1
" Amount of time in milliseconds to disable buttons on security-sensitive dialog boxes (default 2000).
set ! security.dialog_enable_delay= 0
" Width of caret (cursor) (not in default).
set ! ui.caretWidth= 2
以下のdotfilesに.vimperatorrc のオリジナルがあります。
rcmdnk/dotfiles/.vimperatorrc
pref/pref!
ちょっと話が逸れますが、
Vimperatorのコマンドラインから
:open about:preferences
とすれば環境設定画面 が開けますし、
:open about:config
とすればabout:config が開けますが、
:pref
とするだけでも(または:preferences
とすると)環境設定が、また
:pref!
とするだけでも(または:preferences!
とすると)about:config が開けます。
覚えておくとちょっと素早く開ける様になります。
Vimperatorを使わない方法
Vimperatorを使わずに状態を保存する方法としては、
プロファイルフォルダの中にuser.js というファイルを作ってその中に、
user_pref("browser.tabs.closeWindowWithLastTab", false);
等と、user_pref
を書いていく方法があります。
プロファイルフォルダの探し方は以下参照:
プロファイル Firefox ヘルプ
プロファイルフォルダの中にはprefs.js というファイルがありますが、
こちらは実際にabout:config 等で変更した値が入っています。
Firefoxを終了している間にprefs.js を直接書き換える事で次回から設定変更も可能ですが、
こちらはabout:config とかをいじってると上書きされます。
勿論user.js の値も起動時にprefs.js の値を上書きします。
または、Firefox Syncを使って設定を同期指定する方法もあります。
services.sync.prefs.sync.<pref>
と、同期したい値を<pref>
に入れた項目を新たにabout:config に作り、
真偽値の値を持つようにしてtrue
にします。
そうすると通常同期されない項目でも同期される様になります。
ただ、この方法だと新しい端末でFirefoxを入れた時には
この同期の設定のための項目は自分で入れないといけないようです。
なので長いこと使う端末がいくつかあって、それらの間で常に設定を同期したい、
という場合には便利ですが、
新たな環境に設定を移したい、と言う場合には余り使い勝手が良く無いかもしれません。
これらのservices.sync.prefs.sync. をuser.js なり.vimperatorrc なりに
書いておいて実際の値は同期してもらう、と言う方法はありかもしれません。
Styleの変更
ついでにVimperatorで設定できるFirefoxの設定として、
見た目も直接いじることが出来ます。
これはVimperator無しで行う場合には
プロファイルフォルダの中に
chrome というフォルダを作って
その中にuserChrome.css 、およびuserContent.css というファイルを作ります。
その中に
.statuspanel-label {display: none;}
の様な見た目を変えるCSS設定を書いてあげると変更することが出来ます。
(この値はuserChrome.css 用。)
Mozilla をカスタマイズする: http://www.mozilla-japan.org/unix/customizing.html
UserChrome.css - MozillaZine Knowledge Base
UserContent.css - MozillaZine Knowledge Base
これをVimperatorから行うには
style chrome://* .statuspanel-label {display: none;}
と言った行を.vimperatorrc に加えてやります。
style
コマンドは引数としてまずURLのfilterを取って、その後に
そのfilterに該当するURLで適用するCSS設定を書きますが、
chrome://*
とすることでFirefox自体の見た目を決めてるCSSの設定になります。