Translation(s): English - Français - Italiano - Русский

(!) ?Discussion


Что такое Wmii?

Wmii (Window Manager Improved) - это тайлинговый WM: менеджер окон, который автоматически размещает окна без перекрытия их друг другом. Он был создан для того, чтобы максимально эффективнее использовать площадь экрана. Кроме того, это позволяет более рационально организовать работу за компьютером, Вы можете управлять им, используя только клавиатуру.

Скриншот

Установка

Если у Вас еще нет установленного xorg, установите его:

aptitude install xserver-xorg xterm xinit

Затем wmii:

aptitude install wmii

Использование

Первые шаги

Если Вы до этого не работали с тайлингом, будет нелегко начинать. Вы должны выучить сочетания горячих клавиш для запуска программ и управления окнами. По умолчанию, Mod-клавишей является Alt. Смотрите раздел "Конфигурация", чтобы поменять клавишу, если это нужно Вам. Перво-наперво нужно выучить следующие сочетания горячих клавиш:

Колонки

По умолчанию, используется только одна колонка. Но Вы можете создать несколько колонок с помощью клавиш "h" и "l":

Колонки будут созданы автоматически при передвижении окна влево или вправо от текущей колонки (колонок). Вы можете изменить размеры с помощью мыши, передвигая границу между двумя колонками.

Режимы (layout)

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

Плавающий режим

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

В плавающем режиме Вы переключаетесь между окнами посредством сочетаний Mod+j и Mod+k. Вы можете изменять размер окна, растягивая или сужая его угол, подобно тому, как это делается в классических оконных менеджерах. Также Вы можете использовать "горячие клавиши" для этого:

Экраны (?) (Views)

Экраны основаны на тех же принципах, что и рабочие столы в других оконных менеджерах. Они создаются автоматически с командой перемещении окна на другой экран. "Горячие клавиши":

Это действует одинаково для всех номеров, от 0 до 9. Вы можете также использовать имена:

Конфигурация

Индивидуальная конфигурация

Конфигурационным файлом является /etc/X11/wmii-3.5/wmiirc. Если Вы хотите создать индивидуальную конфигурацию просто копируйте его с именем ".wmii-3.5" в Вашу домашнюю папку:

cp /etc/X11/wmii-3.5/wmiirc /home/<login>/.wmii-3.5/

Базовая конфигурация

Вам может понадобиться отредактировать файл wmiirc.

Назначения клавиш

# Configuration Variables
MODKEY=Mod1
UP=k
DOWN=j
LEFT=h
RIGHT=l

Измените Mod1 на Mod4, если Вы хотите использовать клавишу Winkey вместо Alt. Если необходимо, можно также поменять назначение клавиш LEFT, DOWN, UP, RIGHT. Чтобы использовать курсорные клавиши, например, пропишите Up, Down, Left, Right.

Цвета окон

# Colors tuples: "<text> <background> <border>"
WMII_NORMCOLORS='#ffffff #000000 #ffffff'
WMII_FOCUSCOLORS='#ffffff #5c0000 #ffffff'

WMII_BACKGROUND='#333333'
WMII_FONT='fixed'

Цвета неактивных окон задаются переменной NORMCOLORS. Цвета активных окон определяются переменной FOCUSCOLOR. Вы должны использовать шестнадцатеричный код цветов. Также Вы можете изменять цвет фона (если используете прозрачный терминал) посредством переменной WMII_BACKGROUND.

Терминал

set -- $(echo $WMII_NORMCOLORS $WMII_FOCUSCOLORS)
WMII_MENU="dmenu -b -fn '$WMII_FONT' -nf '$1' -nb '$2' -sf '$4' -sb '$5'"
WMII_9MENU="wmii9menu -font '$WMII_FONT' -nf '$1' -nb '$2' -sf '$4' -sb '$5' -br '$6'"
WMII_TERM="x-terminal-emulator'"

Смотрите руководство (man) dmenu, если хотите изменить меню. Переменная WMII _TERM задает команду для открытия терминала ( Mod+Enter).

Файловая система 9P

Wmii использует псевдофайловую систему (подобно /proc) для своей конфигурации. Вы можете читать и редактировать ее с помощью wmiir. Например, используйте "ls", чтобы увидеть файлы и директории:

$ wmiir ls /
client/
colrules
ctl
event
keys
lbar/
rbar/
tag/
tagrules

Вы можете читать файлы посредством "read":

$ wmiir read /colrules
/.*/ -> 58+42

Вы можете создавать файлы (параметр write) или писать в уже существующий файл (параметр xwrite). Например:

wmiir xwrite /ctl view 5

В приведенном примере в файл /ctl будет записано "view 5". Вы можете посмотреть примеры использования в файле wmiirc.

Поведение

Размер колонок

В секции #Column Rules Вы можете изменить "58+42" (процент от ширины экрана) на тот размер колонок, который Вы предпочитаете. Первая цифра - это процент от ширины экрана для первой (самой левой) колонки, вторая цифра - для второй по счету колонки. Вы можете добавить больше цифр для того, чтобы задать ширину для более, чем двух колонок.

