diff --git a/lib/KeyBindings.hs b/lib/KeyBindings.hs index 04d1f17..bac3174 100644 --- a/lib/KeyBindings.hs +++ b/lib/KeyBindings.hs @@ -10,6 +10,7 @@ import Graphics.X11.Types import System.Exit import Text.EditDistance import XMonad +import XMonad.Actions.CopyWindow (kill1,copy) import XMonad.Actions.CycleWS import XMonad.Actions.DynamicProjects import XMonad.Core @@ -18,6 +19,7 @@ import XMonad.Operations import XMonad.Prompt import XMonad.Prompt.ConfirmPrompt import XMonad.Prompt.Shell +import XMonad.Prompt.Workspace (workspacePrompt) import XMonad.Util.EZConfig import XMonad.Util.NamedScratchpad import qualified Solarized as S @@ -39,7 +41,6 @@ modify conf = conf , ("", spawn "/run/current-system/sw/bin/mpc toggle") , ("", spawn "/run/current-system/sw/bin/mpc next") , ("", spawn "/run/current-system/sw/bin/mpc prev") - , ("M-", kill) , ("M-", windows W.focusDown) , ("M-", sendMessage (Toggle "Full")) , ("M-$", sendMessage (Toggle "Full")) @@ -63,6 +64,9 @@ modify conf = conf , ("M-d", passPrompt promptConfig) -- Scratchpads , ("M-p p", namedScratchpadAction R.pads "htop") + -- Copy windows to workspaces + , ("M-", kill1) + , ("M-c", workspacePrompt promptConfig (\name -> windows $ copy name)) ] viewProject :: WorkspaceId -> X () diff --git a/xmonad.hs b/xmonad.hs index 9e3dccc..6278188 100755 --- a/xmonad.hs +++ b/xmonad.hs @@ -15,6 +15,7 @@ import XMonad.Layout.PerScreen import XMonad.Layout.Reflect import XMonad.Layout.ResizableTile (ResizableTall(..)) import XMonad.Layout.Spacing +import XMonad.Layout.ThreeColumns (ThreeCol(..)) import XMonad.Layout.ToggleLayouts (toggleLayouts) @@ -31,11 +32,11 @@ import Scratchpad (modify) layouts = toggleLayouts fullscreen tiled where fullscreen = (noBorders Full) - tiled = smarts $ ifWider 1280 wideScreen tallScreen - wideScreen = reflectHoriz $ resizableTall - tallScreen = Mirror resizableTall - smarts = (smartSpacingWithEdge 5) . smartBorders + tiled = smarts $ ifWider 1280 wideScreen normalScreen + wideScreen = ThreeColMid 1 (5/100) (1/2) + normalScreen = resizableTall resizableTall = ResizableTall 1 (5/100) (1/2) [] + smarts = (smartSpacingWithEdge 5) . smartBorders -- Use the `xprop' tool to get the info you need for these matches. -- For className, use the second value that xprop gives you.