Последнее изменение оригинального текста 2020/03/21
IceWM - это диспетчер окон для системы окон X11. Он спроектирован, чтобы быть маленьким, быстрым, лёгким и имитировать внешность и поведение Motif, OS/2 и Windows. Он является весьма настраиваемым: он предоставляет определяемый пользователем вид в относительно едином стиле.
Сейчас, когда вы знаете, что такое IceWM и всё ещё читаете, вы, очевидно, заинтересованы в его использовании. Чтобы использовать программу, вам сначала нужно где-то её взять. Отсюда очевидный вопрос:
IceWM работает под:
Сборку IceWM обеспечивают autoconf и CMake. Посмотрите README или INSTALL-cmakebuild.
Под GNOME вы можете запустить icewm-set-gnomewm, чтобы сделать IceWM Вашим диспетчером окон по умолчанию.
Некоторые менеджеры дисплея проверяют ~/.dmrc
:
```
[Desktop]
Session=icewm-session
Language=en_US.utf8
```
Убедитесь, что icewm-session.desktop
может быть найден.
Используйте locate icewm-session.desktop
.
Возможно, его нужно будет расположить в /usr/share/xsessions/
.
Проверьте /var/lib/AccountsService/users/$USER
, если он есть,
на предмет вашей сессии по умолчанию.
Это может быть что-то вроде:
```
[User]
XSession=icewm-session
SystemAccount=false
```
Ещё одним способом установить это является:
```
$ myid=$(id -u -r) $ gdbus call –system –dest org.freedesktop.Accounts \ –object-path /org/freedesktop/Accounts/User${myid} \ –method org.freedesktop.Accounts.User.SetXSession icewm-session
```
Если вы используете startx
для запуска X11, то создайте ~/.xinitrc
:
```
#!/bin/bash
icewm-session >~/.xinitrc.log 2>&1
```
Выполните chmod +x ~/.xinitrc
. Если вы используете Xdm, то создайте ссылку:
ln ~/.xinitrc ~/.xsession
.
Менеджер дисплея WDM проверяет ~/.wmrc
.
Выполните echo icewm-session >~/.wmrc
.
Каждую из команд, запускаемых при старте вашей сессии IceWM поместите в файл startup.
Когда вы запустили IceWM, вы можете изменить темы через кнопку Стартового меню в левом нижнем углу. Некоторые параметры можно будет изменить на лету через Меню предпочтений. Не забудьте выбрать Сохранить изменения. Для получения эффекта большинство параметров нуждается в перезапуске icewm через Выход -> Перезапуск IceWM.
При конфигурировании IceWM обычно требуется редактирование текстовых конфигурационных файлов. Посмотрите man-страницы icewm и preferences.
Вы можете настроить IceWM под себя, редактируя следующие конфигурационные файлы:
Файл menu управляет содержимым вашего Стартового меню. Он имеет следующий синтаксис:
```
prog Program Icon app -with -options
```
prog
- это ключевое слово, сообщающее IceWM, что это запись о программе.
Другими ключевыми словами являются separator
для рисования разделителя и
```
menu Xyz folder_icon {
prog ...
}
```
для открытия нового вложенного меню, названного Xyz. Program
- это
имя, которое будет показано в меню. Заключите его в кавычки, если вам
здесь нужно более одного слова. Icon
будет использовано как значок для
записи меню, если соответствующее изображение найдётся по IconSearchPath.
И наконец, app -with -options
- это то, что будет запущено, если пользователь
выберет этот пункт меню.
Заметьте, что меню показывает только записи, которые находятся в вашем PATH
,
IceWM достаточно умён, чтобы пропустить неиспользуемые записи.
Там также есть два продвинутых ключевых слова, runonce
и
menuprogreload "title" icon_name timeout program_exec
.
runonce
используется для запуска приложения только однажды - если оно
уже работает, оно не запустится в ответ на щелчок. runonce
нужны ещё некоторые
параметры - см. руководство.
menuprogreload
используется для создания динамических меню:
timeout - целое число, определяющее минимальный интервал времени (в секундах)
между перезагрузками меню. Нулевое значение означает обновление меню каждый
раз, когда пользователь щёлкнет по нему.
Чтобы ответить на этот вопрос, хорошей идеей будет сначала взглянуть на четыре общих модели фокуса, которые реализованы в IceWM.
ClickToRaise
Когда делается щелчок по окну, оно поднимается наверх и активируется.
Это поведение Win95 и OS/2.ClickToFocus
Окно поднимается наверх и получает фокус, когда делается щелчок по
панели заголовка или ограничительной рамке, и оно получает фокус, но
не поднимается, когда щелчок производится внутри окна.PointerFocus
Когда мышь перемещается, фокус ставится на окно, на которое указывает
мышь. Это должно быть возможно для изменения фокуса с клавиатуры,
когда мышь не двигается.ExplicitFocus
Когда делается щелчок по окну, оно активируется, но не поднимается наверх.
Новые окна не получают фокус автоматически, если они не являются
временными окнами активного окна.Окно активировано, получило фокус, … означает, что ввод (или нажатия клавиш) сейчас отправляются этому окну.
IceWM реализует следующие режимы фокуса:
Вкратце: Модель фокуса управляет тем, что вам нужно сделать, чтобы окно стало активным и принимало то, что вы печатаете на клавиатуре.
Параметры UseRootButtons
и ButtonRaiseMask
являются так называемыми
параметрами битовой маски.
Эта концепция используется, например, chmod
, где 4
ставится для доступа
на чтение, 2
для доступа на запись и 1
для доступа на выполнение (или
смены каталога), и вы можете сложить соответствующие цифры для управления
доступом к файлу.
Что касается параметров UseRootButtons
и ButtonRaiseMask
,
1
ставится для первой кнопки мыши,
2
для второй, и 4
для третьей. Следующий список показывает, какое число ставится для
какой комбинации кнопок мыши:
```
---------------------------------
Значение Ставится для
---------------------------------
0 Ни одной из кнопок
1 Кнопки 1
2 Кнопки 2
3 Кнопок 1 и 2
4 Кнопки 3
5 Кнопок 1 и 3
6 Кнопок 2 и 3
7 Всех трёх кнопок мыши
---------------------------------
```
Любое значение более семи имеет тот же эффект, что и семь.
UseRootButtons
управляет, какими кнопками вызывается меню, щёлкнув ими
по свободному месту рабочего стола.
ButtonRaiseMask
определяет, какими кнопками окно будет поднято наверх,
щёлкнув ими по панели заголовка окна.
Есть параметр для каждого из основных меню, который управляет, какая кнопка закреплена за этим меню.
```
-----------------------------------------
Имя параметра Чем управляет
-----------------------------------------
DesktopWinMenuButton Меню окна
DesktopWinListButton Списком окон
DesktopMenuButton Меню приложений
-----------------------------------------
```
Значение каждого параметра определяет кнопку, к которой привязано соответствующее меню, в соответствии со следующей схемой:
```
-----------------------------
Значение Ставится для
-----------------------------
0 Ни одной из кнопок
1 Левой кнопки мыши
2 Правой кнопки мыши
3 Средней кнопки мыши
4-6 Других кнопок
-----------------------------
```
Нет проблем. Посмотрите mailbox monitoring.
Чтобы отправлять все комбинации клавиши Alt приложению, Вы можете использовать параметр окна
```
window_class.fullKeys: 1
```
В файле preferences
найдите параметр ClientWindowMouseActions
и установите его в 0
.
Это отключит возможность схватить и переместить окно с помощью Alt+mouse
для всех окон, поддерживаемых IceWM.
Эта секция о том, как вы можете заставить окно появится на отдельном рабочем месте, отобразить их без бордюра или панели заголовка, или положить их выше или ниже других окон. Этого можно достичь, используя winoptions.
Назначить отдельный параметр (значок, слой по умолчанию, рабочее место по умолчанию, и т.д.) заданному приложению или окну приложения можно следующим образом:
Сперва вы должны получить описатель (или дескриптор) WM_CLASS
,
используя xprop
:
```
xprop | grep WM_CLASS
```
в терминале.
Вывод xprop
для Mozilla Firefox
```
WM_CLASS(STRING) = "Navigator", "Firefox"
```
Первое имя в двойных кавычках - это имя окна,
второе - класс окна.
Вы можете тогда добавить желаемые параметры в ваш файл
winoptions
. Записи в этом файле имеют один
из следующих форматов:
```
имя.класс.параметр: значение
класс.параметр: значение
имя.параметр: значение
```
Чтобы назначить значки navigator_*.xpm
окну Netscape Navigator, используйте параметр:
```
Navigator.Netscape.icon: navigator
```
Другие параметры работают в соответствии с примерно тем же шаблоном. Список параметров окна вы можете найти на man-странице.
Есть два слегка отличающихся способа сделать это. Воспользуйтесь любым
подходящим вам.
Способ номер один: окно навсегда останется сверху любых других окон.
Установите следующий параметр окна: name.class.layer: onTop
.
Способ номер два: окно садится в прямоугольный участок рабочего стола, где
другие окна не будут размещены. Используйте параметр окна doNotCover:
name.class.doNotCover: 1
.
Кстати, вот так работает панель задач или
GNOME panel. Хорошая идея использовать это с gkrellm, Вашим клиентом ICQ,
или другими инструментами наблюдения, которые всегда хотелось бы иметь на виду.
Могут быть программы, которые вы хотите запустить либо свёрнутыми в значок,
либо максимально развёрнутыми. Для этого есть паратетры окна: startMinimized
,
startMaximized
, startFullscreen
, и т.д.
Используйте winoptions
и определяйте
```
xmms.workspace: 7 Mozilla.workspace: 9
```
Это решение всегда запустит xmms на рабочем месте 7 и Mozilla на рабочем месте 9, учтите, IceWM начинает отсчёт от 0. IceWM переключит рабочее место на назначенное при каждом запуске этих программ.
Или Вы можете использовать icesh
:
```
icesh -class xeyes setWorkspace 0
```
Это переместит xeyes на рабочее место 0.
У нас должна быть возможность управлять всем с клавиатуры. Здесь мы показываем некоторые из способов управления окнами только спомощью нажатий клавиш.
```
Alt+Tab = Переключает между открытыми окнами
Alt+F4 = Закрывает окно
Alt+F9 = Сворачивает окно в кнопку на панели задач
Alt+F10 = Разворачивает окно до максимального размера
Alt+F12 = Скручивает окно вверх
Alt+Shift+F10 = Разворачивает окно до максимального размера по вертикали
Ctrl+Alt+стрелка вправо = Меняет рабочее место от 1-12
Ctrl+Alt+стрелка влево = меняет рабочее место от 12-1
Ctrl+Alt+Esc = Открывает список окон
Ctrl+Esc = Открывает меню
```
Вы привыкли, что диспетчер окон разрешает вам переключаться между виртуальными рабочими столами, используя клавиатуру? IceWM тоже позволяет это.
Прежде чем я опишу, как переключиться между виртуальными рабочими столами,
я хочу описать, как управлять их номерами. Представьте, что в вашем
~/.icewm/preferences
есть строка, где читаем
```
WorkspaceNames="1","2","3","4","5","6","7","8","9","0"
```
Эта настройка имеет результатом десять виртуальных рабочих столов и десять кнопок на вашей панели задач, видимых примерно так:
```
+---+---+---+---+---+---+---+---+---+---+
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
+---+---+---+---+---+---+---+---+---+---+
```
Если вы поименуете меньше рабочих столов, вы получите меньше, если вы поименуете больше - получите больше.
Для понимания, как работает переключение виртуальных рабочих столов в IceWM вы должны представить, что кнопки представляют собой ваши виртуальные рабочие столы и что эти рабочие столы выстроены в одну длинную строку.
Вы можете представить два способа переключения между рабочими столами:
IceWM умеет оба способа:
Ctrl+Alt+n
.Ctrl+Alt+Left
.Ctrl+Alt+Right
.Если вы примените Ctrl+Alt+Right
на крайнем правом рабочем столе,
вы переключитесь на крайний левый рабочий стол.
Отсюда Ctrl+Alt+Left
перенесёт вас обратно на крайний правый рабочий стол.
Что, если вы имеете более чем десять виртуальных рабочих столов? В этом
случае Ctrl+Alt+n
будет работать только для первых десяти рабочих столов,
а когда переключаемся к левому или правому, всё работает для всех рабочих столов.
Важно: Чтобы переключать рабочие столы при перемещении мыши к краям рабочего стола, используйте параметр:
```
EdgeSwitch=1
```
тогда вы сможете менять рабочие места, двигая Ваш курсор к левому/правому краям вашего экрана.
В предыдущей секции я объяснил, как переключаться между рабочими столами.
Если вы ещё не прочитали это, вы должны это сделать, потому что перемещение
активного окна на другой рабочий стол работает примерно так же, как
переключение на определённый рабочий стол. Всё, что вам надо сделать, это
нажать Shift
, как и при переключении рабочего стола:
Ctrl+Alt+Shift+n
.Ctrl+Alt+Shift+Left
.Ctrl+Alt+Shift+Right
.Вы должны запустить IceWM с TaskBarDoubleHeight=1
, потому что
это включит Панель адреса (см. Для чего нужна пустая панель
на панели задач?). Прим. переводчика: включить Панель адреса на
панели задач одинарной высоты можно, нажав Ctrl+Alt+Пробел.
Это особенно полезно, если вам часто приходится обращаться
к man-страницам и вы не хотите, чтобы “xman” постоянно висел рядом.
Если вы вводите man perl
в Панели адреса и нажимаете
Ctrl+Enter
, появится окно терминала, отображающее man-страницу Perl.
Если вы нажимаете q
, не только man-страница не будет далее отображена,
но и XTerm будет завершён.
Это просто один пример использования интерфейса командной строки. Вы также
можете делать так для выполнения любых других команд. Проблема, которая
может возникнуть, состоит в том, что XTerm будет завершён до того, как
вы прочитаете вывод команды (он завершается, как только команда выполнена).
Терминал может поддерживать ресурс hold или параметр -hold
, который
будет удерживать терминал открытым, пока он не будет закрыт вами.
Конечно, можете. В .xinitrc
```
clear Mod4
keycode 64 = Alt_L
keycode 113 = Alt_R
keycode 115 = Meta_L
keycode 116 = Meta_R
add Mod4 = Meta_L Meta_R
```
в .Xmodmap
вот это:
```
add Mod1 = Alt_L
add Mod2 = Mode_switch
keycode 117 = Menu
```
и в ~/.icewm/preferences
```
Win95Keys=1 # было 0
```
На свободном рабочем месте правая Win95 открывает список рабочих мест.
Теперь также в OpenOffice я могу использовать правую клавишу меню, чтобы открыть меню на панели задач OOo с символами для быстрого доступа, я могу переключиться в желаемое меню без необходимости оставлять клавиатуру, предпочитаемым мной способом работы на ПК.
IceWM может быть настроен с использованием разнообразных тем.
Вы можете их скачать с
https://www.box-look.org/.
Чтобы установить темы, просто распакуйте их в ваш каталог ~/.icewm/themes/
.
IceWM поддерживает JPEG, PNG и XPM. Поддержка SVG является опциональной.
Если вы зададите соответствующие параметры в вашем файле
preferences
и запустите icewmbg
, IceWM установит для вас
цвет или рисунок фона рабочего стола. Вы можете использовать
```
DesktopBackgroundColor="color"
```
для установки цвета фона или
```
DesktopBackgroundImage="image"
```
для установки рисунка фона. Чтобы удержать IceWM от установки цвета/рисунка фона, просто установите обоим параметрам пустую строку:
```
DesktopBackgroundColor=""
DesktopBackgroundImage=""
```
Советы:
Комментирование
DesktopBackgroundColor="color"
и DesktopBackgroundImage="image"
не имеет желаемого эффекта.
IMHO использование фонового изображения (особенно одного большого) является не очень хорошей идеей. Это сильно замедляет оконную систему X.
Чтобы выбрать, заполнить весь рабочий стол изображением или расположить его посередине, вы можете использовать
```
DesktopBackgroundCenter=""
```
DesktopBackgroundCenter используется, чтобы указать IceWM, как вы хотите расположить обои на экране. Если установить в 1, ваша картинка будет отцентрирована на экране. В результате этого у вас будет только одна картинка посередине рабочего стола. Если установить в 0, ваша картинка заполнит весь экран. Это хорошо, если вы используете узор, который покрывает весь рабочий стол.
Установка вида часов на панели задач IceWM, также как и формата связанной
с ними всплывающей подсказки довольно проста. IceWM использует тот же
формат, что и стандартная функция Unix strftime
, поэтому, когда вы
сомневаетесь, можете прочитать описание в
```
man 3 strftime
```
Чтобы установить формат часов, используйте
```
TimeFormat="<format string>"
```
и для формата всплывающей подсказки часов, используйте
```
DateFormat="<format string>"
```
Обычные символы, входящие в строку формата, печатаются без изменения
(если возможно, см. ниже). Определители преобразования начинаются с
символа процента %
и заменяются соответствующими строками.
Важное замечание: Хотя DateFormat
и
TimeFormat
оба поддерживают все описатели формата, последний имеет полную
поддержку только если используется с
```
TaskBarClockLeds=0
```
(который по умолчанию равен 1).
Причина этого в том, что не имеется значков для отображения названий месяцев, дней или временных зон. Точнее, есть только значки для
Описатели формата, которые могут быть только в TimeFormat
если
TaskBarClockLeds=0
(в общем или в зависимости от локали)
отмечены в следующей таблице как ограниченные. Она показывает
замены для всех доступных описателей формата.
Значения в скобках показывают, что различные описатели формата отображают для
YYYY/MM/DD HH:MM:SS TimeZone = 1999/09/04 19:09:22 UTC
на моей машине с аппаратными часами и запущенным Linux временная зона UTC, локаль “C” (т.е. нет интернационализации для всего):
%a
(Сб) ограниченный%A
(Суббота) ограниченный%b
(Сен) ограниченный%B
(Сентябрь) ограниченный%c
(Сб Сен 04 19:09:22 1999) ограниченный%d
(04)%H
(19)%I
(07)%j
(247)%m
(09)%M
(09)%p
(PM) ограниченный%S
(22)%U
(35)%W
(35)%w
(06)%x
(09/04/99) ограниченный%X
(19:09:22) ограниченный%y
(99)%Y
(1999)%Z
(UTC) ограниченный%%
ограниченныйЗначок для приложения может быть определён по названию,
имени файла, полному пути или префиксу пути в winoptions
.
Чтобы найти значок, который определён по названию или имени файла,
IceWM смотрит значение параметра IconPath в preferences
, который
представляет собой разделённый двоеточиями список каталогов.
Начальные тильда или не более одной переменной окружения наподобие
$HOME
в составе пути к любому каталогу раскрываются в действительные значения.
Если значок до сих пор не найден, тогда IceWM ищет
значки в $ICEWM_PRIVCFG/icons/
(или ~/.config/icewm/icons/
,
или ~/.icewm/icons/
), потом в каталоге icons темы,
потом в CFGDIR/icons, потом в LIBDIR/icons.
CFGDIR и LIBDIR задаются во время компиляции
и могут быть запрошены командой icewm --directories
.
Это есть в документации по темам, написанной MJ Ray и дополненной Adam Pribyl.
Для большинства пользователей, ничего. Команды Logout и Cancel были предназначены для интеграции c GNOME как альтернативные команды, которые могли быть запущены, чтобы пользователи начали выход из системы или прекратили выход. Поскольку GNOME не включил эту фичу, обычно они не используются.
Прим. переводчика: тем не менее, они могут быть использованы для запуска внешнего обработчика соответствующих событий.
Если вы запускаете IceWM с установленным параметром TaskBarDoubleHeight
,
на панели задач появляется пустое поле. Это интерфейс командной строки.
В этом поле вы можете вводить команды для запуска программ. Если вы щёлкнете
внутри этого поля и введёте xclock
, запустится Xclock.
Если вы щёлкнете там и просто нажмёте Ctrl+Enter
, будет запущен XTerm.
Если вы введёте не-X команду и нажмёте Ctrl+Enter
, эта команда будет
выполнена в XTerm.
Что, если вы запускаете приложение и нужно использовать комбинацию клавиш, которую перехватывает IceWM?
Marko предлагает следующий способ:
Он полагает, что это будет работать только если
ScrollLock
установлен как модификатор.
Здесь показано, как использовать утилиту X11 xmodmap
, чтобы установить
ScrollLock
как модификатор (от Marco Molteni):
```
$ xmodmap -pm
xmodmap: up to 2 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x6d)
mod1 Alt_L (0x40), Alt_R (0x71)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x73), Super_R (0x74)
mod5
```
mod3
свободен, привяжем клавишу ScrollLock
так:```
$ xmodmap -e "add mod3 = Scroll_Lock"
```
Этот вызов xmodmap
можно положить в скрипт, который запускает
диспетчер окон, ~/.xinit
or ~/.xsession
, или
в startup
Чтобы настроить команду блокировки экрана, добавьте
```
LockCommand="xlock -mode blank"
```
в ваш $HOME/.icewm/preferences
и xlock будет запускаться в режиме пустого экрана.
В случае, если вы предпочитаете xscreensaver
```
LockCommand="xscreensaver 2>/dev/null; sleep 1; xscreensaver-command -lock"
```
Блокировка экрана это то, что вы должны делать каждый раз, когда отходите
от вашего компьютера (даже дома и даже на несколько секунд - просто представьте
себе, что кот наступит на клавишу Enter
в неподходящий момент). Это должно
войти в привычку, как выход из учётной записи root при первой же возможности.
В IceWM блокировка экрана очень проста: Если вы нажмёте
```
Ctrl+Alt+Del
```
всплывающее меню предложит вам следующие задачи:
Выделенные буквы подчёркнуты в диалоговом окне.
Это значит, что вы можете, например, нажать
k
, чтобы заблокировать вашу рабочую станцию.
Другая возможность - это использовать клавиши со стрелками для наведения
и потом нажать Enter
, чтобы активировать задачу.
Если вы предпочитаете пользоваться мышью, чтобы блокировать экран, вы можете
добавить следующий пункт в ваш $HOME/.icewm/toolbar
```
prog xlock xlock xlock
```
Вы можете, конечно, добавить эту строку в ~/.icewm/menu
или
~/.icewm/programs
, но это не хорошая идея:
Блокировка экрана часто выполняется в спешке и если вы будете искать по меню, это будет увеличивать шанс, что вы не заблокируете вашу машину вовремя.
Как определить другую команду блокировки описано в секции “Как настроить команду блокировки экрана”
Начиная с 1.2.13 IceWM имеет некоторую базовую поддержку управления сессиями,
чтобы управлять всеми его частями.
Но там, где более сложные окружения рабочего стола, как GNOME, KDE или xfce
вступают в игру, IceWM всё ещё является главным образом диспетчером окон…
Но, конечно, вы можете всегда запустить ваши избранные приложения после
запуска X или логина, используя файлы .xinitrc
или .xsession
, или использовать
IceWM как диспетчер окон вместо диспетчера окон GNOME/KDE по умолчанию.
Уверен, но но не от IceWM. Ещё раз, это работа окружения рабочего стола, но
обычно выполняется соответствующими файловыми менеджерами, с тех пор, как
они стали понимать MIME-типы, окончания файлов и т.д. Пользователи IceWM
обычно используют idesk
, dfm
, rox
, kfm
или gmc
.
Обычно это потому, что использован неправильный формат рисунка. Это может произойти, когда IceWM скомпилирован только с libXpm. С imlib, IceWM умеет читать многие из часто встречающихся форматов изображений, как png, gif, jpeg, вместо простых рисунков xpm с libXpm. Другой причиной может быть, что тема определяет другую картинку или цвет.
Начиная с IceWM 1.2.14 возможно определить размер значков в IceWM preferences
.
Там есть четыре подходящих параметра:
```
MenuIconSize=16
SmallIconSize=16
LargeIconSize=32
HugeIconSize=48
```
Это значения по умолчанию, но вы можете изменить их на любые, какие хотите.
MenuIconSize
определяет размер значков в меню. Три других используются для
любых других значков в IceWM. Например, SmallIconSize
используются на панели
задач, обрамлениях окон приложений и списке окон. LargeIconSize
используется в
быстром переключении.
Примите к сведению, что когда вы меняете размер SmallIconSize
, тогда
все вышеописанные части будут иметь значки различного размера, но панель задач
и обрамления окон не изменят высоту в соответствии! Также, когда вы назначили
размер, который недоступен, тогда размер значков будет изменён - это может
причинить некоторые неудобства, в основном когда вы используете значки xpm.
Однако, есть хитрый способ увеличить размер панели задач.
Высота панели задач по размеру соответствует размеру кнопки Start
.
Например, если ваш linux.xpm
на панели задач размером 50x32, то
ваша панель задач будет высотой 32 пиксела.
Чтобы изменить высоту обрамлений, сделайте тему с более высокими обрамлениями окон.
Лучший способ это присоединиться к openSUSE Weblate. Сперва зарегистрируйтесь или здесь, или там, потом улучшайте перевод для вашего языка.
Другая возможность это создать копию icewm.pot
и переименовать его в
xx.po
, где xx обозначает ваш язык.
Потом переведите файл, используя любой из инструментов для перевода
файлов gettext, напр. kbabel, или отредактируйте вручную.
Если вы хотите проверить свой файл, вы можете добавить этот файл
в каталог po
исходников IceWM и потом сконфигурируйте IceWM
(./configure) и напечатайте
makeв каталоге
po.
Это создаст файл .mo, который вы можете скопировать в каталог локали
(напр. /usr/local/share/locale/cs/LC\_MESSAGES), или выполнить
make install`.
Начиная с некоторой версии IceWM поддерживает расширение X11 Xrandr.
Оно очень просто может быть использовано для создания пункта меню на вашей
панели инструментов, чтобы менять разрешение дисплея, при условии, что
что вы запустили достаточно свежие версии и X11, и IceWM, которые поддерживают
xrandr. Вы можете запустить xrandr -q
, чтобы посмотреть поддерживаемые
разрешения, используя вашу текущую конфигурациию X (максимальное
разрешение и глубина цвета). Вы можете отредактировать этот фрагмент меню,
проверив, какие разрешения работают и потом положить его в ваш файл
toolbar.
```
# Меню панели инструментов IceWM для изменения разрешения дисплея.
# Это требует поддержки xrandr со стороны и X11, и IceWM.
#
# Xrandr считается экспериментальной возможностью, так как ваш экран может
# уйти в чёрный, если у вас есть проблемы с установкой некоторых разрешений.
# Хорошей идеей будет закрыть другие окна перед проверкой.
#
# Проверьте ваши собственные разрешения с xrandr -q и исправьте соответственно.
# Этот пример предполагает, что разрешение по умолчанию 1280x1024.
#
menu Resolution redhat-system-settings {
prog 1280x1024 1280x1024 xrandr -s 0
prog 1152x864 1152x864 xrandr -s 2
prog 1024x768 1024x768 xrandr -s 3
prog 800x600 800x600 xrandr -s 4
prog 640x480 640x480 xrandr -s 5
}
```
Redhat-system-settings это растровое изображение, которое я взял из моей Fedora Core 3 box, вы можете, конечно, положить туда любое, какое хотите.
This is a sample of possible configurations you could do to have IceWM running with all you need. Following applies for RedHat(9). Placement of files can be bit different.
To have possibility to switch to IceWM in GDM greeter (after start to runlevel 5 = Xwindow), then you need to do following things:
/etc/X11/gdm/Sessions/
(gdm is default greeter)
file IceWM
with content:bash
#!/bin/bash
exec /etc/X11/xdm/Xsession icewm
Modify /etc/X11/xdm/Xsession
to understand what “icewm”
is (this may not be necessary).
Add to /usr/share/apps/switchdesk/
file Xclients.icewm
with content:
bash
#!/bin/bash
exec /usr/local/bin/icewm-session
To configure all of IceWM options go to sections about configuration.
Generally all you need to customize IceWM globaly, is to edit /usr/local/share/icewm/preferences
etc.
Usually people want to have icons on desktop.
One of most simple applications that can
satisfy this need is idesk
(see Tools to find it).
Configuration of idesk is almost as easy as configuration
of IceWM, but has one disadvantage:
idesk does not have in version 0.3.x global configuration file.
Therefore each user needs to have proper configuration
file in his/her home.
To configure idesk you need to:
~/.ideskrc
file with content like this
table Config
FontName: Helvetica
FontSize: 9
FontColor: #ffffff
PaddingX: 35
PaddingY: 25
Locked: true
HighContrast: false
Transparency: 50
Shadow: true
ShadowColor: #000000
ShadowX: 1
ShadowY: 1
Bold: false
end
Add ~/.idesktop
directory
Add whatever.lnk
files into it, with content like this
table Icon
Caption: Mozilla
Command: mozilla
Icon: /usr/share/pixmaps/mozilla-icon.png
X: 22
Y: 13
end
~/.icewm/startup
file (for details see Configuration section).
In case of idesk you can add line:bash
idesk > /dev/null & # start idesk - desktop icon manager
Some users wonder why the colors specified in their preference files seem to have no effect upon the actual appearance of things. The reason is that these settings may be overridden by settings in the theme file.
The theme file can control all of the options
controlled by the preferences
file, but usually
theme authors are decent confine their meddling to superficial
aspects of window manager behavior and leave control over most
important behaviors to the user.
If this wasn’t the reason: If you are running X in 8-bit mode then it is possible that the specified color simply isn’t available.
You don’t know if X is running in 8-bit mode? Run
xwininfo | grep Depth
in an XTerm and click on the root window (the desktop). If this command displays
Depth: n
you are running X in n-bit mode (n typically is 8, 16, 24 or 32).
A very annoying problem are programs you added to the menu
file but
that are missing in the corresponding menus. That isn’t really a bug
of IceWM. The point of view of IceWM is that it makes no sense to
display a program that is not present.
The crucial point is the meaning of to be present. It does not
mean to be installed, but to be found using the present path.
Do echo $PATH
or which program
to find if a program is in PATH.
To fix the problem you have at least three possibilities:
.xinitrc
, .xsession
or .Xclients
.This used to be a really annoying problem, but seems to be gone with newer versions of IceWM and GNOME. If it still happens on your machine try to set
Panel.doNotCover: 1
in your winoptions
file.
The reason for this is that the standard lock command
(xscreensaver-command
or xlock
) could not be found by IceWM.
See “Setting the lock command” for details on setting
a different lock command.
IceWM is divided in few separated parts. One of them is icewmbg
.
This part takes care of bacground setup. Therefore if you want IceWM to
take care of desktop background you have to start icewmbg
at
IceWM startup. The proper way is to start “icewm-session” in your
X startup instead of just icewm.
See “Configuration”.
IceWM uses two ways of font handling - corefonts OR fonts provided by xfreetype library.
These fonts can be specified in preferences
or theme default.theme
.
For X server provided fonts (configure –enable-corefonts option) the definition looks like this:
ActiveButtonFontName = "-artwiz-snap-regular-r-normal-sans-10-*-*-*-*-*-*-*"
For Xft (xfreetype) library (used by default, disable using option –disable-xfreetype), then specification is like this:
ActiveButtonFontNameXft = "Snap:size=10,sans-serif:size=12:bold"
To provide correct fonts to Xft you have to specify them in /etc/fonts/fonts.conf
.
X server font are either provided by X server itself e.g. /etc/X11/XF86Config
- Section “Files”,
or by XFS (X Font Server) defined in. /etc/X11/fs/config
.
Set ConsiderSizeHintsMaximized=0
.
Set Win95Keys=0
.
Do icesh keys
.
This document is released under the terms of the GNU Library General Public License.