aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--XMonad/Util/XSelection.hs13
1 files changed, 8 insertions, 5 deletions
diff --git a/XMonad/Util/XSelection.hs b/XMonad/Util/XSelection.hs
index 714a9a9..1328ab7 100644
--- a/XMonad/Util/XSelection.hs
+++ b/XMonad/Util/XSelection.hs
@@ -20,8 +20,8 @@ module XMonad.Util.XSelection ( -- * Usage
getSelection,
promptSelection,
safePromptSelection,
- modifySelectionAndSafePromptSelection,
- modifySelectionAndUnsafePromptSelection,
+ transformPromptSelection,
+ transformSafePromptSelection,
putSelection) where
import Control.Concurrent (forkIO)
@@ -175,6 +175,9 @@ promptSelection = unsafePromptSelection
safePromptSelection app = join $ io $ liftM (safeSpawn app) getSelection
unsafePromptSelection app = join $ io $ liftM unsafeSpawn $ fmap (\x -> app ++ " " ++ x) getSelection
-modifySelectionAndSafePromptSelection, modifySelectionAndUnsafePromptSelection :: (String -> String) -> String -> X ()
-modifySelectionAndSafePromptSelection f app = join $ io $ liftM (safeSpawn app) (fmap f getSelection)
-modifySelectionAndUnsafePromptSelection f app = join $ io $ liftM unsafeSpawn $ fmap (\x -> app ++ " " ++ x) (fmap f getSelection) \ No newline at end of file
+{- | A wrapper around promptSelection and its safe variant. They take two parameters, the first is a function that transforms strings, and the second is the application to run. The transformer essentially transforms the selection in X.
+One example is to wrap code, such as a command line action copied out of the browser to be run as '"sudo" ++ cmd' or '"su - -c \"" ++ cmd ++ "\"".
+-}
+transformPromptSelection, transformSafePromptSelection :: (String -> String) -> String -> X ()
+transformPromptSelection f app = join $ io $ liftM (safeSpawn app) (fmap f getSelection)
+transformSafePromptSelection f app = join $ io $ liftM unsafeSpawn $ fmap (\x -> app ++ " " ++ x) (fmap f getSelection) \ No newline at end of file