1. 17 Sep, 2018 3 commits
  2. 24 May, 2018 2 commits
  3. 02 Apr, 2018 1 commit
  4. 28 Mar, 2018 2 commits
  5. 27 Mar, 2018 1 commit
  6. 20 Mar, 2018 2 commits
  7. 09 Feb, 2018 1 commit
  8. 18 Jan, 2018 2 commits
    • Emmanuel Gil Peyrot's avatar
      xwm: Add icon support to the frame · 6b58ea8c
      Emmanuel Gil Peyrot authored
      This fetches the _NET_WM_ICON property of the X11 window, and use the
      first image found as the frame icon.
      
      This has been tested with various X11 programs, and improves usability
      and user-friendliness a bit.
      
      Changes since v1:
      - Changed frame_button_create() to use
        frame_button_create_from_surface() internally.
      - Removed a check that should never have been commited.
      
      Changes since v2:
      - Request UINT32_MAX items instead of 2048, to avoid cutting valid
        icons.
      - Strengthen checks against malformed input.
      - Handle XCB_PROPERTY_DELETE to remove the icon.
      - Schedule a repaint if the icon changed.
      
      Changes since v3:
      - Keep the previous Cairo surface until the new one has been
        successfully loaded.
      - Use uint32_t for cardinals.  Unsigned is the same type except on
        16-bit machines, but uint32_t is clearer.
      - Declare length as uint32_t too, like in xcb_get_property_reply_t.
      Signed-off-by: 's avatarEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      6b58ea8c
    • Ian Ray's avatar
      xwm: do not include shadow in input region · 332d1892
      Ian Ray authored
      The window frame was created with position and size which include
      an offset for margins and shadow.  Set the input region to ignore
      shadow.
      
      [daniels: Fixed type mismatch, removed unused variable.]
      Signed-off-by: 's avatarIan Ray <ian.ray@ge.com>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Tested-by: Scott Moreau's avatarScott Moreau <oreaus@gmail.com>
      332d1892
  9. 05 Dec, 2017 3 commits
  10. 21 Jul, 2017 1 commit
  11. 18 May, 2017 1 commit
  12. 13 Apr, 2017 2 commits
    • Pekka Paalanen's avatar
      xwm: use _XWAYLAND_ALLOW_COMMITS · 7ace831c
      Pekka Paalanen authored
      This patch uses the new feature proposed for Xwayland in the patch
      series https://patchwork.freedesktop.org/series/16610/ .
      
      When the frame window is created, immediately forbid Xwayland commits on
      it. This prevents commits before the decorations have been drawn and the
      initial pending state has been set. Commits are enabled right after
      drawing and setting.
      
      This ensures that the decorations are fully drawn when a window is
      mapped. This also solves the initial commit/pending race, but the race
      is on again after mapping.
      
      If Xwayland does not implement the needed support, we are just setting a
      window property with no effect.
      
      This patch is the final piece for solving T7622, excluding the
      _NET_WM_SYNC_REQUEST handling.
      
      Task: https://phabricator.freedesktop.org/T7622Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Louis-Francis Ratté-Boulianne's avatarLouis-Francis Ratté-Boulianne <lfrb@collabora.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      7ace831c
    • Pekka Paalanen's avatar
      xwm: do not draw decor twice on map · ad0da459
      Pekka Paalanen authored
      Normal windows enter the MapRequest handler, which schedules drawing the
      decorations. Then Xwayland realizes the window, which ends with a call
      to xserver_map_shell_surface(). The decorations are already drawn, no
      need to draw them a second time. However, MapRequest handler could not
      set the pending state because the weston_surface did not exist at the
      time, because it gets created only when Xwayland realizes the window,
      which happens after XWM has forwarded the MapWindow in MapRequest
      handler. Therefore set the pending state explicitly at the end.
      Scheduling had it done much later anyway.
      
      Now that the pending state is set much earlier, it seems to be more
      likely that it gets set before Xwayland's first commit is handled. This
      means that -geometry command line option of X11 apps already takes the
      geometry (decorations) into account. I do not think it is reliable yet,
      though.
      
      There is still the race between Xwayland committing and XWM setting the
      pending state assuming the very next commit latches it in appropriately.
      The race exists not because of Wayland, but because WL_SURFACE_ID comes
      via X11, and could be processed after wl_compositor.create_surface and
      wl_surface.commit. That commit/pending race is solved by a following patch.
      
      For override-redirect windows weston_wm_window_schedule_repaint()
      reduced into a call to weston_wm_window_set_pending_state_OR(), so we
      can just call that directly. It should not matter that the call is moved
      to the end of the function.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Louis-Francis Ratté-Boulianne's avatarLouis-Francis Ratté-Boulianne <lfrb@collabora.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      ad0da459
  13. 18 Jan, 2017 8 commits
  14. 17 Jan, 2017 9 commits
  15. 03 Jan, 2017 1 commit
  16. 24 Nov, 2016 1 commit