LINUX.ORG.RU

Можно ли как-то скопировать в буффер только что введенный текст не выделяя его?

 , , ,


0

2

Добрый день\ночь. В очередной раз задолбал тупизм xneur и я начал искать альтернативу. Нашел вот это. Понравилось, однако, раздражает необходимость все время выделять текст для конвертирования. Начал читать про xsel и sed, однако, так и не нашел способа копирования в буфер без выделения курсором. Есть ли способ копировать слово\строку, да хоть весь набраный текст, расположенный слева от курсора? Думаю, что можно логировать клавиатуру, а потом брать последнее слово в буфере, но как-то это не красиво получится, да и опыта у меня маловато для такого скрипта. Может есть какой-то более изящный способ?

задолбал тупизм xneur

При работе в ручном режиме xneur не отслеживает набор, но позволяет автоматически изменять раскладку последнего набранного слова (кнопка Pause/Break), последней набранной строки (сочетание клавиш Ctrl + Break), выделенного текста (сочетание клавиш Shift + Break) и другие полезные функции.

ziemin ★★
()
Ответ на: комментарий от ziemin

Она работает через одно место - в каких-то программах работает, в каких-то нет, в скайпе вместо конвертирования выдает в строку полную ахинею. Часто демон просто отключается во время работы. Причем эта шляпа была всегда, на разных версиях. Не в укор автору проги, но нафиг нужен такой кривой комбаин

warezzzok
() автор топика
Ответ на: комментарий от Kor03d

Вопрос про гуй же.

ясно, меня чёто переклинило из-за тега bash, подумал про ввод в шелле

science ★★☆
()
Ответ на: комментарий от warezzzok

шляпа

А ты что, не видишь что вводишь? Не можешь организоваться сконцентрироваться и следить за раскладкой? Или ты до сих пор здоровый лоб смотришь на клавиатуру при вводе?

science ★★☆
()
Ответ на: комментарий от science

Я люблю ворон считать, когда пишу текст - привычка с детства

warezzzok
() автор топика
Ответ на: комментарий от warezzzok

Она работает через одно место - в каких-то программах работает, в каких-то нет, в скайпе вместо конвертирования выдает в строку полную ахинею. Часто демон просто отключается во время работы.

И собрался решить все эти проблемы парой строчек на баше?

Не в укор автору проги

Багрепорт лучше напиши.

ziemin ★★
()

Shift + home
Ctrl + A
Shift + стрелочки
Разве так не везде?

actics
()
Ответ на: комментарий от warezzzok

По какому действию пользователя скрипт должен запускаться? Ввод символа в поле — патчить gtk/qt/your-favorite-toolkit или ibus.

Kor03d ★★
()

Всем спасибо за советы, особенно последним двум постерам натолкнули на правильную мысль :)

Сделал скрипт на базе приведенного в ссылке из 1 поста. Использовал xdotool

#!/bin/bash
BOOFER=$(xsel -b)
xdotool key Shift+Home
STRING=$(xsel | sed 's|.* ||')
len=$STRING
if [ ${#len} = 0 ]; 
	then 
xdotool key Right
exit 1; 
		else
	xdotool key Right
	for i in `seq 1 ${#len}`;
		do
		  xdotool key Shift+Left
		done
fi
xsel | sed "y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.\/<>?@#\$^&\`~фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбюБЮ№ёЁ/фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.<>#\`~/" | xsel -b -i
xvkbd -xsendevent -text "\[Control_L]\[v]"
echo -n "$BOOFER" | xsel -b -i

Скрипт запускается черех xvkbd по нажатию клавиши. Перекидывает раскладку слова слева от курсора. Если слева пробел - скрипт не срабатывает. В общем, я добился того, что нужно - смена раскладки слова по нажатию кнопки. Большего и не нужно :)

warezzzok
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.