summaryrefslogtreecommitdiffstats
path: root/Config.hs
AgeCommit message (Collapse)Author
2007-05-21Experimental support for a beefier restart.Spencer Janssen
darcs-hash:20070521194653-a5988-b6725cc0d73fc6b726dc41284eef9303a7e59a1e
2007-05-21Put restart in the X monadSpencer Janssen
darcs-hash:20070521190749-a5988-1c95a0491806b06a32e7fe8bd6bcac31ebc7ad6b
2007-05-21Fix mod-j/k bindingsSpencer Janssen
darcs-hash:20070521030253-a5988-3e4e92d04f8a4459cfb692f73ad7bda11348f9ad
2007-05-20HEADS UP: Rewrite StackSet as a ZipperDon Stewart
In order to give a better account of how focus and master interact, and how each operation affects focus, we reimplement the StackSet type as a two level nested 'Zipper'. To quote Oleg: A Zipper is essentially an `updateable' and yet pure functional cursor into a data structure. Zipper is also a delimited continuation reified as a data structure. That is, we use the Zipper as a cursor which encodes the window which is in focus. Thus our data structure tracks focus correctly by construction! We then get simple, obvious semantics for e.g. insert, in terms of how it affects focus/master. Our transient-messes-with-focus bug evaporates. 'swap' becomes trivial. By moving focus directly into the stackset, we can toss some QC properties about focus handling: it is simply impossible now for focus to go wrong. As a benefit, we get a dozen new QC properties for free, governing how master and focus operate. The encoding of focus in the data type also simplifies the focus handling in Operations: several operations affecting focus are now simply wrappers over StackSet. For the full story, please read the StackSet module, and the QC properties. Finally, we save ~40 lines with the simplified logic in Operations.hs For more info, see the blog post on the implementation, http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/17#xmonad_part1b_zipper darcs-hash:20070520070053-9c5c1-241f7ee7793f5db2b9e33d375965cdc21b26cbd7
2007-05-16variable number of windows in master areaJason Creighton
darcs-hash:20070516031437-b9aa7-03d82cb2565a45fa0e17a34c4c20740b51ff625c
2007-05-04Constrain layout messages to be members of a Message classDon Stewart
Using Typeables as the only constraint on layout messages is a bit scary, as a user can send arbitrary values to layoutMsg, whether they make sense or not: there's basically no type feedback on the values you supply to layoutMsg. Folloing Simon Marlow's dynamically extensible exceptions paper, we use an existential type, and a Message type class, to constrain valid arguments to layoutMsg to be valid members of Message. That is, a user writes some data type for messages their layout algorithm accepts: data MyLayoutEvent = Zoom | Explode | Flaming3DGlassEffect deriving (Typeable) and they then add this to the set of valid message types: instance Message MyLayoutEvent Done. We also reimplement the dynamic type check while we're here, to just directly use 'cast', rather than expose a raw fromDynamic/toDyn. With this, I'm much happier about out dynamically extensible layout event subsystem. darcs-hash:20070504081649-9c5c1-954b406e8c21c2ca4428960e4fc1f9ffb17fb296
2007-05-04More Config.hs bugsSpencer Janssen
darcs-hash:20070503234607-a5988-3f9f46071263093707fdaba677899edc1a85edc1
2007-05-04Revert accidental change to Config.hsSpencer Janssen
darcs-hash:20070503233148-a5988-628ec9194db704513dd804fc7c72bb478689526e
2007-05-03add support for extensible layouts.David Roundy
darcs-hash:20070503144750-72aca-f44bca4573837e12fc1f89333b55e04abd52787c
2007-05-03elaborate documentation in Config.hsDon Stewart
darcs-hash:20070503074843-9c5c1-52a96686d7d6a1e260790db263c03799116b1202
2007-05-03Add 'mod-n': refreshes current layoutSpencer Janssen
darcs-hash:20070503002252-a5988-751a9563c3a2574a423367cdcba11e3e661f9d92
2007-04-30Make border width configurableSpencer Janssen
darcs-hash:20070430163515-a5988-9dea5188c30830fd8b3135f7cb5beffd7b90dcb9
2007-04-30Add Config.hs-boot, remove defaultLayoutDesc from XConfSpencer Janssen
darcs-hash:20070430162647-a5988-70420c2db283eb1585c96d977e5ac5ca3d0d1532
2007-04-30configurable border colorsJason Creighton
This also fixes a bug where xmonad was assuming a 24-bit display, and just using, eg, 0xff0000 as an index into a colormap without querying the X server to determine the proper pixel value for "red". darcs-hash:20070430043859-b9aa7-9467ff583ec95144e5baa088e4b1536a725e7bc6
2007-04-26Further refactoringSpencer Janssen
darcs-hash:20070426212257-a5988-dc5cc91918a152728de05a7f6c39d209d81c5b04
2007-04-26Refactor in Config.hs (no real changes)Spencer Janssen
darcs-hash:20070426211407-a5988-e08784e64270523d8dac44d8249c335f029272fd
2007-04-24Ignore numlock and capslock in keybindingsJason Creighton
darcs-hash:20070424013357-b9aa7-aed2e5623aa5d0f804d131974fc9b6c21c7a2ce1
2007-04-16added comment about windows key (mod4Mask)Jason Creighton
darcs-hash:20070415233635-b9aa7-a2b7e4d3fe21647c2389ea6be9378fd116b4c6f8
2007-04-16remove unused sizeDelta settingJason Creighton
darcs-hash:20070415233244-b9aa7-ff6853261d57f8feab2ccda3a148eb2a1bf9c8af
2007-04-14added warning re: xmonad in path to mod-shift-q docsJason Creighton
darcs-hash:20070413233019-b9aa7-07490bd62af6357002a01b44ec10b805b831ee60
2007-04-14Clear up documentation on mod-h/lSpencer Janssen
darcs-hash:20070413230706-a5988-5e095da766d7425f6099a7de1ac8171d4db7bfe4
2007-04-12mod-wer for Xinerama was inadvertently changedAlec Berryman
darcs-hash:20070412132033-39448-2be6f5ab22fabd3c126cbba0bc81017477c1a083
2007-04-11add license headers to two missing filesDon Stewart
darcs-hash:20070411081042-9c5c1-05a68bbf16969dbb8854b37ab9b72e042d7fac9a
2007-04-11explain what mod-return now does. it cyclesDon Stewart
darcs-hash:20070411073636-9c5c1-fbf217e9e05f7135897d59302445da5f9fcbbef1
2007-04-11Change semantics of 'promote'.Don Stewart
Previously 'promote' would move the currently focused window into the master position in tiled mode. This was *almost* a cycle of the windows, but not quite (depending on where the focus was, it was in fact a cycle). Now we do the obvious generalisation, and just cycle the current window stack. Simpler to understand, simpler to reason about. darcs-hash:20070411073456-9c5c1-3ee88f9ac46e2301b4c803ec4fd66798e6fee91d
2007-04-11Statically distinguish Workspace and Screen indicesDon Stewart
darcs-hash:20070411060456-9c5c1-a5642813cffe434e60310d21497217ef3704b296
2007-04-10Move workspace fetching logic from Config.hs to Operations.hsSpencer Janssen
darcs-hash:20070410064714-a5988-e9b1fac201a546d1722db41213efc81223007e43
2007-04-10moved screen <-> workspace mapping from XMonad to StackSetJason Creighton
darcs-hash:20070410062731-b9aa7-e1768a3fe6c0e3c749400dffc4a5a5e33e6a08c4
2007-04-04summarise key bindings in a table in Config.hsDon Stewart
darcs-hash:20070404011441-9c5c1-7d2e61f6f51fbfa155f93512240f9caed286f6d6
2007-04-03Use Tall and Wide for split screen layouts. This should be less confusing.Spencer Janssen
darcs-hash:20070403050610-a5988-34a441f8eb299905ed28d415a9524121585d06d0
2007-04-03Comment typo: more -> moveAlec Berryman
darcs-hash:20070402221948-39448-a27a073869e63b0e11c4cf4f3ae17d2b09d80550
2007-04-02Revert to the old layout code.Spencer Janssen
darcs-hash:20070402045114-a5988-3fa15b1c4d8d79494bf430dcad921d22cdfa8d16
2007-04-01Type error: lockMask :: KeyMask, not KeySymAlec Berryman
Error prevents compilation on 64-bit systems. darcs-hash:20070401143416-39448-7ab8c797f9590cda9576767eddda6b7ceb5bf2ea
2007-04-01Suggest an alternative modMask for emacs usersAlec Berryman
darcs-hash:20070401161027-39448-8fd61e1f1d369ebf4dd4073966833c18f535c269
2007-04-01Config.hs comment formatting/typoJason Creighton
darcs-hash:20070401055711-b9aa7-1bb53891b929b1c7311bad643f946b4305983dce
2007-04-01sanitize key bindingsDon Stewart
Changes mean: * gmrun is like the dmenu key, but with shift set. - , ((modMask .|. shiftMask, xK_F11 ), spawn "gmrun") + , ((modMask .|. shiftMask, xK_p ), spawn "gmrun") If no one actually uses both gmrun and dmenu, we should consider only using mod-p for this. * restart is like quit, but with 'ctrl' set: + , ((modMask .|. shiftMask, xK_q ), io $ exitWith ExitSuccess) + , ((modMask .|. shiftMask .|. controlMask, xK_q ), io restart) * revert to 'wer' ordering for xinerama screens: - | (key, sc) <- zip [xK_e, xK_r, xK_t] [1..] + | (key, sc) <- zip [xK_w, xK_e, xK_r] [1..] that's the only binding order that makes sense, since they're meant to refer to screens 1 2 and 3, hence 'wer' (look at the keyboard to see why) darcs-hash:20070401033522-9c5c1-612e23066ea1c2523b0b0be8d2ffdd2fe407c341
2007-04-01restore dwm-style keybindings. mod-shift-{j,k} resize in vert modeDon Stewart
darcs-hash:20070401025433-9c5c1-79adc3fdb8db4cf7929dd6d121ec66c21f24a0e2
2007-04-01Merged things together with dons changes.hughes
darcs-hash:20070401021846-3a569-083f7d441afc41bdeef843113c1de1d3a5e40ee3
2007-04-01Config.hs avoids conflict with essential M-w Emacs shortcut.hughes
darcs-hash:20070401015135-3a569-8db7ddadad8f5d3c6b16b14dda2a143644e01898
2007-04-01Vertical/horizontal split, and resizability.hughes
darcs-hash:20070401014706-3a569-26a764b57274f67057adf0b81eb71158b58f49de
2007-03-30Remove evil gmrun shortcut.hughes
darcs-hash:20070330144558-3a569-456564e43e14fbd17ffc1491c89dfc6ae71697ee
2007-04-01formatting onlyDon Stewart
darcs-hash:20070401004726-9c5c1-ffe359da72bfe742bd6c6855e8451c0ea8a8938f
2007-03-27whitespaceJason Creighton
darcs-hash:20070327013350-b9aa7-7f4e73055e5b801b7f598cb62ce58a60a32d9dec
2007-03-26Config supports Ctrl+Space for gmrun again.hughes
darcs-hash:20070326151243-3a569-7dfe6def26ee1722b13c21305646ac0121166e79
2007-03-26Workspace-specific layoutshughes
darcs-hash:20070326150213-3a569-64dd38c00558d58f27c3803ab15485892c24cfaa
2007-03-26Typo: use dmenu_path instead of emenu_pathAlec Berryman
darcs-hash:20070326140335-39448-c48e4f4f7bc457c5ec99832e0febd689e9b35e32
2007-03-26Extra config: defaultLayoutdaniel
darcs-hash:20070326074234-c98ca-624f259e215d1aad642744cae44d572d88adda60
2007-03-26Config.lhs -> Config.hsJason Creighton
darcs-hash:20070326054004-b9aa7-4654d475bc465ce76e32e01407e6765f5e1732c2