1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-21 08:37:58 +01:00

Possibly stem aforementioned focus bug.

--HG--
branch : bootstrapped
This commit is contained in:
Kris Maglione
2010-12-27 12:04:03 -05:00
parent e93f7455f2
commit ff52485ca5
6 changed files with 16 additions and 7 deletions

View File

@@ -623,8 +623,10 @@ var CommandLine = Module("commandline", {
this.widgets.message = null; this.widgets.message = null;
if (modes.main != modes.COMMAND_LINE) if (modes.main != modes.COMMAND_LINE)
this.widgets.command = null; this.widgets.command = null;
if (modes.main == modes.OUTPUT_MULTILINE && this.widgets.multilineOutput.atEnd) if (modes.main == modes.OUTPUT_MULTILINE && this.widgets.multilineOutput.atEnd) {
dactyl.focusContent();
modes.pop(); modes.pop();
}
if (modes.main != modes.OUTPUT_MULTILINE) if (modes.main != modes.OUTPUT_MULTILINE)
this.multilineOutputVisible = false; this.multilineOutputVisible = false;
}, },

View File

@@ -419,9 +419,6 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
* element. * element.
*/ */
focusContent: function focusContent(clearFocusedElement) { focusContent: function focusContent(clearFocusedElement) {
util.dump("focusContent(" + clearFocusedElement + ") " +
(window == services.focus.activeWindow));
if (window != services.focus.activeWindow) if (window != services.focus.activeWindow)
return; return;

View File

@@ -81,7 +81,7 @@ var Modes = Module("modes", {
postExecute: function (map) { if (modes.main == modes.QUOTE && map.name === "<C-v>") modes.pop() }, postExecute: function (map) { if (modes.main == modes.QUOTE && map.name === "<C-v>") modes.pop() },
onEvent: function () { if (modes.main == modes.QUOTE) modes.pop() } onEvent: function () { if (modes.main == modes.QUOTE) modes.pop() }
}); });
this.addMode("OUTPUT_MULTILINE", { ownsFocus: true }); this.addMode("OUTPUT_MULTILINE");
// this._extended modes, can include multiple modes, and even main modes // this._extended modes, can include multiple modes, and even main modes
this.addMode("EX", true); this.addMode("EX", true);

View File

@@ -992,6 +992,8 @@ let StructBase = Class("StructBase", Array, {
clone: function clone() this.constructor.apply(null, this.slice()), clone: function clone() this.constructor.apply(null, this.slice()),
closure: Class.Property(Object.getOwnPropertyDescriptor(Class.prototype, "closure")),
toString: function () Class.prototype.toString.apply(this, arguments), toString: function () Class.prototype.toString.apply(this, arguments),
// Iterator over our named members // Iterator over our named members

View File

@@ -56,6 +56,12 @@ update(Sheet.prototype, {
} }
}, },
match: function (uri) {
if (isString(uri))
uri = util.newURI(uri);
return this.sites.some(function (site) Styles.matchFilter(site, uri));
},
get fullCSS() { get fullCSS() {
let filter = this.sites; let filter = this.sites;
let css = this.css; let css = this.css;
@@ -476,7 +482,7 @@ var Styles = Module("Styles", {
let uris = util.visibleURIs(window.content); let uris = util.visibleURIs(window.content);
context.compare = modules.CompletionContext.Sort.number; context.compare = modules.CompletionContext.Sort.number;
context.generate = function () styles.user.sheets; context.generate = function () styles.user.sheets;
context.keys.active = function (sheet) sheet.sites.some(function (site) uris.some(Styles.matchFilter(site))), context.keys.active = function (sheet) uris.some(sheet.closure.match);
context.keys.description = function (sheet) <>{sheet.formatSites(uris)}: {sheet.css.replace("\n", "\\n")}</> context.keys.description = function (sheet) <>{sheet.formatSites(uris)}: {sheet.css.replace("\n", "\\n")}</>
if (cmd.filter) if (cmd.filter)
context.filters.push(function ({ item }) cmd.filter(item)); context.filters.push(function ({ item }) cmd.filter(item));

View File

@@ -930,8 +930,10 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
// destroy modules. // destroy modules.
util.timeout(function () { util.timeout(function () {
for (let module in values(defineModule.modules)) for (let module in values(defineModule.modules))
if (module.cleanup) if (module.cleanup) {
util.dump("cleanup: " + module.constructor.className);
util.trapErrors(module.cleanup, module); util.trapErrors(module.cleanup, module);
}
services.observer.addObserver(this, "dactyl-rehash", true); services.observer.addObserver(this, "dactyl-rehash", true);
}); });