mKittyConfManagementTab.sh 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/bash
  2. source "sKitty.sh"
  3. HEAD(){ for (( a=2; a<=16; a++ ))
  4. do
  5. TPUT $a 1
  6. $E "\e[1;35m\xE2\x94\x82 \xE2\x94\x82\e[0m";
  7. done
  8. TPUT 3 1
  9. $E "\e[0m\033[35m+- Управление вкладками --------------------- Tab management --------------------+\e[0m";
  10. TPUT 14 1
  11. $E "\e[0m\033[35m+- Up \xE2\x86\x91 \xE2\x86\x93 Down Select Enter -----------------------------------------------------+\e[0m";
  12. MARK;TPUT 1 1
  13. $E "$c";UNMARK;}
  14. FOOT(){ MARK;TPUT 17 1;$E "$c";UNMARK;}
  15. #
  16. M0(){ TPUT 4 3; $e " Следующая вкладка \e[32m Next tab \e[0m";}
  17. M1(){ TPUT 5 3; $e " Предыдущая вкладка \e[32m Previous tab \e[0m";}
  18. M2(){ TPUT 6 3; $e " Новая вкладка \e[32m New tab \e[0m";}
  19. M3(){ TPUT 7 3; $e " Закрыть вкладку \e[32m Close tab \e[0m";}
  20. M4(){ TPUT 8 3; $e " Закрыть окно ОС \e[32m Close OS window \e[0m";}
  21. M5(){ TPUT 9 3; $e " Переместить вкладку вперед \e[32m Move tab forward \e[0m";}
  22. M6(){ TPUT 10 3; $e " Переместить вкладку назад \e[32m Move tab backward \e[0m";}
  23. M7(){ TPUT 11 3; $e " Установить заголовок вкладки \e[32m Set tab title \e[0m";}
  24. M8(){ TPUT 12 3; $e " Cоздавать ярлыки для перехода к вкладкам \e[32m map ctrl+alt \e[0m";}
  25. M9(){ TPUT 13 3; $e " передать имя произвольной команды для запуска \e[32m map ctrl+t \e[0m";}
  26. #
  27. M10(){ TPUT 15 3; $e " \e[90mExit \e[0m";}
  28. LM=10
  29. MENU(){ for each in $(seq 0 $LM);do M${each};done;}
  30. POS(){ if [[ $cur == up ]];then ((i--));fi
  31. if [[ $cur == dn ]];then ((i++));fi
  32. if [[ $i -lt 0 ]];then i=$LM;fi
  33. if [[ $i -gt $LM ]];then i=0;fi;}
  34. REFRESH(){ after=$((i+1)); before=$((i-1))
  35. if [[ $before -lt 0 ]];then before=$LM;fi
  36. if [[ $after -gt $LM ]];then after=0;fi
  37. if [[ $j -lt $i ]];then UNMARK;M$before;else UNMARK;M$after;fi
  38. if [[ $after -eq 0 ]] || [ $before -eq $LM ];then
  39. UNMARK; M$before; M$after;fi;j=$i;UNMARK;M$before;M$after;}
  40. INIT(){ R;HEAD;FOOT;MENU;}
  41. SC(){ REFRESH;MARK;$S;$b;cur=`ARROW`;}
  42. # Функция возвращения в меню
  43. ES(){ MARK;$e " ENTER = main menu ";$b;read;INIT;};INIT
  44. while [[ "$O" != " " ]]; do case $i in
  45. 0) S=M0;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+right next_tab\e[0m
  46. \e[32m map shift+cmd+] next_tab\e[0m
  47. \e[32m map ctrl+tab next_tab\e[0m";ES;fi;;
  48. 1) S=M1;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+left previous_tab\e[0m
  49. \e[32m map shift+cmd+[ previous_tab\e[0m
  50. \e[32m map ctrl+shift+tab previous_tab\e[0m";ES;fi;;
  51. 2) S=M2;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+t new_tab\e[0m
  52. \e[32m map cmd+t new_tab\e[0m";ES;fi;;
  53. 3) S=M3;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+q close_tab\e[0m
  54. \e[32m map cmd+w close_tab\e[0m";ES;fi;;
  55. 4) S=M4;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map shift+cmd+w close_os_window\e[0m";ES;fi;;
  56. 5) S=M5;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+. move_tab_forward\e[0m";ES;fi;;
  57. 6) S=M6;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+, move_tab_backward\e[0m";ES;fi;;
  58. 7) S=M7;SC; if [[ $cur == enter ]];then R;echo -e "\e[32m map kitty_mod+alt+t set_tab_title\e[0m
  59. \e[32m map shift+cmd+i set_tab_title\e[0m";ES;fi;;
  60. 8) S=M8;SC; if [[ $cur == enter ]];then R;echo -e "
  61. Вы также можете создавать ярлыки для перехода к определенным вкладкам,
  62. где 1 — первая вкладка,
  63. 2 — вторая вкладка
  64. -1 — предыдущая активная вкладка.
  65. вкладка, и любое число больше, чем последняя вкладка, является последней вкладкой:
  66. \e[32m map ctrl+alt+1 goto_tab 1\e[0m
  67. \e[32m map ctrl+alt+2 goto_tab 2\e[0m
  68. ";ES;fi;;
  69. 9) S=M9;SC; if [[ $cur == enter ]];then R;echo -e "
  70. Как и в случае с new_window выше, вы также можете передать имя произвольной
  71. команды для запуска при использовании new_tab и использовать new_tab_with_cwd
  72. Наконец, если вы хотите, чтобы новая вкладка открывалась рядом с текущей,
  73. а не в конце списка вкладок, используйте:
  74. \e[32m map ctrl+t new_tab !neighbor [optional cmd to run]\e[0m
  75. ";ES;fi;;
  76. #
  77. 10) S=M10;SC;if [[ $cur == enter ]];then R;exit 0;fi;;
  78. esac;POS;done