Xmonad

xmonad
xmonad у режимі мозаїки
Тип Віконний менеджер
Автор Spencer Janssen, Don Stewart, Jason Creighton
Стабільний випуск 0.9 (25 жовтня 2009)
Нестабільний випуск остання ревізія Darcs
Платформа декілька; потребує X Window та GHC
Операційна система POSIX-сумісний
Мова програмування Haskell
Доступні мови Англійська
Стан розробки Альфа
Ліцензія BSD-3
Репозиторій github.com/xmonad/xmonad
Вебсайт 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. 31 травня 2007. Архів оригіналу за 26 червня 2013. Процитовано 31 травня 2007.
  2. Haskell Weekly News: April 27, 2007. Haskell Weekly News. 27 квітня 2007. Архів оригіналу за 26 червня 2013. Процитовано 23 травня 2007.
  3. xmonad: Contributed code. xmonad.org. 22 травня 2007. Архів оригіналу за 26 червня 2013. Процитовано 23 травня 2007.
  4. 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.] на вікі Хаскеля
  • п
  • о
  • р
Linux
Adoption • Порівняння з Windows • Критика • Історія • Ядро (підтримувані архітектури)Закон ЛінусаLinux Foundation • Linux-libre • Tux • vmlinux
Tux, талісман Linux
Дистрибутиви
GNU
Free Software FoundationGNUGNU General Public License • Суперечка про найменування GNU/Linux • Пакети GNUПроєкт GNU
Інтерфейс користувача
CLIGUIX Window SystemGNOMEKDEXfceLXDE
Менеджери вікон
CompizMetacityKWinOpenboxAfterStepBlackbox • CTWM • EnlightenmentFVWM • Hackedbox • IceWM • Metisse • OLVWM • PLWM • PWM • Sawfish • vtwm • wm2 • Wmx • Xmonad
Застосування
Desktop • Пристрої • Linux у вбудованих системах • Ігри • LAMPLTSP
Ключові особи
Джоно БеконАлан Кокс • Jon Hall • Benjamin Mako Hill • Greg Kroah-Hartman • David S. Miller • Ендрю Мортон • Іан Мердок • Брюс Перенс • Деніел Робінс • Марк ШаттлвортРічард СтолменЛінус Торвальдс • Theodore Ts'o • Патрік Волкердінґ • Matt Zimmerman
ЗМІ
Free Software Magazine • Linux.com • Linux Format • Linux For You • Linux Gazette • Linux Journal • Linux-Magazin • Linux Magazine • Linux Outlaws • LugRadio • LWN.net • O3 Magazine • Phoronix • DistroWatch
Мобільність
Access Linux Platform • Androidbada • LiMo Foundation • LiMo Platform • Linux Phone Standards Forum • MeeGo (MaemoMoblin) • Mobilinux • Open Handset Alliance • Openmoko • OPhone • Ubuntu MobilewebOS
Інше
Linux-конференції • Linux Documentation Project • Linux Standard Base • Linux User Group • Revolution OS (фільм) • SCO і Linux • Суперечка Таненбаума та ТорвальдсаThe Code (фільм) • Власницьке програмування для Лінукса • Віруси та хробакиОб'єднане ядро Linux
  • п
  • о
  • р
Стільничні середовища,
віконні менеджери тощо
KDEGNOMEXfceLXDEXPdeJDSCDEX11MetacityEnlightenmentSawfish • XMonad • OpenboxAfterStepAwesomeFVWMFluxboxBlackbox • Window Maker
Прикладні програми,
пакети, утиліти тощо
OpenOfficeLibreOfficeKOfficeCalligra SuiteGnome Office • Siag Office • AbiwordGnuCashKMyMoneyInkscapeSodipodiGnumericPlannerEmacsVimKateTellicoGIMP • Kivio • GwenView • KView • Evince • Cedega • WineAmarokMPlayerXP • Listen • LinDVD • KinoTotemKaffeineRhythmboxK3b • KPDF • Scribus • Dolphin • KonquerorKrusader • Nautilus • Thunar • Epiphany • Galeon • OperaFirefox • Arora • IceCatThunderbirdEvolutionKMailSkypeKopeteEkigaAkregatorKGetArkJabberMPlayerXineAlacarteStarDictDigiKamKexiRKWardOkularBeagleYaSTKdepim • Kdetoys • Konsole • KCHMViewer
Розробка ПЗ
EclipseNetBeansKDevelop • QTDesigner • Code::Blocks • MonoDevelopCylixLazarus
Технології та бібліотеки
OpenGLCairoPlasma • Akonadi • Decibel • Flake • Kross • Oxygen • Phonon • Quasar • Solid • Sonnet[en] • Soprano[pl] • Strigi • ThreadWeaver • JavaMono