воскресенье, 28 сентября 2014 г.

Работаем в KKEDIT: мои инструменты.

Из встроенной справки KKEDIT:
PLACEHOLDERS:
%t - Currently selected text. Passed to command as $KKEDIT_SELECTION
%f - Filepath of the current document. Passed to command as $KKEDIT_CURRENTFILE
%d - Directory of the current document or $HOME. Passed to command as $KKEDIT_CURRENTDIR
%i - The location of the globally installed tools. Passed to command as $KKEDIT_DATADIR
%h - Tempory file for displaying html in doc viewer. Passed to command as $KKEDIT_HTMLFILE
%l - Highlihting language. Passed to command as $KKEDIT_SOURCE_LANG

Основные:
  1. cp %f ~/Desktop/$(date +%H-%M).bak. # *bak*

  2. printf '#!/bin/bash\n#DESC: пример - пример\n' > /home/$USER/Desktop/sh.sh; kkedit /home/$USER/Desktop/sh.sh # *new*

  3. egrep -ion '.{,15}'%t'.{,15}' %f | sed 's/\(.*\)/\ \ \ \ \ \1/g' # *слово*

  4. printf 'for i in \$(seq 1 \$N)\ndo\n \ndone\n' # bash > for

  5. printf 'if ((\$i > \$N))\nthen\n\nfi\n' # bash > больше

  6. echo '# '  %t # Comment. v.1
* Скрипт #3 ("слово") выводит вхождения выделенного слова в документе- номер строки и контекст. 

В Geany по идее можно все то же самое, но мне там работать совсем не по кайфу, все эти претензии на IDE только мешают.

суббота, 27 сентября 2014 г.

Фиксим (от)монтирование флешек в Xfce

Уж не знаю почему, но у меня Thunar крашиться при отмонтировании флешек. Написал простенький скрипт:
  1. #!/bin/bash
  2. while true
  3. do
  4. if ls /dev/ | egrep "sd[c-z]" > /dev/null
  5. then gigolo -v
  6. fi
  7. sleep 2
  8. done
Еще один вынужденный хак :) Про Gigolo уже писал.
"sd[c-z]" - предполагается, что сменные устройства начинаются с sdc, поскольку sda и sdb у меня уже заняты (HDD).

пятница, 19 сентября 2014 г.

DiffMerge- проприетарное ПО из категории "visual diff"

Уже после непродолжительного использования DiffMerge про такие поделки как Meld не хочется даже вспоминать.
Приложение предлагает классический интерфейс:


и с виду ничем не выделяется. Но основные фичи- в широте возможностей настройки внешнего вида, подключаемых инструментов да и просто в удобстве.
Приложение поставляется в том числе и в виде пакетов, но по существу представляет из себя один-единственный бинарный файл и поэтому может быть установлено простым копированием. Также его можно купить, а можно и не делать этого, в случае "незарегистрированной версии" при запуске выводится дополнительное информационное окно, но- никаких мерзких баннеров и (вроде бы) никакого ограничения функционала.

Update 12.2014: дополнение >>

суббота, 6 сентября 2014 г.

Игры с расширенными атрибутами файлов: chattr

Для начала простейшая задачка:
вы создали в домашнем каталоге папку test, поместили в нее файл А и изменили владельца файла А на рута. Может ли теперь обычный пользователь-хозяин домашнего каталога удалить этот файл А?

Ответ- может!
Шелл всего лишь поинтересуется "rm: удалить защищенный от записи обычный файл «А»?", и при положительном ответе его удалит, хоть и хозяин файла - root.
А все дело в том, что rm смотрит на владельца каталога, а владелец домашней папки - юзер.

Chattr
Установим у нашей папки расширенные атрибуты:
root@localhost: chattr +a папка
Теперь удалить файлы из папки не сможет никто, а добавить - кто угодно (кто имеет права записи, т. е. как минимум юзер и рут)

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

четверг, 4 сентября 2014 г.

Консольный редактор diakonos

Просто консольный текстовый редактор, написанный на ruby. А что? Переписали же на нем Yast, теперь вот и редактор будет соответствовать :)


Одна из фичей - хотя это никакая не фича, а просто нежелание клепать очередной велосипед - привычные "офисные" хоткеи. Вот поиск по мере набора по Ctrl+F, а "искать дальше" будет по привычной многим F3. А так конфиг довольно объемный, есть встроенная система помощи: нажать F1 и начать набирать слово, по Tab будут выведены похожие разделы справки. Следует иметь в виду, что в зависимости от настроек эмулятора терминала клавиша F1 может быть перехвачена самим терминалом, т. е. [в каком-то из конфигов] вызов справки придется забиндить на другую клавишу.

Теперь про установку: в репозитории устаревшая версия, которая у меня еще и падала на редактировании собственного конфига (!) Разбираться не стал, скачал последнюю (0.9.2) и установил тупо по "ruby install.rb", далее все было Ок.

среда, 3 сентября 2014 г.

Разбираемя с торрент-трекером kinozal.tv

   Некогда неплохой трекер за последние пару лет скатился в откровенный треш, так что заходить на сайт как минимум неприятно. Но мы можем немного оживить скучный и убогий вид Кинозала, и заодно избавить себя от необходимости постоянно кликать дальше.. дальше.. дальше. Сайт после "редизайна":


(Если миниатюра фильма не имеет названия на русском, то достаточно задержать над ней курсор мышки, и доп информация будет показана в тултипе)

Ниже - быдлокод, сляпанный за 10 минут и работающий до первого обновления кода самого сайта, я привожу его только в качестве примера, как не нужно делать:
  1. #!/bin/sh
  2. echo > /tmp/kinozal.html
  3. for i in 0 1 2 3 4 5
  4. do
  5. wget -qO- http://kinozal.tv/?page=$i | grep 'img class="tp1_img"' | sed 's/\/details/http\:\/\/kinozal\.tv\/details/' >> /tmp/kinozal.html
  6. done
  7. exo-open /tmp/kinozal.html # Xfce!
 В дальнейшем есть скромная идея улучшить парсер, используя инструменты, лучше заточенные для работы с xml/html. 

Следующие Предыдущие Главная страница

Blogger Template by Blogcrowds