LINUX.ORG.RU

Вышел тайлинговый менеджер xmonad 0.11

 , ,


0

1

Спустя более года относительно активной разработки, команда разработчиков представила xmonad 0.11!

XMonad — это тайлинговый менеджер окон, который известен своей лёгкостью, надёжностью, расширяемостью и эффективностью. Он поддерживает настоящий многопоточный тайлинг, у него богатые и простые возможности настройки. Легко портируем, работает на обычных десктопах, ноутбуках, нетбуках, телефонах, игровых консолях, OLPC и т.п.

Возможности:

  • автоматическое управление окнами;
  • основное управление с помощью клавиатуры: мышь не нужна;
  • полная поддержка тайлинг окон на multi-head дисплеях;
  • полная поддержка плавающих окон, табов и декораций окон;
  • полная поддержка утилит Gnome и KDE;
  • поддержка XRandr для поворотов, добавления и удаления мониторов;
  • поддержка композитинга;
  • большая библиотека расширений;
  • отличная документация;
  • большая и активная команда разработчиков, поддержки и сообщество.

Наконец-то исправлена ошибка #177 (фокус в Java-приложениях).

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Dendy (всего исправлений: 4)

Он поддерживает настояний многопоточный тайлинг,

настояний

настоящий?

Oleaster ★★★
()
Ответ на: комментарий от harper

Не вижу сотней вакансий haskell программистов... Давай уже свое определение попсовости языка.

anonymous
()

баг баг всем багам баг

anonymous
()

блин, все только к 'настояний' придираются.
А мне помочь Вышел тайлинговый менеджер xmonad 0.11 (комментарий) ?
Где высококлассные специалисты функционального кода и гуру теории категорий и системы типов?

Bad_ptr ★★★★★
()
Последнее исправление: Bad_ptr (всего исправлений: 1)
Ответ на: комментарий от Bad_ptr

Где высококлассные специалисты функционального кода и гуру теории категорий и системы типов?

1-ое января все-таки. Запости лучше в рассылку иксмонада.

provaton ★★★★★
()
Ответ на: комментарий от zarkone

А потом захочется поменять цвет рамки и всё заново устанавливать?

anonymous
()
Ответ на: комментарий от Bad_ptr

У Стаса Михайлова был скрин в галерее и вроде там было такая фишка с терминалом. Нашёл.

anonymous
()

А его кто нибудь использует помимо тех мест, где он нужен - всякие биржевые терминалы, наблюдение за системой каких то датчиков ? Зачем он нужен на обычном десктопе ?

nirolov
()
Ответ на: комментарий от nirolov

Чтобы работать, а не окна перетаскивать по столу.

anonymous
()

полная поддержка утилит Gnome и KDE;

Скажите пожалуйста. Что значит поддержка утилит gnome и kde?

anonymous
()
Ответ на: комментарий от anonymous

А ты попробуй в twm каком-нибудь чего-нибудь из этого запустить и узнаешь.

anonymous
()
Ответ на: комментарий от Deleted

примерно одно и тоже, но xmonad слегка полегче будет.

qnikst ★★★★★
() автор топика
Ответ на: комментарий от Bad_ptr

Как-то так:

import XMonad.Util.NamedScratchpad

...

myManageHook = (composeAll . concat $
  [
  ...
  ])

  <+> namedScratchpadManageHook scratchpads


...

