1. 09 Oct, 2019 1 commit
  2. 08 Oct, 2019 1 commit
  3. 05 Oct, 2019 2 commits
  4. 01 Oct, 2019 2 commits
  5. 13 Sep, 2019 1 commit
  6. 09 Sep, 2019 2 commits
  7. 03 Sep, 2019 1 commit
    • Olivier Fourdan's avatar
      wayland: Fix xdg-output v3 support · 31393704
      Olivier Fourdan authored
      The xdg_output.done event is deprecated in xdg-output v3, so clients
      need to rely on the wl_output.done event instead.
      
      However, applying the changes on the fist wl_output.event when using
      xdg-output v3 may lead to an incomplete change, as following xdg-output
      updates may follow.
      
      Make sure we apply xdg-output events on wl_output.done events with
      xdg-output v3.
      
      #2128
      31393704
  8. 25 Aug, 2019 1 commit
  9. 21 Aug, 2019 1 commit
  10. 06 Aug, 2019 1 commit
  11. 26 Jul, 2019 1 commit
    • Olivier Fourdan's avatar
      wayland: Add xdg-output v3 support · 795899f9
      Olivier Fourdan authored
      xdg-output v3 marks xdg-output.done as deprecated and compositors are
      not required to send that event anymore.
      
      So if the xdg-output version is 3 or higher, simply set the initial
      value `xdg_output_done` to TRUE so we don't wait/expect that event
      from the compositor.
      
      #2053
      795899f9
  12. 25 Jul, 2019 4 commits
    • Jonas Ådahl's avatar
      gdk: Remove gdk_surface_move_resize() API · 0885eb0a
      Jonas Ådahl authored
      Windows/surface's aren't supposed to be explicitly moved by any external
      part, so don't provide API for doing so. Usage throughout Gdk is
      replaced by the corresponding backend variants.
      0885eb0a
    • Jonas Ådahl's avatar
      gdk: Make backends implement move_to_rect() · fc68d1b1
      Jonas Ådahl authored
      The generic layer still does the heavy lifting, leaving the backends
      more or less just act as thin wrappers, dealing a bit with global
      coordinate transformations. The end goal is to remove explicit surface
      moving from the generic gdk layer.
      fc68d1b1
    • Jonas Ådahl's avatar
      gdk: Remove gdk_surface_move() · b329090e
      Jonas Ådahl authored
      Generic gdk code now uses the internal helper; backends use their own
      private implementations when necessary.
      b329090e
    • Jonas Ådahl's avatar
      gdk/surface: Add toplevel_resize vfunc · 6314ebd4
      Jonas Ådahl authored
      To separate how toplevels and popups are configured, a first step is to
      introduce a resize-only vfunc for backends to implement. It's meant to
      only configure toplevel windows, i.e. popups. Currently it's used for
      both types, but introducing the resize-only API is a first step.
      6314ebd4
  13. 24 Jul, 2019 3 commits
  14. 05 Jul, 2019 1 commit
    • Benjamin Otte's avatar
      x11: Make sure stream stays alive long enough · 96b782c0
      Benjamin Otte authored
      When unreffing the stream from a different thread, the close function
      will schedule its cleanup asynchornously in the main thread.
      We need to make sure the stream object stays alive for as long as
      that hasn't happened, so ref() it.
      
      Fixes #2003
      96b782c0
  15. 03 Jul, 2019 2 commits
    • Jonas Ådahl's avatar
      gdksurface: Make all surfaces listen to the frame clock signals · a7ee1b4e
      Jonas Ådahl authored
      Instead of the toplevel driving popups, have the popups listen to the
      frame clock themselves. Otherwise, if the toplevel for some reason isn't
      drawn by the compositor and stops drawing new frames, popups wouldn't
      get painted either.
      a7ee1b4e
    • Jonas Ådahl's avatar
      gdk/frameclock: Make surfaces inhibit freeze · 5db079b0
      Jonas Ådahl authored
      To make a frame clock tick as long as any of the associated surfaces
      expect to receive ticks, make the surfaces inhibit freezing the clock,
      instead of directly tell the frame clock to freeze itself.
      
      This makes it so that as long as any surface using a certain frame clock
      is not frozen (e.g. just received a frame event from the display
      server), the frame clock will not be frozen.
      
      With this, the frame clock is initiated as frozen, and won't be thawed
      until any surface inhibits freeze. It will be frozen again, when every
      surface has that previously inhibited freeze uninhibited freeze.
      5db079b0
  16. 24 Jun, 2019 3 commits
    • Emmanuele Bassi's avatar
      Set the monitor's connector under X11 · f524a931
      Emmanuele Bassi authored
      Like we do on Wayland.
      
      In this case, we copy it from the same source as the output name,
      because it's going to match.
      f524a931
    • Emmanuele Bassi's avatar
      Relay the xdg_output.name to GdkMonitor · a5f22897
      Emmanuele Bassi authored
      The xdg_output v2 interface has a `name` property that reflects the
      output name coming from the compositor.
      
      This is the closest thing we can get to a connector name.
      a5f22897
    • Emmanuele Bassi's avatar
      Add getter for a monitor connector · 03840fb6
      Emmanuele Bassi authored
      The migration from GdkScreen's monitor API to GdkMonitor left out a way
      to get the connector's name of a monitor.
      
      While there's no real guarantee coming from the underlying graphics
      system that the connector's name is stable, some system components may
      use it to uniquely identify a monitor until the next plug in/out event.
      03840fb6
  17. 18 Jun, 2019 2 commits
  18. 17 Jun, 2019 1 commit
  19. 13 Jun, 2019 2 commits
    • Christian Hergert's avatar
      profiler: add profiler marks for surface event delivery · 4d06ef5a
      Christian Hergert authored
      This gives us marks to track the duration of processing certain types of
      GdkEvent. It also provides some basic struct information in cases where
      having that information would likely be useful for debugging.
      4d06ef5a
    • Matthias Clasen's avatar
      wayland: Fix the popover race workaround · ed9b874d
      Matthias Clasen authored
      The Wayland backend has a hack to work around
      a race with popover mapping: If the surface size
      changes before the initial configure, we hide and
      show the surface. Unfortunately, the code was doing
      this in a way that is externally observable (by
      listening for surface state changes), and popovers
      were observing it and hiding themselves in response.
      
      Avoid this by not going through the GDK frontend
      code for this.
      ed9b874d
  20. 09 Jun, 2019 1 commit
  21. 05 Jun, 2019 1 commit
  22. 04 Jun, 2019 1 commit
  23. 01 Jun, 2019 1 commit
    • LRN's avatar
      GDK W32: Ensure correct stacking of popup windows · 2ace3113
      LRN authored
      1) In the SetWindowPos() function (and the WINDOWPOS struct) the
         "hWndInsertAfter" argument/field means the window that will be
         directly above after the change, not the window that will be
         directly below. MSDN says "precedes" for SetWindowPos(), but
         WINDOWPOS documentation is more precise: this is the window
         behind which the affected window will be placed. Apparently,
         Z-axis goes back-to-front.
         Therefore, logging should be reworded correctly.
      
      2) When we switch away from the application and then switch back
         to a transient window, we need to bring up its transient-owner
         (and its transient-owner's owner and so forth) as well,
         otherwise our transient (modal) window might be transient for
         something that might not be visible.
      
      3) When we bring up a window, we should bring all of its children
         (popup windows) on top of it.
         Because Windows doesn't provide a function to bring one window
         on top of the other, we have to work around this by calling
         SetWindowPos() twice, swapping the windows between the calls.
      2ace3113
  24. 31 May, 2019 4 commits