Skip to content

Commit

Permalink
wayland: Add wayland client
Browse files Browse the repository at this point in the history
This patch adds a new client which supports the Wayland input method
protocol.  Note that the support is disabled by default until the
input method protocol becomes official in the Wayland upstream.
Supply --enable-wayland to configure to try it.  Also, you will need
to set the executable path of ibus-wayland under the "input-method"
section of weston.ini, like this:

 [input-method]
 path=.../libexec/ibus-wayland

BUG=Issue#1617

Review URL: https://codereview.appspot.com/11320043
Patch from Jan Arne Petersen <jan.petersen@kdab.com>.
  • Loading branch information
jpetersen authored and ueno committed Aug 13, 2013
1 parent 1bdcf21 commit 5136dbc
Show file tree
Hide file tree
Showing 7 changed files with 1,394 additions and 0 deletions.
5 changes: 5 additions & 0 deletions client/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,15 @@ if ENABLE_XIM
X11 = x11
endif

if ENABLE_WAYLAND
WAYLAND = wayland
endif

SUBDIRS = \
$(GTK2) \
$(GTK3) \
$(X11) \
$(WAYLAND) \
$(NULL)

-include $(top_srcdir)/git.mk
62 changes: 62 additions & 0 deletions client/wayland/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# vim:set noet ts=4:
#
# ibus - The Input Bus
#
# Copyright (c) 2007-2013 Peng Huang <shawn.p.huang@gmail.com>
# Copyright (c) 2007-2013 Red Hat, Inc.
#
# This library is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA.

libibus = $(top_builddir)/src/libibus-@IBUS_API_VERSION@.la

libexec_PROGRAMS = ibus-wayland

protocol_sources = \
input-method-protocol.c \
input-method-client-protocol.h \
$(NULL)

ibus_wayland_SOURCES = \
$(protocol_sources) \
main.c \
$(NULL)

ibus_wayland_DEPENDENCIES = \
$(libibus) \
$(NULL)

ibus_wayland_LDADD = \
$(libibus) \
$(GIO2_LIBS) \
$(WAYLAND_LIBS) \
$(NULL)

ibus_wayland_CFLAGS = \
$(GIO2_CFLAGS) \
$(WAYLAND_CFLAGS) \
-I$(top_srcdir)/src \
-I$(top_builddir)/src \
$(NULL)

$(libibus):
(cd $(top_builddir)/src; make)

EXTRA_DIST = \
README \
$(protocol_sources) \
$(NULL)

-include $(top_srcdir)/git.mk
17 changes: 17 additions & 0 deletions client/wayland/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
The following two files are generated with wayland-scanner:

input-method-protocol.c
input-method-client-protocol.h

We include them in the distribution instead of generating them, since
the Wayland protocol structure will unlikely change. Do not modify
those files manually.

To generate them, use the wayland-scanner command as follows. You can
find input-method.xml in the Weston source code (maybe it will be
moved to the Wayland source code later).

$ wayland-scanner code < input-method.xml \
> input-method-protocol.c
$ wayland-scanner client-header < input-method.xml \
> input-method-client-protocol.h
Loading

0 comments on commit 5136dbc

Please sign in to comment.