[xmonad] DynamicLog improvements and new contrib module, XMonad.Util.Loggers

Andrea Rossato andrea.rossato at unibz.it
Wed Feb 20 08:15:46 EST 2008

On Wed, Feb 20, 2008 at 07:04:33AM -0500, Brent Yorgey wrote:
> Hmm... well, using 'catMaybes' doesn't do that: catMaybes [Just "abc",
> Nothing] --> ["abc"], but catMaybes [Just "abc", Just ""] --> ["abc", ""].
> But in the end I guess you're right, since the status bar output function
> filters out the empty string (in particular the "sepBy" function filters out
> the null string).  I didn't realize this before, and I wonder whether it is
> really the correct behavior.  My intention was to allow for two different
> cases, one in which a logger does not want to output anything (or gives an
> error), and another in which the logger explicitly wants to output the empty
> string. For example, maybe you have a logger which only outputs something
> some of the time, but when it is not outputting anything you still want a
> blank space where it would have been.  I don't know, it's not really very
> important either way, I guess. =)

well, I was assuming a status bar is a one line only string and so a
"" is... nothing...;)

I see your point: someone wanted the prompt, afair, to return a Maybe
String, where a Nothing was the user exiting the prompt with Esc or
so. I don't think that could be the case of a logger, though.

BTW, it was Spencer who pushed me to reflect about the fact that a
'Maybe list' is usually something uselessly complicated - I used a
maybe [Window] or something like that in the very first version of the
prompt if I recall it correctly...


More information about the xmonad mailing list