summaryrefslogtreecommitdiffstats
path: root/Operations.hs
AgeCommit message (Collapse)Author
2007-06-06Fix unmap handlingSpencer Janssen
According to the ICCCM, clients should send a synthetic unmap event when they initiate an unmap. The old code waited for these synthetic unmaps to unmanage windows. However, certain 'obsolete' clients do not send synthetic unmaps (notably xpdf's find dialog). These windows entered a zombified state: xmonad does not manage them, yet they are still mapped and raised on screen. The new algorithm (derived from wmii): - track windows that are mapped on screen - track the number of expected unmap events for each window, increment every time 'hide' is called on a window that is not mapped. - decrement the expected unmap counter on each unmap event - treat an unmap event as genuine (ie. unmap the window) when: - the event is synthetic (per ICCCM) - OR there are no expected unmap events for this window darcs-hash:20070606214006-a5988-7c2eced85319ff506a9b7c9dc86d5946ca0da8e5
2007-06-06dead importDon Stewart
darcs-hash:20070606025226-9c5c1-034e478b1212fcd36513beb77d2c3921761de169
2007-06-06move extraModifiers/cleanMask to Operations.hsJason Creighton
so XMonadContrib can use them darcs-hash:20070606005056-b9aa7-96a3bb09f8e6dabd707eed7b5f19d733e5e1778e
2007-06-06temporary workaround for delete/focus issue in fullscreen modeDon Stewart
darcs-hash:20070606024938-9c5c1-b89a2d864e408bfc96408d38013c14d1cde93014
2007-06-06simplify codeDon Stewart
darcs-hash:20070606004603-9c5c1-2bae3b2eb4287ea0bc349d6f590f39626adbb985
2007-06-05mention why StackSet needs -fglasgow-exts (for deriving Typeable)Don Stewart
darcs-hash:20070605092659-9c5c1-7eee6ed8801aa1c81e62d8dc62fa95035c4a5523
2007-06-05comments onlyDon Stewart
darcs-hash:20070605091803-9c5c1-4f975ef36d67e93ebdc2f0c4345898a3eccc686e
2007-06-05clean size hint codeDon Stewart
darcs-hash:20070605091354-9c5c1-25631fa2d8c438d3d21bfd5dd9aabc36e2520d53
2007-06-05Enable logging of state changes to stdoutDon Stewart
darcs-hash:20070605083735-9c5c1-1ab5acbd611914caa7b5cdf1f2df338c0ee616f8
2007-06-05Fix lost eventNotifyMask bugDon Stewart
When resuming, we were (implicitly) relying on 'scan' to find all windows, and reset their event masks and WM_STATE. When we moved to Iconfified hidden workspaces, 'scan' would only find and reset states on the current workspace. The result being that hidden workspace windows no longer received enterNotify events. Fix this by traversing the StackSet serialised during a restart, setting the intial X states for each window, whether visible or hidden. darcs-hash:20070605043040-9c5c1-642f02a61a3e1d4679fde9c38eeb10aec53ea455
2007-06-04Comment onlySpencer Janssen
darcs-hash:20070604211956-a5988-234b56ec2201d5f0e9c7fed6fd8af300cf6a6c0b
2007-06-04Wibble.Spencer Janssen
darcs-hash:20070604211816-a5988-c387bea338520504cb4c2740b41e5d4a09807d03
2007-06-04apply size hints to floating windowsPeter De Wachter
darcs-hash:20070604192943-06a25-571e4d20a5cb05c292e071295586d7e024cf89ec
2007-06-04size hints infrastructurePeter De Wachter
darcs-hash:20070604192753-06a25-20a4752a79da48c1f08b4a9556174c18928d844f
2007-06-04Delete stale commentSpencer Janssen
darcs-hash:20070604204617-a5988-888a1c992b79e45260738a16e58017dab5061d6b
2007-06-04Use 'windows' in 'focus'Spencer Janssen
darcs-hash:20070604201639-a5988-07a811aea77e4e22ae853cd09ddb3a6cd3e1cd61
2007-06-04Small clean upSpencer Janssen
darcs-hash:20070604064418-a5988-38ebeb4b8f5793db4ff1ae7dbd0d079bea552c87
2007-06-04Merge windows and refreshSpencer Janssen
darcs-hash:20070604063657-a5988-502d9499134fce6562a8327ce3257d63a16207f2
2007-06-04Use the new integrate functionSpencer Janssen
darcs-hash:20070604062653-a5988-8a6456ccc1dd03fa1c733e71dfa056dd76a91186
2007-06-04Delete stale commentsSpencer Janssen
darcs-hash:20070604061719-a5988-a1084b152584632c8f896423f8a03d8fe297b2d4
2007-06-04Remove inaccurate warnings about 'hide'Spencer Janssen
darcs-hash:20070604060611-a5988-e324f35005d3b19ffced089499d086853f07cfad
2007-06-04base >= 2.0 means we can use forM_Spencer Janssen
darcs-hash:20070604050914-a5988-600a4ba6f2f294b0ce56b16e8887d493789f29c7
2007-06-04Remove no-longer-needed 'dimensions' state (-5 loc)Stefan O'Rear
darcs-hash:20070604044715-e3110-7bd7ba2b78f80046e2148fb37aa0f5fe3eca08c6
2007-06-04Set WM_STATE, iconify invisible windows (+9 loc)Stefan O'Rear
Note that this breaks compatibility with certain programs described as "obsolete" in the ICCCM (1994). See the command above the UnmapEvent handler for details. darcs-hash:20070604042343-e3110-4766eafca2875091189159f6a1df29eac3c21387
2007-06-04do not cache atom values within Xmonad, instead let Xlib worry about caching ↵Stefan O'Rear
(a documented feature) darcs-hash:20070604013938-e3110-8dc84f03278c55076a5cf83013974689c4861ffc
2007-06-03comments onlyDon Stewart
darcs-hash:20070603071556-9c5c1-244aeb0d684f78ae0d3495547064a1203cd36762
2007-06-03Polish core layout code. Lifts limitation on nmaster > 1. it may be 0 nowDon Stewart
darcs-hash:20070603064306-9c5c1-7cea709e0ea2b15f6ae395a6942072d91b1e97f2
2007-06-03heads up: polish config.hs. moves tiling-local values into lexical scope. ↵Don Stewart
removes `wide' as an explicit mode (it's `mirror tall') darcs-hash:20070603054740-9c5c1-1cdabf3f5bb2ac2592fc94d7d3ef51621077d3f8
2007-06-02only grab button{1,2,3} for click-to-focus (scrollwheel shouldn't focus)Jason Creighton
darcs-hash:20070602052605-b9aa7-a3aa510c7d439b3169757f644c92107250d8db94
2007-06-02make mouse bindings configurableJason Creighton
darcs-hash:20070602040647-b9aa7-d7bad13c4919882368872a88f04a678308162be6
2007-06-01commented out implementation state logging. if someone has a client, we can ↵Don Stewart
enable this darcs-hash:20070601085626-9c5c1-668bec95074ab7050c0c8105cf7ec9c2a1c7e1f3
2007-06-01ignore numlock/capslock on mouse bindingsJason Creighton
darcs-hash:20070601015137-b9aa7-51c6b9ec428c2d16d65b196384fa2ce953dda245
2007-06-01now we handle transients properly, and restack windows, refresh from focus is okDon Stewart
darcs-hash:20070601022329-9c5c1-067bd51825f075e0813ecea5d2124617b406ad95
2007-06-01Rename withWorkspace to withWindowSet.glasser
darcs-hash:20070601001325-64353-3ea08019b13ac470d7d2c60cbdea61de7d580c8c
2007-05-31comments on why fullscreen tiling doesn't work with `implicit' floatingDon Stewart
darcs-hash:20070531090537-9c5c1-923390025493738d7d9b2e6afbb361362acb2e9a
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-28forgot to set focus in 'focus'. this restores the old behaviourDon Stewart
darcs-hash:20070528134547-9c5c1-d3eb8cfe7bf7293e85f957106d9d9d540524e9b6
2007-05-28don't refresh on focus eventsDon Stewart
leads to a race. this will affect how gaps are redrawn when moving to a new screen with the mouse. darcs-hash:20070528133127-9c5c1-9676939dbb1155129b976146baf929ca19d52a12
2007-05-28apply gap to each screenDon Stewart
darcs-hash:20070528044722-9c5c1-7f8faeac3a2a375f58c94c822f16dc8e3beaea38
2007-05-28be sure to reset the gap list on rescreenDon Stewart
darcs-hash:20070528031835-9c5c1-34c9fc2931a6daa8fc3e63385782f43b097e293f
2007-05-28support per-screen gap settings. you can have different gaps on individual ↵Don Stewart
screens now darcs-hash:20070528031501-9c5c1-beaadbacb5efc1ce5998aba41fbb3b2c68cdf0d1
2007-05-28Use (Int,Int,Int,Int) for arbitrary gaps on any side of the screenDon Stewart
darcs-hash:20070528025135-9c5c1-3c0f63ac557da57cd268cd0129b9ce90692631e4
2007-05-27refactor onlyDon Stewart
darcs-hash:20070527154353-9c5c1-6ef13fd2212f3a18a3050c47d71eb250ec4ec683
2007-05-27comments on alternative gap movement policiesDon Stewart
darcs-hash:20070527153211-9c5c1-0a36be7dd8b8181597f21e362ac735b343746b79
2007-05-27when focus is called from an event, better refresh too, since it might have ↵Don Stewart
switched workspaces (so gap follows screen focus) darcs-hash:20070527151942-9c5c1-27e63c884e4003fc003b1928ed28412e01a21764
2007-05-27only set gap on current physical screenDon Stewart
darcs-hash:20070527150805-9c5c1-6774cc60f8f39b8ac16c465d7ab0d2884a984fc1
2007-05-27revert raiseWindow in focus. Leads to some funny races with pop ups. ↵Don Stewart
Harmless with status bar support now darcs-hash:20070527134505-9c5c1-7cf8be20d1976afdd694da946ae72cfb537fa209
2007-05-27mod-b, toggle on or off the status bar gapDon Stewart
darcs-hash:20070527125928-9c5c1-a16246810db9d4abfe81d0d5814721b64f59a14c
2007-05-27Add new config value, defaultMenuGap, for specifying a gap for a status barDon Stewart
By default, it is 0 (set in Config.hs), but set this to a pixel count to get a permanent gap at the top of the screen. You can then at startup launch dzen, and it will run in this gap, and not be obscured by other windows. Perfect for a persistant status bar. darcs-hash:20070527122702-9c5c1-2a3ca82463b3bab21556674936b1bf8a86ba6356