Rating@Mail.ru
IPB
Etersoft - from Windows to Linux
Etersoft
решения для перехода
с Windows на Linux
Дружественные сайты: alv.me и Rus-Linux.net

Здравствуйте, гость ( Вход | Регистрация ) Поиск · 

10 страниц V  « < 5 6 7 8 9 > »   
Reply to this topic Start new topic
> Xmonad, Вопросы и обсуждение
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Jan 26 2010, в 20:48
Сообщение #181


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

Цитата(Portnov @ Jan 26 2010, в 21:50) *
Вот примерно так, если интересно: http://dumpz.org/16374/

Да, при таком раскладе баг с «замораживанием» фрейма себя не проявляет, спасибо.

Up: проявляет, но реже
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Feb 11 2010, в 20:19
Сообщение #182


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

А вот что ещё заметил: xmobar не дружит с mplayer. Валится сама и его утягивает за собой, есть подозрение, что xmobar не может правильно обработать какую-то строчку, получаемую через xlog…
Кто-то сталкивался?
И такой вопрос: есть возможность выводить на xmobar только и исключительно информацию о текущем воркспейсе (либо всех воркспейсах), а не как по умолчанию — 3-4 воркспейса включая текущий по непонятному принципу и информацию о текущей раскладке? Помимо прочего это должно ещё отсечь наиболее подозрительную в плане парсинга часть xlog`а.
Про dynamicLogWithPP читал, но разобрался только с цветами-шрифтами и сигналами от воркспейсов.
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Feb 15 2010, в 14:38
Сообщение #183


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

Можно ли управлять xmonad из консоли? Т.е. консольными командами закрывать окна, перемещать их по воркспейсам, самому по воркспейсам скакать? Столкнулся с тем, что easystroke в fedora12 не может передать сочетания клавиш дальше, олько команды. Вот ищу решения...
Go to the top of the page
 
+Quote Post
Portnov
bookmark
gyfbbdvkffmrljmmmwd
Feb 15 2010, в 20:30
Сообщение #184


Матёрый линуксоид
Иконка группы

Сообщений: 1785

Вставить имя   :   Цитата

ОС: Debian testing/unstable
Город: Магнитогорск

Группа: Модераторы разделов

См. доку к XMonad.Hooks.ServerMode.


--------------------
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Go to the top of the page
 
+Quote Post
landgraf
bookmark
gyfbbdvkffmrljmmmwd
Mar 3 2010, в 08:21
Сообщение #185


*бунту ненавистник
Иконка группы

Сообщений: 2138

Вставить имя   :   Цитата

ОС: linux
Город: Пивнушка

Группа: Участники

Цитата(landgraf @ 17th December 2009 - в 17:00) *
Продолжаю мучаться с ICAclient (Citrix) под tiling WM. В сабже дочерние окошки клиента (меню и все окна вроде "открыть" "настройки" и т.п.) открываются в левом верхнем углу размером в 1 пиксель. Во fluxbox работает нормально. simpleFloat layout делал, не помогает

Продолжение: для большинства Java приложений (Maple, Netbeans) помогла установка wmname и запуск "wmname LG3D", ICAClient по прежнему сопротивляется :(


--------------------
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Mar 19 2010, в 23:41
Сообщение #186


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

Цитата(landgraf @ Mar 3 2010, в 10:21) *
для большинства Java приложений (Maple, Netbeans) помогла установка wmname и запуск "wmname LG3D", ICAClient по прежнему сопротивляется sad.gif

Я бы посоветовал Xnest с box`ом внутри.

Каким образом можно увеличить количество воркспейсов в xmonad с дефолтных 9 до, скажем, 12? Ну и хоткеи навесить, ясное дело. alt+0, alt+- alt+= (к примеру). Никому не попадался готовый конфиг?
Go to the top of the page
 
+Quote Post
landgraf
bookmark
gyfbbdvkffmrljmmmwd
Mar 24 2010, в 11:04
Сообщение #187


*бунту ненавистник
Иконка группы

Сообщений: 2138

Вставить имя   :   Цитата

ОС: linux
Город: Пивнушка

Группа: Участники

AlexYeCu
Xnest это хорошо, но как победить отваливание с такой ошибкой:
Код
XIO:  fatal IO error 11 (Ресурс временно недоступен) on X server ":5.0"
      after 39026 requests (39025 known processed) with 0 events remaining.
xinit:  connection to X server lost


--------------------
Go to the top of the page
 
+Quote Post
babun
bookmark
gyfbbdvkffmrljmmmwd
Mar 26 2010, в 00:49
Сообщение #188


Прохожий
Иконка группы

Сообщений: 5

Вставить имя   :   Цитата

ОС: Gentoo Linux
Город: Waterloo

Группа: Участники

ежели кому интересно: сделал нормальную запоминалку переключалок раскладки

http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24371

положить в ~/.xmonad/lib/XMonad/Layout/XKBLayout.hsc, прогнать через hsc2hs, следовать инструкции из хидера. xxkb можно оставить в качестве индикатора. Требует заголовочных файлов от иксов в системе.

Не знаю, стоит ли это посылать в contrib..

PS пытался проанонсировать на xmonad@c.j.r, там как раз кто-то сильно такое хотел - но не смог продраться через "систему защиты". Сколько капчи не вводи - визиторам на канале ничего не сказать.

