
Немного поэксперементировал с автораном в fluxbox'е. Пришел к такому виду как на картинке. Работает все очень просто. Пункты меню помеченные звездочкой - запускаются каждый раз при старте флукса, остальные - нет. При клике по пункту меню - поведение инвертируется, меню генерируется заново, уже с новыми значениями. Чтобы временно выключить/включить чего-нить не трогая при этом скрипты запуска - вполне неплохо, ИМХО.
Как это работает.
В папке ~/.fluxbox создал две новые - scripts,commands. В scripts лежат собственно скрипты автозапуска, по одному на пункт меню, соответствующий пункт меню называется именем скрипта:
diesel@beezir:~/.fluxbox$ ls -l scripts/
total 24
-rwxr-xr-x 1 diesel diesel 71 2007-09-18 08:16 feh
-rw-r--r-- 1 diesel diesel 21 2007-09-18 07:40 firefox
-rw-r--r-- 1 diesel diesel 20 2007-09-18 07:39 pidgin
-rw-r--r-- 1 diesel diesel 19 2007-09-18 07:41 torsmo
-rwxr-xr-x 1 diesel diesel 38 2007-09-18 08:15 xscreensaver
-rwxr-xr-x 1 diesel diesel 17 2007-09-18 07:40 xxkb
скрипты в моем случае в две строчки:
diesel@beezir:~/.fluxbox$ cat scripts/xxkb
#!/bin/sh
xxkb &
В commands лежат два "служебных" скрипта - один генерирует меню:
diesel@beezir:~/.fluxbox$ cat commands/generate_scripts_menu.sh
#!/bin/sh
SCRIPTDIR=$HOME/.fluxbox/scripts/;
CMDDIR=$HOME/.fluxbox/commands;
MENU=$HOME/.fluxbox/menu-autorun
echo "" > $MENU
ls "$SCRIPTDIR" | while read i; do
if [ -x "$SCRIPTDIR/$i" ]; then
echo "[exec] (*$i) { $CMDDIR/changeperm.sh $i }" >> $MENU
else
echo "[exec] ($i) { $CMDDIR/changeperm.sh $i }" >> $MENU
fi
done
echo "[exec] (autorun-gen) { $CMDDIR/generate_scripts_menu.sh }" >> $MENU
второй меняет права доступа к скриптам в scripts:
diesel@beezir:~/.fluxbox$ cat commands/changeperm.sh
#!/bin/bash
SCRIPTDIR=$HOME/.fluxbox/scripts
CMDDIR=$HOME/.fluxbox/commands
if [ -x "$SCRIPTDIR/$1" ]; then
chmod -x "$SCRIPTDIR/$1";
else
chmod +x "$SCRIPTDIR/$1";
fi
$CMDDIR/generate_scripts_menu.sh
соответствующее меню у меня лежит в MENU=$HOME/.fluxbox/menu-autorun, добавляется в "общеее" достаточно просто:
[submenu] (Autorun)
[include] (~/.fluxbox/menu-autorun)
[end]
ну и остается внести изменения в ~/.fluxbox/startup, чтобы файлы которые лежат в ~/.fluxbox/scripts, ежели они являются исполняемыми - запускались. Что-то типа такого:
diesel@beezir:~/.fluxbox$ grep -vE '^#' startup
exec /usr/bin/fluxbox &
fbpid=$!
sleep 1
{
wait $!
SCRIPTDIR=$HOME/.fluxbox/scripts
ls $SCRIPTDIR | while read i; do
if [ -x $SCRIPTDIR/$i ]; then
$SCRIPTDIR/$i &
fi
done
./generate_scripts_menu.sh &
}&
wait $fbpid
3 комментария:
Оригинально. Как говорится, просто и со вкусом. Никогда не интересовался этим аспектом, т.к. не было необходимости. Ведь автоматически запуская FF приходится дольше ждать. Разве не так?
Хотя я наверное привык к KDE, где все что не закрыто в конце сеанса, после перезагрузки открывается заново. Во fluxe видимо такого нет.
ЗЫ Красивая тема. Когда то я осваивал flux, но с темами у меня не сложилось :). Может сейчас получше?
> Ведь автоматически запуская FF приходится дольше ждать.
ну запуск firefox,thunderbird, pidgin занимает в общей сложности секунд 30. Я их все-равно почти сразу же запущу руками, поэтому пусть лучше автоматически стартуют - меньше телодвижений. :)
> я я наверное привык к KDE, где все что не закрыто в конце сеанса, после перезагрузки открывается заново. Во fluxe видимо такого нет
да. build-in session-manager'а нет. хотя как раз эта штука в самом КДЕ меня постоянно раздражала - чаще всего начиная рабочий день я хочу видеть запущенными именно несколько определенных приложений, а не то что было запущено в прошлый раз. Восстановление сесссии чаще всего актуально только в браузере.
> Красивая тема. Когда то я осваивал flux, но с темами у меня не сложилось :). Может сейчас получше?
гм. это даже нисколько не пиленная FluxAqua (ну кроме пары параметров в оверлеях), вот отсюда:
http://www.tenr.de/styles/styles01.php?a=stylesтем:
вообще это безобразие примерно вот так выглядит:
http://muaddeep.googlepages.com/fluxbox-4.png
Спасибо за сслыки. Оказывается много приятных тем есть, присмотрел некоторые. Может когда нибудь уйду с KDE. А FluxAqua мне уже не нравится :).
Отправить комментарий