-- | Add a new hidden workspace with the given name, or do nothing if
--   a workspace with the given name already exists.
addHiddenWorkspace :: String -> X ()
addHiddenWorkspace newtag =
  whenX (gets (not . tagMember newtag . windowset)) $ do
    l <- asks (layoutHook . config)
    windows (addHiddenWorkspace' newtag l)

-- | Remove the current workspace if it contains no windows.
addHiddenWorkspace :: String -> X ()
addHiddenWorkspace newtag =
  whenX (gets (not . tagMember newtag . windowset)) $ do
    l <- asks (layoutHook . config)
    windows (addHiddenWorkspace' newtag l)

-- | Remove the current workspace if it contains no windows.
addHiddenWorkspace newtag =
  whenX (gets (not . tagMember newtag . windowset)) $ do
    l <- asks (layoutHook . config)
    windows (addHiddenWorkspace' newtag l)

-- | Remove the current workspace if it contains no windows.