[Xmonad] darcs patch: Proposal for a template of module documentation

Donald Bruce Stewart dons at cse.unsw.edu.au
Wed Jun 13 09:24:49 EDT 2007

> Hi!
> this is a proposal for documenting extensions. If you think it could be
> useful, I'll submit a patch for the other modules.
> have a look of the haddock output here:
> http://gorgias.mine.nu/tabbed/XMonadContrib-Tabbed.html
> Let me know,
> Andrea

I think this is a great idea, and fits with my idea of generating the
contrib.html page describing the extensions, and linking to the
generated haddocks. Could be automated, given haddocks like this.

> Wed Jun 13 15:10:29 CEST 2007  Andrea Rossato <andrea.rossato at unibz.it>
>   * template for module information and documentation

Content-Description: A darcs patch for your repository!
> New patches:
> [template for module information e documentation
> Andrea Rossato <andrea.rossato at unibz.it>**20070613131029] {
> hunk ./Tabbed.hs 1
> -module XMonadContrib.Tabbed ( tabbed ) where
> +-----------------------------------------------------------------------------
> +-- |
> +-- Module      :  XMonadContrib.Tabbed
> +-- Copyright   :  (c) David Roundy
> +-- License     :  ??? GPL 2 ???

Since extensions are really really truly compiled in, and hosted by us,
we're going to have to mandate BSD3/xmonad license I think.

> +-- 
> +-- Maintainer  :  email at address.com
> +-- Stability   :  unstable
> +-- Portability :  unportable
> +--
> +-- A tabbed layout for the Xmonad Window Manager 
> +--
> +-----------------------------------------------------------------------------
> hunk ./Tabbed.hs 15
> --- This module defines a tabbed layout.
> -
> --- You can use this module with the following in your config file:
> -
> --- import XMonadContrib.Tabbed
> -
> --- defaultLayouts :: [Layout]
> --- defaultLayouts = [ tabbed
> ---                  , ... ]
> +module XMonadContrib.Tabbed ( 
> +                             -- * Usage:
> +                             -- $usage
> +                             tabbed
> +                            ) where
> hunk ./Tabbed.hs 32
> +-- $usage
> +-- You can use this module with the following in your configuration file:
> +--
> +-- > import XMonadContrib.Tabbed
> +--
> +-- > defaultLayouts :: [Layout]
> +-- > defaultLayouts = [ tabbed
> +-- >                 , ... ]
> +
> +
> }
> Context:
> [Remove some debugging statements I forgot about earlier
> Stefan O'Rear <stefanor at cox.net>**20070613041112] 
> [Update MagicFocus to the new StackSet
> Spencer Janssen <sjanssen at cse.unl.edu>**20070613035323] 
> [Magic Focus
> Peter De Wachter <pdewacht at gmail.com>**20070612175357
>  Automatically puts the focused window in the master position. It's magic.
>  I wrote this for the Circle layout, but it's actually usable with other
>  layouts as well.
> ] 
> [add -fglasgow-exts to some modules that use it.
> David Roundy <droundy at darcs.net>**20070612170349] 
> [changes to work with Stacks that can't be empty.
> David Roundy <droundy at darcs.net>**20070612151209] 
> [add Combo and Square to MetaModule.
> David Roundy <droundy at darcs.net>**20070612133753] 
> [new module NoBorders to let a given layout have windows without borders.
> David Roundy <droundy at darcs.net>**20070612133727
>  This is designed for layouts like full and tabbed, where the red square
>  around the screen actually conveys no information (except for weird windows
>  that use the shape extension or something, so that more than one window is
>  actually visible).  Save some real estate at no cost.
> ] 
> [make combo sort of work with new doLayout.
> David Roundy <droundy at darcs.net>**20070612133027
>  For some reason (not entirely clear to me) this doesn't work properly just
>  yet with the tabbed layout.  :( But at least it'll compile.  The trouble is
>  that we have no way of tracking which tab ought to be visible without
>  adding a *lot* of infrastructure.  I'd rather have that infrastructure in
>  xmonad proper than reimplement all the focus-handling in combo, so for now
>  I'll just delay upgrading my xmonad at work...
> ] 
> [make square work with new doLayout.
> David Roundy <droundy at darcs.net>**20070612133009] 
> [add "Square" layout.
> David Roundy <droundy at darcs.net>**20070612021048
>  This is probably only ever useful in combination with Combo.
>  It sticks one window in a square region, and makes the rest
>  of the windows live with what's left (in a full-screen sense).
> ] 
> [add new combo layout combiner.
> David Roundy <droundy at darcs.net>**20070611224922] 
> [In Decoration.hs, track rename of ModifyWindows
> Stefan O'Rear <stefanor at cox.net>**20070612060713] 
> [Refactor Decoration into a general layout-level hooks interface, and a decoration support module on top of that
> Stefan O'Rear <stefanor at cox.net>**20070612060210] 
> [the Stack can be Empty
> Andrea Rossato <andrea.rossato at unibz.it>**20070612055144] 
> [Documentation fix
> Spencer Janssen <sjanssen at cse.unl.edu>**20070612035655] 
> [Comment only
> Spencer Janssen <sjanssen at cse.unl.edu>**20070612031305] 
> [Fix LayoutHints in the presence of nonzero border widths
> Stefan O'Rear <stefanor at cox.net>**20070611005407] 
> [add keybinding to make aspect ratio flexible.
> David Roundy <droundy at darcs.net>**20070611165915] 
> [Note the modules I maintain
> Spencer Janssen <sjanssen at cse.unl.edu>**20070611184830] 
> [Add MetaModule
> Spencer Janssen <sjanssen at cse.unl.edu>**20070611184601] 
> [Updates to work with recent API changes
> Spencer Janssen <sjanssen at cse.unl.edu>**20070611183439] 
> [Rename safeIO to catchIO
> Spencer Janssen <sjanssen at cse.unl.edu>**20070611162028] 
> [add WorkspaceDir, which sets the current directory in a workspace.
> David Roundy <droundy at darcs.net>**20070611154041
>  Actually, it sets the current directory in a layout, since there's no way I
>  know of to attach a behavior to a workspace.  This means that any terminals
>  (or other programs) pulled up in that workspace (with that layout) will
>  execute in that working directory.  Sort of handy, I think.
> ] 
> [fmt 
> Don Stewart <dons at cse.unsw.edu.au>**20070611053450] 
> [added dynamicLogXinerama, a workspace logger that's nicer for Xinerama
> Jason Creighton <jcreigh at gmail.com>**20070611051810] 
> [redraw decorations on PropertyNotify
> Jason Creighton <jcreigh at gmail.com>**20070611021408
>  newDecoration now takes a Window parameter, which is the window the decoration
>  is "for". If there is a PropertyNotify for that window, the decoration is
>  redrawn.
> ] 
> [use safe peek instead of unsafe focus
> Jason Creighton <jcreigh at gmail.com>**20070611015437
>  Fixes crashing bug with Xinerama where you have a tabbed layout on one screen
>  and attempt to switch to an empty workspace on the other.
> ] 
> [make Tabbed respect the y position of the layout rect (statusbar bugfix)
> Jason Creighton <jcreigh at gmail.com>**20070610231510] 
> [tune layout of Tabbed just a bit.
> David Roundy <droundy at darcs.net>**20070610203513] 
> [make Decoration set the input mask appropriately.
> David Roundy <droundy at darcs.net>**20070610203451] 
> [Updates for Layout API change
> Spencer Janssen <sjanssen at cse.unl.edu>**20070610203840] 
> [color focussed tab differently.
> David Roundy <droundy at darcs.net>**20070610195743] 
> [update Mosaic for latest changes.
> David Roundy <droundy at darcs.net>**20070610145816] 
> [maximize rather than minimize the rating.
> David Roundy <droundy at darcs.net>**20070601183240] 
> [fix error in select.
> David Roundy <droundy at darcs.net>**20070601183147] 
> [improve changeMosaic.
> David Roundy <droundy at darcs.net>**20070601175042] 
> [cut obsolete description of mosaic.
> David Roundy <droundy at darcs.net>**20070609131456] 
> [start switching over to a Monte Carlo algorithm for Mosaic
> David Roundy <droundy at darcs.net>**20070601170505] 
> [new layout algorithm for Mosaic.
> David Roundy <droundy at darcs.net>**20070527191153] 
> [display names of windows on tabs.
> David Roundy <droundy at darcs.net>**20070610163729] 
> [make Decoration draw the window initially.
> David Roundy <droundy at darcs.net>**20070610163651
>  We still don't respond to expose events.  :(
> ] 
> [Fix name of xmonad-clock in compilation instructions.
> glasser at mit.edu**20070610155204] 
> [add Decoration module to be used to easily define decorations.
> David Roundy <droundy at darcs.net>**20070610153939] 
> [add sketch of tabbed layout.
> David Roundy <droundy at darcs.net>**20070610153926] 
> [make LayoutHints work with new modifyLayout (in X).
> David Roundy <droundy at darcs.net>**20070610145740] 
> [tag visibles with <N>
> Don Stewart <dons at cse.unsw.edu.au>**20070610111931] 
> [tweak pkill
> Don Stewart <dons at cse.unsw.edu.au>**20070610093027] 
> [greedydoc
> dave at nullcube.com**20070610091056
>  Add documentation on how to use GreedyView as your default workspace switcher.
> ] 
> [use all 3 load values
> Don Stewart <dons at cse.unsw.edu.au>**20070610090959] 
> [Modified xmonad-clock.c to display battery information from ACPI (will work only on linux though). Also restored three load averages instead of only one.
> buisse at cs.chalmers.se**20070610090228] 
> [example xinitrc
> Don Stewart <dons at cse.unsw.edu.au>**20070610085715] 
> [update run-xmonad.sh
> Don Stewart <dons at cse.unsw.edu.au>**20070610063915] 
> [no need for ./scripts/xmonad-status.c, update run-xmonad.sh
> Don Stewart <dons at cse.unsw.edu.au>**20070610062806] 
> [add DynamicLog.hs
> Don Stewart <dons at cse.unsw.edu.au>**20070610062757] 
> [make LayoutHints robust with regard to future addition of Layout fields.
> David Roundy <droundy at darcs.net>**20070609173725] 
> [remove out of date ./scripts/xmonad-status.hs
> Don Stewart <dons at cse.unsw.edu.au>**20070610005107] 
> [add new LayoutHints module that makes layouts respect size hints.
> David Roundy <droundy at darcs.net>**20070604213716] 
> [improve xmonad-status.c
> Don Stewart <dons at cse.unsw.edu.au>**20070609140258] 
> [Add C script for parsing new logging encoding, and displaying workspace info
> Don Stewart <dons at cse.unsw.edu.au>**20070609131856] 
> [missing unsetenv
> Don Stewart <dons at cse.unsw.edu.au>**20070609090127] 
> [add tiny clock program (C) i'm using in the status bar
> Don Stewart <dons at cse.unsw.edu.au>**20070609080435] 
> [remove obsolete 'examples' dir
> Don Stewart <dons at cse.unsw.edu.au>**20070609061450] 
> [latest version of xmonad-status.hs
> Don Stewart <dons at cse.unsw.edu.au>**20070609060913] 
> [remove dead version
> Don Stewart <dons at cse.unsw.edu.au>**20070609060857] 
> [Circle layout
> Peter De Wachter <pdewacht at gmail.com>**20070606064153
>  Windows are arranged in a circle around the master window. Rather nice to use
>  with a mouse, if you got many windows open.
>  Screenshot: http://caladan.rave.org/circle.png
> ] 
> [Submap: For creating keyboard submappings
> Jason Creighton <jcreigh at gmail.com>**20070606061941] 
> [nicer format for dynamic workspaces
> Don Stewart <dons at cse.unsw.edu.au>**20070606045705] 
> [add script which only draws current workspace, and those with clients
> Don Stewart <dons at cse.unsw.edu.au>**20070606044544] 
> [In docs, change name of program from mux to xmonad-status.
> glasser at mit.edu**20070605140045] 
> [Add xmonad-status.hs
> Don Stewart <dons at cse.unsw.edu.au>**20070605132108
>  An external status bar client for xmonad. 
>  See screenshots:
>      http://www.cse.unsw.edu.au/~dons/tmp/dons-dzen-status.png
>      http://www.cse.unsw.edu.au/~dons/tmp/xmonad-dzen-tags.png
> ] 
> [gapless tiled layout obeying size hints
> Peter De Wachter <pdewacht at gmail.com>**20070605071716] 
> [Contrib package for 6.4 users
> daniel at wagner-home.com**20070604225534] 
> [XMonadContrib.ReadMap: a Read instance of Map for GHC 6.4 users
> daniel at wagner-home.com**20070602064318] 
> [keybindings to warp pointer to window center
> daniel at wagner-home.com**20070602062328] 
> [XMonadContrib.Commands: for workspace and screen commands, leave out W/S tag
> glasser at mit.edu**20070601161351] 
> [New contrib module: run internal xmonad commands via dmenu
> glasser at mit.edu**20070601043849] 
> [Note that my xinerama patch is now in dzen.
> glasser at mit.edu**20070601041112] 
> [Rescreen is in main xmonad now
> Spencer Janssen <sjanssen at cse.unl.edu>**20070528050656] 
> [replace "name" in NamedWindow with a Show instance.
> David Roundy <droundy at darcs.net>**20070526185114] 
> [[Spiral] blend in the scale factor so it doesn't have any effect on the smallest windows
> joe.thornber at gmail.com**20070525032732] 
> [[Spiral] last rect takes all available space
> joe.thornber at gmail.com**20070524120239] 
> [[Spiral] Introduce a simpler Rect data type to remove a lot of the fromIntegrals
> joe.thornber at gmail.com**20070524100423] 
> [[Spiral] divideRects now takes a list of directions to split in
> joe.thornber at gmail.com**20070524090211] 
> [[Spiral] misc tidying
> joe.thornber at gmail.com**20070524085537] 
> [[Spiral] remove old spiral code
> joe.thornber at gmail.com**20070524084805] 
> [[Spiral] add fibonacci spiral
> joe.thornber at gmail.com**20070524084423] 
> [Allow clients of NamedWindows to get at the name.
> glasser at mit.edu**20070523184251] 
> [dzen module (with xinerama support, which requires glasser's Xinerama patch to dzen)
> glasser at mit.edu**20070523184315] 
> [Extract NamedWindow support from Mosaic into its own module
> glasser at mit.edu**20070523155855] 
> [remove SwapFocus (which is no longer possible)
> David Roundy <droundy at darcs.net>**20070523153841
>  This module depended on the focus stack.
> ] 
> [Fix Spiral's module name
> Spencer Janssen <sjanssen at cse.unl.edu>**20070522170909] 
> [[SPIRAL] add spiral tiling layout
> joe.thornber at gmail.com**20070522062537] 
> [Make RotView compile.
> Miikka Koskinen <arcatan at kapsi.fi>**20070522075338
>  As I'm not a Xinerama user, I'm not sure if rotView should consider only
>  hidden workspaces or also visible but not focused workspaces. I thought hidden
>  workspaces only would be more logical.
> ] 
> [bug fix in DwmPromote. whoops.
> Miikka Koskinen <arcatan at kapsi.fi>**20070522062118] 
> [make FindEmptyWorkspace compile
> Miikka Koskinen <arcatan at kapsi.fi>**20070521123239] 
> [make DwmPromote compile
> Miikka Koskinen <arcatan at kapsi.fi>**20070521123140] 
> [updated Dmenu.hs to work with zipper StackSet
> Jason Creighton <jcreigh at gmail.com>**20070521233947] 
> [Add GreedyView
> Spencer Janssen <sjanssen at cse.unl.edu>**20070521220048] 
> [Rescreen: collects new screen information
> Spencer Janssen <sjanssen at cse.unl.edu>**20070521164808] 
> [Fixes for windowset -> workspace rename
> Spencer Janssen <sjanssen at cse.unl.edu>**20070521042118] 
> [TwoPane: hide windows that aren't in view
> Spencer Janssen <sjanssen at cse.unl.edu>**20070518224240] 
> [make Mosaic even less picky by default.
> David Roundy <droundy at darcs.net>**20070516175554] 
> [add clear window message in Mosaic.
> David Roundy <droundy at darcs.net>**20070516175518] 
> [Comment only
> Spencer Janssen <sjanssen at cse.unl.edu>**20070517211003] 
> [Add instructions for TwoPane
> Spencer Janssen <sjanssen at cse.unl.edu>**20070517210206] 
> [Add TwoPane
> Spencer Janssen <sjanssen at cse.unl.edu>**20070517195618] 
> [throttle the exponential expense when many windows are present.
> David Roundy <droundy at darcs.net>**20070516022123] 
> [make mosaic configure windows by name rather than by Window.
> David Roundy <droundy at darcs.net>**20070512215644
>  Note that this is still pretty flawed.  Often window names change, and the
>  layout then stagnates a bit.  Gimp, for example, opens most its windows
>  with the same name before renaming them, so you have to hit mod-return or
>  something to force a doLayout.  Also, gimp still overrides xmonad regarding
>  the size of its main window.  :(
> ] 
> [XMonadContrib.FindEmptyWorkspace
> Miikka Koskinen <arcatan at kapsi.fi>**20070513184338
>  With this module you can find empty workspaces, view them and tag windows to
>  them.
> ] 
> [make DwmPromote compile
> Miikka Koskinen <arcatan at kapsi.fi>**20070513184254] 
> [make DwmPromote compile again
> Miikka Koskinen <arcatan at kapsi.fi>**20070510154158] 
> [make DwmPromote compile
> Miikka Koskinen <arcatan at kapsi.fi>**20070503105236] 
> [add SwapFocus.
> David Roundy <droundy at darcs.net>**20070512191315] 
> [make rotView only consider non-visible workspaces (Xinerama)
> Jason Creighton <jcreigh at gmail.com>**20070510012059] 
> [fix commend in RotView.
> David Roundy <droundy at darcs.net>**20070505185654] 
> [switch to Message type for layout messages
> Don Stewart <dons at cse.unsw.edu.au>**20070505014332] 
> [Fix instructions in Mosaic.
> Chris Mears <chris at cmears.id.au>**20070503222345] 
> [add Mosaic layout.
> David Roundy <droundy at darcs.net>**20070503151024] 
> [-Wall police
> Spencer Janssen <sjanssen at cse.unl.edu>**20070503211700] 
> [Make RotView build, and add a brief description.
> Chris Mears <chris at cmears.id.au>**20070503104234] 
> [comment: Gave URL to xinerama-enabled dmenu patch
> Jason Creighton <jcreigh at gmail.com>**20070503053133] 
> [Put dmenu in X too
> Spencer Janssen <sjanssen at cse.unl.edu>**20070503053727] 
> [Add dmenu (thanks jcreigh)
> Spencer Janssen <sjanssen at cse.unl.edu>**20070503052225] 
> [add RotView module.
> David Roundy <droundy at darcs.net>**20070421233838] 
> [XMonadContrib.DwmPromote: dwm-like promote
> Miikka Koskinen <arcatan at kapsi.fi>**20070501082031
>  I like the way dwm's equivalent to xmonad's promote works, so I
>  implemented dwmpromote.
> ] 
> [add simple date example
> Don Stewart <dons at cse.unsw.edu.au>**20070429064013] 
> [more details
> Don Stewart <dons at cse.unsw.edu.au>**20070429061426] 
> [add readme
> Don Stewart <dons at cse.unsw.edu.au>**20070429061329] 
> [Initial import of xmonad contributions
> Don Stewart <dons at cse.unsw.edu.au>**20070429061150] 
> Patch bundle hash:
> 4cfb867e25cdaf8dbde2cbf153e9f17ff62b68da

> _______________________________________________
> Xmonad mailing list
> Xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad

More information about the Xmonad mailing list