diff --git a/CHANGES.md b/CHANGES.md index 8ed8f91d..fea7442f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -49,6 +49,14 @@ Merge all functionality from `XMonad.Layout.LayoutBuilderP` into `XMonad.Layout.LayoutBuilder`. + * `XMonad.Actions.DynamicProjects` + + - Switching away from a dynamic project that contains no windows + automatically deletes that project's workspace. + + The project itself was already being deleted, this just deletes + the workspace created for it as well. + ## 0.12 (December 14, 2015) ### Breaking Changes diff --git a/XMonad/Actions/DynamicProjects.hs b/XMonad/Actions/DynamicProjects.hs index 10a8b852..e8ed93f1 100644 --- a/XMonad/Actions/DynamicProjects.hs +++ b/XMonad/Actions/DynamicProjects.hs @@ -210,7 +210,8 @@ switchProject p = do -- If the project we are switching away from has no windows, and -- it's a dynamic project, remove it from the configuration. - when (null ws && isNothing (projectStartHook oldp)) $ + when (null ws && isNothing (projectStartHook oldp)) $ do + removeWorkspaceByTag name -- also remove the old workspace XS.modify (\s -> s {projects = Map.delete name $ projects s}) appendWorkspace (projectName p)