From 1071d0a4e1b5841a6defbcad64c1d3daa5cb0b31 Mon Sep 17 00:00:00 2001
From: Spencer Janssen <sjanssen@cse.unl.edu>
Date: Tue, 8 Apr 2008 21:00:50 +0000
Subject: [PATCH] Generalize copyWindow, minor style change

---
 XMonad/Actions/CopyWindow.hs | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/XMonad/Actions/CopyWindow.hs b/XMonad/Actions/CopyWindow.hs
index 1fcbdb3c..acd5a630 100644
--- a/XMonad/Actions/CopyWindow.hs
+++ b/XMonad/Actions/CopyWindow.hs
@@ -65,16 +65,16 @@ import XMonad.StackSet
 -- "XMonad.Doc.Extending#Editing_key_bindings".
 
 -- | copy. Copy the focussed window to a new workspace.
-copy :: WorkspaceId -> WindowSet -> WindowSet
+copy :: (Eq s, Eq i, Eq a) => i -> StackSet i l a s sd -> StackSet i l a s sd
 copy n s | Just w <- peek s = copyWindow w n s
          | otherwise = s
 
 -- | copyToAll. Copy the focused window to all of workspaces.
-copyToAll :: WindowSet -> WindowSet
-copyToAll s = foldr ($) s $ map (copy . tag) (workspaces s)
+copyToAll :: (Eq s, Eq i, Eq a) => StackSet i l a s sd -> StackSet i l a s sd
+copyToAll s = foldr copy s $ map tag (workspaces s)
 
 -- | copyWindow.  Copy a window to a new workspace
-copyWindow :: Window -> WorkspaceId -> WindowSet -> WindowSet
+copyWindow :: (Eq a, Eq i, Eq s) => a -> i -> StackSet i l a s sd -> StackSet i l a s sd
 copyWindow w n = copy'
     where copy' s = if n `tagMember` s
                     then view (tag (workspace (current s))) $ insertUp' w $ view n s