-- Scratchpads --
scratchpads = [
                     -- RationalRect left top width height

  NS "terminal" "roxterm --role scratchpad"
    (role =? "scratchpad")
    (customFloating $ W.RationalRect 0.15 0.6 0.7 0.35),

  NS "notes" "gvim --role notes ~/notes/org.txt"
    (role =? "notes")
    nonFloating,

  NS "keepassx" "keepassx"
    (className =? "Keepassx")
    (customFloating $ W.RationalRect 0.15 0.1 0.7 0.4),

  NS "htop" "roxterm --role htop -e htop"
    (role =? "htop")
    (customFloating $ W.RationalRect 0.15 0.2 0.7 0.7),

  NS "ncmpcpp" "roxterm --role ncmpcpp -e ncmpcpp"
    (role =? "ncmpcpp")
    (customFloating $ W.RationalRect 0.15 0.2 0.7 0.7),

  NS "spacefm" "spacefm"
    (className =? "Spacefm")
    nonFloating,
    --(customFloating $ W.RationalRect 0.15 0.2 0.7 0.7),

  NS "ranger" "roxterm --role ranger -e ranger"
    (role =? "ranger")
    nonFloating
    --(customFloating $ W.RationalRect 0.15 0.2 0.7 0.7),

  ]
  where role = stringProperty "WM_WINDOW_ROLE"

...

-- Bindings --

, ((modm, xK_F1 ), namedScratchpadAction scratchpads "terminal")
  , ((modm, xK_F2 ), namedScratchpadAction scratchpads "notes")
  , ((modm, xK_F3 ), namedScratchpadAction scratchpads "keepassx")
  , ((modm, xK_F4 ), namedScratchpadAction scratchpads "ncmpcpp")
  , ((modm, xK_F5 ), namedScratchpadAction scratchpads "htop")

  --, ((modm, xK_r), namedScratchpadAction scratchpads "ranger")
  , ((modm, xK_s), namedScratchpadAction scratchpads "spacefm")

А вот мой говноконфиг xmonad.hs, где всё это вместе: https://github.com/ksevelyar/dotfiles/blob/master/xmonad/xmonad.hs

Жалко что xmonad на Хаскеле, конечно. Мне даже хелперы писать на нём лениво и трудно (поэтому и говноконфиг). Но ничего лучше среди twm нет.

ksevelyar
()
Ответ на: комментарий от ksevelyar

Дык, я не об этом спрашивал-то. :)
Я спрашивал вот о чём:
Есть вот в конфиге такая штука

[className =? c --> doFullFloat        | c <- myFullFloats ]
можно ли как-то сюда засунуть 2(или более) операции, т.е. вот по определённому классу не только doFloat а ещё и doShift или как-то переместить на определённый воркспейс.
Т.е. такая штука примерно, не знаю как это сделать на хаскелле, может там лямбда какая поможет или ещё чего:
[className =? c --> doFullFloat  and doShift some_workspace   | c <- myFullFloats ]
Ещё раз: нужно как-то выполнить 2 функции над окном с определённым классом.

Bad_ptr ★★★★★
()
Последнее исправление: Bad_ptr (всего исправлений: 2)
Ответ на: комментарий от qnikst

спасибо.
Ещё вопросик остался, как получить WorkspaceId текущего воркспейса, чтобы подсунуть его в doShift?

Bad_ptr ★★★★★
()
Ответ на: комментарий от qnikst

полная поддержка тайлинг окон на multi-head дисплеях

Если я правильно понял, о чём идёт речь, то мой вариант - «Полная поддержка тайловых окон в мультимониторных конфигурациях»

anonymous
()
Ответ на: комментарий от bose

Не вижу связи.

Поясняю.

Если ты решаешь пользоваться xmonad, то тебе приходится убить где-то день-неделю на то, чтобы написать вменяемый конфиг и побороть (если повезёт) хорошо известные баги. Это имеет смысл только тогда, если твоя цель - «конфиги на хаскеле писать». Ежели твоя цель - сделать что-то полезное, то этот этап настройки - пустая трата времени.

Ходят слухи, что с Metro ничего настраивать не надо. :) Сам не в курсе, у меня Windows нет.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

Поясняю.

Опять мимо. Хаскель - очень удобный и мощный инструмент и писать на нем одно удовольствие, а xmonad достаточно добротно спроектирована в силу того, что мейнткйнеры далеко не Си-школота. Баги есть, да, а где их нет?

bose
()

Собрал для Sid'а, кому интересно — брать тут (ключик в профиле):

