Yakuake и Zsh

Yakuake — это quake-подобный эмулятор терминала, который использует konsole в качестве основы. Последняя на данный момент версия — 2.7.5.
При активной работе с yakuake очень неудобно, когда создаются вкладки с “неговорящими” именами вида ‘Shell No. XXX’. Так очень легко запутаться, особенно, если открыто более 7 вкладок. Чтобы это исправить, можно воспользоваться технологией DCOP.
Чтобы поменять имя вкладки, необходимо выполнить команду

dcop yakuake DCOPInterface slotRenameSession $DCOP_YAKUAKE_SESSION "текст"

Вместо текста у меня отображается моё текущее положение в файловой системе

dcop yakuake DCOPInterface slotRenameSession $DCOP_YAKUAKE_SESSION "`pwd`"

Версия для эстетов :)

dcop yakuake DCOPInterface slotRenameSession $DCOP_YAKUAKE_SESSION "`pwd | sed "s,^$HOME,~,"`"

Теперь осталось сделать так, чтобы при каждом выполнении новой команды в шелле, у нас обновлялась информация. В Zsh есть специальная функция precmd(), которой мы и воспользуемся. В ~/.zshrc необходимо добавить следующий код:

function precmd() {
if [ "$DCOP_YAKUAKE_SESSION" ]
then
dcop yakuake DCOPInterface slotRenameSession $DCOP_YAKUAKE_SESSION “`pwd | sed “s,^$HOME,~,”`”
fi
}

И ещё маленький штрих. По умолчанию Zsh не меняет title терминала, в отличие от bash, что создает некоторые неудобства. Это тоже легко исправляется. На просторах Сети был найден такой код:

function title() {
# escape ‘%’ chars in $1, make nonprintables visible
a=${(V)1//\%/\%\%}

# Truncate command, and join lines.
a=$(print -Pn “%40>…>$a” | tr -d “\n”)

case $TERM in
screen)
print -Pn “\e]2;$a @ $2\a” # plain xterm title
print -Pn “\ek$a\e\\” # screen title (in ^A”)
print -Pn “\e_$2 \e\\” # screen location
;;
xterm*|rxvt)
print -Pn “\e]2;$a @ $2\a” # plain xterm title
;;
esac
}

Чтобы title менялся перед выполнением команды, необходимо использовать другую функцию — preexec().

function preexec() {
title “$1″ “%m(%35<…<%~)”
}

Что получилось:
yakuake.png

Исправлен древний баг в KMail

А именно Change charset must be applied on subject and attachment names too. Огромное спасибо товарищу dmiceman за патч.

Posted in KDE, Linux. No Comments »

Маленький патч для KDE

Я заметил, что если использовать опцию “Apply colors to non-KDE applications” в Control Center, то файл gtkrc-2.0 не всегда корректно генерируется. В частности, для menu item цвета текста остаётся всегда чёрным, даже когда этот элемент подсвечен. Это приводит к тому, что в некоторых цветовых схемах они становятся совершенно нечитабельны.
Read the rest of this entry »

Закрытие таба в Konqueror по среднему щелчку мыши

Оказывается это недокументированная фича. А всего-то надо добавить в ~/.kde/share/config/konquerorrc строчки

[FMSettings]
MouseMiddleClickClosesTab=true