апдейт: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24417
в общем, дальнейшее событие развитий - в мейл листе.


Спасибо сказали:
DiS,
Go to the top of the page
 
+Quote Post
DiS
bookmark
gyfbbdvkffmrljmmmwd
Mar 30 2010, в 15:27
Сообщение #189


Завсегдатай
Иконка группы

Сообщений: 296

Вставить имя   :   Цитата

ОС: Gentoo

Группа: Участники

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

Цитата(babun @ 26th March 2010 - в 00:49) *
дальнейшее событие развитий - в мейл листе

простите за возможно глупый вопрос, но, что именно Вы имели ввиду?


--------------------
Если правильно задать вопрос, то он сам по себе будет ответом.
Go to the top of the page
 
+Quote Post
Portnov
bookmark
gyfbbdvkffmrljmmmwd
Mar 30 2010, в 20:04
Сообщение #190


Матёрый линуксоид
Иконка группы

Сообщений: 1785

Вставить имя   :   Цитата

ОС: Debian testing/unstable
Город: Магнитогорск

Группа: Модераторы разделов

DiS
http://blog.gmane.org/gmane.comp.lang.haskell.xmonad

Вообще, интересующимся текущей разработкой xmonad могу посоветовать следить за развитем событий там :)


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


Спасибо сказали:
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Apr 3 2010, в 08:50
Сообщение #191


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

Можно как-то заставить xmonad не путать win-клавиши?
У меня на левоq Win — Super, на правой Multi_key. Всё работает нормально, кроме одного момента: если на Super(левый win) навесить хоткей, например, Super_L+x, то набрать последовательность Multi_key+x+x уже не получится — будет обрабатываться хоткей.

Как вообще сделать, чтобы xmonad не проявляла излишнюю самостоятельность, а считала левый и правые win/alt клавиши разными?