deb http://packages.gnolltech.org/apt/ sid main non-free
deb-src http://packages.gnolltech.org/apt/ sid main non-free

Если что не так с зависимостями, кричите тут — пришлось обновить haskell-x11 до 1.6.0 (а то xmonad-contrib не собирался).

Кому нужны сборки под другие дебианы/убунты, кричите тоже, будет время — соберу.

Sectoid ★★★★★
()
Ответ на: комментарий от rtvd

Если ты решаешь пользоваться xmonad, то тебе приходится убить где-то день-неделю на то, чтобы написать вменяемый конфиг

А что не надо настраивать? Любой DE/WM с функционалом побогаче, чем у twm/openbox (и то без учёта xdg-меню) требует долгой первоначальной настройки «под себя», при этом далеко не все в принципе позволяют настраивать себя до такой степени, как xmonad. А после — простое копирование конфигов.

побороть (если повезёт) хорошо известные баги

Встречал в xmonad: 1. упомянутый с java (но я не пользуюсь java-софтом, если вдруг пондобятся — есть вторые иксы с openbox для запуска полноэкранных игр и тому подобного); 2. разновидность первого бага с меню в OpenOffice (легко обходится); 3. невнятное поведение меню выбора цветов и его аналогов в LibreOffice (баг LO, запостил в их багтрекере); 4. при использовании композитинга и ручного «разтайлирования» полноэкранного фрейма его содержимое перестаёт перерисовываться до изменения размера (композитингом не пользуюсь, в принципе баг можно обойти) фрейма; 5. максимизацию окон видео-плееров на флэш надоотдельно прописать (пример есть в инете); 6. многие программисты забивают на правильное оформление окон их программ, иной раз приходится придумывать, как их отличать — то role не прописан, то в title чёрт знает что творится, то ещё что.

А теперь сравните хоть с kde, хоть с гномом. Да даже в openbox можно натолкнуться на ошибки в работе xdgmenu.

Это имеет смысл только тогда, если твоя цель - «конфиги на хаскеле писать».

Haskell вообще не знаю — весь мой конфиг суть копипаста из примеров да пара советов с unixforum. Работает как мне надо.

Ежели твоя цель - сделать что-то полезное, то этот этап настройки - пустая трата времени.

Теоретик? Я вот только в xmonad понял, насколько это удобно: виртуальные рабочие столы. По той простой причине, что на её воркспейсах не висят пудовыми гирями попытки увязать идею множественности рабочих пространств и виндоподобный внешний вид и поведение wm. Я всегда знаю, что im`ы и sip`ы запустятся на таких-то воркспейсах при загрузке в мой профиль, причём ростры будут именно там, где я указал. Браузер и rss-клиент открываются там, где надо. Несколько копий dolphin становятся хоть аналгом двух-, хоть трёх-, хоть четырёх-панельника, причём, пригодного для моих задач. Все эти ваши «коммандеры» для моих задач не подходят — там нет полноценного preview. У меня gimp работал в многооконном интерфейсе, будучи весьма удобным, пока нытики, не осилившие тайловые wm, требовали однооконный интерфейс. Ну вытребовали — работает почти как многооконный в моей настройке, только переключение режимов (меню+рабочая область/рабочая область) происходить секунду против мгновенного у меня. Ну и ещё есть несколько примеров удобства использования. Выделяется ли чем-то xmonad на фоне прочих тайловых — не скажу, но мне понравилась больше остальных.

AlexYeCu.

anonymous
()

поддержка композитинга;

То есть теперь у него свой композитинг? Или я чего то недоперепонял?

SjZ ★★★★★
()

настояний

Это как?

anonymous
()

полная поддержка тайлинг окон на multi-head дисплеях;
полная поддержка утилит Gnome и KDE;
Наконец-то исправлен баг баг #177 (фокус в ява приложениях)

Пошёл ставить.

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от DNA_Seq

GNOME - набор костылей, значительно уступающий KDE в изящности структуры и единстве подхода к организации работы в различных приложениях.

