Xmonad
-
Медіафайли у Вікісховищі
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. 31 травня 2007. Архів оригіналу за 26 червня 2013. Процитовано 31 травня 2007.
- ↑ Haskell Weekly News: April 27, 2007. Haskell Weekly News. 27 квітня 2007. Архів оригіналу за 26 червня 2013. Процитовано 23 травня 2007.
- ↑ xmonad: Contributed code. xmonad.org. 22 травня 2007. Архів оригіналу за 26 червня 2013. Процитовано 23 травня 2007.
- ↑ Manpage of xmonad. xmonad.org. 18 квітня 2007. Архів оригіналу за 26 червня 2013. Процитовано 17 травня 2007.
- Stewart, Don; Janssen, Spencer (September 2007). XMonad: A Tiling Window Manager (PDF). Haskell '07: Proceedings of the ACM SIGPLAN workshop on Haskell workshop: 119. ISBN 978-1-59593-674-5. Архів (PDF) оригіналу за 4 вересня 2007. Процитовано 22 жовтня 2007.
Зовнішні посилання
- Домашня сторінка xmonad [Архівовано 1 листопада 2007 у Wayback Machine.]
- Список розсилки xmonad [Архівовано 8 листопада 2007 у Wayback Machine.]
- man-сторінка xmonad [Архівовано 26 червня 2013 у WebCite]
- Преса про xmonad [Архівовано 23 грудня 2007 у Wayback Machine.]
- Сторінка xmonad 0.7 на Hackage [Архівовано 25 квітня 2008 у Wayback Machine.]
- «Roll Your Own Haskell Window Manager: Part 1: Defining a Model» [Архівовано 18 грудня 2007 у Wayback Machine.]
- «Roll Your Own Window Manager: Tracking Focus with a Zipper» [Архівовано 15 грудня 2007 у Wayback Machine.]
- xmonad [Архівовано 12 грудня 2007 у Wayback Machine.] на вікі Хаскеля
- п
- о
- р
![Tux, талісман Linux](http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/64px-Tux.svg.png)