137 Commits

Author SHA1 Message Date
David Roundy
c8b6388fb8 a few modifications to event-sending to make Tabbed layout work. 2007-06-10 15:38:36 +00:00
David Roundy
b97e8836e2 send message when "windows" is called. 2007-06-10 01:35:31 +00:00
David Roundy
ab6f210300 implement Spencer's decoration suggestion. 2007-06-10 01:22:37 +00:00
Andrea Rossato
e1885f27e1 haddock compatibility 2007-06-10 12:37:46 +00:00
Don Stewart
6365601c77 Move state logging into Config.hs, via logHook :: X () 2007-06-10 06:19:32 +00:00
David Roundy
0d4a7d098f cut incorrect comment. 2007-06-09 17:34:47 +00:00
David Roundy
16c8622fbf doLayout cleanup and commented exception-handling. 2007-06-09 14:50:36 +00:00
Stefan O'Rear
1c3931a0d6 Give refresh sole responsibility for establishing window properties (-3 loc) 2007-06-09 18:58:35 +00:00
Stefan O'Rear
7706f38dc8 Give refresh sole responsibility for establishing window properties (-3 loc) 2007-06-09 18:58:35 +00:00
Don Stewart
0ada17c34a HEADS UP: (logging format change). use a custom pretty printer, for an easier format to parse, than 'show' produces 2007-06-09 13:17:16 +00:00
Spencer Janssen
cf9828cbcd Fix unmap handling
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
2007-06-06 21:40:06 +00:00
Don Stewart
b257658781 dead import 2007-06-06 02:52:26 +00:00
Jason Creighton
5da458c755 move extraModifiers/cleanMask to Operations.hs
so XMonadContrib can use them
2007-06-06 00:50:56 +00:00
Don Stewart
d7d8c586cb temporary workaround for delete/focus issue in fullscreen mode 2007-06-06 02:49:38 +00:00
Don Stewart
a2a0670397 simplify code 2007-06-06 00:46:03 +00:00
Don Stewart
02a9e4c589 mention why StackSet needs -fglasgow-exts (for deriving Typeable) 2007-06-05 09:26:59 +00:00
Don Stewart
d4676d93e8 comments only 2007-06-05 09:18:03 +00:00
Don Stewart
0010a23c18 clean size hint code 2007-06-05 09:13:54 +00:00
Don Stewart
7ae7029b50 Enable logging of state changes to stdout 2007-06-05 08:37:35 +00:00
Don Stewart
8f200d408f Fix lost eventNotifyMask bug
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.
2007-06-05 04:30:40 +00:00
Spencer Janssen
b22ebceb80 Comment only 2007-06-04 21:19:56 +00:00
Spencer Janssen
ba14f07093 Wibble. 2007-06-04 21:18:16 +00:00
Peter De Wachter
68b2859aa2 apply size hints to floating windows 2007-06-04 19:29:43 +00:00
Peter De Wachter
a10f11f623 size hints infrastructure 2007-06-04 19:27:53 +00:00
Spencer Janssen
6a2f9d739d Delete stale comment 2007-06-04 20:46:17 +00:00
Spencer Janssen
26b388189e Use 'windows' in 'focus' 2007-06-04 20:16:39 +00:00
Spencer Janssen
fec58e8a09 Small clean up 2007-06-04 06:44:18 +00:00
Spencer Janssen
d01623db88 Merge windows and refresh 2007-06-04 06:36:57 +00:00
Spencer Janssen
1912feee50 Use the new integrate function 2007-06-04 06:26:53 +00:00
Spencer Janssen
77da6e4c72 Delete stale comments 2007-06-04 06:17:19 +00:00
Spencer Janssen
71349314c5 Remove inaccurate warnings about 'hide' 2007-06-04 06:06:11 +00:00
Spencer Janssen
f2eb5ac6bb base >= 2.0 means we can use forM_ 2007-06-04 05:09:14 +00:00
Stefan O'Rear
e4e1724842 Remove no-longer-needed 'dimensions' state (-5 loc) 2007-06-04 04:47:15 +00:00
Stefan O'Rear
cd73165c63 Set WM_STATE, iconify invisible windows (+9 loc)
Note that this breaks compatibility with certain programs described as
"obsolete" in the ICCCM (1994).  See the command above the UnmapEvent handler
for details.
2007-06-04 04:23:43 +00:00
Stefan O'Rear
f06d042b56 do not cache atom values within Xmonad, instead let Xlib worry about caching (a documented feature) 2007-06-04 01:39:38 +00:00
Don Stewart
8f3258a348 comments only 2007-06-03 07:15:56 +00:00
Don Stewart
0226ba3441 Polish core layout code. Lifts limitation on nmaster > 1. it may be 0 now 2007-06-03 06:43:06 +00:00
Don Stewart
84f22f7102 heads up: polish config.hs. moves tiling-local values into lexical scope. removes wide' as an explicit mode (it's mirror tall') 2007-06-03 05:47:40 +00:00
Jason Creighton
a6098f6010 only grab button{1,2,3} for click-to-focus (scrollwheel shouldn't focus) 2007-06-02 05:26:05 +00:00
Jason Creighton
72a50ead89 make mouse bindings configurable 2007-06-02 04:06:47 +00:00
Don Stewart
0be589ae8c commented out implementation state logging. if someone has a client, we can enable this 2007-06-01 08:56:26 +00:00
Jason Creighton
b46a449baf ignore numlock/capslock on mouse bindings 2007-06-01 01:51:37 +00:00
Don Stewart
9669c26fdc now we handle transients properly, and restack windows, refresh from focus is ok 2007-06-01 02:23:29 +00:00
glasser
ddffd109ce Rename withWorkspace to withWindowSet. 2007-06-01 00:13:25 +00:00
Don Stewart
7246a9e2d2 comments on why fullscreen tiling doesn't work with `implicit' floating 2007-05-31 09:05:37 +00:00
Don Stewart
777cf28bdf clean up mouse code a bit 2007-05-31 08:53:08 +00:00
Jason Creighton
3cb64d7461 first shot at a floating layer
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.
2007-05-31 04:47:33 +00:00
Don Stewart
46b04b3fa5 forgot to set focus in 'focus'. this restores the old behaviour 2007-05-28 13:45:47 +00:00
Don Stewart
0b8c9c407e don't refresh on focus events
leads to a race. this will affect how gaps are redrawn when moving to a
new screen with the mouse.
2007-05-28 13:31:27 +00:00
Don Stewart
abdbc23551 apply gap to each screen 2007-05-28 04:47:22 +00:00