xmonad

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
xmonad
Xmonad-logo.png
Xmonad-tall-status-dons.pngxmonad у режимі мозаїки
Автор(и) Spencer Janssen, Don Stewart, Jason Creighton
Стабільний випуск 0.9 (25 жовтня 2009)
Нестабільний випуск остання ревізія Darcs
Написано на Haskell
Операційна система POSIX-сумісний
Платформа декілька; потребує X Window та GHC
Доступні мови Англійська
Стан розробки Альфа
Тип Віконний менеджер
Ліцензія BSD-3
Сайт http://www.xmonad.org/

xmonad — це мозаїчний менеджер вікон для X Window System, написанний на функціональній мові програмування Хаскель.

Заснований у березні 2007 року, він схожий до dwm, larswm, StumpWM та інших членів родини мозаїчних віконних менеджерів, тому що він намагається зробити можливим продуктивне керування вікнами без застосування миші. Попри те, що спочатку це був клон dwm (що наслідував його поведінку в таких областях, як стандартні комбінації клавіш), xmonad має можливості, які dwm не забезпечує своїм користувачам, такі як Xinerama (підтримка декількох моніторів),[1] різного розташування фреймів на кожному робочому столі, повноекранної мозаїки, збереження стану, віддзеркалення розташування та поекранних рядків статусу. Як і dwm, він налаштовується модифікацією і компіляцією вихідного коду[2] — але це вже змінено у останній розробницькій версії. Зміни конфігурації відображаються у робочому середовищі перезапуском програми (зі збереженням стану між перезапусками). Існує певна кількість розширень базової системи, включаючи різноманітні алгоритми розташування, які були створені розробниками та користувачами системи і наявні як бібліотека.[3] Також розробники широко використовують формальні методи та виведення програм для покращення надійності та зменшення загального обсягу коду. Властивості віконного менеджера (такі як поведінка фокусу вікна) перевіряються використанням QuickCheck. Ці особливності роблять xmonad унікальним у багатьох аспектах; окрім того, що це перший віконний менеджер, написанний на Хаскелі, він також перший, що використовує структуру даних зіппер для автоматичного керування фокусом. Розробники пишуть:

«Використовуючи виразність сучасної функціональної мови з багатою системою статичних типів, xmonad є повноцінним віконним менеджером з великою функціональністю, що містить менш, ніж 500 рядків коду, з наголосом на коректність та надійність. Внутрішні властивості віконного менеджера перевіряються комбінацією гарантій, які забезпечуються статичною системою типів, та автоматичному тестуванні, що базується на типах. Перевагою такого підходу є те, що код легко зрозуміти та просто модифікувати.»[4]

Він використовує такі інструменти та особливості Хаскеля, як: QuickCheck, розширення GHC (такі як охорона шаблонів), монади, перетворювачі монад, зіппери, та систему пакетів Cabal, у доповнення к прив'язкам Хаскеля до Xlib.

Посилання[ред.ред. код]

  1. «Keyboard-Driven Environments Open a New Window». OSnews. 2007-05-31. Архів оригіналу за 2013-06-26. Процитовано 2007-05-31. 
  2. «Haskell Weekly News: April 27, 2007». Haskell Weekly News. 2007-04-27. Архів оригіналу за 2013-06-26. Процитовано 2007-05-23. 
  3. «xmonad: Contributed code». xmonad.org. 2007-05-22. Архів оригіналу за 2013-06-26. Процитовано 2007-05-23. 
  4. «Manpage of xmonad». xmonad.org. 2007-04-18. Архів оригіналу за 2013-06-26. Процитовано 2007-05-17. 

Зовнішні посилання[ред.ред. код]