JWM (Joe's Windows Manager)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:21, 15 декабря 2017.
JWM
Jwm-blue.svg
Эмблема JWM
Introducing-the-new-manjaro-linux-jwm-joe-s-window-manager-edition-493746-2.jpg
JWM (Joe's Window Manager) в Manjaro Linux
Разработчики: Joe Wingbermuehle
Выпущена: July 2017; 7 months ago (2017-07)
Предыдущий выпуск: 2.3.7
Состояние разработки: Активный
Написана на: C
Операционная система: UNIX-подобные
Размер дистрибутива: 2.8 MB
Тип ПО: Window Manager
Лицензия: MIT License
Веб-сайт joewing.net

JWM (англ. Joe’s Windows Manager) — свободный менеджер окон для X Window System, написан на языке C Джо Вингбермюле (Joe Wingbermuehle). Автором распространяется только в виде исходного кода, компилируется и запускается на любой UNIX-системе, на которой работает X11.

В минимальном варианте требуется только библиотека Xlib. Возможно использование сглаженных и TrueType-шрифтов, иконок в форматах PNG и JPEG и двунаправленного письма при наличии соответствующих библиотек, которые должны быть подключены на стадии компиляции. Поддерживает GNOME, Motif и спецификации для оконных менеджеров WM-Spec. Портирован на множество операционных систем, включая FreeBSD, NetBSD, OpenBSD, MINIX, OpenSolaris (применяется по умолчанию в дистрибутиве MilaX на его основе), а также используется в качестве оконного менеджера по умолчанию в некоторых версиях дистрибутивов Linux: Damn Small Linux, Tiny Core Linux (до версии 2.0), Puppy Linux, SystemRescueCD.[Источник 1]

Установка

Запуск JWM

Запустите программу xinit, чтобы запустить X-сервер и клиентскую программу JWM[Источник 2]:

$  xinit /usr/bin/jwm

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

Пример файла конфигурации находится по адресу /etc/system.jwmrc. Создайте /~/.jwmrc[Источник 3]:

 $  touch ~/.jwmrc

или

 $  cp -i /etc/system.jwmrc ~/.jwmrc

Отредактируйте этот файл для создания окружения.

Советы и приемы

Улучшение контрастности <Tasklist>

Изменить значение по умолчанию <Tasklist> чтобы соответствовать улучшенному стилю контраста по умолчанию <MenuStyle> и активному <WindowStyle>[Источник 4]:

 <TaskListStyle>
     <ActiveForeground>white</ActiveForeground>
     <ActiveBackground>#70849d:#2e3a67</ActiveBackground>
 </TaskListStyle> 

Выход из системы и обновление

<Exit/> (Logout)- это команда меню для чистого выхода из текущего X-сервера.

<Restart/> (Refresh) - это командный тег меню, который повторно инициализирует конфигурационный файл и обновляет меню и привязки клавиш соответственно.

<Restart/> and <Exit/> can be bound to the Ctrl+Alt modified keys following the example syntax below[Источник 5]:

 <Key mask="CA" key="r">exec:jwm -restart</Key>
 <Key mask="CA" key="e">exec:jwm -exit</Key>
 


Перезагрузка и завершение работы

Система с systemd может быть перезагружена с параметрами меню перезагрузки и выключения[Источник 6].

 <Program label="Restart">systemctl reboot</Program>
 <Program label="Poweroff">systemctl poweroff</Program>
 

В качестве альтернативы, используйте <key> для привязки команд к выбранным ключом.

Conky

Conky может быть запущен в <StartupCommand> для отображения различных потоков данных (например, время автономной работы и состояние адаптера переменного тока для ноутбуков). xfdesktop может конфликтовать с Conky; есть обходной путь - <Group> Conky задайте следующие опции <option> теги в ~/.jwmrc[Источник 7] :

 <Group>
     <Class>Conky</Class>
     <Option>nolist</Option>
     <Option>noborder</Option>
     <Option>notitle</Option>
     <Option>sticky</Option>
 </Group>
 

Минимальная сборка

Доходы в ответе пользовательского интерфейса можно получить, не используя значки меню и отключив использование шрифтов XFT. Дополнительные выгоды можно получить, удалив поддержку внешних библиотек с пользовательской сборкой. Результатом является сокращение потребностей в ресурсах. Минимальная сборка с поддержкой xft и использования шрифтов xft-это выделено около 3 МБ и 1.5 МБ общей памяти. Та же сборка, скомпилированная без поддержки XFT, выделяется под 1,5 МБ и приблизительно 1,2 МБ соответственно. Видеть арку построение системы для получения дополнительной информации[Источник 8] .

Минимальный пример PKGBUILD
   pkgname=jwm
   pkgver=2.1.0
   pkgrel=3
   pkgdesc="A lightweight window manager for the X11 Window System"
   arch=('i686' 'x86_64')
   url="http://joewing.net/programs/jwm/"
   license=('GPL2')
   depends=('libx11')
   backup=('etc/system.jwmrc')
   source=(http://joewing.net/programs/jwm/releases/jwm-$pkgver.tar.bz2)
   md5sums=('e8fab21b2410eb82032b7c3472af642c')

   build() {
     cd "$srcdir/$pkgname-$pkgver"
     ./configure --prefix=/usr --sysconfdir=/etc --disable-fribidi \
     --disable-confirm --disable-icons --disable-png \ 
     --disable-xpm --disable-jpeg --disable-xinerama \
     --disable-xft --disable-xrender --disable-debug 
     make
   }

   package() {
     cd "$srcdir/$pkgname-$pkgver"
     make BINDIR="$pkgdir/usr/bin" MANDIR="$pkgdir/usr/share/man" \
          SYSCONF="$pkgdir/etc" install
   }
 
Руководство по эксплуатации листов поддержки

Поддержка листов может быть добавлена в JWM с помощью менеджера окон листов бедного человека. Предположим manage.py является частью локального пути, различные действия листов могут быть назначены ключам, например:

         <Key mask="H" key="Up">exec:manage.py swap</Key>
         <Key mask="H" key="Down">exec:manage.py cycle</Key>
         <Key mask="H" key="Left">exec:manage.py left</Key>
         <Key mask="H" key="Right">exec:manage.py right</Key>
 

Устранение неисправностей

Дополнительные способы устранения неполадок

Если X уже не работает на tty1 , сочетание клавиш Ctrl+Alt+F1 позволит вам рассмотреть стандартный вывод ошибок и сообщений. Все окна прозрачны с помощью Compton Отрегулируйте прозрачность окна в ~/.jwmrc[Источник 9] :

        <Inactive>
          <Opacity>1,0</Opacity>
        </Inactive>
 

Окно терминала не в полной мере максимизировать

Добавьте группу с параметром iignore в ~/.jwmrc, например[Источник 10]:

       <Group>
        <Class>URxvt</Class>
        <Option>iignore</Option>
       </Group>
 

Проверка изменений конфигурации

Чтобы проверить конфигурацию JWM и вернуть синтаксические ошибки (включая связанные номера строк), если таковые имеются, выполните следующие действия[Источник 11]:

$  jwm -p
 

Дополнительные библиотеки

Хотя JWM не требует их, он может использовать следующие библиотеки, если доступно:

libXext для расширения формы libXext для расширения рендеринга libXmu для рисования округлых окон (необходимо расширение формы) Поддержка libXinerama для Xinerama (multi-monitor) libXpm для XPM фоны и иконки libjpeg для JPEG фоны и иконки libpng для PNG фоны и иконки libRSVG и Каир для SVG фоны и иконки libxft для сглаженных и истинных шрифтов типа libfribidi для поддержки языка справа налево В jwm пытается соответствовать ICCCM и поддерживает МВМ подсказки и расширенный Диспетчер окон подсказки (EWMH).

Начиная с версии 2.3.6, JWM лицензируется по лицензии MIT[Источник 12].

Источники

  1. JWM // Wikipedia. [2001-2017]. URL: https://ru.wikipedia.org/wiki/JWM (Дата обращения: 07.10.2017).
  2. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Starting_JWM (Дата обращения: 06.11.2017).
  3. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Configuration (Дата обращения: 06.11.2017).
  4. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Improve_.3CTasklist.3E_contrast (Дата обращения: 06.11.2017).
  5. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Logout_and_refresh (Дата обращения: 06.11.2017).
  6. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Reboot_and_shutdown (Дата обращения: 06.11.2017).
  7. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Conky(Дата обращения: 06.11.2017).
  8. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Minimal_build (Дата обращения: 06.11.2017).
  9. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Additional_troubleshooting (Дата обращения: 06.11.2017).
  10. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Terminal_windows_do_not_fully_maximize (Дата обращения: 06.11.2017).
  11. JWM // Archlinux. [2007-2017]. URL: https://wiki.archlinux.org/index.php/JWM#Verify_configuration_changes (Дата обращения: 06.11.2017).
  12. JWM (Joe's Window Manager) // joewing.net. [2004-2017]. URL: https://joewing.net/projects/jwm/ (Дата обращения: 06.11.2017).