mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ui: extract registry key for focus-stealing workarounds using setAutoRequestFocus
This commit is contained in:
@@ -30,8 +30,8 @@ import com.intellij.openapi.util.ActionCallback;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.io.win32.WindowsElevationUtil;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.wm.*;
|
||||
import com.intellij.openapi.wm.ex.IdeFrameEx;
|
||||
@@ -98,7 +98,9 @@ public class IdeFrameImpl extends JFrame implements IdeFrameEx, AccessibleContex
|
||||
setSize(size);
|
||||
setLocationRelativeTo(null);
|
||||
|
||||
if (Registry.is("suppress.focus.stealing") && !ApplicationManagerEx.getApplicationEx().isActive()) {
|
||||
if (Registry.is("suppress.focus.stealing") &&
|
||||
Registry.is("suppress.focus.stealing.auto.request.focus") &&
|
||||
!ApplicationManagerEx.getApplicationEx().isActive()) {
|
||||
setAutoRequestFocus(false);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ public class FlatWelcomeFrame extends JFrame implements IdeFrame, Disposable, Ac
|
||||
size.height
|
||||
);
|
||||
|
||||
if (Registry.is("suppress.focus.stealing")) {
|
||||
if (Registry.is("suppress.focus.stealing") && Registry.is("suppress.focus.stealing.auto.request.focus")) {
|
||||
setAutoRequestFocus(false);
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ public class Splash extends JDialog implements StartupProgress {
|
||||
contentPane.setLayout(new BorderLayout());
|
||||
contentPane.add(myLabel, BorderLayout.CENTER);
|
||||
Dimension size = getPreferredSize();
|
||||
if (Registry.is("suppress.focus.stealing")) {
|
||||
if (Registry.is("suppress.focus.stealing") && Registry.is("suppress.focus.stealing.auto.request.focus")) {
|
||||
setAutoRequestFocus(false);
|
||||
}
|
||||
setSize(size);
|
||||
|
||||
@@ -900,6 +900,8 @@ focus.fix.lost.cursor.description=See IDEA-79312
|
||||
|
||||
suppress.focus.stealing=true
|
||||
suppress.focus.stealing.description=(Experimental) Trying to fight focus stealing
|
||||
suppress.focus.stealing.auto.request.focus=true
|
||||
suppress.focus.stealing.auto.request.focus.description=(Experimental) Trying to fight focus stealing after first window activation. Does nothing if `suppress.focus.stealing` disabled.
|
||||
|
||||
ide.mouse.popup.trigger.modifiers.disabled=true
|
||||
ide.mouse.popup.trigger.modifiers.disabled.description=Do not show a context popup if right button is pressed with modifiers
|
||||
|
||||
@@ -4109,7 +4109,7 @@ public class UIUtil {
|
||||
public static void suppressFocusStealing (Window window) {
|
||||
// Focus stealing is not a problem on Mac
|
||||
if (SystemInfo.isMac) return;
|
||||
if (Registry.is("suppress.focus.stealing")) {
|
||||
if (Registry.is("suppress.focus.stealing") && Registry.is("suppress.focus.stealing.auto.request.focus")) {
|
||||
setAutoRequestFocus(window, false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user