Ratpoison/Розширення можливостей

Матеріал з Вікіпідручника

ratpoison в його першородній величі ніхто не використовує. Часто постають задачі, як от: - кілька робочих столів - трей (наприклад, ІМ іконка, зараяд батареї, час, розкладка) - нормальна консоль (на заміну тому однорядковому шеллу) - додаткові налаштування X сервера (ну у ratpoison немає графічного конфігуратора системи, немає!)

Перша задача вирішується просто, скрипт rpws йде разом з rp у поставці. А ось інші задачі - це майже макропроблеми. 1) Трей Для організації трею потрібно запустити якийсь трейер у режимі "щуроцид, ігноруй трейер!", відділити від екрану rp 20-30 пікселів з однієї із сторін і помістити туди наш трейер. Власне, для даних цілей підходить програма trayer, дебіанівська здається. - прописуємо у ~/.xinitrc

( sleep 1; \
 trayer --align right --edge bottom --distance 0 \
        --expand false \
        --transparent true --alpha 128 --tint 0 \
        --SetDockType true --SetPartialStrut true
) &

exec dbus-launch --exit-with-session ratpoison exec ratpoison Ну, я десь скачав це, вставив і воно запрацювало. - прописуємо в ~/.ratpoisonrc unmanage panel set padding 0 0 0 26 Наш трейер чомусь називається panel... Ну й нехай, відділимо йому область 1680*26 пікселів внизу екрану.

Власне, все) Помічено кілька проблем. - Якщо перезапустити ratpoison, то трейер стає уже managed і втикається по центру екрану. Це так дошкуляє, що доводиться робити рестарт X, благо він у мене на хоткеї Insert-Break. З цим треба щось робити, і перехід на Гном/Кеди/Аеро - це не вихід. - проблеми з fullscreen програмами. Не всіма, наприклад rdesktop може загребсти весь екран, а Wine+TrackMania United Forever - ні. А хотілось би навпаки. - треба багато розбиратись, як нормально розширити даний трейер

2) Нормальна консоль Під цю тему підходить також вибиралка вікон. По-змовчуванню вони майже повнофункціональні, проте достатньо голімі. Хотілось би їх замінити, і це можливо зробити (як кажуть в інеті), проте я так і не зміг цим зайнятись. Легше уже звикнути до незручного... Нехай хтось допише даний розділ! Допишеш, ок?

3) Перемикання розкладки Як сказав один "Жаль, що я не народився американцем, так би проблем з розкладками не було". ratpoison написав також якийсь англієць, тому він зовсім не передбачив проблем з перемиканням розкладки. Власне, перемкнути її не проблема, ось скрипт який перемикає по Alt-Shift мої розкладки:

if [ `setxkbmap -print | grep xkb_symbols | awk '{print $4}' | awk -F"+" '{print $2}'` = us ] ; 
then echo "EN";
	echo "changing to RU...";
	setxkbmap ru ;
	xset led named "Scroll Lock"
else 
	if [ `setxkbmap -print | grep xkb_symbols | awk '{print $4}' | awk -F"+" '{print $2}'` = ru ] ; 
	then echo "RU";
		echo "Changing to UK...";
		setxkbmap ua ;
		xset led named "Scroll Lock"
	else echo "UK";
		echo "Changing to US...";
		setxkbmap us ;
		xset -led named "Scroll Lock"
	fi;
fi

Проте з ним є проблеми: індикатор скроллока конфліктить з індикатором нум і капслока + найстрашніше - на неанглійській розкладці непрацюють хоткеї! Як бачте, доводиться знову ж таки розбиратись. Можна і не використовувати руску розкладку, враховуючи що теперішня стандартна українська містить символи русского алфавіту, достатньо тільки використати праву клавішу Alt: ы = правий Alt+і , э = правий Alt+є і т.д.

Не так давно появилася програма axkb (або ще краще qxkb), яка ідеально підходить для переключання розкладки клавіатури в менеджерах, які можуть мати трей. Оскільки ми можемо запустити трей в Ratpoison, то і, відповідно, запуститься і axkb (qxkb). Для цього достатньо прописати запуск в ~/.ratpoisonrc як

 
# програми, що запускаються при завантаженні 
exec axkb
# наступна програма

На превеликий жаль, в ній теж існують проблеми з гарячими клавішами, в чому, безсумнівно, винне непідтримування юнікоду в Ratpoison.

4) Налаштування X Це тема окремої книги. У цьому плані Gnome/KDE рулять - автоматично конфігурують X-сервер. Мені ж довелось троха погуглити самому: xset -b xset +fp /usr/share/fonts/local xset fp rehash xset r rate 210 Чорт його знає, що воно робить, хоча ні, останній рядок задає чутливість клави. Досить цікаво ним побавитись )