1. 07 Feb, 2019 2 commits
    • Jonas Ådahl's avatar
      menu: Force recalculation of size before positioning · 7298e73c
      Jonas Ådahl authored
      On X11, the position of the menu is calculated synchronously by
      gdk_window_move_to_rect(). This means that calculating the window size
      when showing is too late, as that'd mean the size used when calculating
      the position is out-of-date. The first time a menu is mapped, however,
      the size is calculated during realization; but a window is only realized
      once, so it doesn't work for subsequent maps.
      
      Currently, this is harmless, as a GtkMenu can change its size however it
      wants after it has been mapped. This, however, is problematic, as it
      means the position calculated by gdk_window_move_to_rect() might no
      longer be valid, or constraints made by the same function might no
      longer be respected.
      
      Thus, this is a preparation for making GtkMenu popups stay the same size
      until they are remapped again at a later point.
      7298e73c
    • Jonas Ådahl's avatar
      window: Add private API to force-resize · 461f5fde
      Jonas Ådahl authored
      Sometimes (read for GtkMenu on X11) it's not enough to resize on show,
      and relying on the size to be calculated on realization only works the
      first time a menu is popped up, so add an API that GtkMenu can use to
      ensure the size of a menu is "refreshed" before passing anything along
      to gdk_window_move_to_rect().
      461f5fde
  2. 06 Feb, 2019 1 commit
    • Jonas Ådahl's avatar
      window: Add private API to fixate size · edb57a92
      Jonas Ådahl authored
      This causes window size guessing to always use the remembered size (the
      size of the GdkWindow). This will be useful for menus which size is
      managed by gdk_window_move_to_rect(), to avoid overriding the size
      calculated by the move-to-rect implementation.
      edb57a92
  3. 05 Feb, 2019 11 commits
  4. 04 Feb, 2019 20 commits
  5. 03 Feb, 2019 1 commit
  6. 02 Feb, 2019 1 commit
  7. 31 Jan, 2019 4 commits