diff options
-rw-r--r-- | news.md | 3 | ||||
-rw-r--r-- | readme.md | 16 | ||||
-rw-r--r-- | src/Plugins/XMonadLog.hs | 18 |
3 files changed, 30 insertions, 7 deletions
@@ -10,7 +10,8 @@ _New features_ - New `CatInt` monitor, displaying integer values read from a file, by Nathaniel Wesley Filardo. - New `<raw>` tag for safer input parsing, also by Nathaniel. - + - New `UnsafeXMonadLog` monitor (by Eric Mrak) and their xproperty + counterparts, `UnsafeXPropertyLog` and `UnsafeNamedXPropertyLog`. _Bug fixes_ @@ -1075,9 +1075,23 @@ more than one battery. [samples/xmonadpropwrite.hs script]: https://github.com/jaor/xmobar/raw/master/samples/xmonadpropwrite.hs +### `UnsafeXPropertyLog PropName` + +- Aliases to `PropName` +- Same as `XPropertyLog`, but the input is not filtered to avoid + injection of actions (cf. `UnsafeXMonadLog`). The program writing + the value of the read property is responsible of performing any + needed cleanups. + +### `NamedXPropertyLog PropName Alias` + +- Aliases to `Alias` +- Same as `XPropertyLog`, but a custom alias can be specified. + ### `NamedXPropertyLog PropName Alias` -- Same as XPropertyLog, but a custom alias can be specified. +- Aliases to `Alias` +- Same as `UnsafeXPropertyLog`, but a custom alias can be specified. ### `Brightness Args RefreshRate` diff --git a/src/Plugins/XMonadLog.hs b/src/Plugins/XMonadLog.hs index b424565..158b7ef 100644 --- a/src/Plugins/XMonadLog.hs +++ b/src/Plugins/XMonadLog.hs @@ -33,7 +33,9 @@ import Actions (stripActions) data XMonadLog = XMonadLog | UnsafeXMonadLog | XPropertyLog String + | UnsafeXPropertyLog String | NamedXPropertyLog String String + | UnsafeNamedXPropertyLog String String deriving (Read, Show) instance Exec XMonadLog where @@ -41,16 +43,22 @@ instance Exec XMonadLog where alias UnsafeXMonadLog = "UnsafeXMonadLog" alias (XPropertyLog atom) = atom alias (NamedXPropertyLog _ name) = name + alias (UnsafeXPropertyLog atom) = atom + alias (UnsafeNamedXPropertyLog _ name) = name start x cb = do let atom = case x of - XMonadLog -> "_XMONAD_LOG" - UnsafeXMonadLog -> "_XMONAD_LOG" - XPropertyLog a -> a + XMonadLog -> "_XMONAD_LOG" + UnsafeXMonadLog -> "_XMONAD_LOG" + XPropertyLog a -> a + UnsafeXPropertyLog a -> a NamedXPropertyLog a _ -> a + UnsafeNamedXPropertyLog a _ -> a sanitize = case x of - UnsafeXMonadLog -> id - _ -> stripActions + UnsafeXMonadLog -> id + UnsafeXPropertyLog _ -> id + UnsafeNamedXPropertyLog _ _ -> id + _ -> stripActions d <- openDisplay "" xlog <- internAtom d atom False |