aboutsummaryrefslogtreecommitdiffstats
path: root/StackSet.hs (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* fix empty case in 'filter', and note differences in semantics wrt. focus to ↵Don Stewart2007-06-261-4/+9
| | | | | | 'delete' darcs-hash:20070626035741-9c5c1-17c1fa07eed1fe3b9765530a8ab7966c195920e0.gz
* clean up 'StackSet.filter' for styleDon Stewart2007-06-261-4/+4
| | | | darcs-hash:20070626033202-9c5c1-2c9b63321755af27ab1e00c97e82104ca94bf558.gz
* -Wall police, and turn on -fno-warn-orphansDon Stewart2007-06-171-6/+1
| | | | darcs-hash:20070617052322-9c5c1-9cd715825d376163cbf341993bc0f132e50ef3b6.gz
* make workspace tag not need to be a Num.David Roundy2007-06-141-15/+33
| | | | | | | | | This change also removes the barely used 'size' field, and replaces it with a tagMember predicate. The idea is to move towards the ability to make the workspace tag be a String, which by default might be "1".."9", but could also be customized to be something meaningful to the user. darcs-hash:20070614140709-72aca-dbc1ce07bf964e4cff69deef95b453a0051ef782.gz
* haddock tuning for StackSet.hsAndrea Rossato2007-06-141-28/+45
| | | | | | with this patch the documentation of StackSet.hs will have a nice TOC darcs-hash:20070614064511-32816-50f479a68597d8d8fc6bd8adbe21725fca4da5eb.gz
* make focus, up and down complete functions.David Roundy2007-06-121-51/+57
| | | | | | | This is a rerun of my change to make (Stack a) never be empty. Gives us more type-safety. darcs-hash:20070612150555-72aca-5f6e43aa33979c71679a73b44d93f9e2b8f9d2a8.gz
* add differentiate function to StackSet to go [a] -> Stack a.David Roundy2007-06-121-1/+8
| | | | darcs-hash:20070612132853-72aca-01d24069e1f7b66d2dbc9c47e24e4334a45c4346.gz
* Make 'view' a total functionSpencer Janssen2007-06-121-1/+1
| | | | darcs-hash:20070612143248-a5988-1e99f26ec88e7f8ca791e215bb81ec5a17c7bb58.gz
* -Wall policeSpencer Janssen2007-06-111-1/+1
| | | | darcs-hash:20070611180123-a5988-6d080dc357baadd3be573cce2942f765ac4cd832.gz
* Add StackSet.filterSpencer Janssen2007-06-111-2/+15
| | | | darcs-hash:20070611165154-a5988-8c46751ffd4bd03249656e3b467b8e7569c48b09.gz
* haddock compatibilityAndrea Rossato2007-06-101-68/+81
| | | | darcs-hash:20070610123746-32816-e5a1b61d81fa52f608d7936f900431bd6620c3c7.gz
* HEADS UP: (logging format change). use a custom pretty printer, for an ↵Don Stewart2007-06-091-1/+0
| | | | | | easier format to parse, than 'show' produces darcs-hash:20070609131716-9c5c1-ac6b3d7e8193b16ca9ae65f32d5373090107eca1.gz
* whitespace onlyDon Stewart2007-06-051-8/+7
| | | | darcs-hash:20070605000723-9c5c1-f05c7c0ca57a21e02137e595a061f01db7d2442a.gz
* -Wall policeSpencer Janssen2007-06-041-5/+8
| | | | darcs-hash:20070604211531-a5988-b12f8e4adbb881ac760733d2e022656329fc8f30.gz
* realign guardl.mai2007-06-041-1/+1
| | | | darcs-hash:20070604182045-42ea9-c6c9a4ddc19c0713008d71ea7119a5f37953b3dd.gz
* swapUp/Down are also mirroredSpencer Janssen2007-06-041-6/+5
| | | | darcs-hash:20070604183535-a5988-5ab9553321805a39ea9ada8aba0a4c53496eee4d.gz
* Remove redundant cases in swapUp/DownSpencer Janssen2007-06-041-2/+0
| | | | darcs-hash:20070604183344-a5988-77df217c8b8b2f958f1adfceb3ee8fe94942e9a8.gz
* focusUp/Down are the same, in reversed orderSpencer Janssen2007-06-041-6/+9
| | | | darcs-hash:20070604183143-a5988-9b9325a10eee13bb6bd96d20ca3b15c12c368883.gz
* Simplify focusUp/DownSpencer Janssen2007-06-041-4/+2
| | | | darcs-hash:20070604182228-a5988-4114dc5f3d0c5533f66cb2c34e2f3fe9566f19e0.gz
* Integral implies EqSpencer Janssen2007-06-041-1/+1
| | | | darcs-hash:20070604180745-a5988-bbeb0e2f34a21fe9853f67440e59929a1084c76d.gz
* Comment typo.Spencer Janssen2007-06-041-3/+0
| | | | darcs-hash:20070604180554-a5988-5faec5cb8f6c7cd9a7d29df883b078f6e5e0b793.gz
* Use the new integrate functionSpencer Janssen2007-06-041-1/+1
| | | | darcs-hash:20070604062653-a5988-8a6456ccc1dd03fa1c733e71dfa056dd76a91186.gz
* Add integrateSpencer Janssen2007-06-041-1/+8
| | | | darcs-hash:20070604062501-a5988-52b9c72b3f989ac55438677442db48d0cf5d06e7.gz
* clean up mouse code a bitDon Stewart2007-05-311-5/+8
| | | | darcs-hash:20070531085308-9c5c1-73ed940708aa9a369b0345c0d2b2a4708a231e67.gz
* first shot at a floating layerJason Creighton2007-05-311-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | This is a first attempting at a floating layer: mod-button1: move window mod-button2: swapMaster mod-button3: resize window mod-t: make floating window tiled again Moving or resizing a window automatically makes it floating. Known issues: Hard to manage stacking order. You can promote a window to move it to the top, (which you can do with mod-button2) but it should be easier than that. Moving a window by dragging it to a different Xinerama screen does not move it to that workspace. Code is ugly. darcs-hash:20070531044733-b9aa7-c96d5263e1d3447e91f436920f4d047050ce55d9.gz
* HEADS UP: change key binding for swapLeft/Right and IncMasterDon Stewart2007-05-261-43/+48
| | | | | | | | | | | | | | | | The use of arrow keys for swapLeft/Right clash with firefox's back button. Use the more intuitive mod-shift-jk for this. (It's a movement operation, after all). This clashes with IncMaster, so we use mod+comma and mod+period for these (i.e. the keys mod < and mod > , to move windows to and from the master area). While we're here, replace the use of the terms 'left' and 'right' for navigation, in comments and identifiers, with 'up' and 'down' instead. Hence mod-j darcs-hash:20070526111453-9c5c1-3242145ee5b51eb070a7dc3663f0d6cc01671d5c.gz
* type sig for abort.Don Stewart2007-05-261-2/+3
| | | | darcs-hash:20070526061450-9c5c1-217d8a3962ce1422eedfb90f8c9d7e8578d83d60.gz
* Add an abort function, called for deliberate and intentional errorsNeil Mitchell2007-05-241-2/+6
| | | | darcs-hash:20070523233212-73ab9-81ab782d6360e1d85152c647f9c7cd19a065963a.gz
* Deleting a window should not affect focusRob2007-05-251-2/+5
| | | | | | | | | | | This fixes a bug whereby deleting a window will first move focus to that window before deleting it without moving focus back afterwards. The fix generalises the remove inner function to delete a window from the stack whether it's in focus or not. If the window is in focus, behaviour remains as it was. darcs-hash:20070525024118-64d90-a9f70b49186be59e62af4b11671099996c5e294f.gz
* add swapLeft and swapRightbobstopper2007-05-221-7/+24
| | | | darcs-hash:20070522050008-ee4f8-6073519fac239b25e5e265ce3995ee75683fcb81.gz
* Read instance for StackSetSpencer Janssen2007-05-211-4/+4
| | | | darcs-hash:20070521184504-a5988-348b1e31532e664b6ad4bbb9ed82e57b53c41417.gz
* modifyDon Stewart2007-05-211-1/+2
| | | | darcs-hash:20070521115750-9c5c1-8b6847930f5e2710d076c070db9835ab1ee3d76d.gz
* Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart2007-05-211-46/+55
| | | | darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb.gz
* focusWindow: always view the containing workspace firstJason Creighton2007-05-211-9/+4
| | | | darcs-hash:20070521035551-b9aa7-d33479e88029b33748dd48607b51fac22343168c.gz
* explicit export list for StackSetDon Stewart2007-05-211-1/+5
| | | | darcs-hash:20070521025250-9c5c1-853b26cc2d30325a099abec43648417dd6c60a9e.gz
* comment onlyDon Stewart2007-05-201-4/+4
| | | | darcs-hash:20070520090846-9c5c1-6b99085411c441a4d8217cb6b9d18edf198bfd4e.gz
* HEADS UP: Rewrite StackSet as a ZipperDon Stewart2007-05-201-211/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Read is not needed for StackSetSpencer Janssen2007-05-161-1/+1
| | | | darcs-hash:20070516054233-a5988-b71d4b13ec6dfafe367ea4a0dad0b32f0614b318.gz
* keep focus stack.David Roundy2007-05-101-15/+23
| | | | darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5.gz
* Remove unsafe fromJustSpencer Janssen2007-05-081-1/+1
| | | | darcs-hash:20070508163822-a5988-cb12015569105b9e646a5c12fc8dc02099a4beed.gz
* Work around the fact that Yhc gets defaulting a bit wrongNeil Mitchell http://www.cs.york.ac.uk/~ndm/2007-05-081-1/+3
| | | | darcs-hash:20070508124949-fbc8d-1d778c43323434b6f286af1505b2c0489eb09ac2.gz
* Remove unsafe use of headSpencer Janssen2007-05-081-1/+2
| | | | darcs-hash:20070508152116-a5988-16a82d62661a5ccd0a95f88ced57cd3e9df5fd67.gz
* Make 'index' return Nothing, rather than errorSpencer Janssen2007-05-081-4/+4
| | | | darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032.gz
* Use 'drop 1' rather than tail, skip equality check.Spencer Janssen2007-05-081-4/+5
| | | | darcs-hash:20070508150943-a5988-84c0ebc06bc745ecdacae2ced6863b63a9585756.gz
* StackSet.view: ignore invalid indicesSpencer Janssen2007-05-081-3/+3
| | | | darcs-hash:20070508143951-a5988-5b1aea6415436bc5cee632a60efc42300cfbf1e9.gz
* Change the swap function so its Haskell 98, by using list-comps instead of ↵Neil Mitchell http://www.cs.york.ac.uk/~ndm/2007-05-081-7/+4
| | | | | | pattern-guards. darcs-hash:20070508123158-fbc8d-1592375172ef513d85c5e0095c689abf9ac5fc9b.gz
* make quickcheck tests friendlier to read.David Roundy2007-05-051-1/+1
| | | | darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194.gz
* Add -fglasgow-exts for pattern guards. Properties.hs doesn't complain anymoreSpencer Janssen2007-05-031-0/+2
| | | | darcs-hash:20070503214221-a5988-c596e80afe12a486f08901e853071d42dd2d9123.gz
* First steps to adding floating layerSpencer Janssen2007-05-021-14/+17
| | | | darcs-hash:20070502195917-a5988-6831029fae89604c06ae962aaffdf81bfdad3297.gz
* remove redundant call to 'delete' in 'shift'Don Stewart2007-04-301-1/+1
| | | | darcs-hash:20070430031151-9c5c1-7d66b13bc36af0e33af655f33ef287c8d4a379e7.gz