Добавляем действия в буфер обмена (klipper) plasma5 — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м (Прочее)
(обновление данных)
Строка 1: Строка 1:
У буфера обмена пятых кед (у четвертых, если не ошибаюсь, тоже, но kde4 — RIP) есть такая крутая функция, как «Действия», которая позволяет расширять функциональность с помощью скриптов, а значит всё, что мы можем делать с содержимым буфера ограничивается лишь нашей фантазией. Ниже будут приведены несколько простых примеров.<br />
+
У буфера обмена пятых кед (у четвертых, если не ошибаюсь, тоже, но kde4 — RIP) есть такая крутая функция, как «'''Действия'''», которая позволяет расширять функциональность с помощью скриптов, а значит всё, что мы можем делать с содержимым буфера ограничивается лишь нашей фантазией. Ниже будут приведены несколько простых примеров.<br />
  
 
== Преобразование текста ==
 
== Преобразование текста ==
Строка 8: Строка 8:
 
==== Перевести текст в нижний регистр. ====
 
==== Перевести текст в нижний регистр. ====
 
-----
 
-----
Жмем пкм по значку ножниц на панели -> Настроить буфер обмена -> Действия.<br />
+
Жмём '''пкм по значку буфера обмена''' на панели -> '''Настроить буфер обмена''' -> '''Настройка действий'''.<br />
[[File:Screenshot_1.png||400px]]<br />
+
  
Жмем «Добавить действие».<br />
+
[[File:2023-11-21_1.png||400px]]<br />
В открывшемся окне в «Свойствах действия» оставим поле для регулярного выражения пустым, так как мы хотим, чтоб действие выполнялось для любого текста; отключим флажок «Автоматически». Описание здесь не обязательно, его все равно не видно, когда действие выбираешь.<br />
+
 
Далее — добавим команду.<br />
+
Жмём «'''Добавить действие'''».<br />
  Команда: string="%s" ; echo -n "${string,,}"
+
В открывшемся окне поле "'''Шаблон соответствия'''" оставляем '''пустым''', так как мы хотим, чтобы действие выполнялось для любого текста;<br />
  Вывод команды: тыкаем два раза лкм по "Игнорировать" и выбираем "Скопировать в буфер обмена".
+
В описании пишем, например, "'''Конвертация текста'''".<br />
  Описание: "Convert to lowercase", ну, или можно ввести "Перевести в нижний регистр".
+
'''Отключим''' флажок "'''Включить во всплывающем меню авто действий'''".<br />
[[File:Screenshot_2.png||400px]]<br />
+
Жмякаем "'''Добавить команду'''".<br />
Жмем «Ок». В предыдущем окне тож «Ок».<br />
+
[[File:2023-11-21_2.png||400px]]<br />
 +
 
 +
В окне "'''Свойства команды'''" делаем так:
 +
Команда: TEXT="%s" && echo -n "${TEXT,,}"
 +
Описание: "Перевести в нижний регистр".  
 +
Выходные данные команды: Активируем "Заменить текущее содержимое буфера обмена".
 +
[[File:2023-11-21_3.png||400px]]
 +
 
 +
Жмем «'''Ок'''». В предыдущем окне тоже «'''Ок'''». Снова "'''Ок'''".<br />
 
Проверяем:<br />
 
Проверяем:<br />
[[File:Screenshot_3.png||400px]]<br /><br />
 
[[File:Screenshot_4.png||400px]]<br /><br />
 
[[File:Screenshot_5.png||400px]]<br /><br />
 
  
Если текст из буфера пропал после выполнения действия, то скорее всего была допущена ошибка в команде.<br />
+
[[File:2023-11-21_4.png||400px]]<br /><br />
 +
[[File:2023-11-21_5.png||400px]]<br /><br />
 +
[[File:2023-11-21_6.png||400px]]<br />
 +
 
 +
Если текст из буфера пропал после выполнения действия, то скорее всего была допущена ошибка в команде и следует всё перепроверить.<br />
  
 
==== Перевести текст в верхний регистр. ====
 
==== Перевести текст в верхний регистр. ====
Строка 30: Строка 38:
 
Нужно проделать то же, что и в предыдущем примере, только указать другую команду и описание.<br />
 
Нужно проделать то же, что и в предыдущем примере, только указать другую команду и описание.<br />
 
   Свойства действия:
 
   Свойства действия:
     Регулярное выражение: отсутствует
+
     Шаблон соответствия: отсутствует
     Автоматически: Нет
+
     Описание: "Конвертация текста"
     Описание: отсутствует
+
     Включить во всплывающем меню авто действий: Нет
   Команда для действия:
