Closed
Bug 1277815
Opened 8 years ago
Closed 8 years ago
Firefox doesn't remember the input method (keyboard layout) per each window
Categories
(Core :: Widget: Win32, enhancement, P5)
Tracking
()
RESOLVED
INVALID
People
(Reporter: Stamimail, Unassigned)
Details
(Keywords: inputmethod, Whiteboard: tpi:+)
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 Build ID: 20160502172042 Steps to reproduce: Who using more than one language for typing. Please open 2 windows. Let's say 2 windows of: https://translate.google.com/ In one window try to type in one language, and on the other window try to type in the second language. Please switch between the windows every word you typing Actual results: The language is not replaced automatically, according to the language was typed before in this window. If you switch the language, the language is kept for all firefox windows, till you switch it again. Expected results: It's very very annoying behaviour. You find yourself fixing the typing all the time. Open 2 Notepad windows (TXT), and see how it works there.
Comment 1•8 years ago
|
||
Firefox: 46.0.1, Build ID: 20160502172042 User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 I have tested this issue on the latest Firefox (46.0.1) release, latest Nightly (50.0a1 - 20160606131341) build and I have managed to reproduce it. I have opened 2 windows with Google translate, in the first window I wrote in Russian and in the second window I wrote in Arabic. I started to write in the first window (Russian) and when I switched to the second window (Arabic), the language was not automatically changed in Arabic. I have also tested with Notepad and IE and the language automatically changed when switching windows. However, if you use two different Firefox profiles, the issue is no longer reproducible. The language is automatically changed when switching windows.
Status: UNCONFIRMED → NEW
Component: Untriaged → Widget: Win32
Ever confirmed: true
Product: Firefox → Core
Updated•8 years ago
|
Severity: normal → enhancement
Priority: -- → P5
Whiteboard: tpi:+
>Who using more than one *language for typing. *language = keyboard layout. http://www.eightforums.com/attachments/tutorials/5846d1335330602-language-bar-turn-off-windows-8-a-input_indicator_icon.jpg
Updated•8 years ago
|
Keywords: inputmethod
Summary: Firefox doesn't keep the language of writing in each window → Firefox doesn't remember the input method (keyboard layout) per each window
Comment 3•8 years ago
|
||
The pref, "intl.keyboard.per_window_layout", doesn't work for you?
Flags: needinfo?(Stamimail)
I don't know what "intl.keyboard.per_window_layout" does. The default was false. After changing it to True, still doesn't solve the problem.
Comment 5•8 years ago
|
||
You need to restart Firefox after changing it.
Comment 7•8 years ago
|
||
(In reply to Stamimail from comment #6) > Did so. The same, no change. > I'm using version 49.0.1 It's odd. When I tested this in my environment at last week, it worked fine with Nightly (I'm using Mac now, so, I cannot test this right now). I'd like to know how about on the others. Note that the default behavior, i.e., "intl.keyboard.per_window_layout" is false, is the standard behavior of Windows. Firefox's all windows are created by same process and with same IM context. When the pref is true, each window instance stores the last keyboard layout/IME and when it becomes active, it sets active keyboard layout/IME to the stored keyboard layout. This was implemented by bug 186549 at Firefox 1.5.
I tested now in the last update of Firefox Developer Edition 51.0a2 (2016-10-18) (32-bit) The same problem. Is there a chance it is something to do with Hebrew versions of Firefox?
Comment 9•8 years ago
|
||
(In reply to Stamimail from comment #8) > Is there a chance it is something to do with Hebrew versions of Firefox? It doesn't depend on UI locale.
Comment 10•8 years ago
|
||
I retried to test this on Win7 with Firefox 49.0.1 with setting "intl.keyboard.per_window_layout" to true. Then, I cannot reproduce this bug. I could type Cyrillic characters in a window and Arabic characters in the other window only with switching the windows. If you can still reproduce without misunderstanding "intl.keyboard.per_window_layout" usage, I guess that your system (something like 3rd party's keyboard utilities) does something special.
Reporter | ||
Comment 11•8 years ago
|
||
https://dl.dropboxusercontent.com/u/12771184/ShareX/2016/10/Bug%201277815%20-%20Firefox%20doesn%27t%20remember%20the%20input%20method%20%28keyboard%20layout%29%20per%20each%20window.wmv >If you can still reproduce without misunderstanding "intl.keyboard.per_window_layout" usage, I guess that your system (something like 3rd party's keyboard utilities) does something special. I don't know about such third party utility.
Reporter | ||
Comment 12•8 years ago
|
||
Found. The Bug is with Tabs. intl.keyboard.per_window_layout=true does fix the problem but only for 2 windows, not for 2 tabs.
Comment 13•8 years ago
|
||
(In reply to Stamimail from comment #12) > Found. The Bug is with Tabs. > intl.keyboard.per_window_layout=true > does fix the problem but only for 2 windows, not for 2 tabs. It's impossible to separate keyboard layout management per tab. Does it works so on IE/Edge? They create focusable window per tab, but others, Chromium and Firefox, handles all native messages in the main process. Anyway, starting Win8, the standard behavior is changed to that all processes share same keyboard layout (i.e., changing keyboard layout affects system-wide). So, we shouldn't add any complicated hack for a few users. (Managing active keyboard layout per window is also our hack, though, it was implemented for compatibility with Netscape Communicator/Navigator 4.x.)
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(Stamimail)
Resolution: --- → INVALID
Reporter | ||
Comment 14•8 years ago
|
||
I'm using FF on W7... What am I going to do? I can not accept it. Can you please give me a solution? hack as an Addon?
Comment 15•8 years ago
|
||
(In reply to Masayuki Nakano [:masayuki] (Mozilla Japan) from comment #13) > (In reply to Stamimail from comment #12) > It's impossible to separate keyboard layout management per tab. Does it > works so on IE/Edge? For the record, IE11 remembers the keyboard layout per tab on Win7 or Win8 with "Let me set a different input method for each app windows" checked. (Didn't test with Edge.)
Comment 16•8 years ago
|
||
(In reply to Stamimail from comment #14) > I'm using FF on W7... > What am I going to do? I can not accept it. > Can you please give me a solution? hack as an Addon? Nothing. For hacking this, you need to change WM_INPUTLANGCHANGE message handler's behavior. However, it's not exposed to JS (i.e., add-ons cannot touch around it). (In reply to Masatoshi Kimura [:emk] from comment #15) > (In reply to Masayuki Nakano [:masayuki] (Mozilla Japan) from comment #13) > > (In reply to Stamimail from comment #12) > > It's impossible to separate keyboard layout management per tab. Does it > > works so on IE/Edge? > > For the record, IE11 remembers the keyboard layout per tab on Win7 or Win8 > with "Let me set a different input method for each app windows" checked. Although, I do that ;-) However, I believe that most users don't change such OS settings. Anyway, if we'd implement such hack, we need to catch tab changes (and perhaps, we'd need to check domain or something the DOM window hierarchy of old tab and new tab, for example, window.opener etc). I don't think that we should implement such complicated code only for a few users. And we shouldn't use a lot of memory to store each tab's keyboard layout because we know some users open over a thousand tabs, a lot of users open 100 ~ 300 tabs (perhaps, we need to create a hashtable for storing each tab's keyboard layout?).
Reporter | ||
Comment 17•8 years ago
|
||
If not perfect, even partial solution would be good, it's very annoying.
Comment 18•8 years ago
|
||
(In reply to Stamimail from comment #17) > If not perfect, even partial solution would be good, it's very annoying. Although, IE and Edge work as you expected. Both Firefox and Google Chrome don't work as so. This difference is caused by the architecture of those browsers. IE and Edge receives events in each tab's process. But Firefox and Chrome receives all events in main process and sent abstract event to active tab's process. We cannot take IE/Edge's approach with a lot of reasons (both technically and developing costs). Anyway, I've never seen this request after Mozilla creates tab browser since 2001...
Reporter | ||
Comment 19•8 years ago
|
||
I think my solution will be to make a shortcut key for: Move the current tab to New Window.
You need to log in
before you can comment on or make changes to this bug.
Description
•