New patches: [Use Data.Ord.comparing in DynamicLog Shachaf Ben-Kiki **20070620011016 This patch replaces (compare `on`) with Data.ord.comparing, so on doesn't have to be defined. ] { hunk ./DynamicLog.hs 33 +import Data.Ord ( comparing ) hunk ./DynamicLog.hs 59 -pprWindowSet s = concatMap fmt $ sortBy (compare `on` S.tag) +pprWindowSet s = concatMap fmt $ sortBy (comparing S.tag) hunk ./DynamicLog.hs 83 - . sortBy (compare `on` S.screen) $ S.current ws : S.visible ws + . sortBy (comparing S.screen) $ S.current ws : S.visible ws hunk ./DynamicLog.hs 85 - . sortBy (compare `on` S.tag) $ S.hidden ws + . sortBy (comparing S.tag) $ S.hidden ws hunk ./DynamicLog.hs 91 -on :: (a -> a -> c) -> (b -> a) -> b -> b -> c -on f g a b = (g a) `f` (g b) - } Context: [clean up TwoPane to work on Stacks as it ought. David Roundy **20070619150928] [Factor out pprWindowSet (and Xinerama version) from dynamicLog. Shachaf Ben-Kiki **20070619183657 This patch lets you pretty-print a WindowSet to a string, rather than always printing it out to stdout directly. ] [run-xmonad.sh: don't hard-code path to mkfifo. joachim.fasting@gmail.com**20070619124212 mkfifo isn't located in /sbin on all distributions (Gentoo puts it in /bin). By temporarily appending /sbin to PATH both setups are supported. 'which' and friends are not viable options since /sbin usually isn't in user's PATH by default. ] [Anneal.hs: add module header. joachim.fasting@gmail.com**20070619002849] [run-xmonad.sh: use $HOME when setting PATH. joachim.fasting@gmail.com**20070618234703] [Circle.hs: only compute sqrt 2 once. joachim.fasting@gmail.com**20070618232051] [Magnifier.hs: add usage instructions. joachim.fasting@gmail.com**20070618212215] [MagicFocus.hs: add module header and usage instructions. joachim.fasting@gmail.com**20070618205421] [MagicFocus.magicFocus: add type signature. joachim.fasting@gmail.com**20070618205222] [Accordion.hs: add module header and usage instructions. joachim.fasting@gmail.com**20070618193626] [LayoutHints.hs: add usage thingie for Haddock. joachim.fasting@gmail.com**20070618143234] [LayoutHints.hs: add module header. joachim.fasting@gmail.com**20070618143059] [Dzen.hs: add module header. joachim.fasting@gmail.com**20070618142915] [MetaModule.hs: correct module header. joachim.fasting@gmail.com**20070618191905] [Remove all references to exec Spencer Janssen **20070618201652] [Add Accordion to MetaModule Spencer Janssen **20070618190526] [Add an "accordion" layout which puts non-focused windows in ribbons at the top and bottom of the screen. glasser@mit.edu**20070618153943] [RotView.rotView: use Data.Ord.comparing. joachim.fasting@gmail.com**20070618144502 Looks a bit cleaner than '\x y -> compare (tag x) (tag y)' ] [shrink window names to fit tabs. David Roundy **20070617152340] [Tabbed.hs: fixed centerText issues and some binding shadowing warnings Andrea Rossato **20070617104219 This patch fixes the centerText issue due to the inappropriate use of textExtends and textWidth. Those functions need a FontStruct id to operate, and this cannot be retrieved with queryFont (see comments in Graphics.X11.Xlib.Font). So we now get the FontStruct with loadQueryFont, we set the default Xorg fonts and we calculate things for (vertical and horizontal) centering. It also removes some binding shadows compiler warnings ] [fix leak in Combo. David Roundy **20070616191052 We leaked decorations, since UnDoLayout wasn't passed to the actual layouts that had decorations attached. :( ] [Typo Spencer Janssen **20070617000924] [Comment only Spencer Janssen **20070617000805] [Import typo Spencer Janssen **20070614211337] [Magnifier layout hack Peter De Wachter **20070614203219 This layout hack increases the size of the window that has focus (the master window excepted). This causes it to overlap with nearby windows, so not for tiling purists :) Screenshot: http://caladan.rave.org/magnifier.png ] [Use Haskell '98 data declaration rather than GADT-style Spencer Janssen **20070614205211] [WorkspaceDir.hs: info and documentation Andrea Rossato **20070614144443] [Warp.hs: info and documentation Andrea Rossato **20070614144426] [TwoPane.hs: info and documentation Andrea Rossato **20070614144409] [Submap.hs: info and documentation Andrea Rossato **20070614144348] [Square.hs: info and documentation Andrea Rossato **20070614144317] [Spiral.hs: info and documentation Andrea Rossato **20070614144300] [SimpleDate.hs: info and documentation Andrea Rossato **20070614144241] [RotView.hs: info and documentation Andrea Rossato **20070614144225] [NoBorders.hs: info and documentation Andrea Rossato **20070614144200] [NamedWindows.hs: info and documentation Andrea Rossato **20070614144135] [Mosaic.hs: info and documentation Andrea Rossato **20070614144118] [metaModule.hs: info and documentation Andrea Rossato **20070614144102] [HintedTile.hs: info and documentation Andrea Rossato **20070614144019] [GreedyView.hs: info and documentation Andrea Rossato **20070614143953] [FindEmptyWorkspace.hs: info and documentation Andrea Rossato **20070614143909] [DynamicLog.hs: info and documentation Andrea Rossato **20070614143839] [DwmPromote.hs: info and documentation Andrea Rossato **20070614143813] [Dmenu.hs: info and documentation Andrea Rossato **20070614143753] [Decoration.hs: info and documentation Andrea Rossato **20070614143731] [Combo.hs: info and documentation Andrea Rossato **20070614143700] [Circle.hs: info and documentation Andrea Rossato **20070614143550] [BackCompat.hs info e documentation Andrea Rossato **20070614064850] [Tabbed.hs: Get correct color values instead of assuming a 24-bit display Jason Creighton **20070613235049 Using, eg, 0xBBBBBB directly makes assumptions about the server's colormap and only works on 24-bit displays. This patch fetches the colors on every doLayout call, which is ugly, but works. It would be nice if we could do all the required initColors only once. ] [added info to Commands.hs Andrea Rossato **20070613190908 Haddock stuff. ] [add bsd-style license for xmonad contrib Don Stewart **20070614025454] [Update license information Spencer Janssen **20070613152829] [template for module information e documentation Andrea Rossato **20070613131029] [Remove some debugging statements I forgot about earlier Stefan O'Rear **20070613041112] [Update MagicFocus to the new StackSet Spencer Janssen **20070613035323] [Magic Focus Peter De Wachter **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 **20070612170349] [changes to work with Stacks that can't be empty. David Roundy **20070612151209] [add Combo and Square to MetaModule. David Roundy **20070612133753] [new module NoBorders to let a given layout have windows without borders. David Roundy **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 **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 **20070612133009] [add "Square" layout. David Roundy **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 **20070611224922] [In Decoration.hs, track rename of ModifyWindows Stefan O'Rear **20070612060713] [Refactor Decoration into a general layout-level hooks interface, and a decoration support module on top of that Stefan O'Rear **20070612060210] [the Stack can be Empty Andrea Rossato **20070612055144] [Documentation fix Spencer Janssen **20070612035655] [Comment only Spencer Janssen **20070612031305] [Fix LayoutHints in the presence of nonzero border widths Stefan O'Rear **20070611005407] [add keybinding to make aspect ratio flexible. David Roundy **20070611165915] [Note the modules I maintain Spencer Janssen **20070611184830] [Add MetaModule Spencer Janssen **20070611184601] [Updates to work with recent API changes Spencer Janssen **20070611183439] [Rename safeIO to catchIO Spencer Janssen **20070611162028] [add WorkspaceDir, which sets the current directory in a workspace. David Roundy **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 **20070611053450] [added dynamicLogXinerama, a workspace logger that's nicer for Xinerama Jason Creighton **20070611051810] [redraw decorations on PropertyNotify Jason Creighton **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 **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 **20070610231510] [tune layout of Tabbed just a bit. David Roundy **20070610203513] [make Decoration set the input mask appropriately. David Roundy **20070610203451] [Updates for Layout API change Spencer Janssen **20070610203840] [color focussed tab differently. David Roundy **20070610195743] [update Mosaic for latest changes. David Roundy **20070610145816] [maximize rather than minimize the rating. David Roundy **20070601183240] [fix error in select. David Roundy **20070601183147] [improve changeMosaic. David Roundy **20070601175042] [cut obsolete description of mosaic. David Roundy **20070609131456] [start switching over to a Monte Carlo algorithm for Mosaic David Roundy **20070601170505] [new layout algorithm for Mosaic. David Roundy **20070527191153] [display names of windows on tabs. David Roundy **20070610163729] [make Decoration draw the window initially. David Roundy **20070610163651 We still don't respond to expose events. :( ] [Fix name of xmonad-clock in compilation instructions. glasser@mit.edu**20070610155204] [add Decoration module to be used to easily define decorations. David Roundy **20070610153939] [add sketch of tabbed layout. David Roundy **20070610153926] [make LayoutHints work with new modifyLayout (in X). David Roundy **20070610145740] [tag visibles with Don Stewart **20070610111931] [tweak pkill Don Stewart **20070610093027] [greedydoc dave@nullcube.com**20070610091056 Add documentation on how to use GreedyView as your default workspace switcher. ] [use all 3 load values Don Stewart **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@cs.chalmers.se**20070610090228] [example xinitrc Don Stewart **20070610085715] [update run-xmonad.sh Don Stewart **20070610063915] [no need for ./scripts/xmonad-status.c, update run-xmonad.sh Don Stewart **20070610062806] [add DynamicLog.hs Don Stewart **20070610062757] [make LayoutHints robust with regard to future addition of Layout fields. David Roundy **20070609173725] [remove out of date ./scripts/xmonad-status.hs Don Stewart **20070610005107] [add new LayoutHints module that makes layouts respect size hints. David Roundy **20070604213716] [improve xmonad-status.c Don Stewart **20070609140258] [Add C script for parsing new logging encoding, and displaying workspace info Don Stewart **20070609131856] [missing unsetenv Don Stewart **20070609090127] [add tiny clock program (C) i'm using in the status bar Don Stewart **20070609080435] [remove obsolete 'examples' dir Don Stewart **20070609061450] [latest version of xmonad-status.hs Don Stewart **20070609060913] [remove dead version Don Stewart **20070609060857] [Circle layout Peter De Wachter **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 **20070606061941] [nicer format for dynamic workspaces Don Stewart **20070606045705] [add script which only draws current workspace, and those with clients Don Stewart **20070606044544] [In docs, change name of program from mux to xmonad-status. glasser@mit.edu**20070605140045] [Add xmonad-status.hs Don Stewart **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 **20070605071716] [Contrib package for 6.4 users daniel@wagner-home.com**20070604225534] [XMonadContrib.ReadMap: a Read instance of Map for GHC 6.4 users daniel@wagner-home.com**20070602064318] [keybindings to warp pointer to window center daniel@wagner-home.com**20070602062328] [XMonadContrib.Commands: for workspace and screen commands, leave out W/S tag glasser@mit.edu**20070601161351] [New contrib module: run internal xmonad commands via dmenu glasser@mit.edu**20070601043849] [Note that my xinerama patch is now in dzen. glasser@mit.edu**20070601041112] [Rescreen is in main xmonad now Spencer Janssen **20070528050656] [replace "name" in NamedWindow with a Show instance. David Roundy **20070526185114] [[Spiral] blend in the scale factor so it doesn't have any effect on the smallest windows joe.thornber@gmail.com**20070525032732] [[Spiral] last rect takes all available space joe.thornber@gmail.com**20070524120239] [[Spiral] Introduce a simpler Rect data type to remove a lot of the fromIntegrals joe.thornber@gmail.com**20070524100423] [[Spiral] divideRects now takes a list of directions to split in joe.thornber@gmail.com**20070524090211] [[Spiral] misc tidying joe.thornber@gmail.com**20070524085537] [[Spiral] remove old spiral code joe.thornber@gmail.com**20070524084805] [[Spiral] add fibonacci spiral joe.thornber@gmail.com**20070524084423] [Allow clients of NamedWindows to get at the name. glasser@mit.edu**20070523184251] [dzen module (with xinerama support, which requires glasser's Xinerama patch to dzen) glasser@mit.edu**20070523184315] [Extract NamedWindow support from Mosaic into its own module glasser@mit.edu**20070523155855] [remove SwapFocus (which is no longer possible) David Roundy **20070523153841 This module depended on the focus stack. ] [Fix Spiral's module name Spencer Janssen **20070522170909] [[SPIRAL] add spiral tiling layout joe.thornber@gmail.com**20070522062537] [Make RotView compile. Miikka Koskinen **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 **20070522062118] [make FindEmptyWorkspace compile Miikka Koskinen **20070521123239] [make DwmPromote compile Miikka Koskinen **20070521123140] [updated Dmenu.hs to work with zipper StackSet Jason Creighton **20070521233947] [Add GreedyView Spencer Janssen **20070521220048] [Rescreen: collects new screen information Spencer Janssen **20070521164808] [Fixes for windowset -> workspace rename Spencer Janssen **20070521042118] [TwoPane: hide windows that aren't in view Spencer Janssen **20070518224240] [make Mosaic even less picky by default. David Roundy **20070516175554] [add clear window message in Mosaic. David Roundy **20070516175518] [Comment only Spencer Janssen **20070517211003] [Add instructions for TwoPane Spencer Janssen **20070517210206] [Add TwoPane Spencer Janssen **20070517195618] [throttle the exponential expense when many windows are present. David Roundy **20070516022123] [make mosaic configure windows by name rather than by Window. David Roundy **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 **20070513184338 With this module you can find empty workspaces, view them and tag windows to them. ] [make DwmPromote compile Miikka Koskinen **20070513184254] [make DwmPromote compile again Miikka Koskinen **20070510154158] [make DwmPromote compile Miikka Koskinen **20070503105236] [add SwapFocus. David Roundy **20070512191315] [make rotView only consider non-visible workspaces (Xinerama) Jason Creighton **20070510012059] [fix commend in RotView. David Roundy **20070505185654] [switch to Message type for layout messages Don Stewart **20070505014332] [Fix instructions in Mosaic. Chris Mears **20070503222345] [add Mosaic layout. David Roundy **20070503151024] [-Wall police Spencer Janssen **20070503211700] [Make RotView build, and add a brief description. Chris Mears **20070503104234] [comment: Gave URL to xinerama-enabled dmenu patch Jason Creighton **20070503053133] [Put dmenu in X too Spencer Janssen **20070503053727] [Add dmenu (thanks jcreigh) Spencer Janssen **20070503052225] [add RotView module. David Roundy **20070421233838] [XMonadContrib.DwmPromote: dwm-like promote Miikka Koskinen **20070501082031 I like the way dwm's equivalent to xmonad's promote works, so I implemented dwmpromote. ] [add simple date example Don Stewart **20070429064013] [more details Don Stewart **20070429061426] [add readme Don Stewart **20070429061329] [Initial import of xmonad contributions Don Stewart **20070429061150] Patch bundle hash: 5ad3cb812fe6505c1d374e7d3c561df34defc504