Автор Гілка: xmonad і краплі для очей.  (Прочитано 6101 раз)

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Награвся KDE4 і взявся за xmonad. Проблема в тому, що я не не знаю Haskell, але пан Чепляка писав, що, в принципі, знати і не треба. Окрім цього я почитав XMonad.Doc.Extending, Template xmonad.hs, John Goerzen's Configuration та dying_sphynx's xmonad config.
В результаті цього мої руки породили ось це:
import XMonad

main = xmonad defaultConfig

import XMonad.Util.EZConfig(additionalKeysP)
import qualified XMonad.StackSet as W
import qualified Data.Map as M

modMask = mod4Mask

myKeys = [("M1-<F4>", kill)
         ,("M-h", spawn "xmessage 'Wow, it is works'")
         ,("M-m", spawn "firefox")
         ,("M-w", spawn "wvdial")
         ]

myConfig additionalKeysP myKeys

--myLayout = tiled ||| Mirror tiled ||| Full
--  where
--    tiled = Tall nmaster delta ratio
--    nmaster = 1
--    ratio = 1/2
--    delta = 3/100

--myWorkspaces = ["files","web","im","console"] ++ map show [5..9]

defaults = defaultConfig {
terminal = "xterm",
modMask = myModMask,
--workspaces = myWorkspaces,
keys = myKeys
--layoutHook = myLayout,
--manageHook = myManageHook,
--logHook = myLogHook,
--startupHook = myStartupHook
}
Але компілюватися воно не хоче - постійно скаржиться на невідповідність типів і т. д.
xmonad.hs:25:0: parse error (possibly incorrect indentation)
Типу цього.
P.S. Raven, ви задоволені? Я читаю англомовні доки і пишу (поки-що неуспішно) великі конфіги. З вас - ящик "Візину".
« Змінено: 2008-11-17 22:13:37 від Piktor »
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Praporshic

  • Гість
Re: xmonad і краплі для очей.
« Відповідей #1 : 2008-11-17 22:19:56 »
Off-topic:
Ну ось. Ще одна людина перетворилась на IT-фахівця.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #2 : 2008-11-17 22:26:06 »
Off-topic:
Ну ось. Ще одна людина перетворилась на IT-фахівця.
Перетворюється. Пора-б уже, років зо два з Лінуксом, більше року на ЛОУ, аж цілий загальний модератор, соромно якось задавати питання типу як змінити іконку kmenu.  :-[
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle
Re: xmonad і краплі для очей.
« Відповідей #3 : 2008-11-18 03:37:16 »
Ну ви б, може, доку по additionalKeysP прочитали, перед тим як його смикати? Перший лінк в гуглі з прикладом... до речі, у прикладі за вашим останнім лінком воно правильно використовується.

І кодоконвешени! А-а-а!!

import XMonad

import XMonad.Util.EZConfig

defaults = defaultConfig {
    terminal           = "xterm",
    modMask            = mod4Mask
}

main = xmonad $ defaultConfig
                `additionalKeysP`
                [ ("M1-<F4>", kill)
                , ("M-h", spawn "xmessage 'Wow, it works'")
                , ("M-m", spawn "firefox")
                , ("M-w", spawn "wvdial")
                ]

Компілюється, принаймні. Хз, як працюватиме.

Для довідки: іксмонадом не користувався, хаскель знаю фігово. З питаннями "а шо, а куди" не приставати=)

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle
Re: xmonad і краплі для очей.
« Відповідей #4 : 2008-11-18 03:42:01 »
Шизануться. Звідки в коді таби взялись?

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #5 : 2008-11-18 17:57:52 »
Шизануться. Звідки в коді таби взялись?
Не ставив. І ви теж ні. Значить YaBB Хуліганить.
Еммм. А ще воно лаялося на myWorkspaces, я їх просто лишив закоментованими, щоб одночасно розбиратися лише з однією проблемою.
Про additionalKeysP додатково нічого не читав, намагався писати "як в прикладах", в т. ч. використовуючи готовий конфіг. Якщо читати - то треба курити весь haskell.org на предет вивчення мови.
« Змінено: 2008-11-18 17:59:55 від Piktor »
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle
Re: xmonad і краплі для очей.
« Відповідей #6 : 2008-11-18 19:24:50 »
Не ставив. І ви теж ні. Значить YaBB Хуліганить.
Угу. Але зауваження про кодоконвеншени залишається в силі. Можна ж було хоча б почистити код від зайвих коментарів перед тим, як викладати його на публіку.

Еммм. А ще воно лаялося на myWorkspaces, я їх просто лишив закоментованими, щоб одночасно розбиратися лише з однією проблемою.
Про additionalKeysP додатково нічого не читав, намагався писати "як в прикладах", в т. ч. використовуючи готовий конфіг. Якщо читати - то треба курити весь haskell.org на предет вивчення мови.
Раджу знайти собі якийсь красивий конфіг і акуратно передирати його під себе, а не писати новий. Тоді завжди знаєш, що зробив не так.

