Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 97b7e04d4a67814e1160568251f09714 > files > 445

ghc-xmonad-contrib-devel-0.9.1-8.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>XMonad.Hooks.UrgencyHook</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_XMonad-Hooks-UrgencyHook.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>xmonad-contrib-0.9.1: Third party extensions for xmonad</TD
><TD CLASS="topbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html"
>Source code</A
></TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>XMonad.Hooks.UrgencyHook</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>unportable</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>unstable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>Devin Mullins &lt;me@twifkak.com&gt;</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Usage
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Pop up a temporary dzen
</A
></DT
><DT
><A HREF="#3"
>Highlight in existing dzen
</A
></DT
><DT
><A HREF="#4"
>Useful keybinding
</A
></DT
><DT
><A HREF="#5"
>Note
</A
></DT
></DL
></DD
><DT
><A HREF="#6"
>Troubleshooting
</A
></DT
><DT
><A HREF="#7"
>Example: Setting up irssi + rxvt-unicode
</A
></DT
><DD
><DL
><DT
><A HREF="#8"
>Configuring irssi
</A
></DT
><DT
><A HREF="#9"
>Configuring screen
</A
></DT
><DT
><A HREF="#10"
>Configuring rxvt-unicode
</A
></DT
><DT
><A HREF="#11"
>Configuring xmonad
</A
></DT
></DL
></DD
><DT
><A HREF="#12"
>Stuff for your config file:
</A
></DT
><DT
><A HREF="#13"
>Stuff for developers:
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>UrgencyHook lets you configure an action to occur when a window demands
 your attention. (In traditional WMs, this takes the form of &quot;flashing&quot;
 on your &quot;taskbar.&quot; Blech.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithUrgencyHook"
>withUrgencyHook</A
> :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass"
>LayoutClass</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>, <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> h) =&gt; h -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithUrgencyHookC"
>withUrgencyHookC</A
> :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass"
>LayoutClass</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>, <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> h) =&gt; h -&gt; <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AUrgencyConfig"
>UrgencyConfig</A
>  = <A HREF="#v%3AUrgencyConfig"
>UrgencyConfig</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AsuppressWhen"
>suppressWhen</A
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASuppressWhen"
>SuppressWhen</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AremindWhen"
>remindWhen</A
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ARemindWhen"
>RemindWhen</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AurgencyConfig"
>urgencyConfig</A
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASuppressWhen"
>SuppressWhen</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AVisible"
>Visible</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOnScreen"
>OnScreen</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFocused"
>Focused</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANever"
>Never</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARemindWhen"
>RemindWhen</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADont"
>Dont</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARepeatedly"
>Repeatedly</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> Interval</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEvery"
>Every</A
> Interval</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfocusUrgent"
>focusUrgent</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclearUrgents"
>clearUrgents</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdzenUrgencyHook"
>dzenUrgencyHook</A
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
>  = <A HREF="#v%3ADzenUrgencyHook"
>DzenUrgencyHook</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aduration"
>duration</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aargs"
>args</A
> :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ANoUrgencyHook"
>NoUrgencyHook</A
>  = <A HREF="#v%3ANoUrgencyHook"
>NoUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AFocusHook"
>FocusHook</A
>  = <A HREF="#v%3AFocusHook"
>FocusHook</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aminutes"
>minutes</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aseconds"
>seconds</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadUrgents"
>readUrgents</A
> :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> [<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithUrgents"
>withUrgents</A
> ::  ([<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>] -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> a) -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AStdoutUrgencyHook"
>StdoutUrgencyHook</A
>  = <A HREF="#v%3AStdoutUrgencyHook"
>StdoutUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>newtype</SPAN
>  <A HREF="#t%3ASpawnUrgencyHook"
>SpawnUrgencyHook</A
>  = <A HREF="#v%3ASpawnUrgencyHook"
>SpawnUrgencyHook</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> h) =&gt; <A HREF="#t%3AUrgencyHook"
>UrgencyHook</A
> h  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AurgencyHook"
>urgencyHook</A
> :: h -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Usage
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>To wire this up, first add:
</P
><PRE
> import XMonad.Hooks.UrgencyHook
</PRE
><P
>to your import list in your config file. Now, you have a decision to make:
 When a window deems itself urgent, do you want to pop up a temporary dzen
 bar telling you so, or do you have an existing dzen wherein you would like to
 highlight urgent workspaces?
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Pop up a temporary dzen
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Enable your urgency hook by wrapping your config record in a call to
 <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AwithUrgencyHook"
