1. 07 Nov, 2016 5 commits
  2. 03 Nov, 2016 1 commit
  3. 01 Nov, 2016 2 commits
  4. 24 Oct, 2016 1 commit
  5. 22 Oct, 2016 1 commit
  6. 14 Oct, 2016 2 commits
  7. 12 Oct, 2016 3 commits
  8. 11 Oct, 2016 2 commits
    • Bryce Harrington's avatar
      window: Fix 'devlivery' misspelling · e57b6a13
      Bryce Harrington authored
      e57b6a13
    • Bryce Harrington's avatar
      clients: Add XKB compose key support · 894b3ecc
      Bryce Harrington authored
      This adds single-symbol compose support using libxkbcommon's compose
      functionality.  E.g., assuming you have the right alt key defined as
      your compose key, typing <RAlt>+i+' will produce í, and <RAlt>+y+= will
      produce ¥.  This makes compose key work for weston-editor,
      weston-terminal, weston-eventdemo, and any other clients that use
      Weston's window.* routines for accepting and managing keyboard input.
      
      Compose sequences are loaded from the system's standard tables.  As
      well, libxkbcommon will transparently load custom sequences from the
      user's ~/.XCompose file.
      
      Note that due to limitations in toytoolkit's key handler interface, only
      compose sequences resulting in single symbols are supported.  While
      libxkbcommon supports multi-symbol compose strings, support for passing
      text buffers to Weston clients is left as future work.
      
      This largely obviates the need for the weston-simple-im input method
      client, which had provided a very limited compose functionality that was
      only available in clients implementing the zwp_input_method protocol,
      and with no mechanism to load system or user-specified compose keys.
      
      Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=53648Signed-off-by: default avatarBryce Harrington <bryce@osg.samsung.com>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@imgtec.com>
      Reviewed-by: default avatarEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>
      894b3ecc
  9. 10 Oct, 2016 3 commits
  10. 05 Oct, 2016 10 commits
  11. 03 Oct, 2016 7 commits
    • Armin Krezović's avatar
      weston: Port RDP backend to new output handling API · 8f1dca13
      Armin Krezović authored
      This is a complete port of the RDP backend that uses
      the recently added output handling API for output
      configuration.
      
      Output can be configured at runtime by passing the
      necessary configuration parameters, which can be
      filled in manually or obtained from the command line
      using previously added functionality. It is required
      that the scale and transform values are set using
      the previously added functionality.
      
      After everything has been set, output needs to be
      enabled manually using weston_output_enable().
      
      v2:
      
       - Rename output_configure() to output_set_size()
         in plugin API and describe it.
       - Manually fetch parsed_options from wet_compositor.
       - Call rdp_output_disable() explicitly from
         rdp_output_destroy().
      
      v3:
      
       - Disallow calling rdp_output_set_size more than once.
       - Manually assign a hardcoded name to an output as that's
         now mandatory.
       - Use weston_compositor_add_pending_output().
       - Bump weston_rdp_backend_config version to 2.
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      8f1dca13
    • Armin Krezović's avatar
      weston: Port headless backend to new output handling API · 7fb17756
      Armin Krezović authored
      This is a complete port of the headless backend that
      uses the recently added output handling API for output
      configuration.
      
      - Output can be configured at runtime by passing the
        necessary configuration parameters, which can be
        filled in manually, obtained from the configuration
        file or obtained from the command line using
        previously added functionality. It is required that
        the scale and transform values are set using the
        previously added functionality.
      
      - Output can be created at runtime using the output
        API. The output creation only creates a pending
        output, which needs to be configured the same way as
        mentioned above.
      
      After everything has been set, output needs to be
      enabled manually using weston_output_enable().
      
      Same as before, a single output is created at runtime
      using the default configuration or a configuration
      parsed from the command line. The no-outputs
      functionality is also preserved, which means that no
      output will be created initially, but more outputs can
      be added at runtime using the output API.
      
      New feature:
      
      This patch also adds, as a bonus of using shared
      functionality, support for setting options for outputs
      created by this backend in the weston config file in
      addition to setting them from the command line.
      
      v2:
      
       - Fix wet_configure_windowed_output_from_config() usage.
       - Call headless_output_disable() explicitly from
         headless_output_destroy().
      
      v3:
      
       - Add scale support to output width and height.
       - Use scaled values in calls to various functions which
         require width and height.
       - Disallow calling headless_output_configure more than once.
       - Remove unneeded checks for output->name == NULL as that
         has been disallowed.
       - Use weston_compositor_add_pending_output().
       - Bump weston_headless_backend_config version to 2.
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      7fb17756
    • Armin Krezović's avatar
      weston: Port fbdev backend to new output handling API · 6ba369da
      Armin Krezović authored
      This is a complete port of the fbdev backend that uses
      the recently added output handling API for output
      configuration.
      
      It is required that the scale and transform values are
      set using the previously added functionality.
      
      After everything has been set, output needs to be
      enabled manually using weston_output_enable().
      
      v2:
      
       - Use weston_compositor_add_pending_output().
       - Bump weston_fbdev_backend_config version to 2.
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      6ba369da
    • Armin Krezović's avatar
      weston: Port DRM backend to new output handling API · 08368132
      Armin Krezović authored
      This is a complete port of the DRM backend that uses
      the recently added output handling API for output
      configuration.
      
      Output can be configured at runtime by passing the
      necessary configuration parameters, which can be
      filled in manually or obtained from the configuration
      file using previously added functionality. It is
      required that the scale and transform values are set
      using the previously added functionality.
      
      After everything has been set, output needs to be
      enabled manually using weston_output_enable().
      
      v2:
      
       - Added missing drmModeFreeCrtc() to drm_output_enable()
         cleanup list in case of failure.
       - Split drm_backend_disable() into drm_backend_deinit()
         to accomodate for changes in the first patch in the
         series. Moved restoring original crtc to
         drm_output_destroy().
      
      v3:
      
       - Moved origcrtc allocation to drm_output_set_mode().
       - Swapped connector_get_current_mode() and
         drm_output_add_mode() calls in drm_output_set_mode()
         to match current weston.
       - Moved crtc_allocator and connector_allocator update
         from drm_output_enable() to create_output_for_connector()
         to avoid problems when more than one monitor is connected
         at startup and crtc allocator wasn't updated before
         create_output_for_connector() was called second time,
         resulting in one screen being turned off.
       - Moved crtc_allocator and connector_allocator update from
         drm_output_deinit() to drm_output_destroy(), as it
         should not be called on drm_output_disable().
       - Use weston_compositor_add_pending_output().
       - Bump weston_drm_backend_config version to 2.
      
      v4:
      
       - Reset output->original_crtc to NULL if drm_output_set_mode()
         fails.
       - Remove unneeded log message when disabling an output when a
         pageflip is pending.
       - Document that create_output_for_connector() takes ownership
         of the connector.
       - Free the connector if create output conditionals are not met
         in create_outputs() and update_outputs().
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      08368132
    • Armin Krezović's avatar
      compositor: Implement output configuration using windowed_output_api · a3666d21
      Armin Krezović authored
      This implements output configuration for outputs which use
      previously added weston_windowed_output_api. The function
      takes an output that's to be configured, default configuration
      that's to be set in case no configuration is specified in
      the config file or on command line and optional third argument,
      parsed_options, which will override defaults and options for
      configuration if they are present.
      
      This also introduces new compositor specific functions for
      setting output's scale and transform from either hardcoded
      default, config file option or command line option.
      
      Pending output handling helpers have also been introduced.
      
      v2:
      
       - Adapt to changes in previous patch.
       - Fix potential double free().
       - Remove redundant variables for scale and transform setting.
       - Drop parsed_options helper and parameter and use it directly
         in wet_configure_windowed_output_from_config().
      
      v3:
      
       - Remove unneeded checks for output->name == NULL as that
         has been disallowed.
       - Stop printing mode if it's invalid, as it can be NULL.
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      a3666d21
    • Armin Krezović's avatar
      libweston: Add initial output API for windowed outputs configuration · 4690c56a
      Armin Krezović authored
      This adds new plugin-specific API for configuring outputs
      on "windowed" backends, such as X11, wayland/non-fullscreen
      and even headless (although, it doesn't have any windows,
      its configuration is very similar). It can be used from
      compositors to configure pending outputs and should be used
      with previously added weston_output_set_{scale,transform}
      to properly configure an output before enabling it.
      
      It also supports creating additional outputs on the mentioned
      backends.
      
      v2:
      
       - Rename output-api.h to windowed-output-api.h.
       - Rename output_configure() to output_set_size().
       - Document return values.
      
      v3:
      
       - Fixed copyright.
       - Noted that output name can't be NULL in
         output_create().
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      4690c56a
    • Armin Krezović's avatar
      libweston: Add more functionality for handling weston_output objects · a01ab6d5
      Armin Krezović authored
      This patch implements additional functionality that will be used
      for configuring, enabling and disabling weston's outputs. Its
      indended use is by the compositors or user programs that want to
      be able to configure, enable or disable an output at any time. An
      output can only be configured while it's disabled.
      
      The compositor and backend specific functionality is required
      for these functions to be useful, and those will come later in
      this series.
      
      All the new functions have been documented, so I'll avoid
      describing them here.
      
      v2:
      
       - Minor documentation improvements.
       - Rename output-initialized to output->enabled.
       - Split weston_output_disable() further into
         weston_compositor_remove_output().
       - Rename weston_output_deinit() to weston_output_enable_undo().
      
       - Make weston_output_disable() call two functions mentioned
         above instead of calling weston_output_disable() directly.
         This means that backend needs to take care of doing backend
         specific disable in backend specific destroy function.
      
      v3:
      
       - Require output->name to be set before calling
         weston_output_init_pending().
       - Require output->destroying to be set before
         calling weston_compositor_remove_output().
       - Split weston_output_init_pending() into
         weston_compositor_add_pending_output() so pending outputs
         can be announced separately.
       - Require output->disable() to be set in order for
         weston_output_disable() to be usable.
       - Fix output removing regression that happened when
         weston_output_disable() was split.
       - Minor documentation fix.
      
      v4:
      
       - Bump libweston version to 2 as this patch breaks the ABI.
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      a01ab6d5
  12. 01 Oct, 2016 3 commits