Xmonad (Вопросы и обсуждение)

ion, dwm, wmii, awesome, xmonad и другие

Модераторы: broom, aim

Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Xmonad

Сообщение damex » 16.01.2011 20:56

странный конфиг - нужные опции закомменчены.
комментирую что вижу:
XMonad.Util.Run = вот из этого (и ни какого либо другого пакета - будет поломано utf8 ... должно всяко) нужен hPutStrLn для вывода этого дела. мб в этом проблема ...
как пример приложу свои текущие конфиги:
http://paste.pocoo.org/show/321655/ xmobar.hs
http://paste.pocoo.org/show/321656/ xmobar
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 17.01.2011 21:46

damex писал(а):
16.01.2011 20:56
XMonad.Util.Run = вот из этого (и ни какого либо другого пакета - будет поломано utf8 ... должно всяко) нужен hPutStrLn для вывода этого дела. мб в этом проблема ...


Вот как прикрутить к своему конфигу hPutStrLn я и не понимаю. Раньше без него обходился, теперь не получается.
Спасибо сказали:

Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Xmonad

Сообщение damex » 18.01.2011 14:42

решил взять и подредактировать конфиги самостоятельно.
вродебы таким должен быть работоспособный вариант.

xmonad.hs
http://paste.pocoo.org/show/322637/

xmobar config

Код: Выделить всё

Config { font = "-Misc-Fixed-*-R-Normal--9-120-75-75-C-70-ISO8859-1"

       , bgColor = "black"
       , fgColor = "green"

       , position = Static { xpos = 0
                           , ypos = 38
                           , width = 1280
                           , height = 17
                           }
       , lowerOnStart = True
       , commands = [ Run StdinReader
                    ]
       , sepChar = "%"
       , alignSep = "}{"
       , template = "%StdinReader%"
       }
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 18.01.2011 16:01

Код: Выделить всё

 xmproc <- spawnPipe "/home/AlexYeCu/.cabal/bin/xmobar" "/home/AlexYeCu/.xmobarrc"


Проблема вот с этой строчкой (xmproc/dong везде обозвал одинаково). Если убрать указание конфига из xmobar, то xmonad.hs нормально собирается, но xmobar при этом пустой: выдаёт сообщения от запускаемого софта, но ни списка воркспейсов, ни заголовков вкладок брацзера не отображает.
Спасибо сказали:

Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Xmonad

Сообщение damex » 20.01.2011 21:24

Код: Выделить всё

myPipe <- spawnPipe "xmobar ~/.xmonad/xmobar"

мой вариант.
у вас соответственно:

Код: Выделить всё

xmproc <- spawnPipe "/home/AlexYeCu/.cabal/bin/xmobar /home/AlexYeCu/.xmobarrc"

или наверное так

Код: Выделить всё

xmproc <- spawnPipe "~/.cabal/bin/xmobar ~/.xmobarrc"
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 20.01.2011 23:54

damex писал(а):
20.01.2011 21:24

Код: Выделить всё

myPipe <- spawnPipe "xmobar ~/.xmonad/xmobar"

мой вариант.
у вас соответственно:

Код: Выделить всё

xmproc <- spawnPipe "/home/AlexYeCu/.cabal/bin/xmobar /home/AlexYeCu/.xmobarrc"

или наверное так

Код: Выделить всё

xmproc <- spawnPipe "~/.cabal/bin/xmobar ~/.xmobarrc"


Код: Выделить всё

$ ghc .xmonad/xmonad.hs

.xmonad/xmonad.hs:695:0:
    The last statement in a 'do' construct must be an expression


Как раз на этой самой строчке.
Спасибо сказали:

Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Xmonad

Сообщение damex » 21.01.2011 03:47

мои познания в хаскеле скудны (~0) и телепатией я не владею =_+
может быть будет пошарен конфиг с которым выдается это сообщение?
потомучто указанная в ошибке строчка (пройдясь по тому что я правил) - не соответствует тому что имеем.
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 21.01.2011 11:44

