mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 03:20:21 -07:00
Use xmessage from core
Related: https://github.com/xmonad/xmonad/pull/318
This commit is contained in:
parent
8d557c6954
commit
07040cbd58
@ -76,7 +76,6 @@ import qualified XMonad.Hooks.DynamicLog as DL
|
|||||||
import qualified XMonad.StackSet as W
|
import qualified XMonad.StackSet as W
|
||||||
|
|
||||||
import Data.Map (Map)
|
import Data.Map (Map)
|
||||||
import System.IO (hClose, hPutStr)
|
|
||||||
|
|
||||||
import XMonad.Prompt (XPConfig)
|
import XMonad.Prompt (XPConfig)
|
||||||
import XMonad.Prompt.Workspace (workspacePrompt)
|
import XMonad.Prompt.Workspace (workspacePrompt)
|
||||||
@ -91,8 +90,6 @@ import XMonad.Hooks.WorkspaceHistory
|
|||||||
, workspaceHistoryModify
|
, workspaceHistoryModify
|
||||||
)
|
)
|
||||||
|
|
||||||
import XMonad.Util.Run (spawnPipe)
|
|
||||||
|
|
||||||
-- $overview
|
-- $overview
|
||||||
-- This module allows to organize your workspaces on a precise topic basis. So
|
-- This module allows to organize your workspaces on a precise topic basis. So
|
||||||
-- instead of having a workspace called `work' you can setup one workspace per
|
-- instead of having a workspace called `work' you can setup one workspace per
|
||||||
@ -383,13 +380,6 @@ checkTopicConfig tags tg = do
|
|||||||
check diffTopic "Seen but missing topics/workspaces"
|
check diffTopic "Seen but missing topics/workspaces"
|
||||||
check dups "Duplicate topics/workspaces"
|
check dups "Duplicate topics/workspaces"
|
||||||
|
|
||||||
-- | Display the given message using the @xmessage@ program.
|
|
||||||
xmessage :: String -> IO ()
|
|
||||||
xmessage s = do
|
|
||||||
h <- spawnPipe "xmessage -file -"
|
|
||||||
hPutStr h s
|
|
||||||
hClose h
|
|
||||||
|
|
||||||
-- | Convenience type for specifying topics.
|
-- | Convenience type for specifying topics.
|
||||||
data TopicItem = TI
|
data TopicItem = TI
|
||||||
{ tiName :: !Topic -- ^ 'Topic' ≡ 'String'
|
{ tiName :: !Topic -- ^ 'Topic' ≡ 'String'
|
||||||
|
@ -68,7 +68,6 @@ import Control.Monad.State
|
|||||||
import Data.Tree
|
import Data.Tree
|
||||||
import Foreign (shiftL, shiftR, (.&.))
|
import Foreign (shiftL, shiftR, (.&.))
|
||||||
import System.IO
|
import System.IO
|
||||||
import System.Posix.Process (forkProcess, executeFile)
|
|
||||||
import XMonad hiding (liftX)
|
import XMonad hiding (liftX)
|
||||||
import XMonad.Prelude
|
import XMonad.Prelude
|
||||||
import XMonad.StackSet as W
|
import XMonad.StackSet as W
|
||||||
@ -409,7 +408,7 @@ treeselectWorkspace c xs f = do
|
|||||||
, "XConfig.workspaces: "
|
, "XConfig.workspaces: "
|
||||||
] ++ map tag ws
|
] ++ map tag ws
|
||||||
hPutStrLn stderr msg
|
hPutStrLn stderr msg
|
||||||
_ <- forkProcess $ executeFile "xmessage" True [msg] Nothing
|
xmessage msg
|
||||||
return ()
|
return ()
|
||||||
where
|
where
|
||||||
mkNode n w = do
|
mkNode n w = do
|
||||||
|
@ -135,7 +135,7 @@ import XMonad.Hooks.StatusBar
|
|||||||
-- changes, you could make a keybinding to cycle the layout and
|
-- changes, you could make a keybinding to cycle the layout and
|
||||||
-- display the current status:
|
-- display the current status:
|
||||||
--
|
--
|
||||||
-- > , ((mod1Mask, xK_a ), sendMessage NextLayout >> (dynamicLogString myPP >>= \d->spawn $"xmessage "++d))
|
-- > , ((mod1Mask, xK_a ), sendMessage NextLayout >> (dynamicLogString myPP >>= xmessage))
|
||||||
--
|
--
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
@ -205,7 +205,7 @@ import qualified XMonad.StackSet as W
|
|||||||
-- the current layout when it changes, you could make a keybinding to cycle the
|
-- the current layout when it changes, you could make a keybinding to cycle the
|
||||||
-- layout and display the current status:
|
-- layout and display the current status:
|
||||||
--
|
--
|
||||||
-- > ((mod1Mask, xK_a), sendMessage NextLayout >> (dynamicLogString myPP >>= \d -> spawn $ "xmessage " ++ d))
|
-- > ((mod1Mask, xK_a), sendMessage NextLayout >> (dynamicLogString myPP >>= xmessage))
|
||||||
--
|
--
|
||||||
-- If you use a status bar that does not support reading from a property
|
-- If you use a status bar that does not support reading from a property
|
||||||
-- (like dzen), and you don't want to use the 'statusBar' function, you can,
|
-- (like dzen), and you don't want to use the 'statusBar' function, you can,
|
||||||
|
@ -710,9 +710,9 @@ multimediaKeys = filter ((/= noSymbol) . snd) . map (id &&& stringToKeysym) $
|
|||||||
checkKeymap :: XConfig l -> [(String, a)] -> X ()
|
checkKeymap :: XConfig l -> [(String, a)] -> X ()
|
||||||
checkKeymap conf km = warn (doKeymapCheck conf km)
|
checkKeymap conf km = warn (doKeymapCheck conf km)
|
||||||
where warn ([],[]) = return ()
|
where warn ([],[]) = return ()
|
||||||
warn (bad,dup) = spawn $ "xmessage 'Warning:\n"
|
warn (bad,dup) = xmessage $ "Warning:\n"
|
||||||
++ msg "bad" bad ++ "\n"
|
++ msg "bad" bad ++ "\n"
|
||||||
++ msg "duplicate" dup ++ "'"
|
++ msg "duplicate" dup
|
||||||
msg _ [] = ""
|
msg _ [] = ""
|
||||||
msg m xs = m ++ " keybindings detected: " ++ showBindings xs
|
msg m xs = m ++ " keybindings detected: " ++ showBindings xs
|
||||||
showBindings = unwords . map (("\""++) . (++"\""))
|
showBindings = unwords . map (("\""++) . (++"\""))
|
||||||
|
@ -48,7 +48,6 @@ module XMonad.Util.NamedActions (
|
|||||||
import XMonad.Actions.Submap(submap)
|
import XMonad.Actions.Submap(submap)
|
||||||
import XMonad.Prelude (groupBy)
|
import XMonad.Prelude (groupBy)
|
||||||
import XMonad
|
import XMonad
|
||||||
import System.Posix.Process(executeFile)
|
|
||||||
import Control.Arrow(Arrow((&&&), second, (***)))
|
import Control.Arrow(Arrow((&&&), second, (***)))
|
||||||
import Data.Bits(Bits((.&.), complement))
|
import Data.Bits(Bits((.&.), complement))
|
||||||
import System.Exit(exitSuccess)
|
import System.Exit(exitSuccess)
|
||||||
@ -204,9 +203,7 @@ showKm keybindings = padding $ do
|
|||||||
|
|
||||||
-- | An action to send to 'addDescrKeys' for showing the keybindings. See also 'showKm' and 'showKmSimple'
|
-- | An action to send to 'addDescrKeys' for showing the keybindings. See also 'showKm' and 'showKmSimple'
|
||||||
xMessage :: [((KeyMask, KeySym), NamedAction)] -> NamedAction
|
xMessage :: [((KeyMask, KeySym), NamedAction)] -> NamedAction
|
||||||
xMessage x = addName "Show Keybindings" $ io $ do
|
xMessage x = addName "Show Keybindings" $ xmessage $ unlines $ showKm x
|
||||||
xfork $ executeFile "xmessage" True ["-default", "okay", unlines $ showKm x] Nothing
|
|
||||||
return ()
|
|
||||||
|
|
||||||
-- | Merge the supplied keys with 'defaultKeysDescr', also adding a keybinding
|
-- | Merge the supplied keys with 'defaultKeysDescr', also adding a keybinding
|
||||||
-- to run an action for showing the keybindings.
|
-- to run an action for showing the keybindings.
|
||||||
|
@ -58,7 +58,7 @@ library
|
|||||||
mtl >= 1 && < 3,
|
mtl >= 1 && < 3,
|
||||||
unix,
|
unix,
|
||||||
X11 >= 1.10 && < 1.11,
|
X11 >= 1.10 && < 1.11,
|
||||||
xmonad >= 0.16.9999 && < 0.18,
|
xmonad >= 0.16.99999 && < 0.18,
|
||||||
utf8-string
|
utf8-string
|
||||||
|
|
||||||
ghc-options: -Wall -Wno-unused-do-bind
|
ghc-options: -Wall -Wno-unused-do-bind
|
||||||
|
Loading…
x
Reference in New Issue
Block a user