Re: [-Fx-] 請問火狐有連續複製的附件嗎?

作者: mayuyu ((・ω・)ノ)   2016-04-04 22:37:02
剪貼簿增強工具Ditto可以分好幾次選取不同的段落,
分別複製多次以後,打開複製的歷史列表,
按住Ctrl或Shift選擇多個複製的歷史,
然後將所有複製的內容全部一次貼上。
「用FireGestures召喚Ditto」
Ditto有全域的熱鍵可以隨時彈出複製歷史列表,
預設是Ctrl+`,其實按起來很快,
不過因為我已經有用AutoCopy,
選取文字後就會自動複製,不需要按到鍵盤的按鍵,
所以如果能夠用手勢就打開Ditto的歷史列表,
就可以單手完成複製貼上的工作。
(如果滑鼠有很多的按鍵,也可以用滑鼠的巨集)
在整個Windows系統上,可以用StrokesPlus畫手勢送出
Ditto的熱鍵acSendKeys("^`"),
就可以在Windows系統的任何地方快速的打開Ditoo的歷史列表。
在Fx裡由於我排除了StrokesPlus,只用FireGesture來偵測手勢,
所以需要由FireGestures來送出按鍵傳送給系統,
這個功能不能用FireGestures自己的sendKeyEvent,
所以要用別的做法。
Ditto本身支援命令列的參數,執行Ditto.exe -open,
就可以打開Ditto的歷史列表,
所以FireGestures的腳本可以寫成
var localFile = Components.classes["@mozilla.org/file/local;1"].
createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes["@mozilla.org/process/util;1"].
createInstance(Components.interfaces.nsIProcess);
var args = ["-open"];
localFile.initWithPath("C:\\Program Files\\Ditto\\Ditto.exe");
//Ditto.exe的位置
process.init(localFile);
process.run(false, args, args.length);
但是因為我的Fx放在沙盒裡,被限制權限,所以不能這樣用。
也可以寫成bat從命令列執行,但是我的沙盒又限制其他程式啟動執行,
只有少數程式程式放行,因此無法啟動cmd.exe,所以這個方法也不行。
因為要放行cmd.exe覺得不太好,剛好我有用NirCmd,
所以想說改用NirCmd來傳送按鍵給系統會不會好一點?
使用NirCmd的方法,下載NirCmd,免安裝,
解壓縮放到任意位置,例如C:\nircmd-x64底下。
新增一個FireGestures滑鼠手勢,腳本填入
var localFile = Components.classes["@mozilla.org/file/local;1"].
createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes["@mozilla.org/process/util;1"].
createInstance(Components.interfaces.nsIProcess);
var args = ["sendkeypress", "ctrl+192"]; //('的VirtualKeyCode=192)
localFile.initWithPath("C:\\nircmd-x64\\nircmd.exe"); //NirCmd的位置
process.init(localFile);
process.run(false, args, args.length);
然後在沙盒裡放行nircmd.exe。
另一種方法還是用StrokesPlus,
可以單獨設定一個手勢給firefox.exe彈出Ditto,
然後勾選Preferences設定裡面的"Relay Gesture on No Match*",
這樣除了單獨設定的彈出Ditto的手勢以外,
其他沒有設定的手勢都會被StrokesPlus忽略,
重新傳遞給FireGestures去處理。
不過這個方法有很大的缺點,
因為StrokesPlus要判斷是否要忽略要等手勢完全畫完,
等手勢畫完讓StrokesPlus判斷完以後才能交給FireGestures處理,
因此手勢處理的回應會慢半拍,用起來感覺會頓頓的。
請問有沒有其他比較好的方法,可以在沙盒裡不用放行額外的程式,
直接用手勢畫出Ditto的歷史列表視窗?
作者: t7yang (t7: 我認為這是一種背叛)   2016-04-04 23:12:00
快推,不然人家以為我看不懂
作者: koihime (華琳)   2016-04-07 08:01:00
有用ditto也有用nircmd不過真沒想到這樣用XD
作者: mayuyu ((・ω・)ノ)   2016-04-07 08:41:00
如果不在沙盒裡的話不用nircmd也可以ditto本身就支援命令列 寫成批次檔處理也可以可是我的Fx是放在沙盒裡 不放行cmd.exe就不能用而放行cmd.exe我覺得太恐怖xD 剛好nircmd可以送按鍵所以想說放行nircmd可能還好一點...?
作者: koihime (華琳)   2016-04-07 10:05:00
我的fx也在沙盒裡,不過我就直接用快速鍵叫他了XD用vimperator之在fx上用滑鼠的時間不多所以就沒想去設XD

Links booklink

Contact Us: admin [ a t ] ucptt.com