среда, 2 мая 2007 г.

fluxbox & xinitrc. some new tips.

Fluxbox

Вот недавно узнал из чтения тамошней wiki - достаточно полезная штука "переназначать" некоторые дефолтные установки тем. Для чего это надо? - В темах для fluxbox часто используется шрифты в которых нет места русским символам. Соответственно включаем - и видим на месте русских букв нечто не читаемое. Хорошо если локаль для fluxbox'а какая-нить en_US.UTF-8, как у меня и проблема прежде всего касается кривых заголовков окон firefox'a, и др. программ которые хотят выставлять русские буквы в заголовок. Вот ежели вообще весь интерфейс по русски(а fluxbox русифицирован практически полностью) - вот тогда откровенно неудобно. :) Другой возможной причиной может быть желание закрепить намертво размер некоторых элементов - например панельки, например потому что значки нарисованы для 16x16 и хочется чтобы так и было. Да и вообще неинтересно заново привыкать к слишком большим, или к слишком мелким элементам.

Ок. Теперь собсно как это делается. В ~/.fluxbox/init есть параметр
session.styleOverlay: ~/.fluxbox/overlay
задает имя файла в котором будут "переназначения" устанавливаться.
Формат файла такой же как у файла тем, поэтому можно просто скопировать нужные константы из уже работающей темы, например вот так вот:

menu.frame.font: arial-9:
menu.title.font: arial-10:bold
toolbar.clock.font: arial-9:bold
toolbar.workspace.font: arial-10:bold
toolbar.iconbar.focused.font: arial-8:bold
toolbar.iconbar.unfocused.font: arial-8
window.font: arial-8


для установки шрифтов. Правда, не стоит устанавливать слишком много - иначе смысл установки новой темы потеряется :)

.xinitrc

В последнее время заинтересовался wmii, dwm и иже с ними. Не скажу что готов прямо сейчас бросится в пучину неперекрывающихся окон и табов, но когда нужно расшвырять окна исходя из конкретных заданий, и иметь возможность быстро переключатся между заданиями + когда не нужно видеть список окон, но хочется видеть максимально все окна и быстро перескакивать между ними(= фокус следует за мышкой - то что эта приятность по дефолту - приятно удивило). О чем это я.

Я тут уже описывал свой startup-файл для fluxbox'а, из которого фактически запускается все что должно быть запущено со стартом WM. С появлением "альтернативного" WM хотелось бы чтобы часть программ запускалась и в нем - поэтому переносим настройки из ~/.fluxbox/startup в ~/.xinitrc (напоминаю что по некоторым причинам есть еще файл ~/.xsession из которого просто вызывается ~/.xinitrc):

Первая часть вполне стандартна:

#!/bin/bash
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $

#X-settings:
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps

if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
xrdb -merge $userresources
fi

if [ -F $usermodmap ]; then
xmodmap $usermodmap
fi


Далее как раз то о чем мы говорили:

#выбираем WM:
#wm=/home/diesel/my/programs/dwm/bin/dwm
#wm=wmii
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
wm=/usr/bin/fluxbox
$wm &
wmpid=$!

{
#wallpaper:
# /usr/bin/feh --bg-scale /home/diesel/.fluxbox/backgrounds/33.jpg &
/usr/bin/feh --bg-scale /home/diesel/wallpapers/digo.ws_green_wallpapers_0052.jpg &
wait $!
#Если запускается fluxbox мы хотим чтобы с ним запускался torsmo и xxkb:
if [ $wm == '/usr/bin/fluxbox' ]; then
/home/diesel/bin/torsmo &
# gaim &
xxkb &
fi
#а вот тачпад хочется блокировать не зависимо от используемого WM :-).
/usr/bin/syndaemon -i 10 -d &
} &
wait $wmpid

Комментариев нет: