aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* WibbleSpencer Janssen2007-05-221-2/+1
| | | | darcs-hash:20070522043844-a5988-964764300d3bae3751718d2ce9c583a2c8e710af.gz
* Generalize withDisplay's typeSpencer Janssen2007-05-221-1/+1
| | | | darcs-hash:20070522043758-a5988-7738168ac829a9b2cf79e6866072cccde379a977.gz
* refactor using whenXDon Stewart2007-05-221-3/+1
| | | | darcs-hash:20070522043116-9c5c1-034fa6854b4ad99316fcc0f85904bec62ef1549b.gz
* Add preliminary randr supportSpencer Janssen2007-05-222-2/+27
| | | | darcs-hash:20070522040228-a5988-1ae9fc6bd773b32bc4a4c43aeab556857929fef4.gz
* Update the Catch checking to the new interface for StackSetNeil Mitchell2007-05-221-3/+15
| | | | darcs-hash:20070522015422-73ab9-c62473d90f0df78e23a96acec0245e9bb9c275b6.gz
* Remove the magic '2'Spencer Janssen2007-05-221-1/+1
| | | | darcs-hash:20070521234535-a5988-1f7d9a7ac5bc14119c249f640946af8e57917030.gz
* List --resume args firstSpencer Janssen2007-05-221-1/+1
| | | | darcs-hash:20070521232427-a5988-f7c747a1bfcc2a6ad38d5c47c3ecf195d1e4a6b5.gz
* Move special case 'view' code into 'windows'.Spencer Janssen2007-05-211-9/+16
| | | | | | This is ugly right now -- I promise to clean it up later. darcs-hash:20070521215646-a5988-dbd38c5fa2ebaac4022cdc60a3371af249c445f5.gz
* Experimental support for a beefier restart.Spencer Janssen2007-05-213-10/+24
| | | | darcs-hash:20070521194653-a5988-b6725cc0d73fc6b726dc41284eef9303a7e59a1e.gz
* Catch the exception rather than explicitly checking the PATHSpencer Janssen2007-05-211-6/+2
| | | | darcs-hash:20070521191900-a5988-ef2361014d1d8c27cd8c73d290cdeff13ee38df6.gz
* Put restart in the X monadSpencer Janssen2007-05-212-3/+3
| | | | darcs-hash:20070521190749-a5988-1c95a0491806b06a32e7fe8bd6bcac31ebc7ad6b.gz
* Show instances for WorkspaceId and ScreenIdSpencer Janssen2007-05-211-2/+2
| | | | darcs-hash:20070521190704-a5988-24dfb3b96a551ee2a27c9dd09461ddd260db8e64.gz
* Read instance for StackSetSpencer Janssen2007-05-211-4/+4
| | | | darcs-hash:20070521184504-a5988-348b1e31532e664b6ad4bbb9ed82e57b53c41417.gz
* Remove redundant fromIntegralsSpencer Janssen2007-05-211-1/+1
| | | | darcs-hash:20070521165123-a5988-02f5d32547cfd814fa615ae86c93b824e58b3a12.gz
* Use Position for dimensionsSpencer Janssen2007-05-211-4/+4
| | | | darcs-hash:20070521162809-a5988-fbabe930a50582fb828cd3683167e158bec904ad.gz
* Make screen info dynamic: first step to supporting randrSpencer Janssen2007-05-213-10/+10
| | | | darcs-hash:20070521152759-a5988-736e7caea5252a77bb01d7631cce0db4287ff6f2.gz
* modifyDon Stewart2007-05-211-1/+2
| | | | darcs-hash:20070521115750-9c5c1-8b6847930f5e2710d076c070db9835ab1ee3d76d.gz
* Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart2007-05-213-126/+120
| | | | darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb.gz
* s/workspace/windowset/Jason Creighton2007-05-213-8/+8
| | | | darcs-hash:20070521040330-b9aa7-5a36f8a4f90cc4116ffa3532a14bf405bfb942bb.gz
* focusWindow: always view the containing workspace firstJason Creighton2007-05-211-9/+4
| | | | darcs-hash:20070521035551-b9aa7-d33479e88029b33748dd48607b51fac22343168c.gz
* explicit export list for StackSetDon Stewart2007-05-211-1/+5
| | | | darcs-hash:20070521025250-9c5c1-853b26cc2d30325a099abec43648417dd6c60a9e.gz
* comment onlyDon Stewart2007-05-201-4/+4
| | | | darcs-hash:20070520090846-9c5c1-6b99085411c441a4d8217cb6b9d18edf198bfd4e.gz
* only hide old workspace on view if the old workspace is not visible (Xinerama)Jason Creighton2007-05-211-1/+3
| | | | darcs-hash:20070521031435-b9aa7-2a3825712b36c5ef267c89286006d0ea0073c57d.gz
* Fix mod-j/k bindingsSpencer Janssen2007-05-211-3/+3
| | | | darcs-hash:20070521030253-a5988-3e4e92d04f8a4459cfb692f73ad7bda11348f9ad.gz
* Be explicit about suspicious System.Mem importSpencer Janssen2007-05-201-1/+1
| | | | darcs-hash:20070520165741-a5988-a02abd4cb1ad1518a43c203b6b8965563b0e72a8.gz
* HEADS UP: Rewrite StackSet as a ZipperDon Stewart2007-05-207-757/+1107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Read is not needed for StackSetSpencer Janssen2007-05-161-1/+1
| | | | darcs-hash:20070516054233-a5988-b71d4b13ec6dfafe367ea4a0dad0b32f0614b318.gz
* variable number of windows in master areaJason Creighton2007-05-163-13/+25
| | | | darcs-hash:20070516031437-b9aa7-03d82cb2565a45fa0e17a34c4c20740b51ff625c.gz
* Use camelCase, please.Spencer Janssen2007-05-161-10/+10
| | | | darcs-hash:20070516014454-a5988-48a5ca0e1ee75c6636a669e28484016eecc0f2fe.gz
* beautify tileDavid Roundy2007-05-152-14/+21
| | | | darcs-hash:20070515154011-72aca-1557c99da679a2be1e52f365f6ae72cfaf40fc87.gz
* put doLayout in the X monad.David Roundy2007-05-122-5/+7
| | | | darcs-hash:20070512215301-72aca-59213ac37c38e57d6ffed1d518afd4729f1744c9.gz
* setsid() before exec. Intended to fix issue #7Spencer Janssen2007-05-141-2/+2
| | | | darcs-hash:20070514044547-a5988-0e3c07a629fd1a28e11ee9ae1395086a5477dae2.gz
* keep focus stack.David Roundy2007-05-102-24/+35
| | | | darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5.gz
* bump LOC limit to 550Jason Creighton2007-05-101-1/+1
| | | | darcs-hash:20070510032731-b9aa7-3fccb4cbb55c59636264a451c091b743c549e1f9.gz
* Remove broken prop_promoterotate, replace it with prop_promote_raise_idSpencer Janssen2007-05-081-4/+7
| | | | darcs-hash:20070508211907-a5988-25a6a03356b3017540a53f73bc609a98938c9a9e.gz
* Disable shift_reversible until focus issues are decided.Spencer Janssen2007-05-081-1/+5
| | | | darcs-hash:20070508210952-a5988-becbb2c91df5be261943aefeb50f6849fc805067.gz
* Disable delete.push until focus issues are decidedSpencer Janssen2007-05-081-1/+5
| | | | darcs-hash:20070508204921-a5988-7397764877c6d1a4acf1c004a1486231961d67d5.gz
* Remove unsafe fromJustSpencer Janssen2007-05-081-1/+1
| | | | darcs-hash:20070508163822-a5988-cb12015569105b9e646a5c12fc8dc02099a4beed.gz
* Add the initial Catch testing framework for StackSetNeil Mitchell http://www.cs.york.ac.uk/~ndm/2007-05-081-0/+60
| | | | darcs-hash:20070508154621-fbc8d-8aeafa9c3c6cb40abf72a71f83c5a26d06a71501.gz
* Work around the fact that Yhc gets defaulting a bit wrongNeil Mitchell http://www.cs.york.ac.uk/~ndm/2007-05-081-1/+3
| | | | darcs-hash:20070508124949-fbc8d-1d778c43323434b6f286af1505b2c0489eb09ac2.gz
* Make tests typecheckSpencer Janssen2007-05-081-1/+1
| | | | darcs-hash:20070508152449-a5988-9c8631ebe825ce20e6513f74cb776fb69e0f8509.gz
* Remove unsafe use of headSpencer Janssen2007-05-081-1/+2
| | | | darcs-hash:20070508152116-a5988-16a82d62661a5ccd0a95f88ced57cd3e9df5fd67.gz
* Make 'index' return Nothing, rather than errorSpencer Janssen2007-05-082-7/+7
| | | | darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032.gz
* Use 'drop 1' rather than tail, skip equality check.Spencer Janssen2007-05-081-4/+5
| | | | darcs-hash:20070508150943-a5988-84c0ebc06bc745ecdacae2ced6863b63a9585756.gz
* Redundant parensSpencer Janssen2007-05-081-1/+1
| | | | darcs-hash:20070508150412-a5988-abf7b3c1e96051cb0cb964f6a94239ac76f83a4e.gz
* StackSet.view: ignore invalid indicesSpencer Janssen2007-05-081-3/+3
| | | | darcs-hash:20070508143951-a5988-5b1aea6415436bc5cee632a60efc42300cfbf1e9.gz
* Change the swap function so its Haskell 98, by using list-comps instead of ↵Neil Mitchell http://www.cs.york.ac.uk/~ndm/2007-05-081-7/+4
| | | | | | pattern-guards. darcs-hash:20070508123158-fbc8d-1592375172ef513d85c5e0095c689abf9ac5fc9b.gz
* Arbitrary instance for StackSet must set random focus on each workspaceDon Stewart2007-05-081-7/+33
| | | | | | | | | | | | | | | | | | When focus was separated from the stack order on each workspace, we forgot to update the Arbitrary instance to set random focus. As spotted by David R, this then invalidates 4 of our QC properties. In particular, the property involving where focus goes after a random transient (annoying behaviour) appeared to be correct, but wasn't, due to inadequate coverage. This patch sets focus to a random window on each workspace. As a result, we now catch the focus/raise/delete issue people have been complaining about. Lesson: make sure your QuickCheck generators are doing what you think they are. darcs-hash:20070508051126-9c5c1-55a0597e6838b35f12b3d348e85360cda6c237ca.gz
* make quickcheck tests friendlier to read.David Roundy2007-05-052-2/+7
| | | | darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194.gz
* make Properties.hs exit with failure on test failureJason Creighton2007-05-051-7/+8
| | | | darcs-hash:20070505174357-b9aa7-2dc94a5ade7740c859831865d49e2da28d2ba0ac.gz