summaryrefslogtreecommitdiffstats
path: root/StackSet.hs
AgeCommit message (Collapse)Author
2007-07-28Bugfix: reordering when filtering out the last window on a workspaceKarsten Schoelzel
Say you have three windows A B C* on a workspace with * marking the focus. If you close C or move it to another workspace, the resulting order will be B* A, thus reordering the other windows, defying the comment of filter. darcs-hash:20070728132507-eb3a1-064bb572b4a8ef7694f9939e1f2c714e3a32571b
2007-07-24shift: use guards instead of ifSpencer Janssen
darcs-hash:20070724152340-a5988-dec59fcb145282845349ec5baf700b62a25ac116
2007-07-24Remove unnecessary Integral constraintsSpencer Janssen
darcs-hash:20070724152257-a5988-508cf9ad44d8668d1cb03865a6e28b9454ce6cb5
2007-07-24make delete work when window is in multiple workspaces.David Roundy
darcs-hash:20070724142045-72aca-2c5ac9fe613333f8333329fc63d420883891f782
2007-07-24Remove redundant 'n >= 0' check from shift. (from David Roundy's 'simplify ↵Spencer Janssen
shift, removing unneeded check.' patch) darcs-hash:20070724145927-a5988-2e681f183964587aedd9d0b1e0ab33f7e25779ba
2007-07-22Cleanup of shift codeMichael G. Sloan
darcs-hash:20070722205337-0d649-35419b898df5fc30d9a48bde46f8ede66e39c009
2007-06-29Move screen details into StackSetSpencer Janssen
darcs-hash:20070629213917-a5988-3ad31d8f028efcec41c9c4805c01c2d42c0009b2
2007-06-26comment for (dubious?) integrate'Don Stewart
darcs-hash:20070626052431-9c5c1-b7d37be5fd0e660fbc8725fd94548d3a00cbcc3e
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