Размещение окон

Секция #Tagging Rules позволяет Вам задать правила для окон, в зависимости от их имен. В параметрах могут быть прописаны регулярные выражения, теги (с именами или номерами экранов), или тильда (для плавающего режима). Например:

# Tagging Rules
wmiir write /tagrules <<!
/XMMS.*/ -> ~
/MPlayer.*/ -> ~
/VLC.*/ -> ~
/Gajim.*/ -> ~+jabber
/Téléchargements.*/ -> sel+download
/.*/ -> sel
/.*/ -> 1
!

В данном примере все окна с XMMS, MPlayer, или VLC будут автоматически запущены в плавающем режиме. Gajim будет запущен в плавающем режиме на экране "jabber", а окно загрузки iceweasel будет запущено одновременно в выбранном экране и в экране "download". Последние две строки определяют, что все остальные окна будут запущены в текущем экране, а оконный менеджер будет стартовать с экраном "1". А ещё можно использовать wmii исключительно с плавающим режимом

# Tagging Rules
wmiir write /tagrules <<!
/.*/ -> ~+sel
/.*/ -> 1
!

Статус-бар

В секции #Status Bar Вы можете прописать различные параметры для статус-бара (информационная панель справа). Например, чтобы видеть степень зарядки батареи и дату, Вы можете указать:

# Status Bar Info
status() {
        echo -n $(acpi -b) '|' $(date +"%d/%m/%y - %H:%M:%S")
}

Действия

Если Вы разместите скрипт в файле ~/.wmii-3.5 с правом на его исполнение, то сможете запускать его из меню действий (Mod+a).

Горячие клавиши

Вы можете добавить сочетание горячих клавиш в секции #Key Bindings. Например:

        Key $MODKEY-b
                amixer set Master 2dB+ 
        Key $MODKEY-v
                amixer set Master 2dB-
        Key $MODKEY-n
                iceweasel &

В этом примере Mod+b и Mod+v заданы для увеличения или уменьшения громкости звука. Mod+n запустит iceweasel. Не забывайте об "&" в конце команды. Для мультимедиа-клавиш Вы можете посмотреть Мультимедиа-клавиши. Внимание : используйте табуляцию, не пробелы.

Запуск программ при старте системы

Чтобы запускать программы в начале сессии, Вы можете добавить их в файл wmiirc. Вы должны разместить их до последней секции:

# Stop any running instances of wmiirc
echo Start wmiirc | wmiir write /event || exit 1

wmiir read /event |
while read event; do
        set -- $event
        event=$1; shift
        Event_$event $@
done 2>/dev/null

В этом примере запустится "wmiir read event" в цикле. Все строки после этих не будут читаться.

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

[ "`ps aux | grep <name_of_the_program> | grep -v grep`" =  "" ] && <name_of_the_program> &

Как применить изменения?

Просто запустите wmiirc из меню действий (Mod+a). Если Вы хотите открыть программу сразу после ее установки, нажмите "rehash" в меню действий.

Сценарии (скрипты) в wmii

Если Вы ознакомитесь с файловой системой 9P посредством wmiir ls и wmiir read, а также с горячими клавишами, то сможете легко найти команду, которая Вам необходима, чтобы изменить поведение wmii, написать скрипт. Например:

# /usr/local/bin/tag 

if [ $# -ne 2 ]; then
    echo "Usage: tag WINDOWTITLE TAG"
    exit 1
fi

for i in `wmiir ls /client | sed '/sel/d'` ; do
    if [ "`wmiir read /client/$i/label | grep $1`" = "$1" ]; then
        wmiir xwrite /client/$i/tags $2
    fi
done

В данном случае Вы можете пометить одно или несколько окон. Например, если напишите tag Iceweasel 2+web вместо WINDOWTITLE TAG, то все окна программы iceweasel будут размещены на экранах "2" и "web". Вы можете использовать все виды сценариев, которые захотите. Но предпочтительнее модифицировать файл wmiirc, который является баш-скриптом. Например, Вы можете добавить это сочетание горячих клавиш:

 Key $MODKEY-Shift-r
                export TAG=$(tagsmenu) ; wmiir xwrite "/client/$(wmiir read /client/sel/ctl)/tags" "$TAG" ; wmiir xwrite /ctl "view $TAG"

и затем использовать Mod+r, чтобы изменить экран активного окна и перемещать его на новый экран. В том случае, если Вы пишите сценарии, рекомендуется пользоваться интерпретатором командной строки rc, который включен в 9base и пользовательское окружение Plan 9.

Существуют также некоторые другие клиенты 9P, такие как libixp и plan9port. Они могут быть лучше для сценариев на других языках. Например, пользователям ruby предпочтителен ruby-wmii.

В интернете есть много примеров для wmii.

Ссылки


CategoryDesktopEnvironment