>withUrgencyHook</A
></TT
>. For example:
</P
><PRE
> main = xmonad $ withUrgencyHook dzenUrgencyHook { args = [&quot;-bg&quot;, &quot;darkgreen&quot;, &quot;-xs&quot;, &quot;1&quot;] }
               $ defaultConfig
</PRE
><P
>This will pop up a dzen bar for five seconds telling you you've got an
 urgent window.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Highlight in existing dzen
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>In order for xmonad to track urgent windows, you must install an urgency hook.
 You can use the above <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AdzenUrgencyHook"
>dzenUrgencyHook</A
></TT
>, or if you're not interested in the
 extra popup, install NoUrgencyHook, as so:
</P
><PRE
> main = xmonad $ withUrgencyHook NoUrgencyHook
               $ defaultConfig
</PRE
><P
>Now, your <A HREF="XMonad-Hooks-DynamicLog.html"
>XMonad.Hooks.DynamicLog</A
> must be set up to display the urgent
 windows. If you're using the dzen or dzenPP functions from that module,
 then you should be good. Otherwise, you want to figure out how to set
 ppUrgent.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Useful keybinding
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>You can set up a keybinding to jump to the window that was recently marked
 urgent. See an example at <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AfocusUrgent"
>focusUrgent</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Note
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Note: UrgencyHook installs itself as a LayoutModifier, so if you modify your
 urgency hook and restart xmonad, you may need to rejigger your layout by
 hitting mod-shift-space.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Troubleshooting
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>There are three steps to get right:
</P
><P
>1. The X client must set the UrgencyHint flag. How to configure this
    depends on the application. If you're using a terminal app, this is in
    two parts:
</P
><UL
><LI
> The console app must send a ^G (bell). In bash, a helpful trick is
        <TT
>sleep 1; echo -e '\a'</TT
>.
</LI
><LI
> The terminal must convert the bell into UrgencyHint.
</LI
></UL
><P
>2. XMonad must be configured to notice UrgencyHints. If you've added
    withUrgencyHook, you may need to hit mod-shift-space to reset the layout.
</P
><P
>3. The dzen must run when told. Run <TT
>dzen2 -help</TT
> and make sure that it
    supports all of the arguments you told DzenUrgencyHook to pass it. Also,
    set up a keybinding to the dzen action in <A HREF="XMonad-Util-Dzen.html"
>XMonad.Util.Dzen</A
> to test
    if that works.
</P
><P
>As best you can, try to isolate which one(s) of those is failing.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Example: Setting up irssi + rxvt-unicode
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>This is a commonly asked example. By default, the window doesn't get flagged
 urgent when somebody messages you in irssi. You will have to configure some
 things. If you're using different tools than this, your mileage will almost
 certainly vary. (For example, in Xchat2, it's just a simple checkbox.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="8"
><A NAME="8"
>Configuring irssi
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
><TT
>Irssi</TT
> is not an X11 app, so it can't set the <TT
>UrgencyHint</TT
> flag on <TT
>XWMHints</TT
>.
 However, on all console applications is bestown the greatest of all notification
 systems: the bell. That's right, Ctrl+G, ASCII code 7, <TT
>echo -e '\a'</TT
>, your
 friend, the bell. To configure <TT
>irssi</TT
> to send a bell when you receive a message:
</P
><PRE
> /set beep_msg_level MSGS NOTICES INVITES DCC DCCMSGS HILIGHT
</PRE
><P
>Consult your local <TT
>irssi</TT
> documentation for more detail.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="9"
><A NAME="9"
>Configuring screen
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>A common way to run <TT
>irssi</TT
> is within the lovable giant, <TT
>screen</TT
>. Some distros
 (e.g. Ubuntu) like to configure <TT
>screen</TT
> to trample on your poor console
 applications -- in particular, to turn bell characters into evil, smelly
 &quot;visual bells.&quot; To turn this off, add:
</P
><PRE
> vbell off # or remove the existing 'vbell on' line
</PRE
><P
>to your .screenrc, or hit <TT
>C-a C-g</TT
> within a running <TT
>screen</TT
> session for an
 immediate but temporary fix.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="10"
><A NAME="10"
>Configuring rxvt-unicode
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Rubber, meet road. Urxvt is the gateway between console apps and X11. To tell
 urxvt to set an <TT
>UrgencyHint</TT
> when it receives a bell character, first, have
 an urxvt version 8.3 or newer, and second, set the following in your
 <TT
>.Xdefaults</TT
>:
</P
><PRE
> urxvt.urgentOnBell: true
</PRE
><P
>Depending on your setup, you may need to <TT
>xrdb</TT
> that.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="11"
><A NAME="11"
>Configuring xmonad
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Hopefully you already read the section on how to configure xmonad. If not,
 hopefully you know where to find it.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="12"
><A NAME="12"
>Stuff for your config file:
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:withUrgencyHook"
><A NAME="v%3AwithUrgencyHook"
></A
></A
><B
>withUrgencyHook</B
> :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass"
>LayoutClass</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>, <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> h) =&gt; h -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#withUrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>This is the method to enable an urgency hook. It uses the default
 <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AurgencyConfig"
