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`
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

View File

@ -18,8 +18,9 @@ module XMonad.Layout.BoringWindows (
-- * Usage
-- $usage
boringWindows, boringAuto,
markBoring, clearBoring,
focusUp, focusDown, focusMaster,
markBoring, markBoringEverywhere,
clearBoring, focusUp, focusDown,
focusMaster,
UpdateBoring(UpdateBoring),
BoringMessage(Replace,Merge),
@ -33,7 +34,7 @@ module XMonad.Layout.BoringWindows (
import XMonad.Layout.LayoutModifier(ModifiedLayout(..),
LayoutModifier(handleMessOrMaybeModifyIt, redoLayout))
import XMonad(Typeable, LayoutClass, Message, X, fromMessage,
sendMessage, windows, withFocused, Window)
broadcastMessage, sendMessage, windows, withFocused, Window)
import Data.List((\\), union)
import Data.Maybe(fromMaybe, listToMaybe, maybeToList)
import qualified Data.Map as M
@ -81,6 +82,11 @@ focusUp = sendMessage UpdateBoring >> sendMessage FocusUp
focusDown = sendMessage UpdateBoring >> sendMessage FocusDown
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
{ namedBoring :: M.Map String [a] -- ^ store borings with a specific source
, chosenBoring :: [a] -- ^ user-chosen borings