aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2022-08-03 16:18:53 -0600
committerJosh Rahm <rahm@google.com>2022-08-03 16:18:53 -0600
commitad4024b1c688531fca783736cefcdc79d0a1b411 (patch)
tree0e3c9b936743ca98f896f0f68a0b2fdbe1f3891f
parent539bbd4045c010bedc785f5859e29b03814b5796 (diff)
downloadrde-ad4024b1c688531fca783736cefcdc79d0a1b411.tar.gz
rde-ad4024b1c688531fca783736cefcdc79d0a1b411.tar.bz2
rde-ad4024b1c688531fca783736cefcdc79d0a1b411.zip
Jumping to the black hole workspace will exit Xmonad (with confirmation).
-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 = ()
}