Создание текстовых заметок из выделенного текста


Часто, во время серфинга по интернету возникает необходимость сохранить некоторую информацию на свой компьютер.


Можно сохранить страницу целиком, но это не всегда нужно, чаще требуется сохранить лишь несколько текстовых строк.

Раньше вручную создавал текстовый файл и копировал в него нужное, но это довольно утомительно.

Потом решил автоматизировать этот процесс и написал небольшой скрипт для создания заметок, которым и хочу поделится с вами.

Принцип работы скрипта.

Допустим, хотим сохранить интересную информацию на диск. Выделяем нужный текст:


Запускаем скрипт (у меня запускается по сочетанию горячих клавиш). Выделенный текст сам копируется в открывшееся окно:


Можно его подредактировать по желанию. Нажимаем ОК.

Открывается окно для ввода названия файла, в который сохранится заметка:


Если оставить поле пустым, то название будет "Заметка [случайное число].txt".
Нажимаем ОК. Все, выделенный текст сохранится в заметку.

Проверим:


Инструкция "Как сделать?".

Должны быть установлены пакеты zenity и xclip:
sudo apt-get install zenity xclip
Создаем файл скрипта:
gedit notes
В открывшееся окно редактора копируем следующий код:
#!/bin/bash
# Добавляет выделенный текст в заметку в заданном месте
# Должны быть установлены: zenity, xclip
# $ sudo apt-get install zenity xclip

out="/tmp/notes.$$"
dir="$HOME/Загрузки" # папка, в которую будут сохранятся заметки

xclip -o | zenity --width=600 --height=300 --title  "Текст заметки" --text-info --editable > "$out" 

if [ $? -eq 0 -a "`cat "$out"`" != "" ]; then
  name=$(zenity --title "Название заметки" --entry --text "Введите название заметки")
  if [ $? -eq 0 ]; then
   if [ "`echo $name`" = "" ]
    then name="Заметка $$"
   fi
   cp "$out" "$dir/$name.txt"
  fi
fi
rm "$out"
exit 0

Папка, в которую будет сохранятся заметки, указывается в переменной dir. Можно изменить на свою.
Сохраняем и закрываем редактор.

Делаем скрипт исполняемым:
chmod +x notes
Проверяем работу:
./notes
Есть небольшой "глюк" - если выделить текст, а потом кликнуть мышью в другом месте, например, открыть какое-нибудь меню, то текст автоматически не вставляется, окно открывается пустым. 
Поэтому желательно запускать скрипт с помощью горячих клавиш.

Надеюсь, кому-нибудь покажется интересным.

Автор: Шапенков Александр.


Если не знаете как назначить выполнение данного скрипта на горячие клавиши, прочтите следующую статью:

Поделиться:

Если у Вас возникли вопросы.

Приглашаю задавать их на сервисе вопросов и ответов: Ask LinuxRussia.com.
Там Ваши вопросы не потеряются и Вы быстрее получите ответ, в отличие от комментариев.

5 коммент. :

  1. Как задать сочетание клавиш для запуска скрипта?

    ОтветитьУдалить
  2. Умные люди сделали проще и удобнее
    https://addons.mozilla.org/ru/firefox/addon/save-text-to-file/

    ОтветитьУдалить
    Ответы
    1. Во-первых, не все пользуются Firefox.
      Во-вторых, данный скрипт позволяет сохранить в файл любой скопированный текст, к примеру в скайпе или почтовом клиенте вам что-то написали, взяли скопировали и сохранили в текстовой файл эту информацию.
      Вы уверены, что этот плагин исключительно только для Firefox удобнее? :)

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

      Удалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить
  4. Спасибо! Давно искал. Еще раз спасибо.

    ОтветитьУдалить