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