понедельник, 5 октября 2009 г.

Допиливаем IceWM под себя.

Уже довольно продолжительное время использую IceWM в качестве оконного менеджера и постепенно улучшаю свое существование в нем разными полезными и удобными вещами.
В этой заметке попытаюсь поделиться ими с людьми.


Я проделывал все это под Ubuntu, но в принципе советы универсальны для любого дистрибутива, только приложения нужно устанавливать через свой менеджер пакетов.

Переключение раскладки.
Тут есть два момента:
1. Раскладка должна переключаться(обязательно)
2. Должен отображаться индикатор(желательно)
Первый я традиционно решаю с помощью xorg.conf, вписывая туда в секцию "InputDevice" следующие буквы:

Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle"

Второй момент решается быстро и безболезненно установкой пакета fbxkb. Есть конечно другие варианты, но мне этого более чем хватило, остальные даже пробовать не стал.

Календарь

На примере календаря продемонстрирую один интересный момент в тонкой настройке системы.
Итак, нам нужно настроить кнопочку в трее, по которой рядом с ней будет появляться календарь, а потом исчезать, опять же по нажатию.
Ставим пакет xcalendar. По одноименной команде появляется этот календарь, но появляется где попало и вообще, на виндовыйпривычный календарь похож мало. Чтобы привести его в божеский вид, нужно использовать конфигурационный файл winoptions, из папки ~/.icewm. Он позволяет тонко настраивать поведение окна для каждого приложения. Сначала, с помощью команды xprop необходимо узнать имя окна приложения. Запускаем в терминале:

xprop|grep WM_CLASS

Курсор изменяется на плюсик и ткнув в нужное окошко, в терминале появится строка вроде этой:

WM_CLASS(STRING) = "xcalendar", "XCalendar"

Здесь, значение в первых кавычках, это как раз нужное нам имя.
Создаем файл ~/.icewm/winoptions с такие содержанием:(если файл уже есть, то дописать в конец)

xcalendar.tray: Exclusive
#создать иконку в трее и не создавать кнопку на панели
xcalendar.geometry: +800+800
#расположить окно в правом нижнем углу(цифры должны соответствовать выбранному разрешению)
xcalendar.dTitleBar: 0
#не отображать заголовок окна
xcalendar.icon: /usr/share/icons/Human/24x24/apps/menu-editor.png
#иконка
xcalendar.allWorkspaces: 1
#отображать на всех рабочих столах
xcalendar.ignoreQuickSwitch: 1
#не отобрать в списке окон по Alt+Tab

Об остальных опциях можно почитать в документации.

Заметки
Изначально использовал tomboy, но какой-то он слишком задумчивый(видимо из-за Mono), поэтому поменял его на zim. Какой-то специальный функционал меня не интересует, просто иметь возможность чего-нибудь быстренько записать и потом не потерять.
Пару моментов, как сделать, чтобы он правильно запускался и не мешал.
Заходим в Правка-Настройки-Дополнения и ставим галочку напротив TrayIcon. После этого можно запускать автоматически следующей командой:

zim --iconify ~/Notes/

где ~/Notes/ - адрес вашего блокнота.

Автозапуск

Автозапуск приложений при старте icewm реализуется с помощью скрипта startup, который должен лежать в директории "/home/username/.icewm/".
Он должен быть выполняемым (chmod +x startup).
Вот пример моего файла:

xcalendar &
rfcomm-dev-create &
gnome-power-manager &
zim --iconify ~/Notes/ &
fbxkb &
nm-applet &

Файловый менеджер и автомонтирование накопителей.
Обе задачи решаются с помощью pcmanfm. Легкий и обладает достаточным фукционалом. Проблемы с монтированием могут возникать достаточно экзотические, в зависимости от конкретного дистрибутива. Решаются с помощью google и прямых рук. ;)
Кроме того он может управлять рабочим столом, отображать фон и значки.

Для настройки сети я использую гномовский апплет, который запускается командой nm-applet.

Состояние батареи.
Для контроля состояния батареи раньше похожим образом использовал gnome-power-manager, но недавно в preferences наткнулся на родной индикатор. Параметр выглядит так:
TaskBarShowAPMStatus=1
Симпатичную цветную батарейку он, правда, не показывает, но ее заменяют вполне информативные цифры, которые при питании от батареи отображают примерное оставшееся время работы, а при работе от сети процент заряда аккумулятора.

Шрифты.
Еще скажу немного о шрифтах. Есть очень хорошая и полная статья по их настройке, но там очень много шагов, а я расскажу какими ограничился я и результат меня устроил. У меня десятидюймовый экран от eeePC.
1. Измерил линейкой ширину экрана: 22 см. Сделал расчет по формуле
1024 точек / (22 см / 2,54) = 118 точек на дюйм
2. Открыл gnome-appearance-properties, на вкладке Шрифты включил "Субпиксельное сглаживание". Потом в кнопке Подробнее указал полученное выше значение.
Все, после этого шрифты стали заметно глаже и симпатичнее. Кому этого мало, прошу по ссылке.


В принципе это все, что я успел на данный момент наломать настроить.
Также рекомендую почитать замечательные статьи о настройке, темах и возможностях IceWM.

6 комментариев:

ghost комментирует...

файлик
~/.icewm/toolbar
очень удобно добавлять быстрые кнопки.
Например:
prog "Офис" /usr/share/icons/Bluecurve/16x16/ooo/stock_insert_endnote.png /usr/bin/soffice

и перезапустить icewm.
появится кнопка, с иконкой, при нажатии на которую будет запускаться опенофис..

triklozoid комментирует...

2 ghost
Спасибо за комментарий!

По поводу кнопок: это каждый на свой вкус делает.
Мне больше нравится вариант, когда часто используемые приложения вешаются на горячие клавиши в файлике keys, а редко используемые в меню (файл menu).
А место на панели оставить для запущенных приложений.

ghost комментирует...

~/.icewm/preferences

параметр
TaskBarDoubleHeight=1

таскбар в "две строки" - очень удобно.
и места под кнопки выше крыши, и места под запушенные достаточно.

ghost комментирует...

Кстати, спасибо за инфу про startup - оказалась очень удобная штука :)

triklozoid комментирует...

>>TaskBarDoubleHeight=1
Дома на десктопе попробую, спасибо. Но на нетбуке жаба душит такой кусище рабочего пространства отдавать под панель.

>>спасибо за инфу про startup
Пожалуйста. Почему-то про нее мало где говорят, если не считать официальной документации ;)

linuxal комментирует...

В 2020г. всё изменилось и делается штатными инструментами в IceWM.
Наберите в поиске: antix desktop icons, и, прочитав первые 5-6 сайтов всё поймёте.