пятница, 27 ноября 2009 г.

Wand-mode - новые возможности

Wand-mode развивается, с тех пор как я сделал описание, было добавлено несколько интересных возможностей. Их я и опишу.

Имя файла в имени буфера

Откроем какую-нибудь картинку: C-x C-f lg-tree.jpg RET, получаем примерно следующее:

orig image

Замечаем, что в mode-line отображается имя буфера, которое теперь содержит имя оригинального файла. Удобно при переключении с помощью C-x C-b.

Новая операция: modulate

Фотка сама по себе классная, но природа выглядит как-то уныло, немного приукрасим, с помощью команды o modulate RET saturation RET 60 RET, получим результат:

sat inc 60 percents

60% increased saturation

Уже намного лучше.

Поддержка IPTC профиля

Хочется добавить информацию о том, что это там на фотке. Воспользуемся редактором IPTC профиля. Добавим IPTC теги с помощью p caption RET lg climbes trees RET и p keywords RET js-kit, corporative RET, получим:

caption and keywords added

Caption and Keywords added

Pixel color picker

Интересно какого цвета у меня трусы, кликнем на них и увидим:

pixel color picker

Pixel color picker

Видим координаты пикселя, по которому мы кликнули, его цвет и разложение по RGB. Удобно.

Глобальные операции

Иногда нужно просмотреть несколько картинок применяя конкретный набор операций, например увеличение. Для этого теперь есть команда фиксирования операций, по умолчанию висит на O, нажмём её и перейдём к следующей картинке в директории с помощью SPC:

global operations

Global operations applied

Видим список глобальных операций, а также замечаем, что они были автоматически применены к картинке. Однако для этой картинки увеличение saturation не подходит. Отменим с помощью undo (C-/):

operations canceled

Operations canceled

Чтобы сбросить глобальные операции нужно нажать C-u O.

Редактор свойств изображения

Иногда нужно подправить EXIF данные у изображения. Лично я не пользуюсь этой возможностью (мне хватает IPTC профиля), но есть один знакомый фотограф, который попросил эту функциональность в Wand-mode. Мне не сложно за пару пива. Вызвать редактор можно с помощью кнопки e. Он отфильтрует свойства согласно переменной Wand-mode-properties-pattern ("^exif:" по умолчанию).

Новая операция: grayscale

Существует множество методик преобразования картинки в чёрно-белую. Один из них, например, полностью удалить saturation с помощью o modulate RET saturation RET -100 RET, что часто приводит к желаемому результату. Всё же была добавлена возможность поменять colormap на grayscale — o grayscale RET

Новая операция: fit to size

Иногда нужно изменить размеры изображения, чтобы она влазила в определённый размер. Теперь это можно сделать с помощью o fit to size RET. Эта операция запросит ширину, высоту и сохраняя соотношение сторон изменит размер. Есть также пользовательская переменная Wand-mode-scaler, которая отвечает за то, какой преобразователь будет использован. Вы можете создавать свои собственные преобразователи с помощью Wand-make-scaler; неплохой настройкой может быть:

(setq Wand-mode-scaler (Wand-make-scaler :GaussianFilter 1))

Документация к Wand-mode-scaler и Wand-make-scaler содержит исчерпывающую информацию о преобразователях.

ReST source Скачать оригинал

четверг, 12 ноября 2009 г.

Судоку для (S)XEmacs

Не спалось как-то ночью и мягкой подруги не было под рукой. Решил поиграть во что-нибудь. Тетрис слишком активный, сокобан уже прошёл весь, World of Goo перегревает комп — решил погонять в судоку. Зашёл на websudoku.com и начал играть, всё бы хорошо, но это не в SXEmacs и недоступно offline. Решил написать sudoku.el для игры в судоку под SXEmacs. Поискал в инете и нашёл sudoku.el для (X)Emacs. Скачал, запустил и не обрадовался, посмотрел код — вообще расстроился. В итоге ночь провёл за переписыванием sudoku.el, чтобы удовлетворить свои нужды, а именно:

  • Удобный, красивый и информативный интерфейс
  • Возможность скачивания судок с websudoku.com и menneske.no
  • Возможность печати судок
  • Возможность редактирования судок
  • Возможность сохранения/загрузки судок
  • Наличие карандашей для сложных техник и экспериментов
  • Возможность решать только реально сложные задачи, т.е. авто-заполнение (полу)очевидных полей

Пример

Запускаем M-x sudoku RET:

sudoku-mode

Сразу видим кучу очевидных полей для заполнения, например, R5C5 (где курсор) и понятно дело лениво их все заполнять, поэтому нажимаем a, получаем:

autoinsert

Теперь действительно сложная задача, но сразу видно интересность значения 4, поэтому берём карандаш1p (от pencil) и применяем технику Nishio начиная с R8C9, получаем:

pencil
  1. R8C9 -> 4 (начало Nishio)
  2. R2C3 -> 4 (единственное место в C3 где может быть 4)
  3. R3C7 -> 4 (единственное место в R1 где может быть 4)
  4. в восьмом квадрате некуда ставить 4

то есть в R8C9 не может стоять 4. C-u p и отменяем карандаш. Теперь мы знаем, что 4 стоит в R2C9:

won

Хорошая судочка, пожалуй сыну подойдёт, распечатаем её нажав P, на бумаге это выглядит вот так:

printed

Скачать

Скачать можно с http://lgarc.narod.ru/xemacs/sudoku.el

Замечания, баги, фиксы присылайте на lg AT sxemacs.org


1В режиме карандаша авто-заполнение отключается

ReST source Скачать оригинал