aboutsummaryrefslogtreecommitdiffstats
path: root/Config.hs (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix mod-j/k bindingsSpencer Janssen2007-05-211-3/+3
| | | | darcs-hash:20070521030253-a5988-3e4e92d04f8a4459cfb692f73ad7bda11348f9ad.gz
* HEADS UP: Rewrite StackSet as a ZipperDon Stewart2007-05-201-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.gz
* variable number of windows in master areaJason Creighton2007-05-161-1/+10
| | | | darcs-hash:20070516031437-b9aa7-03d82cb2565a45fa0e17a34c4c20740b51ff625c.gz
* Constrain layout messages to be members of a Message classDon Stewart2007-05-041-2/+2
| | | | | | | | | | | | | | | | | | 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 darcs-hash:20070504081649-9c5c1-954b406e8c21c2ca4428960e4fc1f9ffb17fb296.gz
* More Config.hs bugsSpencer Janssen2007-05-041-3/+3
| | | | darcs-hash:20070503234607-a5988-3f9f46071263093707fdaba677899edc1a85edc1.gz
* Revert accidental change to Config.hsSpencer Janssen2007-05-041-1/+1
| | | | darcs-hash:20070503233148-a5988-628ec9194db704513dd804fc7c72bb478689526e.gz
* add support for extensible layouts.David Roundy2007-05-031-12/+5
| | | | darcs-hash:20070503144750-72aca-f44bca4573837e12fc1f89333b55e04abd52787c.gz
* elaborate documentation in Config.hsDon Stewart2007-05-031-15/+38
| | | | darcs-hash:20070503074843-9c5c1-52a96686d7d6a1e260790db263c03799116b1202.gz
* Add 'mod-n': refreshes current layoutSpencer Janssen2007-05-031-0/+3
| | | | darcs-hash:20070503002252-a5988-751a9563c3a2574a423367cdcba11e3e661f9d92.gz
* Make border width configurableSpencer Janssen2007-04-301-0/+4
| | | | darcs-hash:20070430163515-a5988-9dea5188c30830fd8b3135f7cb5beffd7b90dcb9.gz
* Add Config.hs-boot, remove defaultLayoutDesc from XConfSpencer Janssen2007-04-301-2/+2
| | | | darcs-hash:20070430162647-a5988-70420c2db283eb1585c96d977e5ac5ca3d0d1532.gz
* configurable border colorsJason Creighton2007-04-301-0/+5
| | | | | | | | 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.gz
* Further refactoringSpencer Janssen2007-04-261-2/+2
| | | | darcs-hash:20070426212257-a5988-dc5cc91918a152728de05a7f6c39d209d81c5b04.gz
* Refactor in Config.hs (no real changes)Spencer Janssen2007-04-261-2/+2
| | | | darcs-hash:20070426211407-a5988-e08784e64270523d8dac44d8249c335f029272fd.gz
* Ignore numlock and capslock in keybindingsJason Creighton2007-04-241-1/+3
| | | | darcs-hash:20070424013357-b9aa7-aed2e5623aa5d0f804d131974fc9b6c21c7a2ce1.gz
* added comment about windows key (mod4Mask)Jason Creighton2007-04-161-2/+3
| | | | darcs-hash:20070415233635-b9aa7-a2b7e4d3fe21647c2389ea6be9378fd116b4c6f8.gz
* remove unused sizeDelta settingJason Creighton2007-04-161-4/+0
| | | | darcs-hash:20070415233244-b9aa7-ff6853261d57f8feab2ccda3a148eb2a1bf9c8af.gz
* added warning re: xmonad in path to mod-shift-q docsJason Creighton2007-04-141-1/+1
| | | | darcs-hash:20070413233019-b9aa7-07490bd62af6357002a01b44ec10b805b831ee60.gz
* Clear up documentation on mod-h/lSpencer Janssen2007-04-141-2/+2
| | | | darcs-hash:20070413230706-a5988-5e095da766d7425f6099a7de1ac8171d4db7bfe4.gz
* mod-wer for Xinerama was inadvertently changedAlec Berryman2007-04-121-1/+1
| | | | darcs-hash:20070412132033-39448-2be6f5ab22fabd3c126cbba0bc81017477c1a083.gz
* add license headers to two missing filesDon Stewart2007-04-111-0/+12
| | | | darcs-hash:20070411081042-9c5c1-05a68bbf16969dbb8854b37ab9b72e042d7fac9a.gz
* explain what mod-return now does. it cyclesDon Stewart2007-04-111-1/+1
| | | | darcs-hash:20070411073636-9c5c1-fbf217e9e05f7135897d59302445da5f9fcbbef1.gz
* Change semantics of 'promote'.Don Stewart2007-04-111-1/+1
| | | | | | | | | | | | 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.gz
* Statically distinguish Workspace and Screen indicesDon Stewart2007-04-111-66/+65
| | | | darcs-hash:20070411060456-9c5c1-a5642813cffe434e60310d21497217ef3704b296.gz
* Move workspace fetching logic from Config.hs to Operations.hsSpencer Janssen2007-04-101-1/+1
| | | | darcs-hash:20070410064714-a5988-e9b1fac201a546d1722db41213efc81223007e43.gz
* moved screen <-> workspace mapping from XMonad to StackSetJason Creighton2007-04-101-2/+2
| | | | darcs-hash:20070410062731-b9aa7-e1768a3fe6c0e3c749400dffc4a5a5e33e6a08c4.gz
* summarise key bindings in a table in Config.hsDon Stewart2007-04-041-20/+52
| | | | darcs-hash:20070404011441-9c5c1-7d2e61f6f51fbfa155f93512240f9caed286f6d6.gz
* Use Tall and Wide for split screen layouts. This should be less confusing.Spencer Janssen2007-04-031-5/+2
| | | | darcs-hash:20070403050610-a5988-34a441f8eb299905ed28d415a9524121585d06d0.gz
* Comment typo: more -> moveAlec Berryman2007-04-031-1/+1
| | | | darcs-hash:20070402221948-39448-a27a073869e63b0e11c4cf4f3ae17d2b09d80550.gz
* Revert to the old layout code.Spencer Janssen2007-04-021-2/+10
| | | | darcs-hash:20070402045114-a5988-3fa15b1c4d8d79494bf430dcad921d22cdfa8d16.gz
* Type error: lockMask :: KeyMask, not KeySymAlec Berryman2007-04-011-1/+1
| | | | | | Error prevents compilation on 64-bit systems. darcs-hash:20070401143416-39448-7ab8c797f9590cda9576767eddda6b7ceb5bf2ea.gz
* Suggest an alternative modMask for emacs usersAlec Berryman2007-04-011-2/+3
| | | | darcs-hash:20070401161027-39448-8fd61e1f1d369ebf4dd4073966833c18f535c269.gz
* Config.hs comment formatting/typoJason Creighton2007-04-011-32/+34
| | | | darcs-hash:20070401055711-b9aa7-1bb53891b929b1c7311bad643f946b4305983dce.gz
* sanitize key bindingsDon Stewart2007-04-011-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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.gz
* restore dwm-style keybindings. mod-shift-{j,k} resize in vert modeDon Stewart2007-04-011-7/+12
| | | | darcs-hash:20070401025433-9c5c1-79adc3fdb8db4cf7929dd6d121ec66c21f24a0e2.gz
* Merged things together with dons changes.hughes2007-04-011-7/+0
| | | | darcs-hash:20070401021846-3a569-083f7d441afc41bdeef843113c1de1d3a5e40ee3.gz
* Config.hs avoids conflict with essential M-w Emacs shortcut.hughes2007-04-011-1/+1
| | | | darcs-hash:20070401015135-3a569-8db7ddadad8f5d3c6b16b14dda2a143644e01898.gz
* Vertical/horizontal split, and resizability.hughes2007-04-011-9/+15
| | | | darcs-hash:20070401014706-3a569-26a764b57274f67057adf0b81eb71158b58f49de.gz
* Remove evil gmrun shortcut.hughes2007-03-301-1/+1
| | | | darcs-hash:20070330144558-3a569-456564e43e14fbd17ffc1491c89dfc6ae71697ee.gz
* formatting onlyDon Stewart2007-04-011-3/+3
| | | | darcs-hash:20070401004726-9c5c1-ffe359da72bfe742bd6c6855e8451c0ea8a8938f.gz
* whitespaceJason Creighton2007-03-271-4/+0
| | | | darcs-hash:20070327013350-b9aa7-7f4e73055e5b801b7f598cb62ce58a60a32d9dec.gz
* Config supports Ctrl+Space for gmrun again.hughes2007-03-261-2/+1
| | | | darcs-hash:20070326151243-3a569-7dfe6def26ee1722b13c21305646ac0121166e79.gz
* Workspace-specific layoutshughes2007-03-261-8/+13
| | | | darcs-hash:20070326150213-3a569-64dd38c00558d58f27c3803ab15485892c24cfaa.gz
* Typo: use dmenu_path instead of emenu_pathAlec Berryman2007-03-261-1/+1
| | | | darcs-hash:20070326140335-39448-c48e4f4f7bc457c5ec99832e0febd689e9b35e32.gz
* Extra config: defaultLayoutdaniel2007-03-261-0/+4
| | | | darcs-hash:20070326074234-c98ca-624f259e215d1aad642744cae44d572d88adda60.gz
* Config.lhs -> Config.hsJason Creighton2007-03-261-0/+89
darcs-hash:20070326054004-b9aa7-4654d475bc465ce76e32e01407e6765f5e1732c2.gz