До речі, там є ще інший спосіб призначення клавіш, без xmonad-contrib. В доках воно описано. Судячи з тих же доків, хаскель знати необов'язково, але непогано, для користування цим чудом.

До речі, dying_sphynx запускає xmonad разом з xmobar, здається, це має бути справді зручно.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #7 : 2008-11-18 20:00:05 »
До речі, dying_sphynx запускає xmonad разом з xmobar, здається, це має бути справді зручно.
Та я теж так думаю. От тільки не в'їхав - xmobar ставиться окремо, чи є в комлпекті? Бо на dzen бачив окремого пакета в репозиторії.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle
Re: xmonad і краплі для очей.
« Відповідей #8 : 2008-11-18 20:02:08 »
До речі, dying_sphynx запускає xmonad разом з xmobar, здається, це має бути справді зручно.
Та я теж так думаю. От тільки не в'їхав - xmobar ставиться окремо, чи є в комлпекті? Бо на dzen бачив окремого пакета в репозиторії.
Окремо - http://code.haskell.org/~arossato/xmobar/

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #9 : 2008-11-19 21:18:27 »
Окремо - http://code.haskell.org/~arossato/xmobar/
piktor@numberworker:~/xmobar$ runhaskell Setup.lhs configure --flags="with_xft"
Configuring xmobar-0.9...
Setup.lhs: At least the following dependencies are missing:
    X11-xft >=0.2, parsec -any, stm -any
piktor@numberworker:~/xmobar$
:(
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #10 : 2008-11-19 22:18:10 »
import XMonad

import XMonad.Util.EZConfig

defaults = defaultConfig {
    terminal           = "xterm",
    modMask            = mod4Mask
}

main = xmonad $ defaultConfig
                `additionalKeysP`
                [ ("M1-<F4>", kill)
                , ("M-h", spawn "xmessage 'Wow, it works'")
                , ("M-m", spawn "firefox")
                , ("M-w", spawn "wvdial")
                ]
Маленька корекція до вашого коду. Секція defaults = defaultConfig не працювала, а все тому, що в main вона не враховувалася. Я написав:
main = xmonad & defaults
Запрацювало, клавішею-модифікатором стала win, а терміналом - xterm.
P.S. Сусіди вже двічі викликали пожежників, помітивши підозрілий дим з моєї оселі. Скоро викликатимуть карету швидкої, почувши бубен посеред ночі  :)
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #11 : 2008-11-23 13:49:39 »
О! Нарешті запрацювало.
1 - Щось у дошку "Прикладні програми" ніхто не пише, після того, як я сюди вписав про xmonad. Розлякав усіх.
2 - Нагадайте хто-небуть, як робити скріншоти консольною командою? Треба-ж в "Галерею" щось скинути.
3 - Адміністраторе, приведіть будь-ласка колір зірочок над моїм аватаром у відповідність до кольору моїх очей.  ::)
4 - KDE4 якось знесу на дозвіллі.
5 - 17" монітор став таким великим - скільки всього поміщається.
6 - Як не полінуюся - детально прокоментую свій конфіг і викладу в паблік - може хтось захоче теж спробувати.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle
Re: xmonad і краплі для очей.
« Відповідей #12 : 2008-11-23 15:30:16 »
2 - Нагадайте хто-небуть, як робити скріншоти консольною командою? Треба-ж в "Галерею" щось скинути.
import -window root scr.png

Даю наступний хінт - zsh.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: xmonad і краплі для очей.
« Відповідей #13 : 2008-11-23 18:57:25 »
import -window root scr.png
Даю наступний хінт - zsh.
Я ще з цим не до кінця розібрався - тут вистачить надовго. Зробіть краще добру справу - напишіть скрипт, який робить цією командою скріншот, але автоматично вибирає неіснуюче ім'я файлу. Наприклад, якщо є snap002.png. то новий найменує snap003 і так далі.
А, іще треба заміна таким копитним програмам: k3b, kcalc. Калькулятор бажано повноцінний - з інженерними та статистичними додатками та обрахунком чисел з експонентою.
« Змінено: 2008-11-23 19:22:00 від Piktor »
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle
Re: xmonad і краплі для очей.
« Відповідей #14 : 2008-11-23 21:51:29 »
Я ще з цим не до кінця розібрався - тут вистачить надовго. Зробіть краще добру справу - напишіть скрипт, який робить цією командою скріншот, але автоматично вибирає неіснуюче ім'я файлу. Наприклад, якщо є snap002.png. то новий найменує snap003 і так далі.
Ліниво. Не простіше ставити дату як індекс? Тоді нічого не буде затиратись.

a=snap`date +%G%m%k%M%S`.png; [ -f $a ] || import -window root $a

А, іще треба заміна таким копитним програмам: k3b, kcalc. Калькулятор бажано повноцінний - з інженерними та статистичними додатками та обрахунком чисел з експонентою.
k3b - mkisofs+growisofs+cdrecord
kcalc - python/perl/haskell/whatever

ЗІ А кому легко?