select KDE-specific keymap as default when KDE is detected

This commit is contained in:
Dmitry Batrak
2016-03-22 13:39:03 +03:00
parent f70dbbb702
commit 2727fec51a
4 changed files with 10 additions and 2 deletions
@@ -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>>() {