Age | Commit message (Collapse) | Author |
|
darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032
|
|
darcs-hash:20070508150412-a5988-abf7b3c1e96051cb0cb964f6a94239ac76f83a4e
|
|
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:20070504014653-b9aa7-1709cb0b718a7a058021c76fb95f9654c43f54b1
|
|
darcs-hash:20070503235632-a5988-98863d7067876591bd9da2b33d062bfe2c5b42fd
|
|
darcs-hash:20070503214007-a5988-f427a9747f76859219abf029c2f550e7dbec258f
|
|
darcs-hash:20070503144750-72aca-f44bca4573837e12fc1f89333b55e04abd52787c
|
|
darcs-hash:20070503075821-9c5c1-d5bc043872adb9f95c23e0fde87ae11f16108785
|
|
darcs-hash:20070430163515-a5988-9dea5188c30830fd8b3135f7cb5beffd7b90dcb9
|
|
darcs-hash:20070430162647-a5988-70420c2db283eb1585c96d977e5ac5ca3d0d1532
|
|
darcs-hash:20070430054715-a5988-a74f5e2868f47443a69b0cd821fa690e43a4a7e1
|
|
darcs-hash:20070430053623-a5988-b7fd0de8376993fdab9ce99bf3c525105b597b33
|
|
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
|
|
darcs-hash:20070423050824-b9aa7-3fc8d9ad35a886852f035f8dabb0abaaee912ede
|
|
darcs-hash:20070419032244-b9aa7-b3a4ef75d313d5c960775a75ddc91dbdae6485c7
|
|
darcs-hash:20070419015430-a5988-1abfb64ca77e80031074f4a01f1f4e1a2e5efbac
|
|
darcs-hash:20070419012705-9c5c1-3aa97e02123af08c3f4500c9e9c3bb7ab4121652
|
|
This means other windows are unaffected.
The change from the previous cycling behaviour was felt necessary, since
cycling isn't a terribly useful operation.
Some properties that hold:
focus is unchanged by promotion
promote is idempotent (promoting twice does nothing)
the focused and master window will swap their positions in the stack
darcs-hash:20070418224236-9c5c1-4539f9f397e181f91dc9743e3ffac4b5796c0fac
|
|
darcs-hash:20070416025541-9c5c1-16be9a7ee5e4d1c3d319be7890f0812c56986116
|
|
darcs-hash:20070415055616-72aca-b81f926fe289216aa59af135f34db069eefce0a2
|
|
preservation problems.
darcs-hash:20070413083702-a5988-20863eaa042f45a1421a6f171d9a8c42a7854883
|
|
darcs-hash:20070411081042-9c5c1-05a68bbf16969dbb8854b37ab9b72e042d7fac9a
|
|
focus, master, and cycling direction between the modes
darcs-hash:20070411080747-9c5c1-0f6e9cc92481db8ba812976ee8d3cb0f7dde6626
|
|
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
|
|
darcs-hash:20070411060456-9c5c1-a5642813cffe434e60310d21497217ef3704b296
|
|
I don't think we're going to see any Xinerama support upstream, at least not
anytime soon. It doesn't make sense to ship something with xmonad that isn't
going to work out of the box. So for now Xinerama users should just use this
patch: http://www.jcreigh.com/xmonad/xinerama-dmenu.html
darcs-hash:20070411024716-b9aa7-e41d85ad5030a6a4eb6120257e8a5f2d1adaf00f
|
|
darcs-hash:20070410064714-a5988-e9b1fac201a546d1722db41213efc81223007e43
|
|
darcs-hash:20070410062731-b9aa7-e1768a3fe6c0e3c749400dffc4a5a5e33e6a08c4
|
|
windows
darcs-hash:20070405215832-a5988-87a975ad9fcea125d7d8ba3497d7bc0289a3f158
|
|
darcs-hash:20070405000100-9c5c1-aab51f7bfb20248e9a601b7af5107591db48af8c
|
|
darcs-hash:20070404021612-b9aa7-842163845e3969d9f5446065bc3fe57606501a48
|
|
darcs-hash:20070404010524-9c5c1-ae8b8c6a6e47d6676fb1fa77d800eb6485ac3424
|
|
darcs-hash:20070403050610-a5988-34a441f8eb299905ed28d415a9524121585d06d0
|
|
darcs-hash:20070403040658-b9aa7-4bbe82e188fd19de00f8d6f86a3e4d3b4a39bf01
|
|
darcs-hash:20070402072418-a5988-3b4db0be791c44772e0ce4ec49df25c16edaee94
|
|
darcs-hash:20070402045114-a5988-3fa15b1c4d8d79494bf430dcad921d22cdfa8d16
|
|
darcs-hash:20070401144539-39448-1903870c5ef75cc918a8ea3153c5b154feb4e644
|
|
This requires a dmenu that will accept -x and -w. Currently, This means
applying this patch: http://www.jcreigh.com/dmenu/position-options.patch (I'm
trying to see if I can get this into dmenu upstream; haven't heard anything
back yet.)
darcs-hash:20070401012712-b9aa7-00f28388a705814f8e542e8b25b1b41922e3cc6c
|
|
darcs-hash:20070401023639-3a569-2b7b3e7e7b2f26ebb77590053d8360ee736cfbc3
|
|
darcs-hash:20070401025433-9c5c1-79adc3fdb8db4cf7929dd6d121ec66c21f24a0e2
|
|
darcs-hash:20070401021846-3a569-083f7d441afc41bdeef843113c1de1d3a5e40ee3
|
|
darcs-hash:20070401014706-3a569-26a764b57274f67057adf0b81eb71158b58f49de
|
|
darcs-hash:20070401002803-9c5c1-e15fd397cbaf1182a13e1c55ca024ef2ef2fdbae
|
|
darcs-hash:20070331010024-a5988-73c72204cd204872dd7a2339c1e805e2a0578a58
|
|
darcs-hash:20070331003442-b9aa7-98dbb2a95ac070ced1efe307317fdd4732c1e38e
|
|
darcs-hash:20070330035454-b9aa7-54e1b09c030cec67d02902847258a2a14dcdc409
|
|
Colors taken from dwm's config.default.h and hard-coded in Operations instead
of Config because of import cycle.
Windows overlap slightly in the current tiling algorithm and sometimes prevent
the active window from being completely surrounded by a red border.
darcs-hash:20070329182159-39448-deabaeaf89d87bb71abc851b6bae1ffa356e5561
|