diff --git a/CHANGELOG.md b/CHANGELOG.md index 483469d..ad84034 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +## [1.1.0] - 2024-07-19 +### Changed +- Add "Use Keyboard Layout" setting to determine the language based on the keyboard layout +- Update Gradle to 8.9 ## [1.0.5] - 2023-12-07 ### Changed diff --git a/README.md b/README.md index e398055..d97365e 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,51 @@
- logo -
-

Kursor

-

IntelliJ plugin for tracking keyboard language

-

- - - -

+![Kursor Logo](./src/main/resources/META-INF/pluginIcon_dark.svg) + +# Kursor + +*IntelliJ plugin for tracking keyboard language* -![](https://github.com/siropkin/kursor/blob/main/screenshots/kurso.gif) +[![Rating](https://img.shields.io/jetbrains/plugin/r/stars/22072?style=flat-square)](https://plugins.jetbrains.com/plugin/22072-kursor) +[![Downloads](https://img.shields.io/jetbrains/plugin/d/22072-kursor.svg?style=flat-square)](https://plugins.jetbrains.com/embeddable/install/22072) +[![Version](https://img.shields.io/jetbrains/plugin/v/22072-kursor.svg?style=flat-square)](https://plugins.jetbrains.com/plugin/22072-kursor) + +![Kursor Demo](./screenshots/demo.png) + -Kursor is a simple IntelliJ plugin that helps you keep track of your keyboard language. +Kursor simplifies language tracking directly on your IntelliJ IDE. -It shows the current language on the cursor and lets you change the cursor color based on the language. +It dynamically displays the current keyboard language on your cursor, offering the added functionality of changing the cursor's color to match the language in use. -It's useful for developers who work with multiple languages and want to avoid typing errors. +This feature is particularly beneficial for developers juggling multiple languages, significantly reducing the likelihood of typing errors. -## Install +## Installation - - - +[![Install Kursor](https://user-images.githubusercontent.com/12044174/123105697-94066100-d46a-11eb-9832-338cdf4e0612.png)](https://plugins.jetbrains.com/plugin/22072-kursor) -Or you could install it inside your IDE: +Alternatively, you can install it directly inside your IDE: -For Windows & Linux - File > Settings > Plugins > Marketplace > Search for "Kursor" > Install Plugin > Restart IntelliJ IDEA +- **For Windows & Linux:** `File` > `Settings` > `Plugins` > `Marketplace` > Search for "Kursor" > `Install Plugin` > Restart IntelliJ IDEA +- **For Mac:** `IntelliJ IDEA` > `Preferences` > `Plugins` > `Marketplace` > Search for "Kursor" > `Install Plugin` > Restart IntelliJ IDEA -For Mac - IntelliJ IDEA > Preferences > Plugins > Marketplace > Search for "Kursor" > Install Plugin > Restart IntelliJ IDEA +## Features and Settings +![Settings Screenshot](./screenshots/settings.png) -## Settings -settings +- **Default Language:** The default language for your IDE. +- **Use Keyboard Layout:** Determines the language based on the keyboard layout. +- **Change Color on Non-Default Language:** Changes the cursor color if the language is not the default. +- **Show Text Indicator:** Displays a language indicator on the cursor. If disabled, only the cursor color will be changed. +- **Show Default Language:** Shows the default language on the cursor when enabled. +- **Indicate Caps Lock:** Displays a Caps Lock indicator on the cursor. The language will be shown in uppercase. +- **Font:** The font used for the language indicator. +- **Size:** Font size of the language indicator. +- **Opacity:** Opacity of the language indicator (0 - transparent, 255 - opaque). +- **Vertical Position:** Vertical position of the language indicator (top, middle, or bottom). +- **Horizontal Offset:** Horizontal offset of the language indicator. -- Default language - default language -- Change color on non-default language - change cursor color if language is not default -- Show text indicator - show language indicator on the cursor (if disabled, only cursor color will be changed) -- Show default language - if disabled, default language will not be shown on the cursor -- Indicate Caps Lock - show Caps Lock indicator on the cursor (language will be in uppercase) -- Font - font of the language indicator -- Size - font size of the language indicator -- Opacity - opacity of the language indicator (0 - transparent, 255 - opaque) -- Vertical position - vertical position of the language indicator (top, middle, or bottom) -- Horizontal offset - horizontal offset of the language indicator +## Support -## Buy Me a Coffee -[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/ivan.seredkin) +[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/ivan.seredkin) diff --git a/gradle.properties b/gradle.properties index d8aec90..046c358 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ pluginGroup = com.github.siropkin.kursor pluginName = Kursor pluginRepositoryUrl = https://github.com/siropkin/kursor # SemVer format -> https://semver.org -pluginVersion = 1.0.5 +pluginVersion = 1.1.0 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html pluginSinceBuild = 221 diff --git a/screenshots/demo.png b/screenshots/demo.png new file mode 100644 index 0000000..77d1a14 Binary files /dev/null and b/screenshots/demo.png differ diff --git a/screenshots/kurso.gif b/screenshots/kurso.gif deleted file mode 100644 index 1f0e403..0000000 Binary files a/screenshots/kurso.gif and /dev/null differ diff --git a/screenshots/settings.png b/screenshots/settings.png index 72509f9..3055307 100644 Binary files a/screenshots/settings.png and b/screenshots/settings.png differ diff --git a/src/main/kotlin/com/github/siropkin/kursor/settings/KursorSettingsComponent.kt b/src/main/kotlin/com/github/siropkin/kursor/settings/KursorSettingsComponent.kt index 27b852f..ac464f0 100644 --- a/src/main/kotlin/com/github/siropkin/kursor/settings/KursorSettingsComponent.kt +++ b/src/main/kotlin/com/github/siropkin/kursor/settings/KursorSettingsComponent.kt @@ -14,7 +14,8 @@ private const val LABEL_SPACING = 10 private const val COMPONENT_SPACING = 35 class KursorSettingsComponent { - private val defaultLanguageComponent = JBTextField("", 10) + private val defaultLanguageComponent = JBTextField("", 5) + private val useKeyboardLayoutComponent = JBCheckBox("Use keyboard layout") private val changeColorOnNonDefaultLanguageComponent = JBCheckBox("Change color on non-default language") private val colorOnNonDefaultLanguageComponent = ColorPanel() @@ -22,7 +23,6 @@ class KursorSettingsComponent { private val showIndicatorComponent = JBCheckBox("Show text indicator") private val indicateCapsLockComponent = JBCheckBox("Indicate 'Caps Lock'") private val indicateDefaultLanguageComponent = JBCheckBox("Show default language") - private val useKeyboardLayoutComponent = JBCheckBox("Use keyboard layout") private val indicatorFontNameComponent = ComboBox(GraphicsEnvironment.getLocalGraphicsEnvironment().availableFontFamilyNames) private val indicatorFontStyleComponent = ComboBox(arrayOf(Font.PLAIN.toString(), Font.BOLD.toString(), Font.ITALIC.toString())) @@ -34,6 +34,7 @@ class KursorSettingsComponent { var panel: JPanel = FormBuilder.createFormBuilder() .addLabeledComponent("Default language:", defaultLanguageComponent, 1, false) + .addComponent(useKeyboardLayoutComponent) .addComponent(createColorPanel()) .addComponent(createIndicatorPanel()) .addComponent(createPositionPanel()) @@ -49,6 +50,12 @@ class KursorSettingsComponent { defaultLanguageComponent.text = value } + var useKeyboardLayout: Boolean + get() = useKeyboardLayoutComponent.isSelected + set(value) { + useKeyboardLayoutComponent.isSelected = value + } + var changeColorOnNonDefaultLanguage: Boolean get() = changeColorOnNonDefaultLanguageComponent.isSelected set(value) { @@ -81,12 +88,6 @@ class KursorSettingsComponent { indicateDefaultLanguageComponent.isSelected = value } - var useKeyboardLayout: Boolean - get() = useKeyboardLayoutComponent.isSelected - set(value) { - useKeyboardLayoutComponent.isSelected = value - } - var indicatorFontName: String get() = indicatorFontNameComponent.selectedItem as String set(value) { @@ -156,7 +157,6 @@ class KursorSettingsComponent { checkBoxPanel.layout = GridBagLayout() checkBoxPanel.add(showIndicatorComponent, createRbc(0, 0, 0.0)) checkBoxPanel.add(indicateDefaultLanguageComponent, createRbc(1, 0, 0.0, COMPONENT_SPACING)) - checkBoxPanel.add(useKeyboardLayoutComponent, createRbc(2, 0, 0.0, COMPONENT_SPACING)) checkBoxPanel.add(indicateCapsLockComponent, createRbc(2, 0, 1.0, COMPONENT_SPACING)) val fontPanel = JPanel() diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 01eaa4e..f44b59e 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -1,16 +1,22 @@ com.github.siropkin.kursor Kursor - 1.0.5 + 1.1.0 Ivan Seredkin - It shows the current language on the cursor and lets you change the cursor color based on the language.
- It's useful for developers who work with multiple languages and want to avoid typing errors. + Kursor simplifies language tracking directly on your IntelliJ IDE.
+ It dynamically displays the current keyboard language on your cursor, offering the added functionality of changing the cursor's color to match the language in use.
+ This feature is particularly beneficial for developers juggling multiple languages, significantly reducing the likelihood of typing errors. ]]>
+ ++++++++++++++++++
+ - Add "Use Keyboard Layout" setting to determine the language based on the keyboard layout + - Update Gradle to 8.9 +
+
1.0.5 (2023-12-07)
++++++++++++++++++
- Unspecify `pluginUntilBuild` (include all future builds)