Оконный менеджер IceWM


11 комментариев

Введение

Данная статья посвящена оконному менеджеру IceWM. На него я наткнулся проводя эксперименты с рабочим окружением своего нетбука. Чем же интересен Айс? Ну, во-первых, он имееет симпатичную панель задач с многофункциональным треем, в который можно отправить любое приложение. Во-вторых, здесь присутствуют лаконичные конфигурационные файлы, каждый из которых прокомментирован. В-третьих, обеспечивается великолепное и настраиваемое управление окнами и запуском приложений с клавиатуры...

Можно перечислять все преимущества очень и очень долго, но  перейдём непосредственно к описанию.

Установка

В Debian/Ubuntu открываем консоль и вводим: "sudo apt-get install icewm icewm-themes icewm-gnome-support". Более продвинутые функции оконного менеджера предоставляет пакет "icewm-experimental", а урезанная версия для разработчиков называется "icewm-lite". Также по желанию можно скачать утилиты для настройки. Если систему вы собираете "с нуля" , то не помешает установить пакет "gsfonts", который поспособствует появлению русских букв в меню. Кроме того, для настройки меню понадобится пакет "menu".

Настройка


1)Размещение конфигурационных файлов

Вообще, у IceWM существует несколько директорий для размещения конфигурациооных файлов. Это "/etc/X11/icewm", "/usr/share/icewm" и "~/.icewm". Я советую создать в домашней папке скрытый каталог .icewm и в него скопировать содержимое "/usr/share/icewm", а также создать файл startup (должен быть исполняемым!).

2)Назначение каждого конфигурационного файла

Итак, файлы скопировали. Что делать дальше? Кто за что отвечает?
keys - горячие клавиши для запуска приложений
menu - настройка пунктов меню
preferences - общие настройки оконного менеджера
startup - список автоматически запускаемых приложений
toolbar - настройка содержимого панели
winoptions - настройка поведения отдельных окон
 

3)Правка файла "keys"

В данном файле описываются клавиатурные сочетания, по которым будут запускаться выбранные программы. Синтаксис следующий: key "сочетание" команда. Мой keys состоит лишь из одной строки:
key "Alt+F2"        gmrun
Хотя возможностей для полёта фантазии множество: ведь нам дана клавиша Super (здесь так называется клавиша с логотипом "Windows"), которая для служебных целей в линуксах практически не используется.

4)Правка файла "menu"

Здесь описываются пункты меню, которые стоят выше пункта "Программы". Синтаксис прост: prog Название значок команда. Если параметр "значок" указан не в виде пути к файлу, а имени приложения, то иконка с таким именем должна находиться в папке "/usr/share/pixmaps". Формат файла - хоть *.png, хоть *.xpm.
Вот как это выглядит у меня:
prog Terminal gnome-terminal gnome-terminal
prog PCManFM pcmanfm pcmanfm
prog LeafPad leafpad leafpad
#prog Gmrun gmrun gmrun
prog LXTask lxtask lxtask
Почему запуск Gmrun'а меня закомментирован? Потому что он уже прописал в файле "preferences" в следующей строке:
#  Command to select and run a program
RunCommand="gmrun"
Теперь в главном меню под пунктом "Программы" поселилась команда "Выполнить":



5)Правка файла "preferences"

Тут описываются общие настройки поведения оконного менеджера. Все настройки закомментированы и являются дефолтными. Например, дефолтная строка
# KeyWinMaximize="Alt+F10"
переделана мною в
KeyWinMaximize="Ctrl+Space"
то есть я изменил значение и раскомментировал строку, чтобы изменения вступили в силу.
Вообще, правка "keys" и "preferences" позволяет произвести тонкую настройку рабочего пространства. Система с IceWM - это вам не Windows, где половина клавиатурных сочетаний уже зарезервирована, а другую половину переназначить очень геморройно, и не факт, что не возникнет неожиданных конфликтов.

Настоятельно рекоммендую прочесть файлы в "/usr/share/doc/icewm-common/html". Они хоть и на английском, но понять смысл можно. Например, я нигде ранее, читая про IceWM, не находил описания про правку системного меню окна. А ведь в файле "preferences" есть строки
#  Items supported in menu window (rmsnxfhualytickw)
# WinMenuItems="rmsnxfhualyticw"
Справка пишет:
"WinMenuItems
Items to show in the window menus, posible values are:

r=Restore, m=Move, s=Size, n=miNimize, x=maXimize, f=Fullscreen, h=Hide, u=roolUp, a=rAise, l=Lower, y=laYer, t=moveTo, i=trayIcon, c=Close, k=Kill, w=WindowsList"
То есть отсутствующую в стандартном наборе команду "Убить" (k=Kill) добавить не помешает.
#  Items supported in menu window (rmsnxfhualytickw)
WinMenuItems="rmsnxfhualytickw"
Также советую заполнить пропуски в строках предназначенных для выключения/перезагрузки системы приблизительно таким образом:
#  Command to shutdown the system
ShutdownCommand="gksu shutdown -h now"
#  Command to reboot the system
RebootCommand="gksu shutdown -r now"
Вот что получилось:


