Last active 1752705706

dszubov revised this gist 1752705706. Go to revision

1 file changed, 15 insertions, 8 deletions

tmux_mouse.sh

@@ -1,9 +1,13 @@
1 + #!/usr/bin/env bash
2 + # Скрипт: tmux_mouse.sh
3 + # Назначение: включить поддержку мыши в tmux + вставка буфера по Shift+ПКМ.
4 +
1 5 set -euo pipefail
2 6
3 7 # Файл конфигурации tmux
4 8 CONFIG_FILE="${HOME}/.tmux.conf"
5 9
6 - # Создаём резервную копию существующего конфига (с меткой времени)
10 + # 1) Создаём резервную копию существующего конфига (с меткой времени)
7 11 if [ -f "${CONFIG_FILE}" ]; then
8 12 TIMESTAMP="$(date +'%Y%m%d%H%M%S')"
9 13 BACKUP_FILE="${CONFIG_FILE}.bak.${TIMESTAMP}"
@@ -11,25 +15,28 @@ if [ -f "${CONFIG_FILE}" ]; then
11 15 echo "Резервная копия конфигурации создана: ${BACKUP_FILE}"
12 16 fi
13 17
14 - # Добавляем (или обновляем) настройки мыши
18 + # 2) Добавляем (или обновляем) настройки мыши и вставки
15 19 cat >> "${CONFIG_FILE}" <<'EOF'
16 20 # --- Начало настроек поддержки мыши для tmux ---
17 21 # Включаем поддержку мыши (прокрутка, выбор окон, ресайз)
18 22 set -g mouse on
19 23
20 - # Разрешаем прокрутку колесом мыши в копипейст­режиме
21 - bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
24 + # Прокрутка в режиме копирования
25 + bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
22 26 bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
23 27
24 - # При обычном режиме: колесо мыши включает копипейст­режим + прокрутка
25 - bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"
28 + # Обычная прокрутка колесом
29 + bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"
26 30 bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M"
31 +
32 + # Вставка содержимого буфера tmux по Shift + ПКМ (правой кнопке мыши)
33 + bind -n S-MouseDown2Pane paste-buffer
27 34 # --- Конец настроек поддержки мыши для tmux ---
28 35 EOF
29 36
30 - echo "Настройки поддержки мыши добавлены в ${CONFIG_FILE}."
37 + echo "Настройки поддержки мыши и вставки по Shift+ПКМ добавлены в ${CONFIG_FILE}."
31 38
32 - # Перезагружаем конфигурацию в запущенных сессиях tmux
39 + # 3) Перезагружаем конфигурацию в запущенных сессиях tmux
33 40 if tmux info &>/dev/null; then
34 41 tmux source-file "${CONFIG_FILE}"
35 42 echo "Конфигурация tmux перезагружена."

dszubov revised this gist 1752704083. Go to revision

1 file changed, 38 insertions

tmux_mouse.sh(file created)

@@ -0,0 +1,38 @@
1 + set -euo pipefail
2 +
3 + # Файл конфигурации tmux
4 + CONFIG_FILE="${HOME}/.tmux.conf"
5 +
6 + # Создаём резервную копию существующего конфига (с меткой времени)
7 + if [ -f "${CONFIG_FILE}" ]; then
8 + TIMESTAMP="$(date +'%Y%m%d%H%M%S')"
9 + BACKUP_FILE="${CONFIG_FILE}.bak.${TIMESTAMP}"
10 + cp -- "${CONFIG_FILE}" "${BACKUP_FILE}"
11 + echo "Резервная копия конфигурации создана: ${BACKUP_FILE}"
12 + fi
13 +
14 + # Добавляем (или обновляем) настройки мыши
15 + cat >> "${CONFIG_FILE}" <<'EOF'
16 + # --- Начало настроек поддержки мыши для tmux ---
17 + # Включаем поддержку мыши (прокрутка, выбор окон, ресайз)
18 + set -g mouse on
19 +
20 + # Разрешаем прокрутку колесом мыши в копипейст­режиме
21 + bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
22 + bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
23 +
24 + # При обычном режиме: колесо мыши включает копипейст­режим + прокрутка
25 + bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"
26 + bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M"
27 + # --- Конец настроек поддержки мыши для tmux ---
28 + EOF
29 +
30 + echo "Настройки поддержки мыши добавлены в ${CONFIG_FILE}."
31 +
32 + # Перезагружаем конфигурацию в запущенных сессиях tmux
33 + if tmux info &>/dev/null; then
34 + tmux source-file "${CONFIG_FILE}"
35 + echo "Конфигурация tmux перезагружена."
36 + else
37 + echo "Запущенных сессий tmux не найдено — настройки вступят в силу при следующем запуске tmux."
38 + fi

dszubov revised this gist 1746545025. Go to revision

1 file changed, 2 insertions, 2 deletions

tmux_mouse

@@ -1,7 +1,7 @@
1 - # Включаем поддержку мыши только для прокрутки
1 + # Enabling mouse support for scrolling only
2 2 set -g mouse on
3 3
4 - # Разрешаем выделение текста при зажатой Shift
4 + # Allow text selection while holding down the Shift key
5 5 bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
6 6 bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
7 7 bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"

dszubov revised this gist 1745911385. Go to revision

1 file changed, 8 insertions

tmux_mouse(file created)

@@ -0,0 +1,8 @@
1 + # Включаем поддержку мыши только для прокрутки
2 + set -g mouse on
3 +
4 + # Разрешаем выделение текста при зажатой Shift
5 + bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
6 + bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
7 + bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"
8 + bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M"
Newer Older