2012-08-10 45 views
5

Như được mô tả trong số thisthis vấn đề, cửa sổ nổi của tôi đôi khi được hiển thị phía sau các cửa sổ khác khi sử dụng xmonad cùng với compton. Một workaround có thể tôi muốn thử là để làm cho xmonad di chuyển cửa sổ nổi mới một chút, mà nên làm cho chúng trên các cửa sổ khác. Tuy nhiên, mới với xmonad và Haskell, tôi không biết làm sao để đạt được điều này.xmonad: di chuyển cửa sổ nổi mới

Làm cách nào để nói với xmonad "Khi tạo cửa sổ nổi mới, hãy di chuyển một pixel sang bên phải"?

(xmonad-0.10 và xmonad-contrib-0,10)

Trả lời

1

Đối với những người đến đây ai thực sự muốn chuyển sang một cửa sổ, đây là cách bạn làm điều đó:

Trong $ HOME của bạn/.xmonad.xmonad.hs:

Thêm một số hàng nhập khẩu (bạn có thể bỏ qua hiện có, lưu ý việc nhập khẩu đủ của Xmonad.StackSet và "W.shift" dưới đây, bạn sẽ phải điều chỉnh tên nếu bạn nhập nó dưới một tên khác)

import XMonad.Hooks.XPropManage 
import qualified XMonad.StackSet as W 
import XMonad.Actions.TagWindows 
import Data.List 

và thêm

manageHook = xPropManageHook xPropMatches 

xPropMatches :: [XPropMatch] 
xPropMatches = [ ([(wM_CLASS, any (const True))], (return (W.shift "2"))) ] 

sẽ hoạt động với tất cả các cửa sổ. Nếu bạn muốn kiểm soát phù hợp,

(const True) 

có thể được thay thế bằng bất cứ thứ gì có loại

String -> Bool 

ví dụ

("Vimperator" `isInfixOf`) 

vv

Nguồn: XPropManage

+0

Cảm ơn cho câu trả lời tuyệt vời cho câu hỏi thực tế. Đánh dấu là giải pháp. – Xyrox

Các vấn đề liên quan