2017-06-04 73 views
1

在多顯示器設置工作區:騎自行車通過我目前使用ALT + CTRL左和ALT-CTRL左循環工作區之間的XMonad

, ((altModMask .|. controlMask, xK_Left), 
    prevWS) 
    , ((altModMask .|. controlMask, xK_Right), 
    nextWS) 

也能正常工作的單顯示器設置。但是,使用雙顯示器設置時有點令人困惑。這是因爲如果當前在另一個屏幕上可見,要顯示的工作區將改變屏幕。舉例來說,如果我有在屏幕上1,在屏幕0 WS 1和WS 2和具有焦點,在屏幕0:

1:term (2:web) 3:txt 

當我現在在做一個「nextWS」,WS 2,這是目前在畫面1將被吸引到屏幕0,而畫面1將顯示WS 1.

(1:term) 2:web 3:txt 

我想是一種行爲,其中prexWS和nextWS將躍過當前在另一臺顯示器上顯示的工作區和只選擇當前未顯示的工作區。

是否有這樣的命令已經存在,或者是否有一些xmonad.hs實現這個實例?

回答

2

使用XMonad.Actions.DynamicWorkspaceOrder從xmonad-貢獻:​​

import qualified XMonad.Actions.DynamicWorkspaceOrder as DO 

    , ((altModMask .|. controlMask, xK_Left), 
    DO.moveTo Prev HiddenNonEmptyWS) 
    , ((altModMask .|. controlMask, xK_Right), 
    DO.moveTo Next HiddenNonEmptyWS)