damex писал(а):
21.01.2011 03:47
мои познания в хаскеле скудны (~0) и телепатией я не владею =_+
может быть будет пошарен конфиг с которым выдается это сообщение?
потомучто указанная в ошибке строчка (пройдясь по тому что я правил) - не соответствует тому что имеем.


Дык уже расшарил же.
дубль два
А haskell я и сам не знаю, увы. И учить как-то повода нет (если только ради xmonad).
Спасибо сказали:

Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Xmonad

Сообщение damex » 21.01.2011 18:46

както так должно быть поидее http://pastebin.com/b5ciFHBD
=/
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 22.01.2011 10:38

damex писал(а):
21.01.2011 18:46
както так должно быть поидее http://pastebin.com/b5ciFHBD
=/


Да бесполезно. С учётом того, что haskell мы оба не знаем, решить проблему врядли удастся.
Спасибо сказали:

Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Xmonad

Сообщение damex » 22.01.2011 14:24

тогда лучше тогда уж пожаловать на #xmonad или #haskell на irc.freenode.net :)
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 29.01.2011 12:14

damex писал(а):
22.01.2011 14:24
тогда лучше тогда уж пожаловать на #xmonad или #haskell на irc.freenode.net :)



Подсказали, что есть вот такой вот этого..

Но я так и не понял, как его заставить с dynamicLog работать.
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 31.05.2011 16:41

