Не получается выделить несколько сообщений

Движок Discourse запрещает это. Какое скотство.
Напримет, иногда я отправляю текст в TTS, приходится делать это из упрощённой версии с отключенным JS.

Ну, хотя можно обхитрить движок. Это жать Ctrl+C не отпуская ЛКМ, тогда выделение не сбросится.
Но это надо всё выделять самому мышью. А вот Ctrl+A Ctrl+C вместе зажатые настоящий квест.

В процессе выделения текста, не отпуская мышь, нажимаете ctrl + c и радуйтесь жизни.

Мне тут ChatGPT написал очень интересный скрипт, позволяющий по горячим клавишам в xfce озвучивать выделенный текст прямо в rhvoice. Но сброс выделения портит всю малину. Прошу Валдика подредактировать движок. Подумайте о людях, кто бережёт глаза.

Конечно, я могу не отпускать ЛКМ, но это не так удобно. А может быть поведение движка можно подправить на стороне браузера? У меня Brave.

Могу сказать, что вот эти скрипты нужны. Без них не грузится сайт:

!https://ntc.party/assets/chunk*.js
!https://ntc.party/assets/vendor*.js
!https://ntc.party/assets/locales/ru*.js

Эти блокировал. Не влияет на выделение:

https://ntc.party/extra-locales/overrides*
https://ntc.party/assets/plugins/discourse-translator*.js
https://ntc.party/assets/plugins/footnote*.js
https://ntc.party/javascripts/magnific-popup/*.js
https://ntc.party/assets/plugins/poll-dc*.js
https://ntc.party/extra-locales/mf*
https://ntc.party/assets/plugins/discourse-details*.js
https://ntc.party/theme-javascripts/*
https://ntc.party/highlight-js/ntc.party/*.js
https://ntc.party/assets/plugins/checklist*.js
https://ntc.party/assets/plugins/docker_manager_admin*.js
https://ntc.party/svg-sprite/ntc.party/svg*.js
https://ntc.party/assets/plugins/spoiler-alert*.js
https://ntc.party/assets/plugins/discourse-presence*.js
https://ntc.party/assets/plugins/discourse-local-dates*.js

Highlight часто упоминается здесь:
!https://ntc.party/assets/chunk.88acb87e1021e5c5af5b.d41d8cd9.js (его блокировка стопорит сайт)
https://ntc.party/assets/chunk.2c4efc4f8c0c7e873fc8.d41d8cd9.js (его блокировка не влияет)
но как их править ума не приложу.

Баг рапорт
https://meta.discourse.org/t/issues-using-discourse-with-text-to-speech/336047/

Попробуйте фильтр для uBlock Origin.
ntc.party##+js(aopr, getSelection)
Не гарантирую, что половина функционала сайта после этого не сломается.

1 Like

Попробуйте фильтр для uBlock Origin.
ntc.party##+js(aopr, getSelection)
Не гарантирую, что половина функционала сайта после этого не сломается.

Благодарю, помогло. Да, пропала возможность отвечать с цитатой (цитировать выделенный текст). Но теперь выделение не сбрасывается.

Мне тут ChatGPT написал очень интересный скрипт, позволяющий по горячим клавишам в xfce озвучивать выделенный текст прямо в rhvoice

А вот скрипт. Вдруг кому пригодится:

#!/bin/bash

# Проверка наличия текста в буфере обмена
text=$(xclip -o -selection primary)
#text=$(xclip -o -selection clipboard)

if [ -z "$text" ]; then
    notify-send "Ошибка" "Буфер обмена пуст. Выделите текст и попробуйте снова."
    exit 1
fi

# Очистка текста от лишних символов (опционально)
clean_text=$(echo "$text" | sed 's/\\n/ /g' | sed 's/\\t/ /g')

# Сохранение текста во временный файл
echo "$clean_text" > /tmp/rhvoice.txt

# Генерация аудио с помощью RHVoice
sed -i s/лучше/лутше/Ig /tmp/rhvoice.txt && /usr/bin/RHVoice-test -i /tmp/rhvoice.txt -o - -q max -v 100 -r 100 | /usr/bin/ffmpeg -i - -af silenceremove=start_periods=1:stop_periods=-1:start_threshold=-40dB:stop_threshold=-40dB:start_silence=0.13:stop_silence=0.13 -f wav -y - | mpv --no-config --volume=70 -

Нужно установить xclip:
sudo apt install xclip
primary значит мышиный буфер обмена (выделение), а clipboard обычный буфер обмена (копирование).
А также нужно установить rhvoice из репозитория, но можно распаковать мою негадящую portable сборку в /opt/rhvoice

Скрипт сохранить в файл rhvoice.sh, сделать исполняемым. Потом в Xfce “Настройки - Клавиатура - Комбинации клавиш” создать для него горячую клавишу, например Shift + Alt + S.
И теперь, выделяете текст, жмёте Shift + Alt + S и он озвучивается. Для отмены нужно убить процесс mpv.