On 2012-09-30, Oleksandr Gavenko wrote:

> I want to debug strange behaviour (if any interesting look below).
> [SKIP]
>
> With ~/.fvwm/config with only:
>
>   DestroyFunc MyFuncFocusWindow
>   AddToFunc MyFuncFocusWindow
>   + I FlipFocus
>   # + I WarpToWindow 50 50
>   DestroyModuleConfig FvwmEvent-NewWindow
>   *FvwmEvent-NewWindow: Cmd
>   *FvwmEvent-NewWindow: add_window MyFuncFocusWindow
>
>   AddToFunc StartFunction I Module FvwmEvent
>   AddToFunc StartFunction I FvwmEvent FvwmEvent-NewWindow
>
> I have non expected behaviour in Emacs. Lets explain: with "M-x ediff-buffer"
> command in Emacs Emacs spawn new window. By default it places on top right
> corner of current page/desk.
>
> But with MyFuncFocusWindow ediff window appear one page below and one page
> right.
>
> By design ediff window is helper window and must be showed on same page as
> main Emacs window.
>
> Such behaviour reproduced with Focus, FlipFocus, and WarpToWindow command.
>
> If I restart Fvwm without killing fvwm (through default menu) strange
> behaviour disappear.
>
> I think that ediff window appear with some offset from main Emacs window, and
> then move itself to proper place. FvwmEvent injected in the middle of this
> process and break it.
>
I slowly move on debugging my issue.

Recently I found such settings:

  Module FvwmDebug
  BugOpts DisplayNewWindowNames on
  BugOpts ExplainWindowPlacement on

which show that original ediff window opened with large offset out of my
display resolution (I skip a lot of event so may be delete some essential
info):

  [fvwm][__explain_placement]: placed new window 0x1c02442 'Ediff':
    initial size 138x58
    desk 2 (current desk)
    current page
    screen: current screen: 0 0 1280x1024 (current screen)
    position 1281 1025  (used user specified position)
  M_ADD_WINDOW
      win_id       0x1c02442
      frame_id     0x0c00a01
      ptr          140736654276488
      frame_x      1281
      frame_y      1025
      frame_width  138
      frame_height 58
      desk         2
      layer        4
      win_width    0
      win_height   0
      resize_width_inc   7
      resize_height_inc  14
      minimum_width      7
      minimum_height     14
      maximum_width      14
      maximum_height     14
      icon_title_id      0x0007fff
      icon_image_id      0x0007fff
      gravity      0
      fore_color   rgb:00/00/00
      back_color   rgb:00/00/01
      ewmh_layer   13882323
      ewmh_desktop 6908265
      ewmh_window_type   0
  M_WINDOW_NAME
      win_id       0x1c02442
      frame_id     0x0c00a01
      ptr          16023696
      name         "Ediff"
  M_RESTACK
      win_id       0x140000b
      frame_id     0x0c00416
      ptr          16005920
      low_windows  (2)
      [1] win_id   0x1c02442
      [1] frame_id 0x0c00a01
      [1] ptr      16023696
      [2] win_id   0x1c00018
      [2] frame_id 0x0c003f8
      [2] ptr      15997632
  M_RES_CLASS
      win_id       0x1c02442
      frame_id     0x0c00a01
      ptr          16023696
      name         "Emacs"
  M_RAISE_WINDOW
      win_id       0x1c02442
      frame_id     0x0c00a01
      ptr          16023696
  M_MAP
      win_id       0x1c02442
      frame_id     0x0c00a01
      ptr          16023696
  M_NEW_PAGE
      vp_x         1280
      vp_y         1024
      desk_n       2
      vp_width     1280
      vp_height    1024
      desk_pages_x 3
      desk_pages_y 3
  M_RAISE_WINDOW
      win_id       0x1c02442
      frame_id     0x0c00a01
      ptr          16023696

I don't understand M_NEW_PAGE event.

-- 
Best regards!


Reply via email to