Ознакомиться с моим файлом "preferences" Вы можете здесь.
В общем, "grep" вам в помощь! :-)

6)Правка файла "startup"

Необходимо создать этот файл в ~/.icewm и сделать его исполняемым. Вводим в терминале:
touch ~/.icewm/startup
sudo chmod +x ~/.icewm/startup
Заполняется файл просто: пишем в столбик названия команд, и после каждой не забываем писать "&". Знак амперсанда указывает на то, что команду необходимо выполнять в фоне.
Вот мой startup:
#!/bin/bash
Esetroot /home/vladimir/wall.jpg &
gnome-settings-daemon &
gnome-power-manager &
Данный скрипт натянет обои, запустит демон настроек GNOME (стиль GTK+ приложений, индикатор клавиатуры, звуковые события...) и менеджер питания (отлично следит за зарядом батареи ноутбука, подсветкой дисплея и т.п.).

7)Правка файла "toolbar"

Этот файл отвечает за иконки запуска, расположенные между кнопкой показа открытых окон и их проекциями на панели. Синтаксис аналогичен файлу "menu". Мой toolbar пуст.

8)Правка файла "winoptions"

Настройки поведения отдельных окон. У меня он также пуст.

9)Подгонка тем под себя

Дефолтная тема мягко говоря страшноватая. Радует то, что в репозиторий Debian/Ubuntu включён пакет "icewm-themes", содержащий множество тем, которые удовлетворят даже самых избирательных пользователей. Для обработки мне приглянулась тема IceBlueCurve. Первое, что захотелось переделать - это добавить реакцию кнопок управления окном на подведение мышки. Для этого нужно в GIMP файлы closeA.xpm, maximizeA.xpm, minimizeA.xpm, restoreA.xpm, немного осветлить их, сохранить под именами closeO.xpm, maximizeO.xpm, minimizeO.xpm, restoreO.xpm. Далее открываем файл default.theme и добавляем строку "RolloverButtonsSupported=1". Прочие настройки этого файла касаются цветов и шрифтов, и, на мой взгляд, в комментариях не нуждаются.

Несколько скриншотов:

1)Айс сразу после установки:


2)Замер памяти системным монитором Conky на свежеустановленном Айсе:


3)Тема IceBlueCurve после тщательной обработки напильником:

 

4)Тема aeteria после не менее тщательной обработки:


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


  1. # Command to shutdown the system
    ShutdownCommand="gksu shutdown -h now"
    # Command to reboot the system
    RebootCommand="gksu shutdown -r now" добавил, но ничего не происходит, ни віход ни віключение не работает

    ОтветитьУдалить
  2. @mul.sasha
    Данная комбинация "привязана" к оболочке GNOME и GTK-движку. Если у Вас гном не установлен, то команды следует заменить на "x-terminal-emulator -e 'sudo shutdown -h now'" и "x-terminal-emulator -e 'sudo shutdown -r now'". В этом случае пароль рута будет запрашиваться из окна терминала.
    Если "gksu" у Вас имеется, и при выборе соответствующих пунктов меню ничего не происходит, значит, дело в управлении питанием. Тогда следует заменить команды на "gksu halt" и "gksu reboot".

    ОтветитьУдалить
    Ответы
    1. Пробовал все варианты. Выключение не происходит.

      Удалить
    2. Попробуйте через
      x-terminal-emulator -e 'sudo halt'

      Удалить
  3. Блин, что-то в этом icewm я не нашёл где настроить например монитор, помогите пожалуйста.

    ОтветитьУдалить
    Ответы
    1. Это оконный менеджер, а не десктопная среда, поэтому набора утилит в комплекте нет.
      Для настройки монитора советую воспользоваться утилитой xrandr, либо любой её графической оболочкой

      Удалить
  4. А здесь есть хоть какие-нибудь настройки? Мне например нужно настроить разрешение монитора.

    ОтветитьУдалить
    Ответы
    1. Нет. Но может выручить xrandr.
      Например, для получения разрешения в 1366x768 нужно ввести в терминале:
      xrandr --size 1366x768

      Из графических "морд" могу посоветовать lxrandr

      Удалить
  5. Если видеокарта NVIDIA для настройки разрешения монитора установите nvidia-settings

    ОтветитьУдалить
  6. xrandr может неправильно указывать разрешение на элт

    ОтветитьУдалить


Лицензия:CC BY-NC-SA 3.0 Unported (c) : "Записки линуксоида Vlsu". 2011-2017 гг.
При копировании материалов сайта ссылка обязательна!Подробнее...

Полная версия | Мобильная версия | Динамический просмотр