aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2022-08-03 16:18:53 -0600
committerJosh Rahm <joshuarahm@gmail.com>2022-10-09 12:19:46 -0600
commit3d38fcdfbdc8bb134683c4044308c8df941e5d17 (patch)
tree2d23f62584c68ae213954e4e8089fcaae516410c /src/Rahm/Desktop/Keys
parentda91b5793c1eb39d936e9e92725de5818e3af935 (diff)
downloadrde-3d38fcdfbdc8bb134683c4044308c8df941e5d17.tar.gz
rde-3d38fcdfbdc8bb134683c4044308c8df941e5d17.tar.bz2
rde-3d38fcdfbdc8bb134683c4044308c8df941e5d17.zip
Jumping to the black hole workspace will exit Xmonad (with confirmation).
Diffstat (limited to 'src/Rahm/Desktop/Keys')
-rw-r--r--src/Rahm/Desktop/Keys/Wml.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Rahm/Desktop/Keys/Wml.hs b/src/Rahm/Desktop/Keys/Wml.hs
index d6289bd..7cff173 100644
--- a/src/Rahm/Desktop/Keys/Wml.hs
+++ b/src/Rahm/Desktop/Keys/Wml.hs
@@ -22,6 +22,8 @@ import Control.Monad (join, forM_, unless)
import Data.List (sortOn, intercalate)
import Data.Ord (Down(..))
import Data.Typeable (cast)
+import XMonad.Prompt.ConfirmPrompt (confirmPrompt)
+import System.Exit (exitWith, ExitCode(..))
import qualified Data.Map as Map
import Data.Map (Map)
@@ -114,7 +116,8 @@ blackHoleWorkspace :: Workspace
blackHoleWorkspace =
Workspace {
moveLocationToWorkspaceFn = mapM_ killWindow . locationWindow
- , gotoWorkspaceFn = return () -- can't navigate to black hole
+ , gotoWorkspaceFn =
+ confirmPrompt def "Do you want to exit xmonad" $ io (exitWith ExitSuccess)
, workspaceName = Nothing
, extraWorkspaceData = ()
}