xmonad


Использование дополнительных кнопок клавиатуры в xmonad.

Имея клавиатуру с 28 дополнительными клавишами, захотелось их задействовать в xmonad.

Что есть:
Gentoo

dev-lang/ghc-6.10.4-r1
dev-haskell/x11-1.4.6.1
x11-wm/xmonad-0.9

Смотрим имеющиеся клавиши:

$ xev | grep keysym

xev все клавиши показывает, xmonad о них не знает, однако в dev-haskell/x11 они
присутствуют, поэтому импортируем x11 в конфиг самостоятельно:

0
Ваша оценка: Ничего
ramok аватар

Перемещение указателя мышки в центр активного окна в xmonad

Нашел для себя удобным что бы при переключении в окно курсор мышки скакал в его центр.

Удобно если мышка используется по большей части для выделения текста Ж:-)

Делается это с помощью этого расширения.

Как по линке и написано достаточно добавить одну строчку, и исправить еще одну

import XMonad.Actions.UpdatePointer
...
logHook = dynamicLog >> updatePointer (Relative 0.5 0.5)
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

xmonad + mplayer в полноэкранном режиме без рамки

Каждый новичек в xmonad сталкивается с такой проблемкой: mplayer в режиме full screen прорисовывается с рамками, что нежелательно для комфортного просмотра фильмов. Вот одно из возможных решений:

import XMonad.Layout.NoBorders
 
...
 
myLayout = ewmhDesktopsLayout $ smartBorders $ avoidStruts (tall ||| Mirror tall ||| Full) 
  where
     tall   = Tall nmaster delta ratio
     nmaster = 1
     ratio   = 1/2
     delta   = 2/100
 
...
 
main = do din <- spawnPipe myStatusBar
          xmonad $ defaultConfig {
          ...
          -- hooks, layouts
	  layoutHook         	= myLayout,
	  manageHook         	= myManageHook,
 
	  -- and here is a little Magic for using wmctrl 
	  logHook            	= ewmhDesktopsLogHook >> myLogHook  din 
}

Украдено отсюда: http://haskell.org/haskellwiki/Xmonad/Frequently_asked_questions#Removing_the_borders_around_mplayer

5
Ваша оценка: Ничего Рейтинг: 5 (2 голоса)

xmonad + Dzen + Task List Menu

Простенькая переключалка между открытыми окнами в xmonad

  1. Сначала воспользуемся предыдущим советом, и сделаем поддержку wmctrl в xmonad
  2. Далее:
    (echo "Task List"; wmctrl -l)| \
    dzen2 -m -p -x $WHEREX  -w $WIDTH -fg $FG -bg $BG -l 15 -fn $FONT \
    -e 'button1=menuprint;button3=exit;entertitle=uncollapse;leaveslave=collapse' | \
    awk '{system("wmctrl -s " $2)}'

После выполнения вышеприведенной команды в dzen статус баре появляется "Task List".
Меню открывается при наведении мышкой на "Task List".
Правая кнопка мышки убирает меню со статусбара.

Переменные WHEREX, WIDTH, FG, BG, FONT инициализировать по личным предпочтениям.

В атачменте мой скрипт, который, подвешанный на хоткей, будет работать как включатель/выключатель Task List меню.

P.S.

5
Ваша оценка: Ничего Рейтинг: 5 (2 голоса)

xmonad-0.7 + dynamicLogWithPP c поддержкой wmctrl

С нулевым знанием языка haskell, скитаясь по докам и форумам, методом проб и ошибок, долгое время никак не мог разместить dynamicLogWithPP с ewmhDesktopsLogHook в LogHook.

ewmhDesktopsLogHook требуетя для поддержки wmctrl.
Наконец-то, с помощью вышеупомятуго метода таки получилось:

Магия в этих строчках конфигурационного файла:

import XMonad.Hooks.EwmhDesktops 
...
myLayout = ewmhDesktopsLayout $ avoidStruts (tall ||| Mirror tall ||| Full)
... 
logHook = ewmhDesktopsLogHook >> myLogHook  din
...

Весь конфиг в аттачменте.

В wmctrl на xmonad некоторые опции к сожалению нерабочие: например -a

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Настройки xxkb для xmonad

Xxkb это легковесный и наиболее удобный перелючатель клавиатуры который я знаю Ж:-)

Вот собственно мой ~/.xxkbrc , который служил верой и правдой мне под fluxbox, и был немного адаптирован для xmonad.

Флажок xxkb в правом верхнем углу окна часто можно видеть на моих скриншотах. Например во fluxbox: раз, два , три . В xmonad: раз, два .

Основаня адаптация

! for non xmonad
! XXkb.controls.add_when_change: no
XXkb.controls.add_when_change: yes

После чего xxkb вообще начал показывать свои иконки в xmonad Ж:-)

Так же изменено положение иконки на окнах, так как в xmonad у окон нет заголовков окон.

! for non xmonad
!XXkb.button.geometry: 15x15-60+7
XXkb.button.geometry: 15x15-0+0

PS
Да у меня четыре расскладки клавиатуры Ж:-)
Перелючаются по CapsLock только две основные: английская (по умолчанию) и русская.
Но клацнув правой клавишей мышки по флажку на окне можно переключить еще украинскую и немецкую (под беларусским флажком Ж:-)
Для того что бы это все заработало нужно запустить

$ setxkbmap -layout 'us,ru,ua,de' -option 'grp:caps_toggle'

или подправить соответствующую строчку в /etc/X11/xorg.conf
Конфиг будет работать и в случае если у вас только две или три расскладки клавиатуры.

5
Ваша оценка: Ничего Рейтинг: 5 (2 голоса)