Age | Commit message (Collapse) | Author |
|
darcs-hash:20070515154011-72aca-1557c99da679a2be1e52f365f6ae72cfaf40fc87
|
|
darcs-hash:20070512215301-72aca-59213ac37c38e57d6ffed1d518afd4729f1744c9
|
|
darcs-hash:20070514044547-a5988-0e3c07a629fd1a28e11ee9ae1395086a5477dae2
|
|
darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5
|
|
darcs-hash:20070510032731-b9aa7-3fccb4cbb55c59636264a451c091b743c549e1f9
|
|
darcs-hash:20070508211907-a5988-25a6a03356b3017540a53f73bc609a98938c9a9e
|
|
darcs-hash:20070508210952-a5988-becbb2c91df5be261943aefeb50f6849fc805067
|
|
darcs-hash:20070508204921-a5988-7397764877c6d1a4acf1c004a1486231961d67d5
|
|
darcs-hash:20070508163822-a5988-cb12015569105b9e646a5c12fc8dc02099a4beed
|
|
darcs-hash:20070508154621-fbc8d-8aeafa9c3c6cb40abf72a71f83c5a26d06a71501
|
|
darcs-hash:20070508124949-fbc8d-1d778c43323434b6f286af1505b2c0489eb09ac2
|
|
darcs-hash:20070508152449-a5988-9c8631ebe825ce20e6513f74cb776fb69e0f8509
|
|
darcs-hash:20070508152116-a5988-16a82d62661a5ccd0a95f88ced57cd3e9df5fd67
|
|
darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032
|
|
darcs-hash:20070508150943-a5988-84c0ebc06bc745ecdacae2ced6863b63a9585756
|
|
darcs-hash:20070508150412-a5988-abf7b3c1e96051cb0cb964f6a94239ac76f83a4e
|
|
darcs-hash:20070508143951-a5988-5b1aea6415436bc5cee632a60efc42300cfbf1e9
|
|
pattern-guards.
darcs-hash:20070508123158-fbc8d-1592375172ef513d85c5e0095c689abf9ac5fc9b
|
|
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
|
|
darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194
|
|
darcs-hash:20070505174357-b9aa7-2dc94a5ade7740c859831865d49e2da28d2ba0ac
|
|
darcs-hash:20070504094143-9c5c1-44d5edcd4b261a2d93b054f48e7818b0c9e58db2
|
|
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
|
|
darcs-hash:20070504045644-a5988-68a6d650bacab936f893b96bf866696da3f73436
|
|
darcs-hash:20070504023618-9c5c1-4b5a4021212b08fedff7f8ec3d8b4234431aada3
|
|
darcs-hash:20070504015043-b9aa7-a9e8a52b54a21ba00fba0b13a3ec1cc150b1aae5
|
|
darcs-hash:20070504014653-b9aa7-1709cb0b718a7a058021c76fb95f9654c43f54b1
|
|
darcs-hash:20070503235632-a5988-98863d7067876591bd9da2b33d062bfe2c5b42fd
|
|
darcs-hash:20070503234607-a5988-3f9f46071263093707fdaba677899edc1a85edc1
|
|
darcs-hash:20070503233148-a5988-628ec9194db704513dd804fc7c72bb478689526e
|
|
darcs-hash:20070503214221-a5988-c596e80afe12a486f08901e853071d42dd2d9123
|
|
darcs-hash:20070503214007-a5988-f427a9747f76859219abf029c2f550e7dbec258f
|
|
darcs-hash:20070503144750-72aca-f44bca4573837e12fc1f89333b55e04abd52787c
|
|
darcs-hash:20070503075821-9c5c1-d5bc043872adb9f95c23e0fde87ae11f16108785
|
|
darcs-hash:20070503074937-9c5c1-769ff9e521726032973c5712940c8c671746153e
|
|
darcs-hash:20070503074843-9c5c1-52a96686d7d6a1e260790db263c03799116b1202
|
|
darcs-hash:20070503032040-a5988-f30dac176a6db3139e07c8b29bbc31d27c67d410
|
|
darcs-hash:20070503002252-a5988-751a9563c3a2574a423367cdcba11e3e661f9d92
|
|
darcs-hash:20070502201622-a5988-ac80f011c59276c52314ea128c07a54487c9bee9
|
|
darcs-hash:20070502195917-a5988-6831029fae89604c06ae962aaffdf81bfdad3297
|
|
darcs-hash:20070502061859-9c5c1-e6e6c50c174610f5ff7a0438f849fde86ee23739
|
|
darcs-hash:20070501204249-a5988-c692509d697dd8fa3c47b478e9cc6626c6a57d7a
|
|
darcs-hash:20070501204121-a5988-788f9ff940b4d9de34801588c1420b60d038d97d
|
|
darcs-hash:20070501035414-9c5c1-cd566efa85f7ea09d5e252fabe485a46f5bd3eb2
|
|
darcs-hash:20070501031220-9c5c1-9354f63ca805ac82d5edb814eb56f46e73afa8d4
|
|
darcs-hash:20070430065946-9c5c1-a63c2fa904ff1b915da40dfef6289ee935991992
|
|
darcs-hash:20070430163515-a5988-9dea5188c30830fd8b3135f7cb5beffd7b90dcb9
|
|
darcs-hash:20070430162647-a5988-70420c2db283eb1585c96d977e5ac5ca3d0d1532
|
|
darcs-hash:20070430161635-a5988-ee0abcdeff2aa92df2d593de488797015c0fc7e7
|
|
darcs-hash:20070430161511-a5988-2196c16d0c2d0d5207b68a6b27d66b11b4fe0014
|