mKittyConfCursor.sh 6.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/bash
  2. source "sKitty.sh"
  3. HEAD(){ for (( a=2; a<=13; a++ ))
  4. do
  5. TPUT $a 1
  6. $E "\033[1;35m\xE2\x94\x82 \xE2\x94\x82\033[0m";
  7. done
  8. TPUT 3 1
  9. $E "\033[0m\033[35m+- Cursor customization --------------------- Настройка курсора -----------------+\033[0m";
  10. TPUT 11 1
  11. $E "\033[0m\033[35m+--- Up \xE2\x86\x91 \xE2\x86\x93 Down Select Enter ---------------------------------------------------+\033[0m";
  12. MARK;TPUT 1 1
  13. $E "$c";UNMARK;}
  14. i=0; CLEAR; CIVIS;NULL=/dev/null
  15. # 32 это расстояние сверху и 48 это расстояние слева
  16. FOOT(){ MARK;TPUT 14 1
  17. $E "$c";UNMARK;}
  18. # это управляет кнопками ввер/хвниз
  19. i=0; CLEAR; CIVIS;NULL=/dev/null
  20. #
  21. M0(){ TPUT 4 3; $e " Цвет курсора \e[32mcursor \e[0m";}
  22. M1(){ TPUT 5 3; $e " Выберите цвет текста под курсором \e[32mcursor_text_color \e[0m";}
  23. M2(){ TPUT 6 3; $e " Форма курсора \e[32mcursor_shape \e[0m";}
  24. M3(){ TPUT 7 3; $e " Определяет толщину курсора луча (в точках) \e[32mcursor_beam_thickness \e[0m";}
  25. M4(){ TPUT 8 3; $e " Определяет толщину курсора подчеркивания \e[32mcursor_underline_thickness \e[0m";}
  26. M5(){ TPUT 9 3; $e " Интервал, с которым должен мигать курсор \e[32mcursor_blink_interval \e[0m";}
  27. M6(){ TPUT 10 3; $e " Перестать мигать курсором \e[32mcursor_stop_blinking_after \e[0m";}
  28. #
  29. M7(){ TPUT 12 3; $e " \e[90mExit \e[0m";}
  30. LM=7
  31. MENU(){ for each in $(seq 0 $LM);do M${each};done;}
  32. POS(){ if [[ $cur == up ]];then ((i--));fi
  33. if [[ $cur == dn ]];then ((i++));fi
  34. if [[ $i -lt 0 ]];then i=$LM;fi
  35. if [[ $i -gt $LM ]];then i=0;fi;}
  36. REFRESH(){ after=$((i+1)); before=$((i-1))
  37. if [[ $before -lt 0 ]];then before=$LM;fi
  38. if [[ $after -gt $LM ]];then after=0;fi
  39. if [[ $j -lt $i ]];then UNMARK;M$before;else UNMARK;M$after;fi
  40. if [[ $after -eq 0 ]] || [ $before -eq $LM ];then
  41. UNMARK; M$before; M$after;fi;j=$i;UNMARK;M$before;M$after;}
  42. INIT(){ R;HEAD;FOOT;MENU;}
  43. SC(){ REFRESH;MARK;$S;$b;cur=`ARROW`;}
  44. # Функция возвращения в меню
  45. ES(){ MARK;$e " ENTER = main menu ";$b;read;INIT;};INIT
  46. while [[ "$O" != " " ]]; do case $i in
  47. #
  48. 0) S=M0;SC;if [[ $cur == enter ]];then R;echo -e "
  49. Цвет курсора по умолчанию. Если установлено специальное значение none,
  50. курсор будет отображаться с эффектом «обратного видео».
  51. Его цвет будет цветом текста в ячейке, над которой он находится,
  52. и текст будет отображаться с фоновым цветом ячейки.
  53. Обратите внимание, что если программа, работающая в терминале,
  54. устанавливает цвет курсора, он имеет приоритет.
  55. Кроме того, цвета курсора изменяются, если фон ячейки
  56. и цвета переднего плана имеют очень низкую контрастность.
  57. \e[32m cursor #fc0f00\e[0m";ES;fi;;
  58. 1) S=M1;SC;if [[ $cur == enter ]];then R;echo -e "
  59. Если вы хотите, чтобы он отображался с цветом фона ячейки под ним,
  60. используйте специальное ключевое слово: background
  61. Обратите внимание,
  62. что если для курсора установлено значение none, этот параметр игнорируется.
  63. \e[32m cursor_text_color #1111ff\e[0m";ES;fi;;
  64. 2) S=M2;SC;if [[ $cur == enter ]];then R;echo -e "
  65. Форма курсора может быть одной из (блок, луч, подчеркивание).
  66. Обратите внимание, что при перезагрузке конфигурации это будет изменено
  67. только в том случае, если форма курсора не была установлена программой,
  68. запущенной в терминале.
  69. Это устанавливает форму курсора по умолчанию.
  70. Приложения, запущенные в терминале, могут переопределить его.
  71. В частности: https://sw.kovidgoyal.net/kitty/shell-integration/
  72. в kitty устанавливает форму курсора, чтобы он сиял при подсказках оболочки.
  73. Вы можете избежать этого, установив для shell_integration значение no-cursor.
  74. \e[32m cursor_shape \e[36mblock\e[0m
  75. \e[32m \e[36mbeam\e[0m
  76. \e[32m \e[36munderline\e[0m
  77. ";ES;fi;;
  78. 3) S=M3;SC;if [[ $cur == enter ]];then R;echo -e "\e[32m cursor_beam_thickness 5.5\e[0m";ES;fi;;
  79. 4) S=M4;SC;if [[ $cur == enter ]];then R;echo -e "\e[32m cursor_underline_thickness 2.0\e[0m";ES;fi;;
  80. 5) S=M5;SC;if [[ $cur == enter ]];then R;echo -e "
  81. Установите на ноль, чтобы отключить мигание.
  82. Отрицательные значения означают использование системы по умолчанию.
  83. Обратите внимание, что числа меньше, чем repaint_delay, будут ограничены.
  84. \e[32m cursor_blink_interval\e[36m 0
  85. 1\e[0m";ES;fi;;
  86. 6) S=M6;SC;if [[ $cur == enter ]];then R;echo -e "
  87. Перестать мигать курсором,
  88. после указанного количества секунд бездействия клавиатуры.
  89. Установите на ноль, чтобы никогда не переставать мигать.
  90. \e[32m cursor_stop_blinking_after 12.0 \e[0m
  91. ";ES;fi;;
  92. #
  93. 7) S=M7;SC;if [[ $cur == enter ]];then R;exit 0;fi;;
  94. esac;POS;done