>urgencyConfig</A
></TT
> to control behavior. To change this, use <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AwithUrgencyHook"
>withUrgencyHook</A
></TT
>
 instead.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:withUrgencyHookC"
><A NAME="v%3AwithUrgencyHookC"
></A
></A
><B
>withUrgencyHookC</B
> :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass"
>LayoutClass</A
> l <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>, <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> h) =&gt; h -&gt; <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig"
>XConfig</A
> l</TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#withUrgencyHookC"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>This lets you modify the defaults set in <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AurgencyConfig"
>urgencyConfig</A
></TT
>. An example:
</P
><PRE
> withUrgencyHookC dzenUrgencyHook { ... } urgencyConfig { suppressWhen = Focused }
</PRE
><P
>(Don't type the <TT
>...</TT
>, you dolt.) See <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
></TT
> for details on configuration.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:UrgencyConfig"
><A NAME="t%3AUrgencyConfig"
></A
></A
><B
>UrgencyConfig</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#UrgencyConfig"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Global configuration, applied to all types of <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
></TT
>. See
 <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AurgencyConfig"
>urgencyConfig</A
></TT
> for the defaults.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:UrgencyConfig"
><A NAME="v%3AUrgencyConfig"
></A
></A
><B
>UrgencyConfig</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:suppressWhen"
><A NAME="v%3AsuppressWhen"
></A
></A
><B
>suppressWhen</B
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASuppressWhen"
>SuppressWhen</A
></TD
><TD CLASS="rdoc"
>when to trigger the urgency hook
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:remindWhen"
><A NAME="v%3AremindWhen"
></A
></A
><B
>remindWhen</B
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ARemindWhen"
>RemindWhen</A
></TD
><TD CLASS="rdoc"
>when to re-trigger the urgency hook
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UrgencyConfig')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:UrgencyConfig" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:urgencyConfig"
><A NAME="v%3AurgencyConfig"
></A
></A
><B
>urgencyConfig</B
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#urgencyConfig"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The default <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyConfig"
>UrgencyConfig</A
></TT
>. suppressWhen = Visible, remindWhen = Dont.
 Use a variation of this in your config just as you use a variation of
 defaultConfig for your xmonad definition.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SuppressWhen"
