diff --git a/lib/KeyBindings.hs b/lib/KeyBindings.hs index cb14e4f..300a8c2 100644 --- a/lib/KeyBindings.hs +++ b/lib/KeyBindings.hs @@ -57,6 +57,7 @@ modify conf = conf , ("M-s t", spawn "/run/current-system/sw/bin/scrot /tmp/screen.png") -- Workspace and tasks , ("M-b", switchProjectPrompt promptConfig) + , ("M-p c", withFocused centerWindow) , ("M-p m", shiftToProjectPrompt promptConfig) , ("M-p n", switchProjectPrompt promptConfig) , ("M-p r", renameProjectPrompt promptConfig) @@ -69,6 +70,14 @@ modify conf = conf , ("M-c", workspacePrompt promptConfig (\name -> windows $ copy name)) ] + +-- Borrowed from https://www.reddit.com/r/xmonad/comments/gzq316/how_can_i_centre_a_floating_window_without/fthtx29/ +centerWindow :: Window -> X () +centerWindow win = do + (_, W.RationalRect x y w h) <- floatLocation win + windows $ W.float win (W.RationalRect ((1 - w) / 2) ((1 - h) / 2) w h) + return () + viewProject :: WorkspaceId -> X () viewProject id = do project <- lookupProject id