Added screen switching
This commit is contained in:
parent
e2f3a13936
commit
c00ae76a70
1 changed files with 16 additions and 0 deletions
16
xmonad.hs
16
xmonad.hs
|
@ -3,6 +3,8 @@ import XMonad.Config.Desktop
|
||||||
import XMonad.Config.Gnome
|
import XMonad.Config.Gnome
|
||||||
import XMonad.Actions.CycleWS
|
import XMonad.Actions.CycleWS
|
||||||
import XMonad.Actions.NoBorders
|
import XMonad.Actions.NoBorders
|
||||||
|
import XMonad.Actions.PhysicalScreens
|
||||||
|
import XMonad.Actions.Warp
|
||||||
import XMonad.Hooks.ManageDocks
|
import XMonad.Hooks.ManageDocks
|
||||||
import XMonad.Hooks.ManageHelpers
|
import XMonad.Hooks.ManageHelpers
|
||||||
import XMonad.Layout.ResizableTile
|
import XMonad.Layout.ResizableTile
|
||||||
|
@ -12,6 +14,7 @@ import XMonad.Util.EZConfig
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Control.Monad.Trans
|
import Control.Monad.Trans
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
|
import Ratio((%))
|
||||||
|
|
||||||
import ConfigurableBorders
|
import ConfigurableBorders
|
||||||
import FullscreenManager
|
import FullscreenManager
|
||||||
|
@ -36,6 +39,9 @@ main = xmonad $ gnomeConfig
|
||||||
, ("M-S-<Right>", shiftToNext)
|
, ("M-S-<Right>", shiftToNext)
|
||||||
, ("M-S-b", withFocused toggleBorder >> refresh)
|
, ("M-S-b", withFocused toggleBorder >> refresh)
|
||||||
, ("M1-<F4>", kill)
|
, ("M1-<F4>", kill)
|
||||||
|
, ("M-<F1>", viewOrWarp 0)
|
||||||
|
, ("M-<F2>", viewOrWarp 1)
|
||||||
|
, ("M-<F3>", viewOrWarp 2)
|
||||||
]
|
]
|
||||||
`additionalMouseBindings`
|
`additionalMouseBindings`
|
||||||
[ ((myModMask, button4), \_ -> sendMessage Shrink)
|
[ ((myModMask, button4), \_ -> sendMessage Shrink)
|
||||||
|
@ -45,6 +51,16 @@ main = xmonad $ gnomeConfig
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
viewOrWarp :: Int -> X ()
|
||||||
|
viewOrWarp n = do
|
||||||
|
XState {windowset = wset} <- get
|
||||||
|
i <- getScreen $ P n
|
||||||
|
whenJust i $ \s -> do
|
||||||
|
ws <- screenWorkspace s
|
||||||
|
whenJust ws $ \w -> windows . W.view $ w
|
||||||
|
when (s == (W.screen . W.current $ wset)) $ warpToScreen s (1%2) (1%2)
|
||||||
|
|
||||||
|
|
||||||
myStartupHook :: X ()
|
myStartupHook :: X ()
|
||||||
myStartupHook = do
|
myStartupHook = do
|
||||||
startupHook gnomeConfig
|
startupHook gnomeConfig
|
||||||
|
|
Reference in a new issue