Код
$ xmodmap
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        ISO_Next_Group (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Multi_key (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)


Наезд на xmonad не по делу, это всё нововведения F12. Будем править…
Go to the top of the page
 
+Quote Post
ProFfeSsoRr
bookmark
gyfbbdvkffmrljmmmwd
May 14 2010, в 21:02
Сообщение #192


Новичок
Иконка группы

Сообщений: 16

Вставить имя   :   Цитата

ОС: Arch
Город: Новосибирск

Группа: Участники

Подскажите пожалуйста. Xmonad и прочее из darcs. Есть 2 монитора, стоит xcompmgr. неактивные окна делаются прозрачными. Как сделать, чтобы, если мышь перешла на другой монитор, то предыдущее окно не становилось прозрачным? Как вариант менее желательный - вообще отключить прозрачность неактивным окнам на втором мониторе. Мой конфиг:
Код
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeSynonymInstances, FlexibleContexts, NoMonomorphismRestriction #-}
import XMonad
import qualified XMonad.StackSet as W -- to shift and float windows
import Data.Ratio
import qualified Data.Map as M
import XMonad.Actions.CycleWS
import XMonad.Actions.WindowGo
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.FadeInactive
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.SetWMName
import XMonad.Layout.Grid
import XMonad.Layout.LayoutModifier
import XMonad.Layout.PerWorkspace
import XMonad.Layout.LayoutCombinators hiding ( (|||) )
import XMonad.Layout.IM
import XMonad.Layout.IndependentScreens
--import XMonad.Layout.ShowWName
import XMonad.Util.EZConfig
import XMonad.Util.Run
import XMonad.Util.WindowProperties
import Control.Monad
import Graphics.X11.ExtraTypes.XF86
import Foreign.C.Types

-- Взять значение свойства окна
getProp :: Atom -> Window -> X (Maybe [CLong])
getProp a w = withDisplay $ \dpy -> io $ getWindowProperty32 dpy a w
-- Эта функция проверяет, выставлено ли свойство окна name в значение value
checkAtom name value = ask >>= \w -> liftX $ do
          a <- getAtom name
          val <- getAtom value
          mbr <- getProp a w
          case mbr of
            Just [r] -> return $ elem (fromIntegral r) [val]
            _ -> return False
-- Эта функция проверяет, является ли окно диалогом
checkDialog = checkAtom "_NET_WM_WINDOW_TYPE" "_NET_WM_WINDOW_TYPE_DIALOG"
-- Отрывающиеся (tear-off) меню
checkMenu = checkAtom "_NET_WM_WINDOW_TYPE" "_NET_WM_WINDOW_TYPE_MENU"

basicLayout = Mirror tiled where
    tiled = Tall nmaster delta ratio
    nmaster = 1
    delta   = 2/100
    ratio   = 3/7
basicALayout = avoidStruts $ basicLayout
tallLayout = Mirror basicLayout
tallALayout = avoidStruts $ Mirror basicLayout
imLayout = withIMs ratio rosters chatLayout where
    chatLayout      = Mirror Grid
    ratio           = 1%5
    rosters         = [skypeRoster, pidginRoster]
    pidginRoster    = (ClassName "Pidgin") `And` (Role "buddy_list")
    --skypeRoster     = (ClassName "Skype") `And` (Not (Title "Options")) `And` (Not (Role "Chats")) `And` (Not (Title "*чат")) `And` (Not (Role "CallWindowForm"))
    skypeRoster     = (Title "evvproffessorr - Skype™ (Beta)")

myLayoutHook = fullscreen $ iml $ av $ normal where
    normal     = basicLayout ||| basicALayout ||| tallLayout ||| tallALayout ||| Full
    fullscreen = onWorkspace "0_4, 1_4, 0_5, 1_5" Full
    iml         = onWorkspace "0_3" imLayout
    av         = onWorkspace "1_1" basicALayout

manageMenus = checkMenu --> doFloat
manageDialogs = checkDialog --> doFloat

imManageHooks = composeAll . concat $
     [[className =? "Krusader" --> moveTo "0_1"]
     , [className =? "Conky" --> moveTo "1_1"]
    , [className =? "Firefox" --> moveTo "0_2"]
     , [title =? d --> doFloat | d <- myTFloats]
     , [className =? c --> doFloat | c <- myFloats]
     , [className =? a --> moveTo "0_3" | a <- myIMs]
     , [title =? "NCMPC" --> moveTo "1_2"]
     , [title =? "SMPlayer" --> moveTo "0_4"]
     , [className =? "Wine" --> moveTo "0_5"]
     , [title =? "Sun VirtualBox" --> moveTo "0_6"]
     , [className =? b --> doIgnore | b <- myIgnores]
     , [className =? "Basket" --> moveTo "1_9"]
    , [isFullscreen --> (doF W.focusDown <+> doFullFloat)]
     ]
     where
       --moveTo = doF . W.shift
       moveTo = doShift
       myIMs = ["Pidgin", "Skype"]
       myIgnores = ["Qt-subapplication", "Plasma"]
       myFloats = ["KMix", "Gimp-2.6", "Wine"]
       myTFloats = ["Firefox Preferences", "Составление фильтра для Adblock Plus", "Copying", "Moving", "Deleting", "Renaming"]

myManageHook = imManageHooks <+> manageMenus <+> manageDialogs

myLogHook :: X ()
myLogHook = fadeInactiveLogHook fadeAmount
    where fadeAmount = 0.75

-- | Data type for LayoutModifier which converts given layout to IM-layout
-- (with dedicated space for the roster and original layout for chat windows)
data AddRosters a = AddRosters Rational [Property] deriving (Read, Show)

instance LayoutModifier AddRosters Window where
  modifyLayout (AddRosters ratio props) = applyIMs ratio props
  modifierDescription _                = "IMs"

-- | Modifier which converts given layout to IMs-layout (with dedicated
-- space for rosters and original layout for chat windows)
withIMs :: LayoutClass l a => Rational -> [Property] -> l a -> ModifiedLayout AddRosters l a
withIMs ratio props = ModifiedLayout $ AddRosters ratio props

-- | IM layout modifier applied to the Grid layout
gridIMs :: Rational -> [Property] -> ModifiedLayout AddRosters Grid a
gridIMs ratio props = withIMs ratio props Grid

hasAnyProperty :: [Property] -> Window -> X Bool
hasAnyProperty [] _ = return False
hasAnyProperty (p:ps) w = do
    b <- hasProperty p w
    if b then return True else hasAnyProperty ps w

-- | Internal function for placing the rosters specified by
-- the properties and running original layout for all chat windows
applyIMs :: (LayoutClass l Window) =>
               Rational
            -> [Property]
            -> W.Workspace WorkspaceId (l Window) Window
            -> Rectangle
            -> X ([(Window, Rectangle)], Maybe (l Window))
applyIMs ratio props wksp rect = do
    let stack = W.stack wksp
    let ws = W.integrate' $ stack
    rosters <- filterM (hasAnyProperty props) ws
    let n = fromIntegral $ length rosters
    let (rostersRect, chatsRect) = splitHorizontallyBy (n * ratio) rect
    let rosterRects = splitHorizontally n rostersRect
    let filteredStack = stack >>= W.filter (`notElem` rosters)
    wrs <- runLayout (wksp {W.stack = filteredStack}) chatsRect
    return ((zip rosters rosterRects) ++ fst wrs, snd wrs)

myMouseBindings (XConfig {XMonad.modMask = mod4Mask}) = M.fromList $
    [ ((0, 9), (\_ -> toggleWS)),
      ((mod4Mask, button1), (\w -> focus w >> mouseMoveWindow w)),
      ((mod4Mask, button3), (\w -> focus w >> mouseResizeWindow w))
    ]

myWorkspaces = withScreens 2 (workspaces defaultConfig)

main = do
  xmonad $ defaultConfig {
    modMask = mod4Mask
    , layoutHook = myLayoutHook
    , manageHook = myManageHook
    , startupHook = setWMName "LG3D"
    , workspaces = myWorkspaces
    , borderWidth = 0
    , logHook = myLogHook
    , terminal = "urxvt"
    , mouseBindings = myMouseBindings
    }
    `additionalKeysP`
    [ ("M1-<F4>", kill)
    , ("M1-<Tab>", windows W.focusDown)
    , ("M1-S-<Tab>", windows W.focusUp)
     , ("<XF86Explorer>", spawn "urxvt")
     , ("<XF86Launch3>", spawn "urxvt --title NCMPC -e ncmpc -c -m -S")
     , ("<XF86Launch5>", spawn "~/.mpd/playlist.sh")
     , ("<XF86Launch6>", spawn "urxvt -e ssh -p 43434 evv@192.168.0.1")
     , ("<XF86Launch7>", spawn "urxvt -e ssh -p 43434 evv@92.125.142.238")
     --, ("<XF86Launch9>", shiftToPrev)
     , ("<XF86Mail>", toggleWS)
     --, ("<XF86Favorites>", shiftToNext)
     , ("<XF86MenuKB>", windows $ W.view "0_3")
     --, ("S-<XF86MenuKB>", (windows $ W.shift "3") >> (windows $ W.view "3"))
     --, ("C-<XF86MenuKB>", windows $ W.view "6")
     , ("<XF86Sleep>", spawn "sudo pm-suspend")
     , ("<XF86AudioLowerVolume>", spawn "amixer -q set Master 1- unmute")
     , ("<XF86AudioRaiseVolume>", spawn "amixer -q set Master 1+ unmute")
    , ("<XF86AudioMute>", spawn "mpc random")
    , ("<XF86AudioNext>", spawn "mpc next")
    , ("<XF86AudioPrev>", spawn "mpc prev")
    , ("<XF86AudioStop>", spawn "mpc stop")
    , ("<XF86AudioPlay>", spawn "mpc toggle")
     , ("<XF86MyComputer>", spawn "gmrun")
    ]
    `additionalKeysP`
    [("M-" ++ m ++ show k, windows $ onCurrentScreen f i)
     | (i, k) <- zip (workspaces defaultConfig) [1..9]
     , (f, m) <- [(W.greedyView, ""), (W.shift, "S-")]]
Go to the top of the page
 
+Quote Post
minoru-kun
bookmark
gyfbbdvkffmrljmmmwd
May 26 2010, в 13:15
Сообщение #193


Знаток линукса
Иконка группы

Сообщений: 618

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: ННЦ СО РАН

Группа: Участники

Собрал XMonad с Layout.Tabbed (местами не без помощи portnov'а). Хотелось бы решить следующие проблемы:
1. Область экрана разделена на два L.Tabbed при помощи L.LayoutCombinators. Alt-j, Alt-k переключают между всеми окнами сразу. А хотелось бы чтобы только между окнами в данной области.
2. Все окна попадают в верхний Layout, после чего некоторые из них я перетаскиваю при помощи L.WindowNavigation. Хотелось бы, чтобы некоторые окна попадали сразу в нижний в зависимости от их WM_CLASS.
Как такое сделать?
Go to the top of the page
 
+Quote Post
lazhu
bookmark
gyfbbdvkffmrljmmmwd
May 26 2010, в 19:11
Сообщение #194


Интересующийся новичок
Иконка группы

Сообщений: 70

Вставить имя   :   Цитата

ОС: FreeBSD 9-STABLE / clang 3.3

Группа: Участники

Цитата(minoru-kun @ May 26 2010, в 14:15) *
Собрал XMonad с Layout.Tabbed (местами не без помощи portnov'а). Хотелось бы решить следующие проблемы:
1. Область экрана разделена на два L.Tabbed при помощи L.LayoutCombinators. Alt-j, Alt-k переключают между всеми окнами сразу. А хотелось бы чтобы только между окнами в данной области.
2. Все окна попадают в верхний Layout, после чего некоторые из них я перетаскиваю при помощи L.WindowNavigation. Хотелось бы, чтобы некоторые окна попадали сразу в нижний в зависимости от их WM_CLASS.
Как такое сделать?


Попробуйте поиграть вот с этим. Позволяет группировать окна в нескольких лэйаутах в пределах одного воркспейса.
Go to the top of the page
 
+Quote Post
minoru-kun
bookmark
gyfbbdvkffmrljmmmwd
May 27 2010, в 10:36
Сообщение #195


Знаток линукса
Иконка группы

Сообщений: 618

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: ННЦ СО РАН

Группа: Участники

С simpleTabbed работает как-то странно, с Simplest вообще не имеет никакого эффекта, а Tall не хочу.
Go to the top of the page
 
+Quote Post
Celebiaril
bookmark
gyfbbdvkffmrljmmmwd
Jul 22 2010, в 03:12
Сообщение #196


Прохожий
Иконка группы

Сообщений: 2

Вставить имя   :   Цитата

Группа: Участники

Не работает оповещение активности (urgency) с psi/vacuum, при этом работает с urxvt и gajim. Также работает с psi в awesome.
Возможно ли как-то прикрутить?
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Sep 3 2010, в 12:48
Сообщение #197


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

А решил кто-нибудь проблему с диалогами OpenOffice.org? Со сменой фокуса и мерцанием окон диалогов?

Код
export SAL_USE_VCLPLUGIN=gen


не работает, увы…
Go to the top of the page
 
+Quote Post
ezrgzx
bookmark
gyfbbdvkffmrljmmmwd
Sep 8 2010, в 17:06
Сообщение #198


Прохожий
Иконка группы

Сообщений: 1

Вставить имя   :   Цитата

ОС: Arch Linux

Группа: Участники

Прошу помочь разобраться с одной проблемой.

Хочу прикрутить прозрачность к xterm средствами transset-df. Однако при использовании дополнения FadeInactive, когда окно xterm'a становится неактивным, прозрачность пропадает. Пока обхожусь rxvt-unicode, но он частенько намертво падает и тормозит с xft-шрифтами. Измаялся уже весь, гугление ничего внятного не дает.
Go to the top of the page
 
+Quote Post
B0BaH
bookmark
gyfbbdvkffmrljmmmwd
Oct 10 2010, в 20:22
Сообщение #199


Интересующийся новичок
Иконка группы

Сообщений: 85

Вставить имя   :   Цитата

ОС: Gentoo и Ubuntu )
Город: ?????

Группа: Участники

Всем доброго времени суток, недавно поставил xmonad понравилось! Вот только возникли некоторые вопросы:

1) Можно ли xmonad настроить так чтобы для каждого рабочего стола была своя компановка? (если можно то так) например рабочий стол №1 tiled рабочий стол №2 circle
2) Как сделать так чтобы некоторый класс приложений открывался ТОЛЬКО на заданном рабочем столе? например pidgin и skype открывались бы только на рабочем столе номер 2....firefox transmission и тому подобное только на рабочем столе 1, vim и прочая нечисть открывались на 3 рабочем столе, и так далее!!

