XMonad, ManageHook
Jul. 20th, 2011 10:42 pmЗапарив мене Firefox. Точніше його вікно завантажень. Воно, як і прописано в xmonad.hs, стає float, але з часом змінює свій розмір до розміру дисплея і за ним уже нічого не видно. Звісно, мене така ситуація не влаштовувала, але, оскільки я це вікно бачив дуже рідко, то і забував про цю незручність. Сьогодні, балакаючи по Jabber з кимось вранці згадав про неї і вирішив побороти. А саме: відбуксувати це вікно у правий нижній куток, зменшивши його до нормальних розмірів.
Перша ідея - написати свій власний doMoveResizeWindow на базі moveResizeWindow. Щось типу withDisplay (\d -> moveResizeWindow d win x y w h). Для цього спочатку подивився сигнатуру doFloat:
doFloat :: ManageHook.
Але, в процесі длубання у сорсах, знайшов таке: doRectFloat у XMonad.Hooks.ManageHelpers. Саме те що треба:
Перша ідея - написати свій власний doMoveResizeWindow на базі moveResizeWindow. Щось типу withDisplay (\d -> moveResizeWindow d win x y w h). Для цього спочатку подивився сигнатуру doFloat:
doFloat :: ManageHook.
Але, в процесі длубання у сорсах, знайшов таке: doRectFloat у XMonad.Hooks.ManageHelpers. Саме те що треба:
[ (className =? "Firefox" <&&> resource =? "Download") --> doRectFloat (W.RationalRect (3/4) (3/4) (1/4) (1/4)) ]