XMonad.Layout.BoringWindows: add markBoringEverywhere

to mark the currently focused window boring on all layouts,
when using XMonad.Actions.CopyWindow.
This commit is contained in:
Ingolf Wagner 2019-11-21 17:32:52 +13:00
parent 52f8c82504
commit 1a3d58143e
No known key found for this signature in database
GPG Key ID: 76BF5F1928B9618B
2 changed files with 14 additions and 3 deletions

View File

@ -46,6 +46,11 @@
* `XMonad.Actions.Search` * `XMonad.Actions.Search`
The `hoogle` function now uses the new URL `hoogle.haskell.org`. The `hoogle` function now uses the new URL `hoogle.haskell.org`.
* `XMonad.Layout.BoringWindows`
Added 'markBoringEverywhere' function, to mark the currently
focused window boring on all layouts, when using 'XMonad.Actions.CopyWindow'.
## 0.16 ## 0.16

View File

@ -18,8 +18,9 @@ module XMonad.Layout.BoringWindows (
-- * Usage -- * Usage
-- $usage -- $usage
boringWindows, boringAuto, boringWindows, boringAuto,
markBoring, clearBoring, markBoring, markBoringEverywhere,
focusUp, focusDown, focusMaster, clearBoring, focusUp, focusDown,
focusMaster,
UpdateBoring(UpdateBoring), UpdateBoring(UpdateBoring),
BoringMessage(Replace,Merge), BoringMessage(Replace,Merge),
@ -33,7 +34,7 @@ module XMonad.Layout.BoringWindows (
import XMonad.Layout.LayoutModifier(ModifiedLayout(..), import XMonad.Layout.LayoutModifier(ModifiedLayout(..),
LayoutModifier(handleMessOrMaybeModifyIt, redoLayout)) LayoutModifier(handleMessOrMaybeModifyIt, redoLayout))
import XMonad(Typeable, LayoutClass, Message, X, fromMessage, import XMonad(Typeable, LayoutClass, Message, X, fromMessage,
sendMessage, windows, withFocused, Window) broadcastMessage, sendMessage, windows, withFocused, Window)
import Data.List((\\), union) import Data.List((\\), union)
import Data.Maybe(fromMaybe, listToMaybe, maybeToList) import Data.Maybe(fromMaybe, listToMaybe, maybeToList)
import qualified Data.Map as M import qualified Data.Map as M
@ -81,6 +82,11 @@ focusUp = sendMessage UpdateBoring >> sendMessage FocusUp
focusDown = sendMessage UpdateBoring >> sendMessage FocusDown focusDown = sendMessage UpdateBoring >> sendMessage FocusDown
focusMaster = sendMessage UpdateBoring >> sendMessage FocusMaster focusMaster = sendMessage UpdateBoring >> sendMessage FocusMaster
-- | Mark current focused window boring for all layouts.
-- This is useful in combination with the 'XMonad.Actions.CopyWindow' module.
markBoringEverywhere :: X ()
markBoringEverywhere = withFocused (broadcastMessage . IsBoring)
data BoringWindows a = BoringWindows data BoringWindows a = BoringWindows
{ namedBoring :: M.Map String [a] -- ^ store borings with a specific source { namedBoring :: M.Map String [a] -- ^ store borings with a specific source
, chosenBoring :: [a] -- ^ user-chosen borings , chosenBoring :: [a] -- ^ user-chosen borings