пытался 2 сделать как написано вот тут , то есть добавить в xmonad.hs следующее
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, className =? "feh" --> doFloat
, className =? "Pidgin" --> moveTo "im"
, className =? "Firefox-bin" --> moveTo "web"
, className =? "Emacs" --> moveTo "emacs"
, className =? "Epdfview" --> moveTo "read"
, className =? "Eclipse" --> moveTo "dev"
, className =? "VirtualBox" --> moveTo "win"
]
where moveTo = doF . W.shift

но ничего не вышло, только лишь перестали реагировать комбинации клавиш и пропала панелька гнома...
Go to the top of the page
 
+Quote Post
diesel
bookmark
gyfbbdvkffmrljmmmwd
Oct 10 2010, в 20:32
Сообщение #200



Иконка группы

Сообщений: 5989

Вставить имя   :   Цитата

ОС: OS X, openSuSE, ROSA, Debian
Город: Одесса, Украина

Группа: Модераторы разделов

Цитата(B0BaH @ Oct 10 2010, в 20:22) *
Всем доброго времени суток, недавно поставил xmonad понравилось! Вот только возникли некоторые вопросы:

1) Можно ли xmonad настроить так чтобы для каждого рабочего стола была своя компановка? (если можно то так) например рабочий стол №1 tiled рабочий стол №2 circle

