summaryrefslogtreecommitdiffstats
path: root/Main.hs
AgeCommit message (Collapse)Author
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-04Handle empty layout listsSpencer Janssen
darcs-hash:20070504045644-a5988-68a6d650bacab936f893b96bf866696da3f73436
2007-05-04use anyKey constant instead of magic numberJason Creighton
darcs-hash:20070504015043-b9aa7-a9e8a52b54a21ba00fba0b13a3ec1cc150b1aae5
2007-05-03add support for extensible layouts.David Roundy
darcs-hash:20070503144750-72aca-f44bca4573837e12fc1f89333b55e04abd52787c
2007-05-03Use updated refreshKeyboardMapping. Requires latest X11-extrasSpencer Janssen
darcs-hash:20070503032040-a5988-f30dac176a6db3139e07c8b29bbc31d27c67d410
2007-04-30Add Config.hs-boot, remove defaultLayoutDesc from XConfSpencer Janssen
darcs-hash:20070430162647-a5988-70420c2db283eb1585c96d977e5ac5ca3d0d1532
2007-04-30Add XConf for values that don't change.Spencer Janssen
darcs-hash:20070430054715-a5988-a74f5e2868f47443a69b0cd821fa690e43a4a7e1
2007-04-30configurable border colorsJason Creighton
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
2007-04-28avoid grabbing all keys when a keysym is undefinedJason Creighton
XKeysymToKeycode() returns zero if the keysym is undefined. Zero also happens to be the value of AnyKey. darcs-hash:20070428180046-b9aa7-79b768917b225267fa13fffda0738b53504aa722
2007-04-24Ignore numlock and capslock in keybindingsJason Creighton
darcs-hash:20070424013357-b9aa7-aed2e5623aa5d0f804d131974fc9b6c21c7a2ce1
2007-04-24Clear numlock bitSpencer Janssen
darcs-hash:20070424010352-a5988-411c7bc6d019f772b412e230cfc19aa06041ca7c
2007-04-19use prefixed record names in latest X11-extrasJason Creighton
darcs-hash:20070419032244-b9aa7-b3a4ef75d313d5c960775a75ddc91dbdae6485c7
2007-04-10moved screen <-> workspace mapping from XMonad to StackSetJason Creighton
darcs-hash:20070410062731-b9aa7-e1768a3fe6c0e3c749400dffc4a5a5e33e6a08c4
2007-04-09Remove redundant parensSpencer Janssen
darcs-hash:20070409073836-a5988-5ab0dc0ff9723b13fe2216b937e05bc6e784008a
2007-04-09Remove unused 'screen' fieldSpencer Janssen
darcs-hash:20070409073510-a5988-b2a95e4ba83a58a7be01dc49961449fa1f817014
2007-04-04replace multiple gets with a single get and record bindDon Stewart
darcs-hash:20070404010524-9c5c1-ae8b8c6a6e47d6676fb1fa77d800eb6485ac3424
2007-04-02Revert to the old layout code.Spencer Janssen
darcs-hash:20070402045114-a5988-3fa15b1c4d8d79494bf430dcad921d22cdfa8d16
2007-04-01Remove trailing spaces, no content changedAlec Berryman
darcs-hash:20070401144539-39448-1903870c5ef75cc918a8ea3153c5b154feb4e644
2007-04-01Fix type error in dimensions field of XState record for 64-bit systemsAlec Berryman
Fallout from Int->CInt conversion. darcs-hash:20070401144229-39448-a124d5c3906bbc527e04ef041d9321d871fc93b3
2007-04-01Vertical/horizontal split, and resizability.hughes
darcs-hash:20070401014706-3a569-26a764b57274f67057adf0b81eb71158b58f49de
2007-03-31Move safeFocus from Main to OperationsSpencer Janssen
darcs-hash:20070331010024-a5988-73c72204cd204872dd7a2339c1e805e2a0578a58
2007-03-31removed refocus; moved functionality to setFocusJason Creighton
darcs-hash:20070331003442-b9aa7-98dbb2a95ac070ced1efe307317fdd4732c1e38e
2007-03-30refactored "focus changed" code into "refocus"Jason Creighton
darcs-hash:20070330035454-b9aa7-54e1b09c030cec67d02902847258a2a14dcdc409
2007-03-28Fix refreshKeyboardMapping issues. Requires the latest X11-extrasSpencer Janssen
darcs-hash:20070328215753-a5988-ee705ccb076ddccb83aa32f0c6b04247e255ed58
2007-03-28first shot at allowing click to focus windowsdaniel
darcs-hash:20070328101540-c98ca-92140a718ff7491aa88895c0592cd9a964e671b0
2007-03-28Compatibility with CInt'ified X11Spencer Janssen
darcs-hash:20070328071436-a5988-247885dd8c1711b4739921fc4082e6a4ecf2b3d6
2007-03-26Workspace-specific layoutshughes
darcs-hash:20070326150213-3a569-64dd38c00558d58f27c3803ab15485892c24cfaa
2007-03-26Extra config: defaultLayoutdaniel
darcs-hash:20070326074234-c98ca-624f259e215d1aad642744cae44d572d88adda60
2007-03-26minor aesthetic changesdaniel
darcs-hash:20070326073339-c98ca-189e5a913582d8f6cf3ec6c7a01f39cf8718a222
2007-03-26added Config.lhs and moved most things in Main.hs into Operations.hs to ↵Jason Creighton
enable this darcs-hash:20070326051341-b9aa7-c7743c45bfea2341d5dd98428996195fac96d67c
2007-03-25Xinerama focus bug (couldn't focus on current workspace)Jason Creighton
darcs-hash:20070325203702-b9aa7-ed927b7df5270a9dfaebbbf0105bb8f6f4b3402e
2007-03-23restart (simple exec(), no state saved)Jason Creighton
darcs-hash:20070323023738-b9aa7-7adfc53755ed749406c50da63883ee36e5a69565
2007-03-22Add promote. Makes the focused window the masterSpencer Janssen
darcs-hash:20070322222333-a5988-bd6295590c0695d7c43294fd535319e0fbde2e70
2007-03-21I like 1%2 split. Maintainer's prerogative :)Spencer Janssen
darcs-hash:20070321070649-a5988-dd004a59dd24ac947b3df3237e29c6aa00690d20
2007-03-21Add defaultLeftWidth in the configuration sectionSpencer Janssen
darcs-hash:20070321065807-a5988-4685e61bb98bd87e006c3d0e310ef0f918151a35
2007-03-21Allow dynamic width in tiling modedaniel
darcs-hash:20070321054245-c98ca-fc10278adbcbfe61de0f7bb4d4e14c5befc565b2
2007-03-21GHC 6.4 compatibility.Spencer Janssen
darcs-hash:20070321045211-a5988-47f59be9b08177f2252f656e8435b23054ffde3d
2007-03-21add keybindings to change screens and tag windows to screensJason Creighton
darcs-hash:20070321033807-b9aa7-182a8a380ff559eb2ab3af0ec143712b38cdcb60
2007-03-20Make numlockMask configurableSpencer Janssen
darcs-hash:20070320145828-a5988-8d4e68f87e035cec9bea9705a9543850812f7b3a
2007-03-20Initial tiling support.Spencer Janssen
darcs-hash:20070320071812-a5988-5f091f18a418d6aaf940b800530e0c6a7c4bc312
2007-03-20Fix indentationSpencer Janssen
darcs-hash:20070320054647-a5988-daa6e9364ce17787c95044acd4878a8468979f4d
2007-03-20UntabifySpencer Janssen
darcs-hash:20070320054045-a5988-bc1789adfd92f522cdaa012b7f7950ae96e754f6
2007-03-20changed type of getScreenInfo in Graphics.X11.XineramaJason Creighton
darcs-hash:20070320044253-b9aa7-d32f71aca7e91b282efaad1689310c5ca72a0e1f
2007-03-20Decouple the concepts of focus and window order. First step to tiling!Spencer Janssen
darcs-hash:20070320051124-a5988-5127c4860ce23d6eb569f6145cd592fe26689061
2007-03-19trace wsOnScreen when it's changedJason Creighton
darcs-hash:20070319035629-b9aa7-641cdc7e9d399b5a6bf83b59bbfcd2a58d918cd4
2007-03-19don't try to change the current workspace based on an enterNotify eventJason Creighton
darcs-hash:20070319035450-b9aa7-d3541941daa816d0599dfa19e18718fa1c99e9b1
2007-03-18use "windows" in "unmanage"Jason Creighton
darcs-hash:20070318024825-b9aa7-9e5a740f0616ef4da374c6116a26db15003c7e5a
2007-03-18replaced "let Just x = ..." in view with "case ... of ..."Jason Creighton
darcs-hash:20070318005525-b9aa7-9f42706bf37b46fd853388395c9c495346abcc74
2007-03-18basic xinerama support (depends on Graphics.X11.Xinerama in X11-extras)Jason Creighton
darcs-hash:20070317234904-b9aa7-ef29cf597970298a24d770ec789f83638390d22a
2007-03-16Whitespace onlySpencer Janssen
darcs-hash:20070316194950-a5988-d81226b13d9a0a9b1a836c8bc79cda65173d3390