+
   Свойства команды:
     Команда: string="%s" ; echo -n "${string^^}"
+
     Команда: TEXT="%s" && echo -n "${TEXT^^}"
    Вывод команды: Сохранить в буфер
+
     Описание: "Перевести в верхний регистр".
     Описание: "Convert to uppercase". Или "Перевести в верхний регистр".
+
    Выходные данные команды: "Заменить текущее содержимое буфера обмена".
[[File:Screenshot_6.png||400px]]
+
 
 +
[[File:2023-11-21_7.png||400px]]<br />
  
 
==== Каждое слово начинается с заглавной буквы ====
 
==== Каждое слово начинается с заглавной буквы ====
 
-----
 
-----
 
   Свойства действия:
 
   Свойства действия:
     Регулярное выражение: отсутствует
+
     Шаблон соответствия: отсутствует
     Автоматически: Нет
+
     Описание: "Конвертация текста"
     Описание: отсутствует
+
     Включить во всплывающем меню авто действий: Нет
   Команда для действия:
+
   Свойства команды:
     Команда: string="%s" ; string=($string) ; string="${string[@]^}" ; echo -n "$string"
+
     Команда: TEXT="%s" && TEXT=(${TEXT,,}) && echo -n "${TEXT[@]^}"
    Вывод команды: Сохранить в буфер
+
     Описание: "Сделать каждое слово с заглавной буквы".
     Описание: "Convert to titlecase".
+
    Выходные данные команды: "Заменить текущее содержимое буфера обмена".
[[File:Screenshot_7.png||400px]]<br />
+
  
Тут есть один нюанс. Если текст в буфере в верхнем регистре, то его нужно сначала перевести в нижний, а потом уже в titlecase. Иначе не сработает.<br /><br />
+
[[File:2023-11-21_8.png||400px]]
 +
 
 +
-----
  
 
Окно настройки действий с добавленными командами:<br />
 
Окно настройки действий с добавленными командами:<br />
  
[[File:Screenshot_8.png||400px]]
+
[[File:2023-11-21_0.png||400px]]
  
  
 
=== Используя скрипт на python3 ===
 
=== Используя скрипт на python3 ===
 
-----
 
-----
Скачиваем этот скрипт: [[:File:text-processing.zip]]<br />
+
Скачиваем этот скрипт: [[File:text-processing.zip]]<br />
Кладем его, например, в ~/.local/bin/.<br />
+
Кладем его, например, в '''~/.local/bin/'''.<br />
 
Далее, добавляем новые действия.<br />
 
Далее, добавляем новые действия.<br />
  
Строка 67: Строка 77:
 
-----
 
-----
 
   Свойства действия:
 
   Свойства действия:
     Регулярное выражение: отсутствует
+
     Шаблон соответствия: отсутствует
     Автоматически: Нет
+
     Описание: "Конвертация текста"
     Описание: отсутствует
+
     Включить во всплывающем меню авто действий: Нет
   Команда для действия:
+
   Свойства команды:
 
     Команда: python3 ~/.local/bin/text-processing -l -n -i '%s'
 
     Команда: python3 ~/.local/bin/text-processing -l -n -i '%s'
     Вывод команды: Сохранить в буфер
+
     Выходные данные команды: "Заменить текущее содержимое буфера обмена".
     Описание: "Convert to lowercase with python script.".
+
     Описание: "Конвертировать в нижний регистр используя пайтон-скрипт".
  
 
==== Перевести текст в верхний регистр. ====
 
==== Перевести текст в верхний регистр. ====
Строка 97: Строка 107:
 
=== Открыть скопированный текст в kwrite ===
 
=== Открыть скопированный текст в kwrite ===
 
   Свойства действия:
 
   Свойства действия:
     Регулярное выражение: отсутствует
+
     Шаблон соответствия: отсутствует
     Автоматически: Нет
+
     Описание: "Открыть в kwrite"
     Описание: отсутствует
+
     Включить во всплывающем меню авто действий: Нет
   Команда для действия:
+
   Свойства команды:
 
     Команда: echo -n '%s' | kwrite -i -l 1 -c 1
 
     Команда: echo -n '%s' | kwrite -i -l 1 -c 1
    Вывод команды: Игнорировать
+
     Описание: "Открыть в kwrite".
     Описание: "Open at kwrite".
+
    Выходные данные команды: Игнорировать
 +
 
  
 
=== Где klipper сохраняет пользовательские действия ===
 
=== Где klipper сохраняет пользовательские действия ===
 
klipper сохраняет пользовательские действия в файле '''~/.config/plasmashellrc''' в разделах "'''[Action_№]'''" и "'''[Action_№/Command_№]'''".
 
