mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-21 14:07:58 +01:00
Add :private command.
This commit is contained in:
@@ -1002,12 +1002,18 @@ var CommandLine = Module("commandline", {
|
||||
save: function save() {
|
||||
if (events.feedingKeys)
|
||||
return;
|
||||
|
||||
let str = this.input.value;
|
||||
if (/^\s*$/.test(str))
|
||||
return;
|
||||
|
||||
let privateData = this.checkPrivate(str);
|
||||
if (privateData == "never-save")
|
||||
return;
|
||||
|
||||
this.store = this.store.filter(function (line) (line.value || line) != str);
|
||||
dactyl.trapErrors(function () {
|
||||
this.store.push({ value: str, timestamp: Date.now()*1000, privateData: this.checkPrivate(str) });
|
||||
this.store.push({ value: str, timestamp: Date.now()*1000, privateData: privateData });
|
||||
}, this);
|
||||
this.store = this.store.slice(Math.max(0, this.store.length - options["history"]));
|
||||
},
|
||||
|
||||
@@ -164,6 +164,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
|
||||
NEW_WINDOW: "window",
|
||||
|
||||
forceBackground: null,
|
||||
forcePrivate: null,
|
||||
forceTarget: null,
|
||||
|
||||
get forceOpen() ({ background: this.forceBackground,
|
||||
@@ -955,7 +956,11 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
|
||||
});
|
||||
|
||||
case dactyl.NEW_WINDOW:
|
||||
let win = window.openDialog(document.documentURI, "_blank", "chrome,all,dialog=no");
|
||||
let options = ["chrome", "all", "dialog=no"];
|
||||
if (dactyl.forcePrivate)
|
||||
options.push("private");
|
||||
|
||||
let win = window.openDialog(document.documentURI, "_blank", options.join(","));
|
||||
util.waitFor(function () win.document.readyState === "complete");
|
||||
browser = win.dactyl && win.dactyl.modules.config.tabbrowser || win.getBrowser();
|
||||
// FALLTHROUGH
|
||||
@@ -1560,6 +1565,21 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
|
||||
literal: 0
|
||||
});
|
||||
|
||||
commands.add(["pr[ivate]", "pr0n", "porn"],
|
||||
"Enable privacy features of a command, when applicable, and do not save the invocation in command history",
|
||||
function (args) {
|
||||
dactyl.withSavedValues(["forcePrivate"], function () {
|
||||
this.forcePrivate = true;
|
||||
dactyl.execute(args[0], null, true);
|
||||
});
|
||||
}, {
|
||||
argCount: "1",
|
||||
completer: function (context) completion.ex(context),
|
||||
literal: 0,
|
||||
privateData: "never-save",
|
||||
subCommand: 0
|
||||
});
|
||||
|
||||
commands.add(["exit", "x"],
|
||||
"Quit " + config.appName,
|
||||
function (args) {
|
||||
|
||||
@@ -143,6 +143,10 @@
|
||||
Like <ex>:tabopen</ex>, but all arguments are opened in
|
||||
a single new window.
|
||||
</p>
|
||||
<p>
|
||||
When called via <ex>:private</ex>, the new window is a
|
||||
private browsing window.
|
||||
</p>
|
||||
</description>
|
||||
</item>
|
||||
|
||||
|
||||
@@ -109,6 +109,19 @@
|
||||
</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<tags>:private :pr</tags>
|
||||
<tags>:pr0n :porn</tags>
|
||||
<strut/>
|
||||
<spec>:pr<oa>ivate</oa> <a>cmd</a></spec>
|
||||
<description>
|
||||
<p>
|
||||
Execute <a>cmd</a> with privacy features enabled, and
|
||||
do not save the invocation in command history.
|
||||
</p>
|
||||
</description>
|
||||
</item>
|
||||
|
||||
<h2 tag="cookie-settings">Cookie settings</h2>
|
||||
<item>
|
||||
<tags>:cookies :ck</tags>
|
||||
|
||||
@@ -915,7 +915,8 @@ var Commands = Module("commands", {
|
||||
hasPrivateData: function hasPrivateData(command) {
|
||||
for (let [cmd, args] in this.subCommands(command))
|
||||
if (cmd.privateData)
|
||||
return !callable(cmd.privateData) || cmd.privateData(args);
|
||||
return !callable(cmd.privateData) ? cmd.privateData
|
||||
: cmd.privateData(args);
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
all Vim related files.
|
||||
- Vimball packages are no longer available.
|
||||
• Removed <F1> and <A-F1> mappings.
|
||||
• Add :private command.
|
||||
• Better per-window private browsing support.
|
||||
|
||||
1.0:
|
||||
• Extensive Firefox 4 support, including:
|
||||
|
||||
Reference in New Issue
Block a user