mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
select KDE-specific keymap as default when KDE is detected
This commit is contained in:
+1
-1
@@ -387,7 +387,7 @@ public class InitialConfigurationDialog extends DialogWrapper {
|
||||
else if (KeymapManager.MAC_OS_X_KEYMAP.equals(name) || KeymapManager.MAC_OS_X_10_5_PLUS_KEYMAP.equals(name)) {
|
||||
return SystemInfo.isMac;
|
||||
}
|
||||
else if (KeymapManager.X_WINDOW_KEYMAP.equals(name) || "Default for GNOME".equals(name) || "Default for KDE".equals(name)) {
|
||||
else if (KeymapManager.X_WINDOW_KEYMAP.equals(name) || "Default for GNOME".equals(name) || KeymapManager.KDE_KEYMAP.equals(name)) {
|
||||
return SystemInfo.isXWindow;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -25,6 +25,7 @@ public abstract class KeymapManager {
|
||||
@NonNls public static final String DEFAULT_IDEA_KEYMAP = "$default";
|
||||
@NonNls public static final String MAC_OS_X_KEYMAP = "Mac OS X";
|
||||
@NonNls public static final String X_WINDOW_KEYMAP = "Default for XWin";
|
||||
@NonNls public static final String KDE_KEYMAP = "Default for KDE";
|
||||
@NonNls public static final String MAC_OS_X_10_5_PLUS_KEYMAP = "Mac OS X 10.5+";
|
||||
|
||||
public abstract Keymap getActiveKeymap();
|
||||
|
||||
@@ -87,7 +87,12 @@ public class DefaultKeymap {
|
||||
return KeymapManager.MAC_OS_X_KEYMAP;
|
||||
}
|
||||
else if (SystemInfo.isXWindow) {
|
||||
return KeymapManager.X_WINDOW_KEYMAP;
|
||||
if (SystemInfo.isKDE) {
|
||||
return KeymapManager.KDE_KEYMAP;
|
||||
}
|
||||
else {
|
||||
return KeymapManager.X_WINDOW_KEYMAP;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return KeymapManager.DEFAULT_IDEA_KEYMAP;
|
||||
|
||||
@@ -64,6 +64,8 @@ public class SystemInfo extends SystemInfoRt {
|
||||
public static final boolean isWin8OrNewer = isWindows && isOsVersionAtLeast("6.2");
|
||||
|
||||
public static final boolean isXWindow = isUnix && !isMac;
|
||||
// https://userbase.kde.org/KDE_System_Administration/Environment_Variables#KDE_FULL_SESSION
|
||||
public static final boolean isKDE = !StringUtil.isEmpty(System.getenv("KDE_FULL_SESSION"));
|
||||
|
||||
// http://www.freedesktop.org/software/systemd/man/os-release.html
|
||||
private static final NotNullLazyValue<Map<String, String>> ourOsReleaseInfo = new AtomicNotNullLazyValue<Map<String, String>>() {
|
||||
|
||||
Reference in New Issue
Block a user