Don Stewart
0928bb484a
Constrain layout messages to be members of a Message class
...
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.
2007-05-04 08:16:49 +00:00
Spencer Janssen
72e7bed426
Handle empty layout lists
2007-05-04 04:56:44 +00:00
Don Stewart
d0ef78e5c3
refactoring, style, comments on new layout code
2007-05-04 02:36:18 +00:00
David Roundy
ea1134db26
add support for extensible layouts.
2007-05-03 14:47:50 +00:00
Don Stewart
f0df95da72
comments. and stop tracing events to stderr
2007-05-03 07:58:21 +00:00
Spencer Janssen
08e514b28f
Add Config.hs-boot, remove defaultLayoutDesc from XConf
2007-04-30 16:26:47 +00:00
Spencer Janssen
ecbff364c9
Comment only
2007-04-30 16:16:35 +00:00
Spencer Janssen
1e83de8cde
Comment only
2007-04-30 16:15:11 +00:00
Spencer Janssen
5d086df912
Add XConf for values that don't change.
2007-04-30 05:47:15 +00:00
Jason Creighton
bdbca84bcd
configurable border colors
...
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".
2007-04-30 04:38:59 +00:00
Don Stewart
bf0f487ca4
add 8 new QC tests, including tests of the layout algorithm
2007-04-19 04:08:33 +00:00
Spencer Janssen
2b6a5d25b6
WindowSet is better than WorkSpace
2007-04-19 01:54:30 +00:00
Don Stewart
b765cc9706
Parameterise StackSet by two index types, rather than breaking abstraction
2007-04-19 01:27:05 +00:00
Don Stewart
85a20da22c
clean up tiling code a teensy bit, and comment on the interaction between focus, master, and cycling direction between the modes
2007-04-11 08:07:47 +00:00
Don Stewart
3e7b23030c
clean up only
2007-04-11 06:56:07 +00:00
Don Stewart
c490333d12
Statically distinguish Workspace and Screen indices
2007-04-11 06:04:56 +00:00
Jason Creighton
0c95f0c143
moved screen <-> workspace mapping from XMonad to StackSet
2007-04-10 06:27:31 +00:00
Spencer Janssen
83600d109e
Simplify rot
2007-04-09 22:35:00 +00:00
Spencer Janssen
a99841e554
Remove unused 'screen' field
2007-04-09 07:35:10 +00:00
Spencer Janssen
8c88e102b4
Document XState fields
2007-04-09 07:34:14 +00:00
Don Stewart
a0f7df2fa6
Use -funbox-strict-fields, rather than UNPACK pragmas. cleaner code.
2007-04-09 07:23:02 +00:00
Spencer Janssen
3a592d2df8
Use Tall and Wide for split screen layouts. This should be less confusing.
2007-04-03 05:06:10 +00:00
Jason Creighton
3b36be5055
vertical (master area on top) tiling
2007-04-03 04:06:58 +00:00
Spencer Janssen
4b91b535ff
Comment typo.
2007-04-02 21:46:05 +00:00
Spencer Janssen
93be71bb88
Revert to the old layout code.
2007-04-02 04:51:14 +00:00
Alec Berryman
df4bda60ff
Remove trailing spaces, no content changed
2007-04-01 14:45:39 +00:00
hughes
1909c353b7
Merged things together with dons changes.
2007-04-01 02:18:46 +00:00
hughes
10a0e21e00
Vertical/horizontal split, and resizability.
2007-04-01 01:47:06 +00:00
Don Stewart
93cf0950e8
formatting fixes. the style is getting a bit dodgy in some places...
2007-04-01 00:28:03 +00:00
daniel
5ae3c6a1fc
first shot at allowing click to focus windows
2007-03-28 10:15:40 +00:00
hughes
4fc3448186
Workspace-specific layouts
2007-03-26 15:02:13 +00:00
daniel
5bd9a74b5a
Allow dynamic width in tiling mode
2007-03-21 05:42:45 +00:00
Spencer Janssen
e0584a008d
Initial tiling support.
2007-03-20 07:18:12 +00:00
Jason Creighton
437167d34c
changed type of getScreenInfo in Graphics.X11.Xinerama
2007-03-20 04:42:53 +00:00
Jason Creighton
bb43b2ad6f
basic xinerama support (depends on Graphics.X11.Xinerama in X11-extras)
2007-03-17 23:49:04 +00:00
Spencer Janssen
2506e901f1
-Wall police
2007-03-16 02:22:01 +00:00
Spencer Janssen
851857bd41
Actually fix the zombie issue.
2007-03-13 23:59:31 +00:00
Spencer Janssen
835f054d79
Sloppy typos in spawn.
2007-03-13 21:50:09 +00:00
Spencer Janssen
8aad6658bc
Fix forking issues, add unix dependency.
2007-03-13 15:33:10 +00:00
Don Stewart
11bb12cc31
catch exceptions in spawn, so failing to fork won't kill the wm
2007-03-12 06:26:12 +00:00
Don Stewart
5398895bf4
comments, move isRoot into XMonad
2007-03-12 01:23:50 +00:00
Don Stewart
2365e68c6a
general refactor, and call xerrorhandler to ignore certain undetectable issues
2007-03-11 10:26:53 +00:00
Don Stewart
5ddd9351dc
XMonad
2007-03-10 07:01:52 +00:00