да.
Код
import XMonad.Layout.PerWorkspace    
.....
                                                                                                                                  
myLayout =  windowArrange $ avoidStruts $ fixFocus $
    onWorkspace "a:chat" myIM $                                                                                                                                          
    onWorkspace "e:term" ( mytabs |||  magicFocus( centerMaster mytabs ) ||| TwoPane (3/100) (1/2) ||| Grid) $
    onWorkspace "l:mail" mytabs $
    onWorkspace "w:webs" ( mytabs ||| Accordion ||| TwoPane (3/100) (1/2)  ||| Circle ||| noBorders Full ) $
    onWorkspace "v:virt" mouseResizableTile $
    noBorders Full
.....


Цитата(B0BaH @ Oct 10 2010, в 20:22) *
2) Как сделать так чтобы некоторый класс приложений открывался ТОЛЬКО на заданном рабочем столе? например pidgin и skype открывались бы только на рабочем столе номер 2....firefox transmission и тому подобное только на рабочем столе 1, vim и прочая нечисть открывались на 3 рабочем столе, и так далее!!


У меня вот так(последние два кажется не работают):
Код
import qualified XMonad.StackSet as W                                                                                                                                    
.....
myWorkspaces =  [ "a:chat", "e:term", "l:mail", "w:webs", "m:mix", "v:virt" ]
.....
myManageHook = manageDocks <+>manageMenus<+>manageDialogs<+>composeAll
    [ className =? "MPlayer"            --> doFloat
    , className =? "Gimp"               --> doFloat
    , resource  =? "desktop_window"     --> doIgnore
    , resource  =? "kdesktop"           --> doIgnore
    , className =? "Pidgin"             --> doF(W.shift "a:chat")
    , className =? "Iceweasel"          --> doF(W.shift "w:webs")
    , className =? "Chromium-browser"   --> doF(W.shift "w:webs")
    , className =? "Icedove"            --> doF(W.shift "l:mail")
    , className =? "Gnome-terminal"     --> doF(W.shift "e:term")
    , className =? "xine"           --> (ask >>= \w -> liftX (toggleBorder w) >> doCenterFloat)
    , className =? "Vlc"            --> (ask >>= \w -> liftX (toggleBorder w) >> doCenterFloat)]
Go to the top of the page
 
+Quote Post
B0BaH
bookmark
gyfbbdvkffmrljmmmwd
Oct 10 2010, в 22:10
Сообщение #201


Интересующийся новичок
Иконка группы

Сообщений: 85

Вставить имя   :   Цитата

ОС: Gentoo и Ubuntu )
Город: ?????

Группа: Участники

насколько я понял:

для решения 1 я добавил следующее

Код
myWorkspaces    = ["1:web","2:im","3:term","4","5","6","7","8","9"]
myLayout = onWorkspace "1:web" (Circle ||| Full)

но вываливается с ошибкой:
Код
xmonad --recompile
xmonad.hs:16:23:
    Couldn't match expected type `GHC.Word.Word64'
           against inferred type `PerWorkspace (Choose Circle Full) l2 a'
      Expected type: l2 a -> Window
      Inferred type: l2 a -> PerWorkspace (Choose Circle Full) l2 a
    In the `layoutHook' field of a record
    In the first argument of `additionalKeysP', namely
        `gnomeConfig
           {modMask = myModmask, terminal = "gnome-terminal",
            layoutHook = myLayout, workspaces = myWorkspaces}'

