
* 
02:03 02:03 <warthog9> #0  0x007d2402 in ?? ()
<warthog9> #1  0x0031c773 in __read_nocancel () from /lib/libc.so.6
<warthog9> #2  0x007dc3e5 in _IceTransClose () from /usr/lib/libICE.so.6
<warthog9> #3  0x007da98d in _IceTransRead () from /usr/lib/libICE.so.6
<warthog9> #4  0x007e0e00 in _IceRead () from /usr/lib/libICE.so.6
<warthog9> #5  0x007e5726 in IceProcessMessages () from /usr/lib/libICE.so.6
<warthog9> #6  0x007d88e8 in IceOpenConnection () from /usr/lib/libICE.so.6
<warthog9> #7  0x007cbca2 in SmcOpenConnection () from /usr/lib/libSM.so.6
<warthog9> #8  0x08071778 in Fsm_connect (id=6997544) at session.c:240
<warthog9> #9  0x00685ff5 in vm (code=166541080, consts=166545536, argc=2, argv=0xbfedaf58, v_stkreq=6,
<warthog9>     b_stkreq=1, s_stkreq=3) at lispmach.h:641
<warthog9> #10 0x00686150 in Frun_byte_code (code=166655720, consts=166746352, stkreq=6) at lispmach.c:104
     <mmc> aha sessions :(
<warthog9> #11 0x0067b755 in apply (fun=6975792, arglist=6997544, tail_posn=Variable "tail_posn" is not available.
<warthog9> ) at lisp.c:1658
<warthog9> #12 0x0067bdf9 in eval (obj=166516400, tail_posn=6997544) at lisp.c:1927
<warthog9> #13 0x0067c06f in rep_eval (obj=166516400, tail_posn=6997544) at lisp.c:1961
<warthog9> #14 0x00681231 in Fload_file (name=166479136, structure=165963016) at lispcmds.c:1274
<warthog9> #15 0x00682220 in Fload (file=166479080, noerr_p=6997544, nopath_p=6997544, nosuf_p=6997544,
<warthog9>     unused=6997544) at lispcmds.c:1491
<warthog9> #16 0x00693837 in rep_bootstrap_structure (s=0x807c797 "sawfish.wm") at structures.c:1528
<warthog9> #17 0x08070142 in inner_main (arg=6997544) at main.c:357
<warthog9> #18 0x006721d9 in rep_call_with_barrier (callback=0x80700fc <inner_main>, arg=6997544,
<warthog9>     closed=1, in=0, out=0, data=0x0) at continuations.c:346
<warthog9> #19 0x0806ffd5 in main (argc=545, argv=0x9e4dd60) at main.c:475

-> unset  SESSION_MANAGER


 <mmc> aha, so it is sending an empty menu.    "sending to the menu-process: (popup-menu 0 ())"
     <mmc> that's why it was not beeping.  This is a bug, it should at (the very) least beep, 




* emit_pending_destroys is called from 1 place only. So i could move the test to that calling place.

* where in lisp is ws_honour_client_state done? see events.c

* avoid  Fgrab_server ?

*  Qmap_notify_hook  in map_request ??

look at map-notify-hook if it handles properly windows in different workspace, or simply hidden



remove_window_frame  in unmap_notify  ... what does it do? restack?






* scheduling:
window property change!

* resizing?
grab all mouse movement and resize once.



* inverse stacking order?




* window-frame-parts

** stacking order
*** shaped -> when moving move the shape too!




* defense against:
 for ((i=1;i<1000;i=i+1)) { x_title $i } 

        
* gravity of FPs so that resizing the frame window moves them?
- done?



* window id can disappear both by DestroyNotify and by reparenting to some non top window!!

recycling unrelated windows is wrong!

w->frame_destroyed  and destroy_window_frame


* sfc ->    welcome, server on displayname!!!


* what if grab fails...... and why does it?

        
/* mmc: fixme:  NOT dpy, use the xev->any.display !!! */




* xkb dependency:

** display.c:
   open, detect and registe

** keys.c:
  translate_event
  several subrs!  w/o set-ignore-lock-mods -> 



* start:  iconified & maximized windows broken.

** i don't want to unmap/map  uselessly
** i don't want to restack    ---"---
** maximized ??


* no fear of time going backwards of events. If grabbed key is allowed
.... only after some  later-happening  _requested_  actions provoke events.
(like re-focussing, changing stacking , unmapping etc)

->  when i grab, i do it w/ the key event time. hm. hm.....
    i should track other times as well, then.


* unmap ....


* display-message
Either have different areas/windows, or a hook to call back to lisp, or wrap the call :(


*  debug xlib:   see XFlush calls
http://cs.wwc.edu/~davija/XLIB/11-12.html 


* xkb  regrab w/ new modifiers!



* losing focus/grab?
focus.... no_focus_window  should be rock-solid reliable.

None -> lost-focus-hook


* commands fired from mouse don't need XungrabKeyboard !