Наткнулся на странный баг:
после обновления чего-то (не сразу заметил, такч что не могу сказать, xmonad или gimp виноват), стал проявляться раздражающий баг: если в gimp`е вызвать диалог, ткнув вакомовским стилусом в нужный пункт, то диалог с высокой вероятностью не будет реагировать на стилус и мышь. С мышью таких проблем нет. Прописано так:

Код: Выделить всё

gimp = withIM (0.16) (Role "gimp-toolbox") $
             reflectHoriz $
           withIM (0.16) (Role "gimp-dock") (windowNavigation (OneBig (3/4) (3/4)))

Код: Выделить всё

onWorkspace "graph" (gimp ||| minimize(maximize(windowNavigation(OneBig (5/6) (4/5))))) $

reflectHoriz не виноват, layout центральной области тоже.
На других раскладках фреймов не проявляется, если переключиться на другой ворксейс и вернуться, то вызванный при помощи стилуса диалог «отмерзает».
Собственно, кто сталкивался, как решил, есть ли другой способ прописать gimp так, чтобы инструменты были узкой колонкой слева, слои — узкой колонкой справа, а в центре — редактируемое окно (OneBig, Full — неважно).

UP:
1. в окне не реагируют текстовые поля и ползунки, радиокнопки реагируют.
2. Баг проявляется в режимах «экран» и «окно», если для стилуса выбран вариант «выключен» — баг не проявляется.
3. Если увести стилусом курсор с диалогового окна и вернуть, то окно становится полностью активным (частный случай — переключение десктопа).
Спасибо сказали:

Аватара пользователя
zhekas
Сообщения: 60
ОС: Gentoo

Re: Xmonad

Сообщение zhekas » 26.10.2011 20:15

Здравствуйте. Можно ли в при появлении определённого окна запустить скрипт

пробовал в ManageHook

Код: Выделить всё

--    , className =? "Gimp"           --> spawn "/bin/bash /home/zheka/script.sh 1"


выдаёт ошибку
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 27.10.2011 11:49

Код: Выделить всё

fromX :: X () -> ManageHook
fromX op = fromWindowOp $ const op

fromWindowOp :: (Window -> X()) -> ManageHook
fromWindowOp fn = ask >>= \w -> liftX (fn w) >> doF id


Код: Выделить всё

, className =? "Gimp"           --> fromX (spawn "...")


как-то так.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

e7z0x1
Сообщения: 6

Re: Xmonad

Сообщение e7z0x1 » 11.12.2011 21:03

При перебросе окна на другой воркспейс активируется не то, которое было до его включения, а непойми какое. Например такая фигня происходит при активации\деактивации скратчпада. Вообще как можно управлять какое окно попадет в фокус, какое видно, а какое нет, например и тп? То есть понятно что через stackset, но не понятно как. Может кто-то примером поделится?

Конфиг прилагаю: http://pastebin.com/3cqm5EKQ
Спасибо сказали:

Аватара пользователя
ATWA
Сообщения: 7
ОС: Arch Linux

Re: Xmonad

Сообщение ATWA » 16.03.2012 20:37

Всем доброго времени суток!
Продублирую из арчфорума, надеюсь здесь помогут. :rolleyes:
Итак, несколько вопросов (проблем) по xmonad:
1. Плавающие окна при запуске в основном появляются в левом верхнем углу и перекрывают собой xmobar (в идеале хотелось бы так же в левом верхнем, но пониже xmobar'а).
2. Никак не выходит развернуть Oper'у на весь экран по F11 - xmobar остаётся.
3. Плавающие окна при разворачивании на весь экран (к примеру, Viewnior) и затем выходе из полноэкранного режима теряют свой статус плавающего и занимают место в текущей компоновке.
4. При попытке напечатать что-нибудь кириллицей в shellPrompt xmonad виснет намертво.

И мой текущий конфиг:
http://pastebin.com/Q850AfX5
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 17.03.2012 08:40

1. XMonad.Layout.CenterFloat, например.
2. X.L.NoBorders (smartBorders)
4. Вроде где-то что-то такое я читал. Попробуйте xmonad и xmonad-contrib из darcs, авось уже исправили. Или поищите по багтрекеру.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

Аватара пользователя
ATWA
Сообщения: 7
ОС: Arch Linux

Re: Xmonad

Сообщение ATWA » 17.03.2012 20:28

Portnov, благодарю за ответ, но вопросы ещё остались.. :)
1. XMonad.Layout.CenterFloat вот здесь не удалось найти.
2. XMonad.Layout.NoBorders, как я понимаю, служит для удаления рамки, что не совсем то. В любом случае, smartBorders в моём конфиге присутствует и со своей задачей справляется.
4. xmonad-darcs из AUR удалось мне собрать, а вот xmonad-contrib-darcs не вышло, но это уже специфика дистрибутива.
3. А по этому пункту ничего не можете подсказать?
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 17.03.2012 21:36

1. Ошибочка вышла, doCenterFloat в XMonad.Hooks.ManageHelpers.
2. А, теперь понял что надо. import XMonad.Hooks.ManageDocks. sendMessage ToggleStruts.
3. Такого я не наблюдал, так что слабо представляю, в чём там проблема — может быть, в самом приложении, на самом деле. Ничего умнее, в голову не приходит, чем повесить на какую-нибудь кнопку выполнение по очереди двух действий: возврат из полноэкранного режима и doFloat.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

Аватара пользователя
ATWA
Сообщения: 7
ОС: Arch Linux

Re: Xmonad

Сообщение ATWA » 18.03.2012 05:43

1. doCenterFloat, насколько я понял, предполагает написание правил, что для каждого плавающего окна сделать нереально (точнее неразумно). А вот что я откопал: XMonad.Hooks.Place. Таки да, с этим расширением плавающие окна не перекрывают статусбар. В xmonad.hs добавил:

Код: Выделить всё

import XMonad.Hooks.Place
...
myManageHook = placeHook (withGaps (14,0,14,0) simpleSmart) <+> ...
Этот вопрос решён, что уже радует. :)

P.S. Рано радовался. При таком раскладе vlc не выполняется в полный экран (и флеш в браузере, кстати, тоже). Вот как оно:
Изображение Всё-таки интересная штука этот xmonad!
2. У меня в дефолтном конфиге есть такая строчка:

Код: Выделить всё

-- , ((modm              , xK_b      ), sendMessage ToggleStruts)
По умолчанию она закомментирована. Да, при нажатии mod + b статусбар исчезает с экрана - это понятно. Но это же лишние телодвижения: развернул Oper'у (F11), затем скрыл статусбар (mod + b). Тот же Firefox по F11 входит в полноэкранный режим так как и положено, перекрывая собой всё пространство, вот только с Oper'ой беда..
3. В приложении проблема вряд ли, их слишком много для случайности (vlc, gnome-mplayer, evince, firefox и другие). Видимо баг (или фича) xmonad'а.

Portnov писал(а):
17.03.2012 21:36
повесить на какую-нибудь кнопку выполнение по очереди двух действий: возврат из полноэкранного режима и doFloat
Можно про это поподробнее, как такое реализовать?
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 18.03.2012 09:10

Поковыряйте XMonad.Layout.Fullscreen.

ATWA писал(а):
18.03.2012 05:43
Можно про это поподробнее, как такое реализовать?


ну, как-нибудь так:

Код: Выделить всё

withFocused float >> spawn "xdotool key F11"


(требует установки xdotool, создаёт процесс при нажатии кнопки). Или так:

Код: Выделить всё

import Graphics.X11.XTest

xSendKey :: KeySym -> X ()
xSendKey key = withDisplay $ \dpy -> io $ sendKey dpy [] key

...
withFocused float >> xSendKey xK_F11


(требует установки пакета http://hackage.haskell.org/package/xtest)

Оба варианта как-то через одно место... Может, всё-таки X.L.Fullscreen поможет?
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

Аватара пользователя
ATWA
Сообщения: 7
ОС: Arch Linux

Re: Xmonad

Сообщение ATWA » 18.03.2012 10:04

Portnov, окей, спасибо, буду думать..
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 12.05.2012 18:05

Есть строки вида

Код: Выделить всё

, title =? "Добавление 2 файлов" --> doFloat
, title =? "Добавление 3 файлов" --> doFloat
,title =? "Добавление 4 файлов" --> doFloat

и т.д.

Как бы их объединить в одну? Чтобы по выражению "Добавление * файлов" срабатывало?
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 12.05.2012 18:56

Код: Выделить всё

import Text.Regex.PCRE -- или любую другую библиотеку regex-ов, какая больше нравится

...

(~?) :: Query String -> String -> Query Bool
q ~? x = fmap (=~ x) q

...

, title ~? "Добавление .* файлов" --> doFloat


Есть, правда, подозрение, что функция (~?) уже где-нибудь в xmonad-extras есть, можете посмотреть — если есть, можно её импортировать, чтобы не копипастить.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

Аватара пользователя
AlexYeCu
Сообщения: 1103
ОС: fedora

Re: Xmonad

Сообщение AlexYeCu » 30.05.2012 11:52

Такое чувство, что я что-то не учёл. Кто-нибудь кроме меня пользуется dolphin и xmonad? Поделитесь правилами для диалогов, коль не жалко.
Спасибо сказали:

Аватара пользователя
Yaros
Сообщения: 500
ОС: Debian Wheezy / Gentoo

Re: Xmonad

Сообщение Yaros » 01.06.2012 21:01

Вопрос такой: можно сделать подсветку активного окна разными цветами, в зависимости от раскладки?
Например, открываю окно, если печатаю на русском, оно красное, если на английском - зеленое?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 01.06.2012 21:15

Теоретически можно, ещё заодно сделать учёт раскладок самим xmonad-ом (было уже в этой теме). Но для изменения цвета рамки надо core патчить, там на эту тему довольно тупой код.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

Аватара пользователя
Yaros
Сообщения: 500
ОС: Debian Wheezy / Gentoo

Re: Xmonad

Сообщение Yaros » 01.06.2012 21:25

Portnov писал(а):
01.06.2012 21:15
Теоретически можно, ещё заодно сделать учёт раскладок самим xmonad-ом (было уже в этой теме). Но для изменения цвета рамки надо core патчить, там на эту тему довольно тупой код.

Патчить не осилю =( имеет смысл писать фичреквест разработчикам?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Xmonad

Сообщение Portnov » 02.06.2012 08:37

Напишите, чего ж нет.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали: