1
0
mirror of https://github.com/xmonad/xmonad-contrib.git synced 2025-07-27 18:21:52 -07:00

Merge pull request from mrVanDalo/boring/broadcast

XMonad.Layout.BoringWindows: add markBoringEverywhere
This commit is contained in:
Brent Yorgey
2020-01-03 14:18:32 -06:00
committed by GitHub
2 changed files with 14 additions and 3 deletions

@@ -53,6 +53,11 @@
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
### Breaking Changes ### Breaking Changes

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