
On Sun, Oct 19, 2008 at 4:02 PM, Don Stewart
gwern0:
On 2008.10.19 14:13:49 +0200, Joachim Breitner
scribbled 1.9K characters: Hi,
Am Samstag, den 18.10.2008, 21:35 -0400 schrieb Gwern Branwen:
There're ~30 xmonad.hs's here http://haskell.org/haskellwiki/Xmonad/Config_archive, but perhaps 1/3 to 1/2 are obsolete or don't compile with darcs XM/XMC (at a very rough guess). I'd like more.
I can help with that. Do you want more type-check errors, or more syntax erors?
(SCNR)
For most of them, it looks like they're just out-of-date. My count includes a bunch of xmonad.hses which never jumped from 0.4 to 0.5, and obviously from 0.5 to darcs there've been any number of API reasonable to infer the user is no longer using XMonad (in which case they aren't useful in considering how to make XMonad users' lives easier) or are using a different config (and then obviously we should care less about a configuration even its creator doesn't want to use).
If they're not type correct, moved them to an 'Old' subpage?
-- Don
Followup: OK, so as everyone can see, I've gone through the config archive and checked everything in GHCi. I've moved everything that didn't compile into http://haskell.org/haskellwiki/Xmonad/Config_archive#Old_configurations. This isn't a subpage, but a subsection. (Of course, with things split out like that, it certainly would be easy to make it a subpage if desired.) In total, there were 20 configurations that worked. Including 1 I was sent privately, that makes 21 to work with. There were many which didn't work; some for odd reasons. Sereven's failed because some sort of prompt theme was defined but not used; 2 failed because a constant inadvertently had come to clash with a function (I fixed those); and a good 4 or 5 broke because of the defaultGaps move and related changes. Later I'll take a look at them and see what commonalities I see. Offhand, 'cat *|sort|uniq -c|sort' turns out some surprising results: 3 import Data.Ratio ((%)) 3 import Graphics.X11 3 import XMonad.Actions.SwapWorkspaces 3 import XMonad.Hooks.SetWMName 3 import XMonad.Layout.Gaps 3 import XMonad.Layout.WindowNavigation 3 import XMonad.Operations 3 main = xmonad $ defaultConfig 3 myManageHook = composeAll 4 import qualified Data.Map as M 4 import System.IO (hPutStrLn) 4 import XMonad.Actions.UpdatePointer 4 import XMonad.Hooks.EwmhDesktops 4 import XMonad.Util.Run 4 import XMonad.Util.Run (spawnPipe) 5 import Data.Bits ((.|.)) 5 import Data.Ratio 5 import XMonad.Actions.Submap 5 import XMonad.Layout 5 import XMonad.Layout.TwoPane 6 import System.Exit 6 import XMonad.Actions.CycleWS 6 import XMonad.Actions.DwmPromote 6 import XMonad.Layout.Tabbed 7 import System.IO 7 import XMonad.Hooks.UrgencyHook 7 import XMonad.Prompt.Shell 7 import XMonad.Prompt.Ssh 8 import XMonad.Hooks.DynamicLog 8 import XMonad.Util.EZConfig 9 import XMonad.Layout.NoBorders Looks to me perhaps the calls to make NoBorders a default are sensible. Also, 16 of the 21 configs use Data.Map in some capacity, which is interesting. -- gwern