summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2007-05-22refactor using whenXDon Stewart
darcs-hash:20070522043116-9c5c1-034fa6854b4ad99316fcc0f85904bec62ef1549b
2007-05-22Add preliminary randr supportSpencer Janssen
darcs-hash:20070522040228-a5988-1ae9fc6bd773b32bc4a4c43aeab556857929fef4
2007-05-22Update the Catch checking to the new interface for StackSetNeil Mitchell
darcs-hash:20070522015422-73ab9-c62473d90f0df78e23a96acec0245e9bb9c275b6
2007-05-22Remove the magic '2'Spencer Janssen
darcs-hash:20070521234535-a5988-1f7d9a7ac5bc14119c249f640946af8e57917030
2007-05-22List --resume args firstSpencer Janssen
darcs-hash:20070521232427-a5988-f7c747a1bfcc2a6ad38d5c47c3ecf195d1e4a6b5
2007-05-21Move special case 'view' code into 'windows'.Spencer Janssen
This is ugly right now -- I promise to clean it up later. darcs-hash:20070521215646-a5988-dbd38c5fa2ebaac4022cdc60a3371af249c445f5
2007-05-21Experimental support for a beefier restart.Spencer Janssen
darcs-hash:20070521194653-a5988-b6725cc0d73fc6b726dc41284eef9303a7e59a1e
2007-05-21Catch the exception rather than explicitly checking the PATHSpencer Janssen
darcs-hash:20070521191900-a5988-ef2361014d1d8c27cd8c73d290cdeff13ee38df6
2007-05-21Put restart in the X monadSpencer Janssen
darcs-hash:20070521190749-a5988-1c95a0491806b06a32e7fe8bd6bcac31ebc7ad6b
2007-05-21Show instances for WorkspaceId and ScreenIdSpencer Janssen
darcs-hash:20070521190704-a5988-24dfb3b96a551ee2a27c9dd09461ddd260db8e64
2007-05-21Read instance for StackSetSpencer Janssen
darcs-hash:20070521184504-a5988-348b1e31532e664b6ad4bbb9ed82e57b53c41417
2007-05-21Remove redundant fromIntegralsSpencer Janssen
darcs-hash:20070521165123-a5988-02f5d32547cfd814fa615ae86c93b824e58b3a12
2007-05-21Use Position for dimensionsSpencer Janssen
darcs-hash:20070521162809-a5988-fbabe930a50582fb828cd3683167e158bec904ad
2007-05-21Make screen info dynamic: first step to supporting randrSpencer Janssen
darcs-hash:20070521152759-a5988-736e7caea5252a77bb01d7631cce0db4287ff6f2
2007-05-21modifyDon Stewart
darcs-hash:20070521115750-9c5c1-8b6847930f5e2710d076c070db9835ab1ee3d76d
2007-05-21Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart
darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb
2007-05-21s/workspace/windowset/Jason Creighton
darcs-hash:20070521040330-b9aa7-5a36f8a4f90cc4116ffa3532a14bf405bfb942bb
2007-05-21focusWindow: always view the containing workspace firstJason Creighton
darcs-hash:20070521035551-b9aa7-d33479e88029b33748dd48607b51fac22343168c
2007-05-21explicit export list for StackSetDon Stewart
darcs-hash:20070521025250-9c5c1-853b26cc2d30325a099abec43648417dd6c60a9e
2007-05-20comment onlyDon Stewart
darcs-hash:20070520090846-9c5c1-6b99085411c441a4d8217cb6b9d18edf198bfd4e
2007-05-21only hide old workspace on view if the old workspace is not visible (Xinerama)Jason Creighton
darcs-hash:20070521031435-b9aa7-2a3825712b36c5ef267c89286006d0ea0073c57d
2007-05-21Fix mod-j/k bindingsSpencer Janssen
darcs-hash:20070521030253-a5988-3e4e92d04f8a4459cfb692f73ad7bda11348f9ad
2007-05-20Be explicit about suspicious System.Mem importSpencer Janssen
darcs-hash:20070520165741-a5988-a02abd4cb1ad1518a43c203b6b8965563b0e72a8
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-16Read is not needed for StackSetSpencer Janssen
darcs-hash:20070516054233-a5988-b71d4b13ec6dfafe367ea4a0dad0b32f0614b318
2007-05-16variable number of windows in master areaJason Creighton
darcs-hash:20070516031437-b9aa7-03d82cb2565a45fa0e17a34c4c20740b51ff625c
2007-05-16Use camelCase, please.Spencer Janssen
darcs-hash:20070516014454-a5988-48a5ca0e1ee75c6636a669e28484016eecc0f2fe
2007-05-15beautify tileDavid Roundy
darcs-hash:20070515154011-72aca-1557c99da679a2be1e52f365f6ae72cfaf40fc87
2007-05-12put doLayout in the X monad.David Roundy
darcs-hash:20070512215301-72aca-59213ac37c38e57d6ffed1d518afd4729f1744c9
2007-05-14setsid() before exec. Intended to fix issue #7Spencer Janssen
darcs-hash:20070514044547-a5988-0e3c07a629fd1a28e11ee9ae1395086a5477dae2
2007-05-10keep focus stack.David Roundy
darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5
2007-05-10bump LOC limit to 550Jason Creighton
darcs-hash:20070510032731-b9aa7-3fccb4cbb55c59636264a451c091b743c549e1f9
2007-05-08Remove broken prop_promoterotate, replace it with prop_promote_raise_idSpencer Janssen
darcs-hash:20070508211907-a5988-25a6a03356b3017540a53f73bc609a98938c9a9e
2007-05-08Disable shift_reversible until focus issues are decided.Spencer Janssen
darcs-hash:20070508210952-a5988-becbb2c91df5be261943aefeb50f6849fc805067
2007-05-08Disable delete.push until focus issues are decidedSpencer Janssen
darcs-hash:20070508204921-a5988-7397764877c6d1a4acf1c004a1486231961d67d5
2007-05-08Remove unsafe fromJustSpencer Janssen
darcs-hash:20070508163822-a5988-cb12015569105b9e646a5c12fc8dc02099a4beed
2007-05-08Add the initial Catch testing framework for StackSetNeil Mitchell http://www.cs.york.ac.uk/~ndm/
darcs-hash:20070508154621-fbc8d-8aeafa9c3c6cb40abf72a71f83c5a26d06a71501
2007-05-08Work around the fact that Yhc gets defaulting a bit wrongNeil Mitchell http://www.cs.york.ac.uk/~ndm/
darcs-hash:20070508124949-fbc8d-1d778c43323434b6f286af1505b2c0489eb09ac2
2007-05-08Make tests typecheckSpencer Janssen
darcs-hash:20070508152449-a5988-9c8631ebe825ce20e6513f74cb776fb69e0f8509
2007-05-08Remove unsafe use of headSpencer Janssen
darcs-hash:20070508152116-a5988-16a82d62661a5ccd0a95f88ced57cd3e9df5fd67
2007-05-08Make 'index' return Nothing, rather than errorSpencer Janssen
darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032
2007-05-08Use 'drop 1' rather than tail, skip equality check.Spencer Janssen
darcs-hash:20070508150943-a5988-84c0ebc06bc745ecdacae2ced6863b63a9585756
2007-05-08Redundant parensSpencer Janssen
darcs-hash:20070508150412-a5988-abf7b3c1e96051cb0cb964f6a94239ac76f83a4e
2007-05-08StackSet.view: ignore invalid indicesSpencer Janssen
darcs-hash:20070508143951-a5988-5b1aea6415436bc5cee632a60efc42300cfbf1e9
2007-05-08Change the swap function so its Haskell 98, by using list-comps instead of ↵Neil Mitchell http://www.cs.york.ac.uk/~ndm/
pattern-guards. darcs-hash:20070508123158-fbc8d-1592375172ef513d85c5e0095c689abf9ac5fc9b
2007-05-08Arbitrary instance for StackSet must set random focus on each workspaceDon Stewart
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
2007-05-05make quickcheck tests friendlier to read.David Roundy
darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194
2007-05-05make Properties.hs exit with failure on test failureJason Creighton
darcs-hash:20070505174357-b9aa7-2dc94a5ade7740c859831865d49e2da28d2ba0ac
2007-05-04since we just ignore type errors, no need to derive ShowDon Stewart
darcs-hash:20070504094143-9c5c1-44d5edcd4b261a2d93b054f48e7818b0c9e58db2
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