Open Firefox Library in a Tab
不曉得有沒有人曾想過,把 Firefox 內的收藏庫 (Library, 管理書籤跟歷史的使用界面),開啟於分頁標籤中,而不是獨立視窗中。
如果你也曾想這麼做,那就這麼做吧 -- 在網址列中輸入以下 URL:
chrome://browser/content/places/places.xul
噹噹…
現在收藏庫便開啟於分頁標籤之中了:
Open Firefox Library in a Tab
不曉得有沒有人曾想過,把 Firefox 內的收藏庫 (Library, 管理書籤跟歷史的使用界面),開啟於分頁標籤中,而不是獨立視窗中。
如果你也曾想這麼做,那就這麼做吧 -- 在網址列中輸入以下 URL:
chrome://browser/content/places/places.xul
噹噹…
現在收藏庫便開啟於分頁標籤之中了:
Foxmarks/Xmarks 這類線上書籤同步工具的出現,讓我們在不同的電腦與瀏覽器之間同步書籤。我習慣叫這種應用叫 "書籤帶著走"。但是,不曉得有沒有人和我一樣,想把瀏覽器上的其他設定也帶著走呢?
對我來講,除了書籤之外,"搜尋引擎設定" 也是我想帶著走的。這裡的搜尋引擎,提的是「搜尋工具列」或是「Smart Search」裡面的搜尋引擎。
「搜尋工具列」大家比較清楚,就是網址列旁的搜尋框。而 Smart Search 知道的人或愛用的人可能比較少,有人叫它「智能搜尋」,或叫 Quick Searches,這裡有篇文章介紹;基本上是讓你把書籤當成搜尋引擎使用的一種方式。
過去我一直覺得奇怪,Firefox 為何要有兩套不同的搜尋機制,也不了解這兩者間如何選擇。後來因為有了 ConQuery 及 Context Search 這類套件,讓我可以在右鍵選單上直接使用搜尋功能,這種方便性讓我一直以「搜尋工具列」裡的搜尋引擎作為我的主要搜尋工具。
但是,搜尋工具列裡的搜尋引擎在使用上卻有一個缺點,那就是,他們無法像書籤一樣,可以帶者走… 因此,在 Firefox 2.x 版的年代,我便透過一套叫 FireUploader 的工具,手動將搜尋引擎設定上傳到某個網站,然後再於別台電腦將它們下載回來,但這終究不是長久之計啊!
後來找到一個就叫做 SmartSearch 的套件,這個套件做的事與 ConQuery 或 Context Search 類似,就是讓你可以在右鍵選單上,選擇你要使用的搜尋引擎進行查詢,但不同的地方在於,它的搜尋引擎選單是來自「智能搜尋」的 Quick Searches Bookmarks,這代表著,你的搜尋引擎清單就是書籤連結,是可以「帶著走」的--只要你同時安裝 SmartSearch 及 Foxmarks/Xmarks 即可。
相關連結:
Java 視窗應用程式在過去給部分人留下著刻版印象,總是認為那是跑得慢,看來醜的應用程式。不過,這真的只是刻版印象。個人在過去曾經以 Swing 套件,開發了 4 年以上的 Java Client 端應用程式,無論是在啟動速度、執行效能及視覺美觀上,Swing 介面均能達到令人滿意的程度。
而事實上不論是 Sun 或是 Java 社群也一直在 Look and Feel (就相當於佈景主題--Theme 的概念) 下了相當心血。在 Java SE 6 Update 10 裡面,就包括了一個 Nimbus Look and Feel,這是一個簡潔、洗練、具現代感的 Look and Feel。我們先來看看 SwingSet3 在 Windows XP 中的呈現樣式:
是不是還不賴呢? 我們展現一下 Metal Look and Feel 比較一下:
除了視覺上的輕巧之外,Nimbus Look and Feel 在實質上也是相當輕巧的,因為你在畫面上所看到的各個元件,包括按鈕、捲軸、下拉選單及標題的漸層及陰影等效果,全部是用 Java 2D 向量方式 (而不是透過 bitmap 圖檔) 畫出來的,因此才占用了 56 KB 的空間。
設定 Swing 應用程式使用 Nimbus Look and Feel
這樣漂亮的 Look and Feel,並沒有隨著 Java SE 6 Update 10的到來,而成為 Swing 預設的 Look and Feel。開發人員必須加以設定,才能在應用程式中以它作為佈景主題。隨著需求的不同,設定方式至少有三種。
在應用程式中進行設定--透過程式碼指定,你所要使用的 Look and Feel。這種方式只會將主題套用到應用程式本身,這只需要一行程式碼:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
或者,也可以在啟動 Java 程式時,加入以下的 java 啟動參數:
-Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
如果你想將 Nimbus Look and Feel 設定成整台電腦中,所有 Swing 程式的預設主題,則可以在 /lib/swing.properties 這個檔案中,加入底下這行:
swing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
如果上述的設定檔不存在,你可以自行新增一個。
在 jEdit 中設定 Nimbus Look and Feel
除了以上方式之外,有些應用程式可以透過 UI 介面,讓你設定應用程式的 Look and Feel。例如 jEdit 的這個以 Java 開發而成的編輯器,就可以在 Utilities/Global Options... 主選單所開啟的 Options 視窗中,選擇 Appearance 設定 Look and Feel。以下是套用 Nimbus 之後的外觀:
附上一張預設樣式 (Metal) 作比較:
設定 NetBeans 使用 Nimbus Look and Feel
一直覺得 Sun 是一家有著偏執傾向的公司,他們似乎有著一種,不管別人如何批評,想要做的,便會全力以赴做到好的企業精神。因此這幾年來在 NetBeans IDE 上的進展是有目共睹的 (雖然,我還是 Eclipse 的愛用者啊! ),而我也因此相當看好 JavaFX 未來的發展…。OK,回歸正題,我想社群裡面 NetBeans 的愛好者應該也不少,要設定 NetBeans 使用 Nimbus Look and Feel 也很簡單,只要找到 NetBeans 的安裝目錄,在 etc 子目錄下的 netbeans.conf 設定檔中,找到 netbeans_default_options 設定,在設定中加上 --laf Nimbus 即可。例如,我的設定是這樣子的:
netbeans_default_options="-J-Dorg.glassfish.v3.installRoot=\"C:\java\glassfish-v3-prelude-b15b\" -J-Dcom.sun.aas.installRoot=\"C:\java\glassfish-v2ur2\" -J-client -J-Xverify:none -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true --laf Nimbus"
以下是套用 Nimbus 之後的外觀:
再附上預設外觀看看:
其實,隨著應用的不同,你很難找到一套一體適用於所有應用情境的 Look and Feel,不過,這又是另一個主題了,我就此打住。
辦公室前面擺了一個 40 幾吋的電漿螢幕,放置不用殊為可惜。與同事閒聊之際,突然靈機一動,何不拿來展示正妹牆,24 下時輪播,慰勞整天辛勞的宅男工程師。
有了這個想法,首先想到了就是要找個能播放 media rss 的螢幕保護程式。試了幾個,包括:
效果都出不來。決定拿 FoxSaver 一試 -- 嘿,別看太久,年輕人會流鼻血的。
FoxSaver 是 Firefox 的一個 Extension,可以把 Firefox 變成螢幕保護程式。從它的選項來看,圖片來源可以來自本機目錄,RSS 或一般網頁。由於這個 Extension 還在實驗中,在 addons.mozilla.org 網站上需要登入才能安裝。我在安裝之後,使用上是沒有大問題。重點來了,怎麼設定 FoxSaver 讀取正妹牆 RSS 呢。一圖勝千言,請見右圖 。
如此之後,在 Firefox 狀態列上的 FoxSaver 按鈕上點右鍵,選擇「FoxSaver 開始」就行了。
當然,也有人推薦用 PicLens/Cooliris 來觀正妹牆,除了可以自己操刀,將正妹們拉遠拉近觀看外(是不是第一次感受到那種呼之即來,揮之即去的操作感 >_<|||),要透過 Cooliris 來達到類似螢幕保護程式的效果,記得按一下三角型的播放鈕,這 -- 不就變成美女自動送上門的桌上版了嗎。
網頁之間的互相引用、評論,是當代網誌的形式之一,而造就的結果就是正文之中充斥著超連結。
這樣的書寫風格本身並沒有所謂的好或不好。在我的日誌中,也存在不少此類用法。問題是,如果同一篇日誌中,重複提及一個特定的網頁,而該網頁又值得透過超連結參引,那麼重複編製超連結的動作,也會令人覺得繁瑣。
為此,我想到設定一種 "形式",再加上 JavaScript,來為正文中的特定字眼加上連結。
構想是,在每篇網誌的最後,加上一段 "相關連結" 或 "參考資料",段落名稱是什麼不重要,重點是:
": ") 來區分連結及解說文字,例如:
上例中的 "愛頌過生活" 及 "DOM" 字串,會被當作匹配條件,在正文的段落 (<p>...</p> 包起來的部分) 中,比對相符的字眼。若出現相符的字串,將被 JavaScript 套上超連結。
用來轉換文字成超連結的 JavaScript 程式碼如下:
<script type="text/javascript">
var init = {
cmds: [],
run: function(){
for(i = 0; i < this.cmds.length; i++)
this.cmds[i]();
}
}
function getText(anchor){
return anchor.text ? anchor.text : anchor.innerText;
}
function fixPostElements(){
var uls = document.getElementsByTagName("ul");
for(var i = 0; i < uls.length; i++)
insertResourceLink(uls[i].parentNode)
}
function insertResourceLink(element) {
var links= {};
var lis = element.getElementsByTagName("li");
for (var i = 0; i < lis.length; i++){
if(lis[i].innerHTML.indexOf(": ") != 0){
as = lis[i].getElementsByTagName("a");
for(j = 0; j < as.length; j++)
links[getText(as[j])] = as[j].href;
}
}
var ps = element.getElementsByTagName("p");
for(key in links) {
var regKey = new RegExp(key, "g");
for(var i = 0; i < ps.length; i++) {
ps[i].innerHTML = ps[i].innerHTML.replace(regKey,
"<a href="+ links[key] +">" + key +"</a>");
}
}
}
init.cmds.push(fixPostElements);
</script>
將上面的程式碼置於 HTML 的 head 區塊,在 body tag 中加上 onload="init.run()",於撰寫網誌時採用本文規範的形式,即可達所述的效果。
一篇符合本文形式規範的網誌文章,可參考 "PRISM for Firefox 3 beta 5 url link opening issue"。事實上,筆者正是在撰寫該文時,因對重複的超連結編製深感不耐,才產生此構想的。
附帶一提,如果讀者採用 Google Reader 或其他 RSS 閱讀軟體,那麼你將無法看到此 JavaScript 的效果,因為 RSS feed 中並不含 JavaScript 轉譯碼… 這樣的設計,或許可以解釋為:「為親自造訪本站的讀者,所提供的一點加值服務 ^__^」。