Skip to content

Instantly share code, notes, and snippets.

@olmstadfm
Last active August 2, 2023 06:51
Show Gist options
  • Save olmstadfm/d7a9d4e61495b4f458ff57a3698a984e to your computer and use it in GitHub Desktop.
Save olmstadfm/d7a9d4e61495b4f458ff57a3698a984e to your computer and use it in GitHub Desktop.
Cursor color (autohotkey, windows)
; Меняет по capslock раскладку клавиатуры путем эмуляции нажатия alt-shift.
; После смены раскладки меняет цвет текстового курсора. Работать будет только для двух раскладок.
;
; Перед первым использованием нужно пойти в Settings => Accessibility => Text cursor и нажать
; тумблер Text cursor indicator.
;
; Винда не везде инициализирует курсор цветом, иногда его нужно подвинуть на один символ.
; Не работает для кастомных textarea, например в Notepad++.
;
; Про фичу подсветки курсора:
; https://www.tenforums.com/tutorials/137454-change-text-cursor-indicator-color-windows-10-a.html
;
; Как найти ключ в реестре для замены цвета и конкретные значения:
; https://www.kapilarya.com/how-to-find-registry-key-corresponding-to-ui-option-in-windows
; TODO менять цвет мышиного курсора при смене раскладки
; https://stackoverflow.com/questions/41713827/programmatically-change-custom-mouse-cursor-in-windows
; https://gist.github.com/akaleeroy/23a6d0323f3ae0ff4e2bc7962534cc0c
;
; Colors in decimal notation
Green := 6749952 ; #66ff00
Blue := 16750080 ; #0096FF
Counter := 0
Capslock::
M:=mod(Counter,2)
if M=1
Color := Blue
else
Color := Green
Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}
Run, powershell -Command "Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Accessibility\CursorIndicator' -Name 'IndicatorColor' -Value %Color%",, Hide
Counter++
return
# Переключение раскладки по capslock в ubuntu+gnome:
#
# sudo apt install dconf-tools
# dconf read /org/gnome/desktop/input-sources/xkb-options
# dconf write /org/gnome/desktop/input-sources/xkb-options "['grp:caps_toggle']"
#
counter=0
dbus-monitor --session "type='signal',interface='org.freedesktop.impl.portal.Settings',member='SettingChanged'" |
while read x; do
if [[ "$x" =~ "org.gnome.desktop.input-sources" ]] ; then
echo "User just changed keyboard layout."
if (( $counter % 2 )) ; then
cursor_theme="whiteglass"
else
cursor_theme="redglass"
fi
gsettings set org.gnome.desktop.interface cursor-theme $cursor_theme
counter=$((counter+1))
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment