ladykosha 01.12.2010 13:34
Есть идея! — Сборщик выписок
Основная задача сборщика выписок - удобно сохранять цитаты из читаемого текста.Какие действия он предназначен упростить? Создание выписок.
Как мы обычно выписки делаем?
Открыли текст, открыли в текстовом редакторе файл для выписок. Нашли интересующее в читаемом - надо скопировать, переключиться на редактор, вставить скопированное, м.б. добавить какие-то метки, вбить вручную разделитель, велеть сохранить файл, вернуться в прежнее окно. И вгруженность в чтение, само восприятие текста, уже не то :)
Как такой сборщик мог бы работать с точки зрения пользователя?Запускаю этот самый сборщик, создаю/открываю файл, в который он будет писать. М.б. устанавливаю разделители между цитатами, ещё какие-то настройки.Пишу/не пишу какой-то заголовок со сведениями о тексте, вообще "рамочку". Включаю "режим сбора".Перехожу к чтению - в чём угодно. Xpdf, openoffice writer, fbreader, chmview, любимый браузер, любимый текстовый редактор, бог весть что ещё. Читаемый текст на весь экран, ни на что не переключаюсь. Скопированное (или просто выделенное) сразу ложится в файл, заданный на шаге 1, м.б. с указанием места в файле и с разделителем после цитаты.Выключаю режим сбора. Возможно, закрываю сборщик.Как оно может быть? Вариант 1. Программа реагирует на попадание нового текста в иксовый буфер, и по этому событию кладёт содержимое буфера, куда ей с самого начала велели. Это, оказывается, просто.Вариант 2. Программа реагирует на сочетание клавиш, и по сочетанию клавиш забирает содержимое из буфера и делает, что велено. Это лишнее действие. Это возможность держать сборщик в готовности постоянно - ненужное всё равно в сборщик не попадёт.
Это тоже просто - вотВариант 3. Как-то ещё :)
Обсуждение было начато тут.
Так лучше?
А теги какие ставить?
Я тоже зануда, я просто ещё не освоилась тут :)
А теги какие ставить?
Я тоже зануда, я просто ещё не освоилась тут :)
Отлично!
Тэги я имел в виду для списков, ссылок и прочего. Если имеются в виду метки для поста, то под ними подразумевается слово или словосочетание или даже предложение, разделенные между собой запятыми. Например: тэг1, тэг из четырех слов, C++.
Строго заданных тэгов нету. Сами придумываете :).
Тэги я имел в виду для списков, ссылок и прочего. Если имеются в виду метки для поста, то под ними подразумевается слово или словосочетание или даже предложение, разделенные между собой запятыми. Например: тэг1, тэг из четырех слов, C++.
Строго заданных тэгов нету. Сами придумываете :).
Спасибо.
Да, я именно про метки для поста. Просто пока не придумались :)
Да, я именно про метки для поста. Просто пока не придумались :)
Вариант 2: отчего же лишнее действие, если сбор, к примеру, повесить на нажатие одновременно двух клавиш мышки.
И у моей ееешки эти две клавиши - одна металлическая пластинка ;)
И как раз по одновременному нажатию происходит третья клавиша мыши ;) у меня на нетбуке так с иксовым буфером работать приходится.
Тут лучше дать возможность пользователю выбирать. Либо сделать софтину, которая по нажатию на клавишу переводит буфер в режим сбора: все, что туда попадет, занесется в файл без дополнительных телодвижений. Но мне это видится менее удобным.
ну, это естественно.
я просто указал, что неочевидный на первый взгляд метод может быть более удобным =)
я просто указал, что неочевидный на первый взгляд метод может быть более удобным =)
Почитал обсуждение по ссылке, там это уже предлагали. Полагаю, если у ТС не кде и не гном, то что-то на боксах, что никак не мешает установке GTK программ, того же Glipper'a к примеру. И уж точно лучше допилить желаемую функциональность в уже готовых решениях, чем изобретать очередной велосипед.
Ага, а для Glipper'а (гномий аналог) можно плагин написать. Но если Qt не стоит, и Гнома нет?
Ох уж эти нелюбители "лишних" зависимостей. И плагинов не нужно, в Klippere есть действия с буфером обмена, которые включаются по горячим клавишам. И блог называется "Есть идея", а не "Хочу такой же велосипед, как в кде/гном, только без лишних зависимостей". Let the holywar begin!
Как бы кто ни не любил этих нелюбителей, но они есть и их тоже нужно учитывать.
Нелюбители лишних зависимостей временами оказываются ещё и владельцами слабых компов. Например. :)
Не думаю, что небольшое приложение на Qt сильно повлияет на производительность даже не очень мощного компьютера. Да и памяти вряд ли съест много. это ж не все кеды тянуть, только Qt, а это совсем немного.
а не только kdelibs...
особенно удивили зависимости от libQtNetwork и glib
ldd /usr/bin/klipper
linux-vdso.so.1 => (0x00006878ef403000)
libkdeinit4_klipper.so => /usr/lib/libkdeinit4_klipper.so (0x00006878eefa4000)
libc.so.6 => /lib/libc.so.6 (0x00006878eec37000)
libkdeui.so.5 => /usr/lib/libkdeui.so.5 (0x00006878ee597000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00006878ee256000)
libz.so.1 => /lib/libz.so.1 (0x00006878ee03e000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00006878ede38000)
libkdecore.so.5 => /usr/lib/libkdecore.so.5 (0x00006878ed932000)
libQtDBus.so.4 => /usr/lib64/qt4/libQtDBus.so.4 (0x00006878ed6ad000)
libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4 (0x00006878ed1db000)
libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4 (0x00006878ec471000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/libstdc++.so.6 (0x00006878ec14b000)
/lib64/ld-linux-x86-64.so.2 (0x00006878ef1e5000)
libQtSvg.so.4 => /usr/lib64/qt4/libQtSvg.so.4 (0x00006878ebee8000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00006878ebcdf000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00006878ebac3000)
libQtXml.so.4 => /usr/lib64/qt4/libQtXml.so.4 (0x00006878eb875000)
libdbusmenu-qt.so.2 => /usr/lib/libdbusmenu-qt.so.2 (0x00006878eb643000)
libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00006878eb43c000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00006878eb231000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00006878eb026000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00006878eae09000)
libm.so.6 => /lib/libm.so.6 (0x00006878eab87000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00006878ea969000)
libdl.so.2 => /lib/libdl.so.2 (0x00006878ea765000)
libQtNetwork.so.4 => /usr/lib64/qt4/libQtNetwork.so.4 (0x00006878ea422000)
libbz2.so.1 => /lib/libbz2.so.1 (0x00006878ea212000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00006878e9fcd000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00006878e9db7000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00006878e9bb2000)
librt.so.1 => /lib/librt.so.1 (0x00006878e99a9000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00006878e96a9000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0x00006878e9481000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00006878e91d9000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00006878e8fd0000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00006878e8d9a000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00006878e8b87000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00006878e8982000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00006878e877e000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00006878e8577000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00006878e834d000)
linux-vdso.so.1 => (0x00006878ef403000)
libkdeinit4_klipper.so => /usr/lib/libkdeinit4_klipper.so (0x00006878eefa4000)
libc.so.6 => /lib/libc.so.6 (0x00006878eec37000)
libkdeui.so.5 => /usr/lib/libkdeui.so.5 (0x00006878ee597000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00006878ee256000)
libz.so.1 => /lib/libz.so.1 (0x00006878ee03e000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00006878ede38000)
libkdecore.so.5 => /usr/lib/libkdecore.so.5 (0x00006878ed932000)
libQtDBus.so.4 => /usr/lib64/qt4/libQtDBus.so.4 (0x00006878ed6ad000)
libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4 (0x00006878ed1db000)
libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4 (0x00006878ec471000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/libstdc++.so.6 (0x00006878ec14b000)
/lib64/ld-linux-x86-64.so.2 (0x00006878ef1e5000)
libQtSvg.so.4 => /usr/lib64/qt4/libQtSvg.so.4 (0x00006878ebee8000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00006878ebcdf000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00006878ebac3000)
libQtXml.so.4 => /usr/lib64/qt4/libQtXml.so.4 (0x00006878eb875000)
libdbusmenu-qt.so.2 => /usr/lib/libdbusmenu-qt.so.2 (0x00006878eb643000)
libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00006878eb43c000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00006878eb231000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00006878eb026000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00006878eae09000)
libm.so.6 => /lib/libm.so.6 (0x00006878eab87000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00006878ea969000)
libdl.so.2 => /lib/libdl.so.2 (0x00006878ea765000)
libQtNetwork.so.4 => /usr/lib64/qt4/libQtNetwork.so.4 (0x00006878ea422000)
libbz2.so.1 => /lib/libbz2.so.1 (0x00006878ea212000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00006878e9fcd000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00006878e9db7000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00006878e9bb2000)
librt.so.1 => /lib/librt.so.1 (0x00006878e99a9000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00006878e96a9000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0x00006878e9481000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00006878e91d9000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00006878e8fd0000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00006878e8d9a000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00006878e8b87000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00006878e8982000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00006878e877e000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00006878e8577000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00006878e834d000)
особенно удивили зависимости от libQtNetwork и glib
набросал за минутку. это можно повесить на хоткей в вашей wm/de или при помощи xbindkeys.
а вообще, да. сессия на носу подобный функционал нужен ;-)
#! /bin/bash
file=$1
delimiter=$2
xsel -p >> $file
echo $delimiter >> $file
а вообще, да. сессия на носу подобный функционал нужен ;-)
кстати да =)
цитата:
Объясню для чего мне это понадобилось. Нужно было сохранять ссылки определенной тематики из поисковой выдачи, различных сайтов, возможно еще откуда-нибудь. Наиболее удобным порядоком организации подобной работы мне показался следующий:
1. Я визуально выцепляю нужные ссылки и копирую их в буфер обмена
2. Некоторая программа отлавливает ссылки и сохраняет их в файлик
Таким образом мне не нужно тратить время на создание и редактирование этого файла вручную: одна мысль об этом меня очень утомляет)
Поискал расширение для Firefox - не нашел, решил попробовать коммандную строку. Быстро нашел утилиту xsel - именно то, что мне нужно.
Небольшой скрипт делает все, как я мечтал:
цитата:
Объясню для чего мне это понадобилось. Нужно было сохранять ссылки определенной тематики из поисковой выдачи, различных сайтов, возможно еще откуда-нибудь. Наиболее удобным порядоком организации подобной работы мне показался следующий:
1. Я визуально выцепляю нужные ссылки и копирую их в буфер обмена
2. Некоторая программа отлавливает ссылки и сохраняет их в файлик
Таким образом мне не нужно тратить время на создание и редактирование этого файла вручную: одна мысль об этом меня очень утомляет)
Поискал расширение для Firefox - не нашел, решил попробовать коммандную строку. Быстро нашел утилиту xsel - именно то, что мне нужно.
Небольшой скрипт делает все, как я мечтал:
$ while true; do link=`xsel -o -b -c`; if < -n "$link" >; then echo $link|tee -a proxy-links.txt; fi; sleep 0.5;done
да, сейчас я его немного допилю....
пока что можно использовать так:
Весь текст из буфера обмена будет собираться в файле filename.txt
из минусов:
- нет разделителя между текстами, даже переноса строки - все лепиться в кучу
- прерывать работу нужно клавишами Ctrl+C
пока что можно использовать так:
$ while true; do eval 'xsel -o -b -c' >> filename.txt;done
Весь текст из буфера обмена будет собираться в файле filename.txt
из минусов:
- нет разделителя между текстами, даже переноса строки - все лепиться в кучу
- прерывать работу нужно клавишами Ctrl+C
вот версия, можно указать разделитель.
В первой переменной заноситься разделитель - я поставил разделителем перенос строки (\n).
Имя файла будет "filename.txt". В принципе, не сложно изменить или, если организовать скриптом, указывать при запуске скрипта.
из минусов:
- прервать работу нужно клавишами Ctrl+C
$ rr="\n";while true; do ff=`xsel -o -b -c`;if <-n "$ff">; echo "$ff" >> filename.txt;echo -e "$rr" >> filename.txt;fi;done
В первой переменной заноситься разделитель - я поставил разделителем перенос строки (\n).
Имя файла будет "filename.txt". В принципе, не сложно изменить или, если организовать скриптом, указывать при запуске скрипта.
из минусов:
- прервать работу нужно клавишами Ctrl+C
оформил все это дело в bash-скрипт:
Создаем файл с именем start_collect.sh с содержимым:
Ставим файлу признак запуска:
Теперь его можно использовать так:
запускается скрипт сбора буфера обмена, вся собранная информация собирается в файле clipboard.log
запускается скрипт сбора буфера обмена, вся собранная информация собирается в файле collect.txt в домашнем каталоге пользователя.
Создаем файл с именем start_collect.sh с содержимым:
#/usr/bin/sh
rr="\n"; # разделитель
file_name="$1";
if < -z "$file_name" >; then
file_name="clipboard.log"; # имя файла по умолчанию
fi;
while true;
do ff=`xsel -o -b -c`;
if < -n "$ff" >; then
echo "$ff" >> $file_name;
echo -e "$rr" >> $file_name;
fi;
sleep 0.5;
done
Ставим файлу признак запуска:
$ chmod 777 ./start_collect.sh
Теперь его можно использовать так:
$ ./start_collect.sh
запускается скрипт сбора буфера обмена, вся собранная информация собирается в файле clipboard.log
$ ./start_collect.sh ~/collect.txt
запускается скрипт сбора буфера обмена, вся собранная информация собирается в файле collect.txt в домашнем каталоге пользователя.
Спасибо огромнейшее!
Получается, тут легко изменить разделитель, можно вставить что-то до, можно и фильтровать, что именно собираешь.
Получается, тут легко изменить разделитель, можно вставить что-то до, можно и фильтровать, что именно собираешь.
да незачто, собственно =)
я только преобразовал скрипт, найденный в интернетах =)
Да, можно вставлять до и после.
Вот только на счет фильтрования - если сумеешь это в bash-е организовать... моих знаний на такое пока не хватит (
я только преобразовал скрипт, найденный в интернетах =)
Да, можно вставлять до и после.
Вот только на счет фильтрования - если сумеешь это в bash-е организовать... моих знаний на такое пока не хватит (
Для начала, Вы его нашли. Потом - привели в красивый вид. :)
А я что-то такое довольно долго искала, но найти не могла :)
В bash я понимаю сильно меньше Вашего, уверена. Зато немного знаю perl :)
Главное, не увлечься накручиванием рюшечек вокруг прекрасной в своей простоте основы. :)
А я что-то такое довольно долго искала, но найти не могла :)
В bash я понимаю сильно меньше Вашего, уверена. Зато немного знаю perl :)
Главное, не увлечься накручиванием рюшечек вокруг прекрасной в своей простоте основы. :)
В основном, да. В каких-то случаях выбирать, что именно записывать (например, берём только линки). В других - разные метки прицеплять, в разные файлы раскидывать... Но это сильно не основная часть. :)
Ну для простого случая, когда фильтрация по слову, скрипт вроде как не сложно доработать.
Я, честно говоря, пока не очень уверена, как оно лучше :)
Пока с основной частью разбираюсь для себя. Начала пользоваться, смотрю, что получается :) И очень рада уже тому, что оно вообще есть :)))
Пока с основной частью разбираюсь для себя. Начала пользоваться, смотрю, что получается :) И очень рада уже тому, что оно вообще есть :)))
$ while true; do eval 'xsel -o -b -c' >> filename.txt; echo >> filename.txt; done
вот так пустая строка добавиться :)
В начале прочитал и тупанул... Вчера посещал налоговую, пенсионный фонд и затем сбербанк как раз за выписками... Бюрократы такие бюрократы.. а тут опять Выписки... не понял про что.
Если браузер, предлагаю другие варианты, которыми пользуюсь сам.
1. Использовать Заметки Opera. Есть "папочки".
Выделил текст, нажал Ctrl+Shift+C, profit. Если в боковой панели выделена папка, заметки "складываются" в эту папку.
2. Использовать сервисы GTD. Например, Remember The Milk.
Создал "задачу", и в режиме "Заметки" добавляешь эти самые заметки, ссылки и прочее. Ctrl+Enter и всё сохраняется. При этом видна дата добавления/изменения, можно удалить. Задачу можно закрыть (удалить - тоже), и в последствии можно посмотреть заверёшнные.
Всё быстро и максимально доступно из всех точек планеты, где есть интернет. :-) В первом случае есть синхронизация, в другом - онлайн-сервис.
1. Использовать Заметки Opera. Есть "папочки".
Выделил текст, нажал Ctrl+Shift+C, profit. Если в боковой панели выделена папка, заметки "складываются" в эту папку.
2. Использовать сервисы GTD. Например, Remember The Milk.
Создал "задачу", и в режиме "Заметки" добавляешь эти самые заметки, ссылки и прочее. Ctrl+Enter и всё сохраняется. При этом видна дата добавления/изменения, можно удалить. Задачу можно закрыть (удалить - тоже), и в последствии можно посмотреть заверёшнные.
Всё быстро и максимально доступно из всех точек планеты, где есть интернет. :-) В первом случае есть синхронизация, в другом - онлайн-сервис.
для firefox есть подобный Scrapbook. Выделил, сохранил по хоткею. Беда в том, что заметок получается много. тутошний башовый скрипт рулит IMHO - ему бы немножко управления еще: рабочая директория, создать новый файл ну и разделители между заметками
а там директория будет? ;) хорошо бы файлы по темам разбивать. ищу то, потом это. пишется в файл "то.txt", потом "это.txt". юзерфредли выглядит - хочу новый файл с темой "Это". и он в той же директории сохраняется.
Подход разный может быть. Если про каталог не спрашивать, это тоже неудобно. Если можно будет решить, как больше нравится - чтоб всё в заданном каталоге или чтоб каждый раз спрашивать, то м.б. и хорошо, да.
Всё равно все в интернете ищется, так что браузерное решение выглядит наиболее интересно. Кроме того, иногда находишь чо-то на одном компе, а работу потом пишешь на другом. Удобно было бы просто выделить текст, нажать кнопку и сохранить и текст, и ссылку где-то в папочке онлайн.
У хрома дофига таких плагинов, ищите по слову Notes или Save notes в репозитории. У файрфокса наверняка тоже полно.
У хрома дофига таких плагинов, ищите по слову Notes или Save notes в репозитории. У файрфокса наверняка тоже полно.
А это, кажется, причина, почему сравнительно мало программ для людей, отличных от тех, кто сам их пишет :) Вы таки не поверите, но я даже на нетбуке таскаю библиотеку в пару-тройку гигов, и то читаю её, то ищу по ней. :)))
Basket так умеет.
Выделил текст, жмакнул хоткей, и оно автоматом в одну из корзинок добавилось.
Выделил текст, жмакнул хоткей, и оно автоматом в одну из корзинок добавилось.
На ЛОРе недавно публиковали релиз MyTetra
Менеджер накопления информации MyTetra
Программа MyTetra — это несложный кроссплатформенный менеджер накопления информации. Программа предназначена для хранения статей и заметок. Все записи организуются в древовидную структуру (обычно по «основному» признаку), а так же снабжаются ключевыми словами-тегами. Основная задача MyTetra — предоставить естественный, интуитивно-понятный интерфейс для написания заметок, обеспечить возможность быстрой навигации по дереву и удобный поиск.
Менеджер накопления информации MyTetra
Программа MyTetra — это несложный кроссплатформенный менеджер накопления информации. Программа предназначена для хранения статей и заметок. Все записи организуются в древовидную структуру (обычно по «основному» признаку), а так же снабжаются ключевыми словами-тегами. Основная задача MyTetra — предоставить естественный, интуитивно-понятный интерфейс для написания заметок, обеспечить возможность быстрой навигации по дереву и удобный поиск.
Насколько понимаю это просто редактор.
А тут идея что-бы текст автоматически вставлялся из буфера.
А тут идея что-бы текст автоматически вставлялся из буфера.
для веба есть http://fishl.com/ например. выделяешь, жмакаешь и оно запоминает отметку. потом можно почитать, поискать и пр. и на сайте эта отметка сохраняется.
Не вижу ничего сложного в реализации. Можно конечно забабахать скрипт на bash, а можно и написать кроссплатформенную прогу. Активировать/деактивировать режим сбора можно, например, кликом по иконке в трее. Все данные можно хранить в древовидной структуре. И то и другое не сложно. Если писать прогу, то за два вечера можно написать.
Так это. Вы не словами. Делом, делом. Я могу надеяться, что через 3-4 дня мы увидим альфа версию?
Готов взяться, если кому то надо, как раз пару свободных вечеров будет. Только нужно обсудить основные идеи и дизайн программы.
для разграничения по разным темам....
к примеру большой раздел линков, а там уже по темам - история, философия, разное, etc...
к примеру большой раздел линков, а там уже по темам - история, философия, разное, etc...
Не нужно древовидную структуру для заметок, сразу получится сложно пользоваться, достаточно разных файлов для разных тем. Или даже одного файла, но с тэгами для каждой заметки. Уже потом, анализируя информацию, можно разложить по древовидным структурам.
Для разбивки по тематике. Например создаем корень "welinux", а в нем два подкорня "администрирование" и "программирование". Хотя не знаю, это так, что первое пришло на ум. Предлагайте идеи, объясните, что конкретно вам надо, а я могу попытаться реализовать это.
Переключение между тематическими файлами (или "страницами"), возможность назначать метки для выписок... причём, вероятно, заранее на всю группу. Типа начала собирать из книжки - чтоб можно было к каждой выписке сразу прилепить библиографическую ссылку на эту книжку и тематические метки (тоже, получается, на всю книжку одинаковые).
В идеале ещё - бросающаяся в глаза возможность менять тоже для некой группы (ситуация - дочитала одну книжку, начала другую, дочитала до середины, заглянула в сборщик, схватилась за голову - на вторую книжку метки не ставила, ко всем выпискам метки прилепились от первой книги. Паника. :) ).
Вообще, надо будет попробовать уже сейчас сделать хоткеи для нескольких вариантов запуска скрипта, чтоб в разные файлы цитаты ложились, и с разными "привесками". И посмотреть, как оно у меня пойдёт...
Если речь идёт уже о чём-то типа помянутого "менеджера накопления информации"... Те же метки как один из видов "папок". Ссылки с заметки на заметку - как связи. И это возможность создавать более сложные структуры, чем дерево :)
Некогда я была в восторге от WikidPad именно потому, что он позволял делать хоть какие кольца. Там настольная wiki, и если со страницы есть ссылка на другую страницу, значит та страница будет отображаться в дереве как "ребёнок" этой. Если с неё есть ссылка обратно, значит на следующем уровне мы снова увидим первую страницу.
Естественно, всё дерево целиком просто никто и никогда не строит и не разворачивает :) Естественно, можно произвольно выбирать главную, и есть отдельное место, где можно найти все страницы-сироты. :)
Когда я готовилась к экзамену по истории литературы, классно было смотреть, кто с кем как взаимоотносился. Собирала на одну страницу всё, что относилось к одной персоналии, каждое имя делала ссылкой, даты и места старалась тоже делать ссылками. Чудо как хорошо! :)
В идеале ещё - бросающаяся в глаза возможность менять тоже для некой группы (ситуация - дочитала одну книжку, начала другую, дочитала до середины, заглянула в сборщик, схватилась за голову - на вторую книжку метки не ставила, ко всем выпискам метки прилепились от первой книги. Паника. :) ).
Вообще, надо будет попробовать уже сейчас сделать хоткеи для нескольких вариантов запуска скрипта, чтоб в разные файлы цитаты ложились, и с разными "привесками". И посмотреть, как оно у меня пойдёт...
Если речь идёт уже о чём-то типа помянутого "менеджера накопления информации"... Те же метки как один из видов "папок". Ссылки с заметки на заметку - как связи. И это возможность создавать более сложные структуры, чем дерево :)
Некогда я была в восторге от WikidPad именно потому, что он позволял делать хоть какие кольца. Там настольная wiki, и если со страницы есть ссылка на другую страницу, значит та страница будет отображаться в дереве как "ребёнок" этой. Если с неё есть ссылка обратно, значит на следующем уровне мы снова увидим первую страницу.
Естественно, всё дерево целиком просто никто и никогда не строит и не разворачивает :) Естественно, можно произвольно выбирать главную, и есть отдельное место, где можно найти все страницы-сироты. :)
Когда я готовилась к экзамену по истории литературы, классно было смотреть, кто с кем как взаимоотносился. Собирала на одну страницу всё, что относилось к одной персоналии, каждое имя делала ссылкой, даты и места старалась тоже делать ссылками. Чудо как хорошо! :)
теги давно рулят вестимо. пользуюсь вовсю в гуглбукмакс. намного удобнее дерева и поиск быстрее в разы.
кстати.... как вариант - для тега можно использовать заголовок окна, откуда копируем.... если так, конечно, возможно будет сделать.
черт, отправилось. Для начала давайте остановимся на базовом функционале. если не затруднит, попробуйте нарисовать интерфейс программы. можете писать в jabber для обсуждения деталей.
Базовый, по-моему, исчерпывается иконкой в трее, о которой Вы уже говорили :) Немного расширенный - иконка с меню по правой кнопке. :)
Сильно расширенный - это уже "менеджер накопления информации", у которого есть и та функция, с которой всё началось. :)
Сильно расширенный - это уже "менеджер накопления информации", у которого есть и та функция, с которой всё началось. :)
Базовый - это демон, который не зависит ни от одного графического тулкита (qt,gtk и т.п.), который отлавливает заданное нажатие комбинации и выполняет действия с буфером обмена. Еще он предоставляет API для возможности написания к нему графического фронтенда.
по-хорошему, вы правы, но нужно ли в данном случае придерживаться такой "жесткой" юниксовой политики?
Ну я бы хотел иметь кроссплатформенное решение, а чтобы сделать, как вы описали,нужно возиться и с winapi, и с X11. Я хочу для начала сделать все-таки простенькую гуи программку, а потом уже посмотреть в сторону разделения логики на демон и гуи к нему.
Так с win api, x windows и даже, если быть чертовски оптимистичным на счет вашей будущей программы, с новым wayland все равно придется иметь дело.
Основной смысл в том, чтобы на гуйню переложить все вопросы организации и анализа данных. Задачей демона(win сервиса) же будет являться необходимость забора данных из буфера по внешнему событию(нажата комбинация клавиш, кликнули элемент меню браузера и т.п.), добавлению, по возможности, к ним мета-информации и дальнейшей передачи этих данных уже в гуй через какой-либо подходящий механизм (сокеты, каналы, dbus и т.п.)
Основной смысл в том, чтобы на гуйню переложить все вопросы организации и анализа данных. Задачей демона(win сервиса) же будет являться необходимость забора данных из буфера по внешнему событию(нажата комбинация клавиш, кликнули элемент меню браузера и т.п.), добавлению, по возможности, к ним мета-информации и дальнейшей передачи этих данных уже в гуй через какой-либо подходящий механизм (сокеты, каналы, dbus и т.п.)
И? Не понимаю зачем для такой программы строить велосипеды, когда это можно реализовать за счет готовых сторонних библиотек за пару дней. Например, программа на Qt будет запускаться везде и выглядеть везде одинаково, и в KDE, и в Gnome, и в MacOS, и в Windows. И не говорите мне, что вам жалко 50 мб свободного места для runtime-библиотеки. А насчет wayland еще рано что-либо говорить.
Так это мое видение. Вы просили идей. Пожалуйста. А так, я жду вашей реализации
через пару дней.
Если писать прогу, то за два вечера можно написать.
через пару дней.
да уже почти готов базовый функционал, два режима работы: по хоткею и по выделению(на выбор пользователя), работа с несколькими файлами, закрепление за каждым файлом собственных хоткеев. Жду, когда ladykosha отправит мне иконки для трея.
Работа как-то быстро заглохла. Виденные мною результаты были не совсем юзабельны.
В результате я пользуюсь тем, что сама собрала. :)
1. Gtktrayicon - висит в трее, выполняет две заранее заданные ему команды при щелчке по иконке, и имеет меню, куда можно засунуть больше.
Щелчками по иконке включается и выключается сборщик (привязываются и отвязываются клавиши, точнее). Из меню редактируются все задействованные файлы :)
2. Сборщик, который подвешен на сочетание клавиш. В нём используется xsel (можно и xclip) для забирания текста из буфера, libnotify-bin для уведомлений о том, что цитата добавлена (без этого иногда теряются куски). Strfile - потому что я добавляю цитаты в фортуночный файл, фрагменты из которого нередко крутятся у меня на рабочем столе и ещё я случайный фрагмент шлю себе по почте каждый день.
Получилось удобно. И я не забываю обрабатывать добавленную инфу. :)
В результате я пользуюсь тем, что сама собрала. :)
1. Gtktrayicon - висит в трее, выполняет две заранее заданные ему команды при щелчке по иконке, и имеет меню, куда можно засунуть больше.
Щелчками по иконке включается и выключается сборщик (привязываются и отвязываются клавиши, точнее). Из меню редактируются все задействованные файлы :)
2. Сборщик, который подвешен на сочетание клавиш. В нём используется xsel (можно и xclip) для забирания текста из буфера, libnotify-bin для уведомлений о том, что цитата добавлена (без этого иногда теряются куски). Strfile - потому что я добавляю цитаты в фортуночный файл, фрагменты из которого нередко крутятся у меня на рабочем столе и ещё я случайный фрагмент шлю себе по почте каждый день.
Получилось удобно. И я не забываю обрабатывать добавленную инфу. :)
Если знакомы с WikidPad, то почему бы не пользоваться его Clipboard Catcher-ом? Делает ровно то же самое, о чем автор поста мечтает.
Я почему-то перестала пользоваться WikidPad вскоре после перехода на линух. Почему именно, сейчас уже не помню. Как-то оно неудобно стало...
На всякий случай (если давно не интересовались) сообщаю, что он часто обновляется :) Clipboard Catcher работает и под линуксом, позволяя удобно сбрасывать в WikidPad копируемое в других приложениях. Разделитель задаётся в настройках.
Из-за этой фичи, вики и ещё тудушек (пользуюсь TodoExtensions) считаю его очень удачным инструментом для организации информации.
Из-за этой фичи, вики и ещё тудушек (пользуюсь TodoExtensions) считаю его очень удачным инструментом для организации информации.
Да, использую. В или :)
Качается в виде исходников, распаковывается куда попало, и
Скрипт удобней всего в ~/bin положить. Хотя куда попало тоже вполне подойдёт :)
Возможно, пару библиотек надо будет доустановить самостоятельно (одну или две). Я уже точно не помню названия (с wxЧегототам связано), но помню, что две поставил, хотя может и одной хватает. В убунту в синаптике поискал по wx, там вариантов немного было, с первого раза попал.
Качается в виде исходников, распаковывается куда попало, и
#!/bin/sh
cd $HOME/software/WikidPad-2.0rc06/
python WikidPad.py
Скрипт удобней всего в ~/bin положить. Хотя куда попало тоже вполне подойдёт :)
Возможно, пару библиотек надо будет доустановить самостоятельно (одну или две). Я уже точно не помню названия (с wxЧегототам связано), но помню, что две поставил, хотя может и одной хватает. В убунту в синаптике поискал по wx, там вариантов немного было, с первого раза попал.
Ага, я нашла, в чём у меня было дело. Не та версия python-wxgtk. Нашла тут, ссылка со странички викидпада на сорсфордже нерабочая в связи с переносом вики. :)
Кстати, удалять python-wxgtk2.6, как там пишут, даже не понадобилось. :)
Смотрится симпатично, буду снова пробовать :)
Кстати, удалять python-wxgtk2.6, как там пишут, даже не понадобилось. :)
Смотрится симпатично, буду снова пробовать :)
Пользуюсь расширением для FF от Evernote. Выделил текст, ПКМ - add to Evernote.
есть няшная доска для гнома, лаконично называется the board project.
пока ещё не ковыряла её, но если судить по этому видео, добавить туда что-то довольно легко.
пока ещё не ковыряла её, но если судить по этому видео, добавить туда что-то довольно легко.
ЗЫ: да, да, я зануда и педант.