xmonad.hs:47:11:
    No instance for (LayoutClass Circle a)
      arising from a use of `onWorkspace' at xmonad.hs:47:11-47
    Possible fix:
      add an instance declaration for (LayoutClass Circle a)
    In the expression: onWorkspace "1:web" (Circle ||| Full)
    In the definition of `myLayout':
        myLayout = onWorkspace "1:web" (Circle ||| Full)

Please check the file for errors.



Что не так?


Для второго я добавил:

Код
myManageHook = composeAll
    [ className =? "Pidgin"    --> doF(W.shift "2:im")
    , className =? "Firefox"   --> doF(W.shift "1:web")
    ]


никаких ошибок не выдал, но вот при запуске pidgin он запустился на 1 рабочем столе (а вроде как должен на 2) или я что то не понял?

ну и вот мой xmonad.hs

Код
import XMonad
import XMonad.Config.Desktop
import XMonad.Layout.Circle
import XMonad.Config.Gnome
import XMonad.Util.EZConfig
import XMonad.Layout.IM
import Data.Ratio ((%))
import qualified XMonad.StackSet as W -- to shift and float windows
import XMonad.ManageHook
import XMonad.Layout.PerWorkspace
import XMonad.Hooks.ManageDocks
main = xmonad $ gnomeConfig
        { modMask = myModmask -- Use Super instead of Alt
        , terminal = "gnome-terminal"
        , layoutHook = myLayout
        , workspaces = myWorkspaces
        , manageHook  = myManageHook
        -- more changes
        }
        `additionalKeysP`
                 [ ("M1-m", spawn "exaile")
                 , ("M1-f", spawn "firefox")
                 , ("M1-v", spawn "vlc")
                 , ("M1-p", spawn "pidgin")
                 , ("M1-v", spawn "gvim")
               ]  

myModmask = mod4Mask

myWorkspaces    = ["1:web","2:im","3:term","4","5","6","7","8","9"]
myLayout = onWorkspace "1:web" (Circle ||| Full) $

myManageHook = composeAll
    [ className =? "Pidgin"    --> doF(W.shift "2:im")
    , className =? "Firefox"   --> doF(W.shift "1:web")
    ]
Go to the top of the page
 
+Quote Post
B0BaH
bookmark
gyfbbdvkffmrljmmmwd
Oct 11 2010, в 00:20
Сообщение #202


Интересующийся новичок
Иконка группы

Сообщений: 85

Вставить имя   :   Цитата

ОС: Gentoo и Ubuntu )
Город: ?????

Группа: Участники

Сам разобрался, надо было всего лишь включить мозг, вот конфиг если кому нужно:

Код
import XMonad
import XMonad.Config.Desktop
import XMonad.Layout.Circle
import XMonad.Config.Gnome
import XMonad.Util.EZConfig
import XMonad.Layout.IM --layout for pidgin
import Data.Ratio ((%))
import qualified XMonad.StackSet as W -- to shift and float windows
import XMonad.ManageHook
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.WindowArranger
import Data.Maybe             --fixfocus
import XMonad.Layout.PerWorkspace
import XMonad.Layout.NoBorders
import XMonad.Layout.Grid
main = xmonad $ gnomeConfig
        { modMask = myModmask -- Use Super instead of Alt
        , terminal = "gnome-terminal"
        , layoutHook = desktopLayoutModifiers myLayout
        , workspaces = myWorkspaces
        , manageHook  = myManageHook
        -- more changes
        }
        `additionalKeysP`
                 [ ("M1-m", spawn "exaile")
                 , ("M1-f", spawn "firefox")
                 , ("M1-v", spawn "vlc")
                 , ("M1-p", spawn "pidgin")
                 , ("M1-v", spawn "gvim")
               ]  

myModmask = mod4Mask

myWorkspaces    = ["1:web","2:chat","3:term","4:media"]
--myLayout = withIM (1%6) (ClassName "Pidgin")
--myLayout = Circle  ||| tiled ||| Mirror tiled ||| Full
myLayout =  windowArrange $    
    onWorkspace "1:web" (tiled ||| Circle ||| Full) $                                                                                                                                          
    onWorkspace "2:chat" (withIM (1%6) (ClassName "Pidgin") Circle) $
    onWorkspace "3:term" (tiled ||| Full) $
    onWorkspace "4:media" (Grid ||| Circle ||| tiled ||| Full) $
    noBorders Full
   where
    -- default tiling algorithm partitions the screen into two panes
     tiled   = Tall nmaster delta ratio

    -- The default number of windows in the master pane
     nmaster = 1

    -- Default proportion of screen occupied by master pane
     ratio   = 1/2

    -- Percent of screen to increment by when resizing panes
     delta   = 3/100

--myLayout = onWorkspace "1:web" myWeb
myManageHook = composeAll
    [ manageHook gnomeConfig
    , className =? "Gnome-terminal" --> doShift "3:term"
     -- needs: import XMonad.Hooks.ManageHelpers (isFullscreen,doFullFloat)
    , isFullscreen --> doFullFloat
    , className =? "Pidgin"    --> doF(W.shift "2:chat")
    , className =? "Firefox"   --> doF(W.shift "1:web")
    , className =? "Exaile" --> doF(W.shift "4:media")
    , className =? "Vlc" --> doF(W.shift "4:media")
    ]


