воскресенье, 29 мая 2016 г.

End of term mode

Достаточно повозившись с классическим эмулятором терминала в Emacs, я понял что все, хватит с меня, и дальше буду использовать только старый добрый Xterm. А чтобы это было не менее удобно.. да вообще, чтобы просто было удобно добавил немного быдлокода:
(defvar emacs-xterm-pid nil)
(defun run-xterm ()
  "Launch Xterm"
  (async-shell-command
   (concat "xterm -geometry 70x40-0+0 -e \"cd " default-directory " && bash\""))
  (setq emacs-xterm-pid (shell-command-to-string "echo -n $(pgrep xterm | tail -1)")))  ;; убираем перевод(ы) строк

(defun xterm-window-manager ()
  "Manage Xterm window, replacement f*ing term mode."
  (interactive)
    (cond ((not emacs-xterm-pid) (run-xterm))
   ((string= (shell-command-to-string (concat "kill -0 " emacs-xterm-pid " 2>/dev/null || echo -n no"))  ;; процесс еще существует?
      "no")
    (run-xterm))
   (t (shell-command (concat "wmctrl -i -a $(wmctrl -lp | grep"
       " " emacs-xterm-pid " "
       "| tr -s '[:space:]' | cut -d ' ' -f1)")))))

суббота, 28 мая 2016 г.

Открыть Xterm в заданной папке

... и с нужными параметрами - смешно, но поначалу я с этим затупил.

xterm -geometry 70x40-0+0 -e "cd ~/Desktop && bash"
- запускает Xterm в правой половине экрана в папке Desktop.
(Конечно, так не грамотно: в правой половине экрана у нас окно эмулятора терминала,  а шелл запущен в заданной папке, и так впрочем тоже не грамотно :) но с точки зрения гуя все это один объект, поэтому..)

четверг, 26 мая 2016 г.

Wanderlust: конфигурационные файлы.

How-to мне писать все равно лень :) Поэтому вкратце основное.
  • Группа настроек elmo- отвечает за получение и кэширование почты. Важно: 'elmo-localdir-folder-path' указывает, где будет хранится почта (по дефолту это ~/Mail, что многим придется не по вкусу).
  • Группа настроек wl- это настройки самого почтовика, внешний вид, действия, шорткаты и пр. Важно: 'wl-folders-file' задает расположение файла folders (см. дальше)
  • Файл folders это и есть конфиг серверов, источников, фильтров, папок и вложенных папок - короче, всего того, что располагается в левой панели Thunderbird или скажем Claws Mail. И его можно (и нужно!) редактировать вручную. Можно воспользоваться и встроенным Folder Manager, но вручную проще и нагляднее.
Пример добавления ленты RSS:
добавить в folders строку вида
rss:http://www.some.domain/rss "псевдоним ленты"

Пример добавление аккаунта Gmail (с некоторыми изысками, например тут POP):
добавить в folders строку вида
&"recent:username@gmail.com"@pop.gmail.com:995!    "gmail"

И так далее >>>

среда, 25 мая 2016 г.

Wanderlust, лучший почтовик для Emacs.

И даже будь он худшим- остальные требуют наличие отдельного MTA и еще черт знает чего и по сути являются лишь системами индексации как-то полученной почты. Wanderlust не таков, и все делает сам, а так же в хороших традициях умеет ленты RSS и даже кажется NNTP. Но с ним есть одна трудность.. и даже не одна)) Первая и самая главная заключается в крайне хреново написанной документации: есть мануал - и это по сути все. Все прочие русскоязычные потуги написать how-to откровенно жалки и не заслуживают ни капли внимания. Ну почитать-то можно, но толку от этого не будет почти никакого. Писать очередные инструкции мне честно говоря лениво, тем более я еще и сам не до конца разобрался. Поэтому остановлюсь на паре проблемок, которые при всем желании фичами не назовешь:
  • Кодировки. Автодетекта нет, и если это не utf8, то для каждой папки нужно прописывать вручную. И все равно это работает мягко говоря странно.
  • RSS. В случае оооочень длинного URL (такое бывает, когда например это URL к поиску по параметрам и все они в адресе ленты) Wanderlust посылает подальше, т. к. для любого источника он создает папку, имя которой = URL.
  • Gmail. Тут тоже были некоторые неочевидные проблемы, но исключительно в случае выбора POP3.
  • Хранение пароля от аккаунта. Он конечно не в plain text, но "шифрование" там смешное, да и официально его не заявлено - нужно дорабатывать самому (но это как раз просто).
А в остальном- масса разнообразных настроек, ну просто дофига! ;) И это тоже по началу затрудняет жизнь. Так что Wanderlust будет выбором явно не для всех.

воскресенье, 22 мая 2016 г.

Вожусь вот с org-feed.el

Очень приятный RSS-агрегатор, НО! только вот по дефолту из русскоязычных  лент новостей он делает абракадабру, на которую enca ругается "double encoding", и перекодировать уже не желает никак.

Как так? Откуда она там? Путь к ответу на вопрос был долог и тернист, но наконец ответ найден: товарищи подсуетились, и в свое время запихнули туда один патчик, т. к. цитирую:

Feed entries may contain raw unicode characters that must be convertedto utf-8 before they can be properly inserted in the target buffer. 
(гениально, ослы!)

Патч всего-то из 2х строк:

(buffer-string)))))
(decode-coding-string
(buffer-string) (detect-coding-region (point-min) (point-max) t))))))

но он все и ломает. Откатил назад, в результате тоже получаются кракозябры, но однократное применение decode-coding-region все приводит в читаемый вид. Вот вопрос: отписать обратно эти "гениям" или заниматься велосипедостроением самому?

Если вернуть все обратно и в ~/.emacs в список автодетекта добавить кодировку:
(prefer-coding-system 'cp1251)
ситуация улучшается, но все ломают откуда-то берущиеся символы в внезапно! koi8-r. Пичаль.

понедельник, 9 мая 2016 г.

Заметка №..

  1. А еще в Emacs можно рисовать $) Мышкой!  >  artist-mode 
  2. Переключение между буферами уже избитая тема, но всплывающее меню буферов можно вызвать и просто зажав Ctrl и кликнув левой клавишей мыши.

суббота, 7 мая 2016 г.

Firefox 46: после релиза

Пост исключительно про жуткий вид вкладок вышедшего из беты Firefox 46 и как это исправить.

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


Для этого достаточно пары простых шагов:
  1. Установить тему-заливку Numix c addons.mozilla.org
  2. userChrome.css
    /* Панель закладок */
    #PlacesToolbar { max-width: 300px !important; }
    toolbar[mode="icons"] .toolbarbutton-text { display: none !important; }
    /* Ширина вкладок */
    .tabbrowser-tab:not([pinned]) { min-width: 150px !important; }
    /* 45b11 theme fix */
    #nav-bar { background-color: #555 !important; }
    /* Сраная кнопка со звездочкой:  */
    #bookmarks-menu-button .toolbarbutton-menubutton-button { width: 2px !important; margin: 0 !important; padding: 0 !important; }
    #searchbar .autocomplete-textbox-container { background-color: #2D2D2D; color: white; }
    

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

Blogger Template by Blogcrowds