klipper сохраняет пользовательские действия в файле '''~/.config/plasmashellrc''' в разделах "'''[Action_№]'''" и "'''[Action_№/Command_№]'''".

Версия 12:08, 21 ноября 2023

У буфера обмена пятых кед (у четвертых, если не ошибаюсь, тоже, но kde4 — RIP) есть такая крутая функция, как «Действия», которая позволяет расширять функциональность с помощью скриптов, а значит всё, что мы можем делать с содержимым буфера ограничивается лишь нашей фантазией. Ниже будут приведены несколько простых примеров.

Преобразование текста

Используя возможности bash


Перевести текст в нижний регистр.


Жмём пкм по значку буфера обмена на панели -> Настроить буфер обмена -> Настройка действий.

2023-11-21 1.png

Жмём «Добавить действие».
В открывшемся окне поле "Шаблон соответствия" оставляем пустым, так как мы хотим, чтобы действие выполнялось для любого текста;
В описании пишем, например, "Конвертация текста".
Отключим флажок "Включить во всплывающем меню авто действий".
Жмякаем "Добавить команду".
2023-11-21 2.png

В окне "Свойства команды" делаем так:

Команда: TEXT="%s" && echo -n "${TEXT,,}"
Описание: "Перевести в нижний регистр". 
Выходные данные команды: Активируем "Заменить текущее содержимое буфера обмена".

2023-11-21 3.png

Жмем «Ок». В предыдущем окне тоже «Ок». Снова "Ок".
Проверяем:

2023-11-21 4.png

2023-11-21 5.png

2023-11-21 6.png

Если текст из буфера пропал после выполнения действия, то скорее всего была допущена ошибка в команде и следует всё перепроверить.

Перевести текст в верхний регистр.


Нужно проделать то же, что и в предыдущем примере, только указать другую команду и описание.

 Свойства действия:
   Шаблон соответствия: отсутствует
   Описание: "Конвертация текста"
   Включить во всплывающем меню авто действий: Нет
 Свойства команды:
   Команда: TEXT="%s" && echo -n "${TEXT^^}"
   Описание: "Перевести в верхний регистр".
   Выходные данные команды: "Заменить текущее содержимое буфера обмена".

2023-11-21 7.png

Каждое слово начинается с заглавной буквы


 Свойства действия:
   Шаблон соответствия: отсутствует
   Описание: "Конвертация текста"
   Включить во всплывающем меню авто действий: Нет
 Свойства команды:
   Команда: TEXT="%s" && TEXT=(${TEXT,,}) && echo -n "${TEXT[@]^}"
   Описание: "Сделать каждое слово с заглавной буквы".
   Выходные данные команды: "Заменить текущее содержимое буфера обмена".

2023-11-21 8.png


Окно настройки действий с добавленными командами:

2023-11-21 0.png


Используя скрипт на python3


Скачиваем этот скрипт: Файл:Text-processing.zip
Кладем его, например, в ~/.local/bin/.
Далее, добавляем новые действия.

Перевести текст в нижний регистр.


 Свойства действия:
   Шаблон соответствия: отсутствует
   Описание: "Конвертация текста"
   Включить во всплывающем меню авто действий: Нет
 Свойства команды:
   Команда: python3 ~/.local/bin/text-processing -l -n -i '%s'
   Выходные данные команды: "Заменить текущее содержимое буфера обмена".
   Описание: "Конвертировать в нижний регистр используя пайтон-скрипт".

Перевести текст в верхний регистр.


Все тоже, что и в примере выше, только другое описание и команда.

   Команда: python3 ~/.local/bin/text-processing -u -n -i '%s'

Каждое слово начинается с заглавной буквы


   Команда: python3 ~/.local/bin/text-processing -t -n -i '%s'

Сделать инверсию


Символы в верхнем регистре перевести в нижний, а в нижнем - в верхний.

   Команда: python3 ~/.local/bin/text-processing -s -n -i '%s'

Пример:

 HeLlO WoRlD.
 hElLo wOrLd.


Прочее

Открыть скопированный текст в kwrite

 Свойства действия:
   Шаблон соответствия: отсутствует
   Описание: "Открыть в kwrite"
   Включить во всплывающем меню авто действий: Нет
 Свойства команды:
   Команда: echo -n '%s' | kwrite -i -l 1 -c 1
   Описание: "Открыть в kwrite".
   Выходные данные команды: Игнорировать


Где klipper сохраняет пользовательские действия

klipper сохраняет пользовательские действия в файле ~/.config/plasmashellrc в разделах "[Action_№]" и "[Action_№/Command_№]".