aboutsummaryrefslogtreecommitdiffstats
path: root/StackSet.hs (unfollow)
Commit message (Collapse)AuthorFilesLines
2007-06-12make focus, up and down complete functions.David Roundy1-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
2007-06-12add differentiate function to StackSet to go [a] -> Stack a.David Roundy1-1/+8
darcs-hash:20070612132853-72aca-01d24069e1f7b66d2dbc9c47e24e4334a45c4346.gz
2007-06-12Make 'view' a total functionSpencer Janssen1-1/+1
darcs-hash:20070612143248-a5988-1e99f26ec88e7f8ca791e215bb81ec5a17c7bb58.gz
2007-06-11-Wall policeSpencer Janssen1-1/+1
darcs-hash:20070611180123-a5988-6d080dc357baadd3be573cce2942f765ac4cd832.gz
2007-06-11Add StackSet.filterSpencer Janssen1-2/+15
darcs-hash:20070611165154-a5988-8c46751ffd4bd03249656e3b467b8e7569c48b09.gz
2007-06-10haddock compatibilityAndrea Rossato1-68/+81
darcs-hash:20070610123746-32816-e5a1b61d81fa52f608d7936f900431bd6620c3c7.gz
2007-06-09HEADS UP: (logging format change). use a custom pretty printer, for an ↵Don Stewart1-1/+0
easier format to parse, than 'show' produces darcs-hash:20070609131716-9c5c1-ac6b3d7e8193b16ca9ae65f32d5373090107eca1.gz
2007-06-05whitespace onlyDon Stewart1-8/+7
darcs-hash:20070605000723-9c5c1-f05c7c0ca57a21e02137e595a061f01db7d2442a.gz
2007-06-04-Wall policeSpencer Janssen1-5/+8
darcs-hash:20070604211531-a5988-b12f8e4adbb881ac760733d2e022656329fc8f30.gz
2007-06-04realign guardl.mai1-1/+1
darcs-hash:20070604182045-42ea9-c6c9a4ddc19c0713008d71ea7119a5f37953b3dd.gz
2007-06-04swapUp/Down are also mirroredSpencer Janssen1-6/+5
darcs-hash:20070604183535-a5988-5ab9553321805a39ea9ada8aba0a4c53496eee4d.gz
2007-06-04Remove redundant cases in swapUp/DownSpencer Janssen1-2/+0
darcs-hash:20070604183344-a5988-77df217c8b8b2f958f1adfceb3ee8fe94942e9a8.gz
2007-06-04focusUp/Down are the same, in reversed orderSpencer Janssen1-6/+9
darcs-hash:20070604183143-a5988-9b9325a10eee13bb6bd96d20ca3b15c12c368883.gz
2007-06-04Simplify focusUp/DownSpencer Janssen1-4/+2
darcs-hash:20070604182228-a5988-4114dc5f3d0c5533f66cb2c34e2f3fe9566f19e0.gz
2007-06-04Integral implies EqSpencer Janssen1-1/+1
darcs-hash:20070604180745-a5988-bbeb0e2f34a21fe9853f67440e59929a1084c76d.gz
2007-06-04Comment typo.Spencer Janssen1-3/+0
darcs-hash:20070604180554-a5988-5faec5cb8f6c7cd9a7d29df883b078f6e5e0b793.gz
2007-06-04Use the new integrate functionSpencer Janssen1-1/+1
darcs-hash:20070604062653-a5988-8a6456ccc1dd03fa1c733e71dfa056dd76a91186.gz
2007-06-04Add integrateSpencer Janssen1-1/+8
darcs-hash:20070604062501-a5988-52b9c72b3f989ac55438677442db48d0cf5d06e7.gz
2007-05-31clean up mouse code a bitDon Stewart1-5/+8
darcs-hash:20070531085308-9c5c1-73ed940708aa9a369b0345c0d2b2a4708a231e67.gz
2007-05-31first shot at a floating layerJason Creighton1-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
2007-05-26HEADS UP: change key binding for swapLeft/Right and IncMasterDon Stewart1-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
2007-05-26type sig for abort.Don Stewart1-2/+3
darcs-hash:20070526061450-9c5c1-217d8a3962ce1422eedfb90f8c9d7e8578d83d60.gz
2007-05-24Add an abort function, called for deliberate and intentional errorsNeil Mitchell1-2/+6
darcs-hash:20070523233212-73ab9-81ab782d6360e1d85152c647f9c7cd19a065963a.gz
2007-05-25Deleting a window should not affect focusRob1-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
2007-05-22add swapLeft and swapRightbobstopper1-7/+24
darcs-hash:20070522050008-ee4f8-6073519fac239b25e5e265ce3995ee75683fcb81.gz
2007-05-21Read instance for StackSetSpencer Janssen1-4/+4
darcs-hash:20070521184504-a5988-348b1e31532e664b6ad4bbb9ed82e57b53c41417.gz
2007-05-21modifyDon Stewart1-1/+2
darcs-hash:20070521115750-9c5c1-8b6847930f5e2710d076c070db9835ab1ee3d76d.gz
2007-05-21Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart1-46/+55
darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb.gz
2007-05-21focusWindow: always view the containing workspace firstJason Creighton1-9/+4
darcs-hash:20070521035551-b9aa7-d33479e88029b33748dd48607b51fac22343168c.gz
2007-05-21explicit export list for StackSetDon Stewart1-1/+5
darcs-hash:20070521025250-9c5c1-853b26cc2d30325a099abec43648417dd6c60a9e.gz
2007-05-20comment onlyDon Stewart1-4/+4
darcs-hash:20070520090846-9c5c1-6b99085411c441a4d8217cb6b9d18edf198bfd4e.gz
2007-05-20HEADS UP: Rewrite StackSet as a ZipperDon Stewart1-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
2007-05-16Read is not needed for StackSetSpencer Janssen1-1/+1
darcs-hash:20070516054233-a5988-b71d4b13ec6dfafe367ea4a0dad0b32f0614b318.gz
2007-05-10keep focus stack.David Roundy1-15/+23
darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5.gz
2007-05-08Remove unsafe fromJustSpencer Janssen1-1/+1
darcs-hash:20070508163822-a5988-cb12015569105b9e646a5c12fc8dc02099a4beed.gz
2007-05-08Work around the fact that Yhc gets defaulting a bit wrongNeil Mitchell http://www.cs.york.ac.uk/~ndm/1-1/+3
darcs-hash:20070508124949-fbc8d-1d778c43323434b6f286af1505b2c0489eb09ac2.gz
2007-05-08Remove unsafe use of headSpencer Janssen1-1/+2
darcs-hash:20070508152116-a5988-16a82d62661a5ccd0a95f88ced57cd3e9df5fd67.gz
2007-05-08Make 'index' return Nothing, rather than errorSpencer Janssen1-4/+4
darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032.gz
2007-05-08Use 'drop 1' rather than tail, skip equality check.Spencer Janssen1-4/+5
darcs-hash:20070508150943-a5988-84c0ebc06bc745ecdacae2ced6863b63a9585756.gz
2007-05-08StackSet.view: ignore invalid indicesSpencer Janssen1-3/+3
darcs-hash:20070508143951-a5988-5b1aea6415436bc5cee632a60efc42300cfbf1e9.gz
2007-05-08Change the swap function so its Haskell 98, by using list-comps instead of ↵Neil Mitchell http://www.cs.york.ac.uk/~ndm/1-7/+4
pattern-guards. darcs-hash:20070508123158-fbc8d-1592375172ef513d85c5e0095c689abf9ac5fc9b.gz
2007-05-05make quickcheck tests friendlier to read.David Roundy1-1/+1
darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194.gz
2007-05-03Add -fglasgow-exts for pattern guards. Properties.hs doesn't complain anymoreSpencer Janssen1-0/+2
darcs-hash:20070503214221-a5988-c596e80afe12a486f08901e853071d42dd2d9123.gz
2007-05-02First steps to adding floating layerSpencer Janssen1-14/+17
darcs-hash:20070502195917-a5988-6831029fae89604c06ae962aaffdf81bfdad3297.gz
2007-04-30remove redundant call to 'delete' in 'shift'Don Stewart1-1/+1
darcs-hash:20070430031151-9c5c1-7d66b13bc36af0e33af655f33ef287c8d4a379e7.gz
2007-04-30clean 'delete' a littleDon Stewart1-7/+5
darcs-hash:20070430025319-9c5c1-e9f7308996d1400c1abd42d2d5f6ef30b8f01c06.gz
2007-04-30shrink 'swap'Don Stewart1-8/+5
darcs-hash:20070430024813-9c5c1-28d697989294c4c5ce03e44553b75a8d7bc6c03e.gz
2007-04-30shrink 'rotate' a littleDon Stewart1-4/+2
darcs-hash:20070430024525-9c5c1-fd54666b06e2d896e023e7ae1c8f2b32fdb7a815.gz
2007-04-30move size into Properties.hsDon Stewart1-4/+1
darcs-hash:20070430021758-9c5c1-f1ae3d5c2639b9c3ee91ccdebaefe0cf4a2c6df5.gz
2007-04-30don't need 'size' operation on StackSetDon Stewart1-5/+6
darcs-hash:20070430015927-9c5c1-9fdb237b91b517b77ab4a63c6675afa1ca759fe6.gz