summaryrefslogtreecommitdiffstats
path: root/StackSet.hs
AgeCommit message (Collapse)Author
2007-06-26fix empty case in 'filter', and note differences in semantics wrt. focus to ↵Don Stewart
'delete' darcs-hash:20070626035741-9c5c1-17c1fa07eed1fe3b9765530a8ab7966c195920e0
2007-06-26clean up 'StackSet.filter' for styleDon Stewart
darcs-hash:20070626033202-9c5c1-2c9b63321755af27ab1e00c97e82104ca94bf558
2007-06-17-Wall police, and turn on -fno-warn-orphansDon Stewart
darcs-hash:20070617052322-9c5c1-9cd715825d376163cbf341993bc0f132e50ef3b6
2007-06-14make workspace tag not need to be a Num.David Roundy
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
2007-06-14haddock tuning for StackSet.hsAndrea Rossato
with this patch the documentation of StackSet.hs will have a nice TOC darcs-hash:20070614064511-32816-50f479a68597d8d8fc6bd8adbe21725fca4da5eb
2007-06-12make focus, up and down complete functions.David Roundy
This is a rerun of my change to make (Stack a) never be empty. Gives us more type-safety. darcs-hash:20070612150555-72aca-5f6e43aa33979c71679a73b44d93f9e2b8f9d2a8
2007-06-12add differentiate function to StackSet to go [a] -> Stack a.David Roundy
darcs-hash:20070612132853-72aca-01d24069e1f7b66d2dbc9c47e24e4334a45c4346
2007-06-12Make 'view' a total functionSpencer Janssen
darcs-hash:20070612143248-a5988-1e99f26ec88e7f8ca791e215bb81ec5a17c7bb58
2007-06-11-Wall policeSpencer Janssen
darcs-hash:20070611180123-a5988-6d080dc357baadd3be573cce2942f765ac4cd832
2007-06-11Add StackSet.filterSpencer Janssen
darcs-hash:20070611165154-a5988-8c46751ffd4bd03249656e3b467b8e7569c48b09
2007-06-10haddock compatibilityAndrea Rossato
darcs-hash:20070610123746-32816-e5a1b61d81fa52f608d7936f900431bd6620c3c7
2007-06-09HEADS UP: (logging format change). use a custom pretty printer, for an ↵Don Stewart
easier format to parse, than 'show' produces darcs-hash:20070609131716-9c5c1-ac6b3d7e8193b16ca9ae65f32d5373090107eca1
2007-06-05whitespace onlyDon Stewart
darcs-hash:20070605000723-9c5c1-f05c7c0ca57a21e02137e595a061f01db7d2442a
2007-06-04-Wall policeSpencer Janssen
darcs-hash:20070604211531-a5988-b12f8e4adbb881ac760733d2e022656329fc8f30
2007-06-04realign guardl.mai
darcs-hash:20070604182045-42ea9-c6c9a4ddc19c0713008d71ea7119a5f37953b3dd
2007-06-04swapUp/Down are also mirroredSpencer Janssen
darcs-hash:20070604183535-a5988-5ab9553321805a39ea9ada8aba0a4c53496eee4d
2007-06-04Remove redundant cases in swapUp/DownSpencer Janssen
darcs-hash:20070604183344-a5988-77df217c8b8b2f958f1adfceb3ee8fe94942e9a8
2007-06-04focusUp/Down are the same, in reversed orderSpencer Janssen
darcs-hash:20070604183143-a5988-9b9325a10eee13bb6bd96d20ca3b15c12c368883
2007-06-04Simplify focusUp/DownSpencer Janssen
darcs-hash:20070604182228-a5988-4114dc5f3d0c5533f66cb2c34e2f3fe9566f19e0
2007-06-04Integral implies EqSpencer Janssen
darcs-hash:20070604180745-a5988-bbeb0e2f34a21fe9853f67440e59929a1084c76d
2007-06-04Comment typo.Spencer Janssen
darcs-hash:20070604180554-a5988-5faec5cb8f6c7cd9a7d29df883b078f6e5e0b793
2007-06-04Use the new integrate functionSpencer Janssen
darcs-hash:20070604062653-a5988-8a6456ccc1dd03fa1c733e71dfa056dd76a91186
2007-06-04Add integrateSpencer Janssen
darcs-hash:20070604062501-a5988-52b9c72b3f989ac55438677442db48d0cf5d06e7
2007-05-31clean up mouse code a bitDon Stewart
darcs-hash:20070531085308-9c5c1-73ed940708aa9a369b0345c0d2b2a4708a231e67
2007-05-31first shot at a floating layerJason Creighton
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
2007-05-26HEADS UP: change key binding for swapLeft/Right and IncMasterDon Stewart
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 == focusDown. Far more intuitive for people (dons) who live in fullscreen mode and have vim movement wired into their central nervous system. Principle of least VI surprise: movement down or up means using j and k. darcs-hash:20070526111453-9c5c1-3242145ee5b51eb070a7dc3663f0d6cc01671d5c
2007-05-26type sig for abort.Don Stewart
darcs-hash:20070526061450-9c5c1-217d8a3962ce1422eedfb90f8c9d7e8578d83d60
2007-05-24Add an abort function, called for deliberate and intentional errorsNeil Mitchell
darcs-hash:20070523233212-73ab9-81ab782d6360e1d85152c647f9c7cd19a065963a
2007-05-25Deleting a window should not affect focusRob
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
2007-05-22add swapLeft and swapRightbobstopper
darcs-hash:20070522050008-ee4f8-6073519fac239b25e5e265ce3995ee75683fcb81
2007-05-21Read instance for StackSetSpencer Janssen
darcs-hash:20070521184504-a5988-348b1e31532e664b6ad4bbb9ed82e57b53c41417
2007-05-21modifyDon Stewart
darcs-hash:20070521115750-9c5c1-8b6847930f5e2710d076c070db9835ab1ee3d76d
2007-05-21Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart
darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb
2007-05-21focusWindow: always view the containing workspace firstJason Creighton
darcs-hash:20070521035551-b9aa7-d33479e88029b33748dd48607b51fac22343168c
2007-05-21explicit export list for StackSetDon Stewart
darcs-hash:20070521025250-9c5c1-853b26cc2d30325a099abec43648417dd6c60a9e
2007-05-20comment onlyDon Stewart
darcs-hash:20070520090846-9c5c1-6b99085411c441a4d8217cb6b9d18edf198bfd4e
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-16Read is not needed for StackSetSpencer Janssen
darcs-hash:20070516054233-a5988-b71d4b13ec6dfafe367ea4a0dad0b32f0614b318
2007-05-10keep focus stack.David Roundy
darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5
2007-05-08Remove unsafe fromJustSpencer Janssen
darcs-hash:20070508163822-a5988-cb12015569105b9e646a5c12fc8dc02099a4beed
2007-05-08Work around the fact that Yhc gets defaulting a bit wrongNeil Mitchell http://www.cs.york.ac.uk/~ndm/
darcs-hash:20070508124949-fbc8d-1d778c43323434b6f286af1505b2c0489eb09ac2
2007-05-08Remove unsafe use of headSpencer Janssen
darcs-hash:20070508152116-a5988-16a82d62661a5ccd0a95f88ced57cd3e9df5fd67
2007-05-08Make 'index' return Nothing, rather than errorSpencer Janssen
darcs-hash:20070508151200-a5988-3da2bb925de6c610ed9b7a5ab5bccedb3483d032
2007-05-08Use 'drop 1' rather than tail, skip equality check.Spencer Janssen
darcs-hash:20070508150943-a5988-84c0ebc06bc745ecdacae2ced6863b63a9585756
2007-05-08StackSet.view: ignore invalid indicesSpencer Janssen
darcs-hash:20070508143951-a5988-5b1aea6415436bc5cee632a60efc42300cfbf1e9
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/
pattern-guards. darcs-hash:20070508123158-fbc8d-1592375172ef513d85c5e0095c689abf9ac5fc9b
2007-05-05make quickcheck tests friendlier to read.David Roundy
darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194
2007-05-03Add -fglasgow-exts for pattern guards. Properties.hs doesn't complain anymoreSpencer Janssen
darcs-hash:20070503214221-a5988-c596e80afe12a486f08901e853071d42dd2d9123
2007-05-02First steps to adding floating layerSpencer Janssen
darcs-hash:20070502195917-a5988-6831029fae89604c06ae962aaffdf81bfdad3297
2007-04-30remove redundant call to 'delete' in 'shift'Don Stewart
darcs-hash:20070430031151-9c5c1-7d66b13bc36af0e33af655f33ef287c8d4a379e7