><A NAME="t%3ASuppressWhen"
></A
></A
><B
>SuppressWhen</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#SuppressWhen"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A set of choices as to <EM
>when</EM
> you should (or rather, shouldn't) be notified of an urgent window.
 The default is <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AVisible"
>Visible</A
></TT
>. Prefix each of the following with &quot;don't bug me when&quot;:
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Visible"
><A NAME="v%3AVisible"
></A
></A
><B
>Visible</B
></TD
><TD CLASS="rdoc"
>the window is currently visible
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OnScreen"
><A NAME="v%3AOnScreen"
></A
></A
><B
>OnScreen</B
></TD
><TD CLASS="rdoc"
>the window is on the currently focused physical screen
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Focused"
><A NAME="v%3AFocused"
></A
></A
><B
>Focused</B
></TD
><TD CLASS="rdoc"
>the window is currently focused
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Never"
><A NAME="v%3ANever"
></A
></A
><B
>Never</B
></TD
><TD CLASS="rdoc"
>... aww, heck, go ahead and bug me, just in case.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SuppressWhen')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SuppressWhen" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASuppressWhen"
>SuppressWhen</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASuppressWhen"
>SuppressWhen</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RemindWhen"
><A NAME="t%3ARemindWhen"
></A
></A
><B
>RemindWhen</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#RemindWhen"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A set of choices as to when you want to be re-notified of an urgent
 window. Perhaps you focused on something and you miss the dzen popup bar. Or
 you're AFK. Or you feel the need to be more distracted. I don't care.
</P
><P
>The interval arguments are in seconds. See the <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3Aminutes"
>minutes</A
></TT
> helper.
</P
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Dont"
><A NAME="v%3ADont"
></A
></A
><B
>Dont</B
></TD
><TD CLASS="rdoc"
>triggering once is enough
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Repeatedly"
><A NAME="v%3ARepeatedly"
></A
></A
><B
>Repeatedly</B
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> Interval</TD
><TD CLASS="rdoc"
>repeat <A HREF="arg1> times every <arg2"
>arg1&gt; times every &lt;arg2</A
> seconds
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Every"
><A NAME="v%3AEvery"
></A
></A
><B
>Every</B
> Interval</TD
><TD CLASS="rdoc"
>repeat every <A HREF="arg1"
>arg1</A
> until the urgency hint is cleared
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RemindWhen')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RemindWhen" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ARemindWhen"
>RemindWhen</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ARemindWhen"
>RemindWhen</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:focusUrgent"
><A NAME="v%3AfocusUrgent"
></A
></A
><B
>focusUrgent</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#focusUrgent"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Focuses the most recently urgent window. Good for what ails ya -- I mean, your keybindings.
 Example keybinding:
</P
><PRE
> , ((modm              , xK_BackSpace), focusUrgent)
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:clearUrgents"
><A NAME="v%3AclearUrgents"
></A
></A
><B
>clearUrgents</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#clearUrgents"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Just makes the urgents go away.
 Example keybinding:
</P
><PRE
> , ((modm .|. shiftMask, xK_BackSpace), clearUrgents)
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:dzenUrgencyHook"
><A NAME="v%3AdzenUrgencyHook"
></A
></A
><B
>dzenUrgencyHook</B
> :: <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#dzenUrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Flashes when a window requests your attention and you can't see it.
 Defaults to a duration of five seconds, and no extra args to dzen.
 See <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DzenUrgencyHook"
><A NAME="t%3ADzenUrgencyHook"
></A
></A
><B
>DzenUrgencyHook</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#DzenUrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Your set of options for configuring a dzenUrgencyHook.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:DzenUrgencyHook"
><A NAME="v%3ADzenUrgencyHook"
></A
></A
><B
>DzenUrgencyHook</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:duration"
><A NAME="v%3Aduration"
></A
></A
><B
>duration</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>number of microseconds to display the dzen
   (hence, you'll probably want to use <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3Aseconds"
>seconds</A
></TT
>)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:args"
><A NAME="v%3Aargs"
></A
></A
><B
>args</B
> :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>list of extra args (as <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TT
>s) to pass to dzen
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DzenUrgencyHook')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DzenUrgencyHook" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:NoUrgencyHook"
><A NAME="t%3ANoUrgencyHook"
></A
></A
><B
>NoUrgencyHook</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#NoUrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:NoUrgencyHook"
><A NAME="v%3ANoUrgencyHook"
></A
></A
><B
>NoUrgencyHook</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:NoUrgencyHook')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:NoUrgencyHook" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ANoUrgencyHook"
>NoUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ANoUrgencyHook"
>NoUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ANoUrgencyHook"
>NoUrgencyHook</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FocusHook"
><A NAME="t%3AFocusHook"
></A
></A
><B
>FocusHook</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#FocusHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A hook which will automatically send you to anything which sets the urgent
  flag (as opposed to printing some sort of message. You would use this as
  usual, eg.
</P
><PRE
> withUrgencyHook FocusHook $ myconfig { ...
</PRE
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:FocusHook"
><A NAME="v%3AFocusHook"
></A
></A
><B
>FocusHook</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FocusHook')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:FocusHook" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AFocusHook"
>FocusHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AFocusHook"
>FocusHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AFocusHook"
>FocusHook</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:minutes"
><A NAME="v%3Aminutes"
></A
></A
><B
>minutes</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#minutes"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A prettified way of multiplying by 60. Use like: <TT
>(5 <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3Aminutes"
>minutes</A
></TT
>)</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:seconds"
><A NAME="v%3Aseconds"
></A
></A
><B
>seconds</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ARational"
>Rational</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Util-Run.html#seconds"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Multiplies by ONE MILLION, for functions that take microseconds.
</P
><P
>Use like:
</P
><PRE
> (5.5 `seconds`)
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="13"
><A NAME="13"
>Stuff for developers:
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:readUrgents"
><A NAME="v%3AreadUrgents"
></A
></A
><B
>readUrgents</B
> :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> [<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>]</TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#readUrgents"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>X action that returns a list of currently urgent windows. You might use
 it, or <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AwithUrgents"
>withUrgents</A
></TT
>, in your custom logHook, to display the workspaces that
 contain urgent windows.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:withUrgents"
><A NAME="v%3AwithUrgents"
></A
></A
><B
>withUrgents</B
> ::  ([<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
>] -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> a) -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#withUrgents"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>An HOF version of <TT
><A HREF="XMonad-Hooks-UrgencyHook.html#v%3AreadUrgents"
>readUrgents</A
></TT
>, for those who prefer that sort of thing.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:StdoutUrgencyHook"
><A NAME="t%3AStdoutUrgencyHook"
></A
></A
><B
>StdoutUrgencyHook</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#StdoutUrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>For debugging purposes, really.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:StdoutUrgencyHook"
><A NAME="v%3AStdoutUrgencyHook"
></A
></A
><B
>StdoutUrgencyHook</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:StdoutUrgencyHook')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:StdoutUrgencyHook" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AStdoutUrgencyHook"
>StdoutUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AStdoutUrgencyHook"
>StdoutUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AStdoutUrgencyHook"
>StdoutUrgencyHook</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>newtype</SPAN
>  <A NAME="t:SpawnUrgencyHook"
><A NAME="t%3ASpawnUrgencyHook"
></A
></A
><B
>SpawnUrgencyHook</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#SpawnUrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Spawn a commandline thing, appending the window id to the prefix string
 you provide. (Make sure to add a space if you need it.) Do your crazy
 xcompmgr thing.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:SpawnUrgencyHook"
><A NAME="v%3ASpawnUrgencyHook"
></A
></A
><B
>SpawnUrgencyHook</B
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SpawnUrgencyHook')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SpawnUrgencyHook" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASpawnUrgencyHook"
>SpawnUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASpawnUrgencyHook"
>SpawnUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASpawnUrgencyHook"
>SpawnUrgencyHook</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> h) =&gt; <A NAME="t:UrgencyHook"
><A NAME="t%3AUrgencyHook"
></A
></A
><B
>UrgencyHook</B
> h  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#UrgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The class definition, and some pre-defined instances.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:urgencyHook"
><A NAME="v%3AurgencyHook"
></A
></A
><B
>urgencyHook</B
> :: h -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX"
>X</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Hooks-UrgencyHook.html#urgencyHook"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UrgencyHook')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:UrgencyHook" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AStdoutUrgencyHook"
>StdoutUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ASpawnUrgencyHook"
>SpawnUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3AFocusHook"
>FocusHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ADzenUrgencyHook"
>DzenUrgencyHook</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="XMonad-Hooks-UrgencyHook.html#t%3AUrgencyHook"
>UrgencyHook</A
> <A HREF="XMonad-Hooks-UrgencyHook.html#t%3ANoUrgencyHook"
>NoUrgencyHook</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>