и кстати diesel спасибо за подсказку!
Go to the top of the page
 
+Quote Post
diesel
bookmark
gyfbbdvkffmrljmmmwd
Oct 11 2010, в 00:35
Сообщение #203



Иконка группы

Сообщений: 5989

Вставить имя   :   Цитата

ОС: OS X, openSuSE, ROSA, Debian
Город: Одесса, Украина

Группа: Модераторы разделов

Цитата(B0BaH @ Oct 10 2010, в 22:10) *
Что не так?


Код
myLayout = onWorkspace "1:web" (Circle ||| Full) $
           Full

надо указывать еще Layout который будет по дефолту

PS. UPS, опоздал smile.gif
Go to the top of the page
 
+Quote Post
damex
bookmark
gyfbbdvkffmrljmmmwd
Oct 17 2010, в 22:09
Сообщение #204


segfault in your face
Иконка группы

Сообщений: 276

Вставить имя   :   Цитата

ОС: Hardened Funtoo x86_64
Город: Клинцы

Группа: Участники

начал переползать опять на чистый xmonad и увы снова чтото идет не так как хотелосьбы ...
пробовал настроить layout ShowWName но увы оно так съедать кустомизацию и не захотело.
Код
import XMonad
import System.Exit
import XMonad.Layout.Circle
import XMonad.Layout.NoBorders
import XMonad.Layout.ShowWName
import XMonad.Util.Run
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import qualified XMonad.StackSet as W
import qualified Data.Map        as M

main = do
spawn "feh --bg-scale ~/desktop.png"
xmobar <- spawnPipe "xmobar ~/.xmonad/xmobar"
xmonad $ defaultConfig{
  terminal ="urxvt",
  focusFollowsMouse = False,
  borderWidth = 1,
  modMask = mod4Mask,
  workspaces = ["dp1","dp2","dp3","dp4","dp5","dp6"],
-- workspaces = ssworkspaces,
  normalBorderColor = "#202020",
  focusedBorderColor = "#e67817",
  keys = myKeys,
  mouseBindings = myMouseBindings,
  layoutHook = showWName' mySWNConfig myLayout,
  manageHook = myManageHook <+> manageDocks,
  logHook = dynamicLogWithPP $ defaultPP {ppOutput = hPutStrLn xmobar},
  startupHook = return ()}

mySWNConfig = defaultSWNConfig
{swn_font = "-xos4-terminus-bold-*-normal-*-14-*-*-*-*-*-iso10646-*"
,swn_bgcolor = "#202020"
,swn_color = "#e67817"
,swn_fade = 1}

-- ssworkspaces :: [String]
-- ssworkspaces = ["dp1","dp2","dp3","dp4","dp5","dp6","dp7"]

myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
[((controlMask .|. mod1Mask,xK_q),spawn $ XMonad.terminal conf)
,((controlMask .|. mod4Mask,xK_a),spawn "firefox")
,((mod1Mask .|. mod4Mask,xK_a),spawn "urxvt -e mcabber")
,((mod4Mask,xK_Up),spawn "amixer set 'PCM' 5+ > /dev/null")
,((mod4Mask,xK_Down),spawn "amixer set 'PCM' 5- > /dev/null")
,((0,xK_Print),spawn "scrot ~/scrots/%m-%d-%T_scrot.png")
,((mod1Mask,xK_x),withFocused $ windows . W.sink)
,((mod1Mask,xK_q),spawn "xkill")

--, ((mod1Mask,xK_x), withFocused (sendMessage . expandWindowAlt) >> sendMessage Expand)
--, ("M-h", withFocused (sendMessage . shrinkWindowAlt) >> sendMessage Shrink)


-- , ((mod1Mask,xK_x), sendMessage MirrorShrink)
-- , ((mod1Mask,xK_z), sendMessage MirrorExpand)

    -- close focused window
    , ((modMask .|. shiftMask, xK_c     ), kill)

     -- Rotate through the available layout algorithms
    , ((modMask,               xK_space ), sendMessage NextLayout)

    --  Reset the layouts on the current workspace to default
    , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)

    -- Resize viewed windows to the correct size
    , ((modMask,               xK_n     ), refresh)

    -- Move focus to the next window
    , ((mod1Mask,               xK_Tab   ), windows W.focusDown)

    -- Move focus to the next window
    , ((modMask,               xK_j     ), windows W.focusDown)

    -- Move focus to the previous window
    , ((modMask,               xK_k     ), windows W.focusUp  )

    -- Move focus to the master window
    , ((modMask,               xK_m     ), windows W.focusMaster  )

    -- Swap the focused window and the master window
    , ((modMask,               xK_Return), windows W.swapMaster)

    -- Swap the focused window with the next window
    , ((modMask .|. shiftMask, xK_j     ), windows W.swapDown  )

    -- Swap the focused window with the previous window
    , ((modMask .|. shiftMask, xK_k     ), windows W.swapUp    )

    -- Shrink the master area
    , ((modMask,               xK_h     ), sendMessage Shrink)

    -- Expand the master area
    , ((modMask,               xK_l     ), sendMessage Expand)

    -- Push window back into tiling
