mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-20 04:27:59 +01:00
Fix some command line focus issues.
This commit is contained in:
@@ -329,6 +329,8 @@ var CommandMode = Class("CommandMode", {
|
|||||||
this.completions.complete(true, false);
|
this.completions.complete(true, false);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
get holdFocus() this.widgets.active.command.inputField,
|
||||||
|
|
||||||
get mappingSelf() this,
|
get mappingSelf() this,
|
||||||
|
|
||||||
get widgets() commandline.widgets,
|
get widgets() commandline.widgets,
|
||||||
@@ -801,12 +803,8 @@ var CommandLine = Module("commandline", {
|
|||||||
}
|
}
|
||||||
]).toObject(),
|
]).toObject(),
|
||||||
{
|
{
|
||||||
blur: function onBlur(event) {
|
|
||||||
if (this.commandMode && event.originalTarget === this.widgets.active.command.inputField)
|
|
||||||
dactyl.focus(this.widgets.active.command.inputField);
|
|
||||||
},
|
|
||||||
focus: function onFocus(event) {
|
focus: function onFocus(event) {
|
||||||
if (!this.commandMode
|
if (!this.commandSession
|
||||||
&& event.originalTarget === this.widgets.active.command.inputField) {
|
&& event.originalTarget === this.widgets.active.command.inputField) {
|
||||||
event.target.blur();
|
event.target.blur();
|
||||||
dactyl.beep();
|
dactyl.beep();
|
||||||
|
|||||||
@@ -966,7 +966,8 @@ var Events = Module("events", {
|
|||||||
|
|
||||||
blur: function onBlur(event) {
|
blur: function onBlur(event) {
|
||||||
let elem = event.originalTarget;
|
let elem = event.originalTarget;
|
||||||
if (event.originalTarget instanceof Window && services.focus.activeWindow == null) {
|
if (elem instanceof Window && services.focus.activeWindow == null
|
||||||
|
&& document.commandDispatcher.focusedWindow !== window) {
|
||||||
// Deals with circumstances where, after the main window
|
// Deals with circumstances where, after the main window
|
||||||
// blurs while a collapsed frame has focus, re-activating
|
// blurs while a collapsed frame has focus, re-activating
|
||||||
// the main window does not restore focus and we lose key
|
// the main window does not restore focus and we lose key
|
||||||
@@ -974,6 +975,12 @@ var Events = Module("events", {
|
|||||||
services.focus.clearFocus(window);
|
services.focus.clearFocus(window);
|
||||||
document.commandDispatcher.focusedWindow = Editor.getEditor(content) ? window : content;
|
document.commandDispatcher.focusedWindow = Editor.getEditor(content) ? window : content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let hold = modes.topOfStack.params.holdFocus;
|
||||||
|
if (elem == hold) {
|
||||||
|
dactyl.focus(hold);
|
||||||
|
this.timeout(function () { dactyl.focus(hold); });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: Merge with onFocusChange
|
// TODO: Merge with onFocusChange
|
||||||
|
|||||||
Reference in New Issue
Block a user