anonymous
()
Ответ на: комментарий от rtvd

Ходят слухи, что с Metro ничего настраивать не надо. :) Сам не в курсе, у меня Windows нет.

Ходят слухи, что Metro, как и Шindows, говно.

anonymous
()
Ответ на: комментарий от bose

«Жри что дают» :)

Спасибо за рекоммендацию.

Но я предпочитаю смотреть на то, что мне дают, перед тем как его вкушать.

rtvd ★★★★★
()
Ответ на: комментарий от bose

Опять мимо. Хаскель - очень удобный и мощный инструмент и писать на нем одно удовольствие,

Собираетесь рассказывать о вкусе устриц тем, кто их ест? :)

а xmonad достаточно добротно спроектирована в силу того, что мейнткйнеры далеко не Си-школота.

То, что они не «Си» школота это очевидно. Возможно даже не школота вообще. Что совсем не значит, что xmonad - конфетка.

Баги есть, да, а где их нет?

Везде есть. Но не везде нужно потратить дни на настройку среды под себя. :)

В принципе, я бы даже пользовался xmonad. Он мне почти всем нравится. Если он перестал глючить с java приложениями, то вообще хорошо («не С-школота» наконец починила поддержку ICCCM и EWMH?).

Но есть одна досадная беда, которую исправить весьма непросто и я, пожалуй, не возьмусь - нормальная поддержка раскладок клавиатуры. Условно нормально она сделана только в KDE (там можно кое-как, пусть и через пень-колоду, пользоваться более чем двумя раскладками). Причем корень проблемы даже не в DE. Он в XInput или как там его, поскольку на указание текущей раскладки окна отведено лишь два бита.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

В принципе, я бы даже пользовался xmonad. Он мне почти всем нравится. Если он перестал глючить с java приложениями, то вообще хорошо («не С-школота» наконец починила поддержку ICCCM и EWMH?).

проблема с ewmh на стороне явы и не-школота не осливает уже лет 10 non-reparetning WM. Лечится LG3D. с фокусом, да проблемы были, но их починили.

Он в XInput или как там его, поскольку на указание текущей раскладки окна отведено лишь два бита.

не ври, можно пользоваться без проблем четыремя везде, больше - требуютс костыли.

qnikst ★★★★★
() автор топика
Последнее исправление: qnikst (всего исправлений: 1)

Омские линуксоиды одобряют!

"- Do you know this guy?

- He has no LIVE."

Молодцы, у всех новый год, а они творят во славу Linux!

linuxmaster ★★★★
()
Ответ на: комментарий от qnikst

проблема с ewmh на стороне явы и не-школота не осливает уже лет 10 non-reparetning WM. Лечится LG3D. с фокусом, да проблемы были, но их починили.

Да неужели? Я где-то читал (среди xmonad обсуждений), что проблема была как раз на стороне xmonad, т.к. он не поддерживал EWMH и ICCCM достаточно полно.

Что до LG3D и фокуса, то LG3D действительно обычно помогал с проблемой «пустых окон». Но не всегда. А проблемы с фокусом просто делали работу невозможной. Рад что починили.

не ври, можно пользоваться без проблем четыремя везде, больше - требуютс костыли.

Сразу видно, что ты не пользуешься таким количеством раскладок. :-) Зато уже эксперт.

Кстати, можно про костыли поподробнее? Неужели действительно под Linux можно более четырёх одновременно поддерживать? Если да, то как?

Я бы купил хорошую переключалку раскладок (типа как в Mac OS X), но такой нет даже на горизонте.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

Насчёт проблем с раскладками похоже стоит пояснить.

Чисто практическая проблема с раскладками в том, что если у тебя их более чем две, то неудобно между ними переключаться.

Почти во всех переключалках это сделано так, что есть циклический список и нажимая на некую клавишу ты переключаешься на следующую раскладку в списке. Представь себе, что у тебя в списке их штуки три-четыре и тебе нужно писать текст на русском, довольно часто вставляя туда слова на английском. Тогда ты очень быстро поймешь, что тебе не нужен шорткат «переключиться на следующую раскладку». Вместо него тебе нужен другой - «переключиться на предыдущую».