--    , ((modMask,               xK_t     ), withFocused $ windows . W.sink)

    -- Increment the number of windows in the master area
    , ((modMask              , xK_comma ), sendMessage (IncMasterN 1))

    -- Deincrement the number of windows in the master area
    , ((modMask              , xK_period), sendMessage (IncMasterN (-1)))

    -- toggle the status bar gap
    -- TODO, update this binding with avoidStruts , ((modMask              , xK_b     ),

    -- Quit xmonad
    , ((modMask .|. shiftMask, xK_q     ), io (exitWith ExitSuccess))

    -- Restart xmonad
    , ((modMask              , xK_q     ), restart "xmonad" True)
    ]
    ++

    --
    -- mod-[1..9], Switch to workspace N
    -- mod-shift-[1..9], Move client to workspace N
    --
    [((m .|. mod1Mask, k), windows $ f i)
        | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
        , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
    ++

    --
    -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
    -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
    --
    [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f))
        | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
        , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]

myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
[((mod1Mask,button1),(\w -> focus w >> mouseMoveWindow w))
,((mod1Mask,button2),(\w -> focus w >> windows W.swapMaster))
,((mod1Mask,button3),(\w -> focus w >> mouseResizeWindow w))]

myLayout = avoidStruts $ smartBorders (tiled ||| Circle ||| Mirror tiled ||| Full)
where
  tiled = Tall nmaster delta ratio
  nmaster = 1
  ratio = 1/2
  delta = 3/100
--  tiled = ResizableTall 1 (2/100) (1/2) []

myManageHook = composeAll
[className =? "MPlayer" --> doFloat
,className =? "Gimp" --> doFloat
,className =? "Qmmp" --> doFloat
]

хотелосьбы помощи с настройкой =_=

upd: таки оно сожрало конфиг скрашив сперва хмонад ..


--------------------
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Oct 31 2010, в 11:50
Сообщение #205


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

1. Так, OO.o не нравится focusFollowsMouse = true. С false всё ок. Можно как-нибудь сделать focusFollowsMouse = true на всех workspaces кроме одного (на котором запускается офис)?

2. Как менять focusFollowsMouse при запуске софта/по хоткею?

https://bbs.archlinux.org/viewtopic.php?id=82214

У меня этот способ не заработал, к тому же без EZConfig хотелось бы обойтись.
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Dec 3 2010, в 12:32
Сообщение #206


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

После обновления Fedora12 --> Fedora14 ростр Skype`а больше не определяется по Role "Main Window". Xprop ничего внятного не говорит на этот счёт..
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Dec 4 2010, в 10:21
Сообщение #207


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

Кстати говоря, кто пользуется xmonad из кабал с Fedora14?
Что-то там полезли проблемы — не находятся интерфейсы (could not load interface for) для utils и actions, да и cabal отказывается что-либо устанавливать, ссылаясь на невозможность установить часть пакетов.

UP: проблема с переходом с базы 3.x на 4.x, похоже..

UP2: но что делать — непонятно…

UP3: пока упёрся в это:

Код
xmonad.hs:692:28:
    Couldn't match expected type `containers-0.3.0.0:Data.Map.Map
                                    (ButtonMask, KeySym) (X ())'
           against inferred type `M.Map (KeyMask, KeySym) (X ())'
    In the `keys' field of a record
    In the second argument of `($)', namely
        `defaultConfig
           {focusFollowsMouse = myFocusFollowsMouse,
            borderWidth = myBorderWidth, modMask = myModMask,
            numlockMask = myNumlockMask, workspaces = myWorkspaces,
            normalBorderColor = myNormalBorderColor,
            focusedBorderColor = myFocusedBorderColor,
строка 692 --->  keys = myKeys,


UP2:
Код
ghc-pkg hide containers-0.4.0.0
— подсказали на #xmonad.
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Jan 15 2011, в 00:22
Сообщение #208


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

После обновления неожиданно xmobar стал неправильно отображать кириллицу:

Код
Сообщение


Замечу, что оно так уже в .xmonad/status.

Как можно исправить?
Go to the top of the page
 
+Quote Post
damex
bookmark
gyfbbdvkffmrljmmmwd
Jan 15 2011, в 21:35
Сообщение #209


segfault in your face
Иконка группы

Сообщений: 276

Вставить имя   :   Цитата

ОС: Hardened Funtoo x86_64
Город: Клинцы

Группа: Участники

Цитата
Как можно исправить?

а какже конфиг и прочая инфа? smile.gif


--------------------
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Go to the top of the page
 
+Quote Post
AlexYeCu
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2011, в 14:15
Сообщение #210


Свой человек
Иконка группы

Сообщений: 1098

Вставить имя   :   Цитата

ОС: fedora

Группа: Участники

Цитата(damex @ Jan 15 2011, в 22:35) *
Цитата
Как можно исправить?

а какже конфиг и прочая инфа? smile.gif


xmonad.hs

Код
$ cat .xmobarrc
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 PipeReader "/home/AlexYeCu/.xmonad/status" "xlog"
                    ]
       , sepChar = "%"
       , alignSep = "}{"
       , template = "%xlog%"
       }


UP: шрифт в .xmobarrc был указан как
Код
font = "xft:terminus-9:style=normal"
, ситуация та же.
Go to the top of the page
 
+Quote Post

10 страниц V  « < 5 6 7 8 9 > » 
 Reply to this topic Start new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 26th June 2017 - в 06:43




Rating@Mail.ru