xmonad
xmonad у режимі мозаїки |
|
| Автор(и) | 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.
Посилання [ред.]
- ↑ «Keyboard-Driven Environments Open a New Window». OSnews. 2007-05-31. Процитовано 2007-05-31.
- ↑ «Haskell Weekly News: April 27, 2007». Haskell Weekly News. 2007-04-27. Процитовано 2007-05-23.
- ↑ «xmonad: Contributed code». xmonad.org. 2007-05-22. Процитовано 2007-05-23.
- ↑ «Manpage of xmonad». xmonad.org. 2007-04-18. Процитовано 2007-05-17.
- Stewart Don, Janssen, Spencer XMonad: A Tiling Window Manager // Haskell '07: Proceedings of the ACM SIGPLAN workshop on Haskell workshop. — (September 2007) С. 119. ISBN 978-1-59593-674-5. Переглянуто: 2007-10-22.
Зовнішні посилання [ред.]
- Домашня сторінка xmonad
- Сторінка xmonad 0.7 на Hackage
- «Roll Your Own Haskell Window Manager: Part 1: Defining a Model»
- «Roll Your Own Window Manager: Tracking Focus with a Zipper»
- xmonad на вікі Хаскеля
|
||||||||||||||