Этого одного, конечно, мало. Нужно переключаться и на другие раскладки тоже. В Mac OS X это сделано по-человечески: «Alt-Space» переключает на предыдущую раскладку, «Alt-Space-Space» показывает окошко выбора всех «любимых» раскладок. Выбор в нём тоже с клавиатуры. Эргономично, элегантно, и без необходимости мышковозить.

В Linux такой прелести нет. Наиболее близкий вариант - то, что есть в KDE. А там есть группы раскладок. Заводишь себе группы типа «русский+английский», «английский+японский», «русский+французский» и дальше есть два шортката «следующая раскладка в группе» и «следующая группа». Это не так удобно, как в Mac OS X, но значительно лучше альтернатив, что я видел под Linux. Жаль, что очень часто эта переключался подвисает и приходится её «стимулирововать», чтобы она развисла.

Что до ограничения на четыре раскладки в X11, то я полагаю это просто сделало задачу написания переключалки слишком сложной. Особенно в случае, когда у каждого окна - своя раскладка. Ещё добавляет проблем то, что кроме такой вот стандартной схемы переключения, есть еще IBus и прочие как бы альтернативы, которые слабо совместимы друг с другом.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

Да неужели? Я где-то читал (среди xmonad обсуждений), что проблема была как раз на стороне xmonad, т.к. он не поддерживал EWMH и ICCCM достаточно полно.

фокус - xmonad, серые окна - ява. С ICCCM проблемы действительно были, но вроде (кроме фокуса) достаточно быстро фиксились.

Сразу видно, что ты не пользуешься таким количеством раскладок. :-) Зато уже эксперт.

пользователи переключалки с запоминанием раскладки по окнам, которую я пилю пользуются 3-4-мя раскладками, проблем не имеют. Так, что если ты считаешь, что они есть можешь писать.

Кстати, можно про костыли поподробнее? Неужели действительно под Linux можно более четырёх одновременно поддерживать? Если да, то как?

была адская гномья тулза, которая вводила доп уровни абстракций и позволяла менять те 4 раскладки, которые есть в системе, прозрачно для пользователя, т.е. для него создаётся впечатление, что раскладок больше, не уверен, что вспомню, как называется. Ещё можно бесконечно ремапить клавиши.

Я бы купил хорошую переключалку раскладок (типа как в Mac OS X), но такой нет даже на горизонте.

чем особенна?

qnikst ★★★★★
() автор топика
Ответ на: комментарий от rtvd

Почти во всех переключалках это сделано так, что есть циклический список и нажимая на некую клавишу ты переключаешься на следующую раскладку в списке. Представь себе, что у тебя в списке их штуки три-четыре и тебе нужно писать текст на русском, довольно часто вставляя туда слова на английском. Тогда ты очень быстро поймешь, что тебе не нужен шорткат «переключиться на следующую раскладку». Вместо него тебе нужен другой - «переключиться на предыдущую».

ну это проблемы негров.. даже в kbdd есть опции переключиться на конкретную, переключиться на одну вперёд, переключиться на одну назад, переключиться на предыдущую, _которая была в этом окне_. Таким образом можно сделать на каждом окне разные пары раскладок.

Что до ограничения на четыре раскладки в X11, то я полагаю это просто сделало задачу написания переключалки слишком сложной. Особенно в случае, когда у каждого окна - своя раскладка. Ещё добавляет проблем то, что кроме такой вот стандартной схемы переключения, есть еще IBus и прочие как бы альтернативы, которые слабо совместимы друг с другом.

скорее особенности иксов :) т.к. слушать переключение окон можно или повесившись на все окна, но тогда проблемы тоже будут, или считая, что у тебя EHWM совместимый WM, то он тоже иногда тупит и забаздывает с обработкой, в итоге косяки.

qnikst ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.