понедельник, 15 декабря 2008 г.

Запуск снега при старте KDE4

Для начало нужно установить xdotool.
в Ubuntu пакет есть в репозитарии:

sudo apt-get install xdotool

Или скачиваем отсюда и собираем как написано в инструкции.

После успешной установки xdotool, копируем эти строчки в терминал:

k=`kde4-config --localprefix`
mkdir $k/Autostart 2> /dev/null
sed -i "s/kwin4_effect_snowEnabled=false/kwin4_effect_snowEnabled=true/" $k/share/config/kwinrc
s=$k/Autostart/snow; echo "#! /bin/sh" > $s; echo xdotool key ctrl+Super_L+F12 >> $s; chmod u+x $s


На всякий случай нажимаем Enter. Перелогинимся. Всё.

Теперь по порядку.
Что такое в данном случае снег? Это эффект KWin. Как он себя проявляет? На рабочем столе идет снег :)

Зачем все это нужно? Скоро новый год!

О скрипте:

k=`kde4-config --localprefix`
Узнаем где KDE4 хранит свои настройки. Например на моем ноуте установлено 2 версии KDE4 и у каждой свой каталог, к тому же существуют разные дистрибутивы.

mkdir $k/Autostart 2> /dev/null
В некоторых случаях паки Autostart может не быть.

sed -i "s/kwin4_effect_snowEnabled=false/kwin4_effect_snowEnabled=true/" $k/share/config/kwinrc
Включаем снег в настройках KWin. KWin как и Compiz работает с подгружаемыми модулями, поэтому перед тем как использовать эффект его надо загрузить. Того же самого можно добиться включив снег в диалоге настройки KWin, но так намного проще, потому, что не надо объяснять как вызывать и на какую кнопку нажать в диалоге настройки, который в KDE4.2 уже немного поменялся.

s=$k/Autostart/snow; echo "#! /bin/sh" > $s; echo xdotool key ctrl+Super_L+F12 >> $s; chmod u+x $s
Создаем скрипт для запуска снега при старте KDE. Созданный скрипт выглядит так:


#! /bin/sh
xdotool key ctrl+Super_L+F12


Тут надо отметить, что собственно запуск снега осуществляется нажатием горячих клавиш, точнее симуляцией нажатия этих клавиш. Для этого используется программа xdotool возможности, которой намного шире, чем просто имитировать клавиатуру.

Немного о клавишах:
ctrl, F12 - Тут и так все понятно.
Super_L - Это клавиша на которой у большинства нарисован "флажёк" (у пользователей правильных eeePC на ней нарисован домик). В KDE и в документации к xdotool ее называют meta, но xev, который в этом вопросе более авторететен говорит, что это Super_L. В случае проблем проконсультируйтесь с xev на вашей системе.
Здесь использована комбинация клавиш установленная в KWin по умолчанию для запуска снега.

К слову в KDE4 приложениями можно управлять при помощи DBUS, что намного более элегантнее, чем посылать горячие клавиши, однако в KWin через DBUS предусмотрена только загрузка модуля эффекта, но не его активация, Теоритически можно выполнить команду через DBUS в модуле KDЕ который отвечает за горячие клавиши, но мои эксперементы в этой области закончились безрезультатно.

В Compiz тоже есть снег!
Справедливости ради, он там был еще раньше чем в KWin. Все выше описанное можно смело перенести и на Compiz, Только заменить горячие клавиши (если они другие), и скрипт поместить в папку автозапуска для Gnome(если используется он).

Описанным способом можно запустить любой эффект, не только снег.

Если в наличии нет композитного менеджера окон (коими являются Compiz и KWin4), то можно воспользоватся xsnow, который помимо снега еще рисует елочки на рабочем столе, засыпает окна и иконки сугробами и переодически пускает Санта Клауса с оленями.

P.S. К большому сожалению в KDE4 xsnow не работает, потому, что вместо статичного kdesktop теперь у нас анимированная plasma. Поэтому на время зимних праздиков можно пересесть например на openBox. xsnow так же не работает если включены "эффекты рабочего стола".

P.P.S В E17 xsnow реализован в качестве модуля, поэтому там он замечательно работает несмотря ни на что.

1 комментарий:

  1. Кстати первый снег по-моему был в beril'e, а потом перешел туда где объединили compiz и beril :) Там еще помнится можно было настраивать мерцания снежинок и ветер :)

    ОтветитьУдалить