Commit Graph

149 Commits

Author SHA1 Message Date
Scott Anderson 70ae76304e backend/x11: Remove old input functions
This also allows us to remove xcb-xkb, since Xinput will now give us the
appropriate XKB modifiers with each event.
2018-11-13 10:55:03 +13:00
emersion 51bfdd620e
Use #if instead of #ifdef for wlroots config data
This prevents some annoying issues when e.g. not including wlr/config.h or
making a typo in the guard name.
2018-11-12 10:12:46 +01:00
sghctoma 753540335b Remove WLR_HAS_POSIX_FALLOCATE from build system 2018-11-09 18:48:10 +01:00
emersion 346ec21c4c
util: use shm_open for in-memory files
shm_open is a POSIX function creating an in-memory file. Using it simplifies
the code and removes the dependency on XDG_RUNTIME_DIR. The only downside is
that we need to generate a random name for the shm file.
2018-10-28 22:39:54 +01:00
emersion be6210cf82
Update version to 0.1 2018-10-21 00:17:22 +02:00
Drew DeVault 66e8908e9a
Merge pull request #1203 from dcz-purism/input
Support input method and text input
2018-10-12 13:44:46 +02:00
Dorota Czaplejewicz 174e8a48aa build: bump wayland-scanner version
wayland-scanner >= 1.15.0 accepts foreign struct references, necessary in protocols like zwp-input-method-v2
2018-10-09 09:56:46 +00:00
n3rdopolis cf7323a831
meson.build: require logind v237
Commit 7b52388424 uses a function added in logind v237
2018-10-07 18:26:35 -04:00
sghctoma 65359718c4 Use == to check system instead of a prefix match 2018-09-28 15:35:33 +02:00
sghctoma 1d017c1cc1 Set minimum Meson version to 0.48.0
This commit sets the required Meson version to >=0.48.0, and removes the
comment about building on FreeBSD requires an extra flag.
2018-09-28 14:40:15 +02:00
sghctoma 57ce896688 Add b_lundef=false Meson option on FreeBSD
The Meson option "b_lundef" need to be set to false on FreeBSD, because
the symbol "environ" is in crt1.o, which is not linked with shared
libraries. With Meson >=0.48.0 it is possible to set this option only
for FreeBSD. This patch changes meson.build to do that.
2018-09-26 18:13:28 +02:00
Drew DeVault 6025fcaa09 Update required meson version to 0.47.1 2018-08-24 09:20:25 -04:00
Scott Anderson fd3fa760d3 Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""
This reverts commit 9c886f20b9.
2018-08-24 19:35:02 +12:00
Drew DeVault 9c886f20b9 Revert "Merge pull request #1194 from ascent12/meson_feature"
This breaks wlroots when used as a meson subproject.

This reverts commit dea311992e, reversing
changes made to 6db9c4b746.
2018-08-23 21:00:58 -04:00
Scott Anderson 653ea512c2 Use current_source_dir instead of source_root
This is so that log messages are printed properly when wlroots is build
as a subproject.
2018-08-23 14:19:59 +12:00
Scott Anderson 51892e0d74 Install headers explicitly 2018-08-22 21:16:16 +12:00
Scott Anderson a2bbf2c1f7 Make style more consistent 2018-08-22 21:16:16 +12:00
Scott Anderson 869dca1bce Remove unnecessary project arguments
Meson handles rpath properly, and we don't need to use -I ourselves by
using include_directories with '.'.
2018-08-22 21:16:16 +12:00
Scott Anderson 1358d80ab9 Add link dependency on symbols file
So the library is rebuilt properly when it's updated.
2018-08-22 21:16:16 +12:00
Scott Anderson 584a3f8b6e Update examples to use new option
We use a dictionary to remove some code duplication.
2018-08-22 21:15:34 +12:00
Scott Anderson 560e96aa57 Update rootston to use new option 2018-08-22 20:41:25 +12:00
Scott Anderson 784c20c82f Use new options for X11 backend and Xwayland 2018-08-22 20:27:37 +12:00
Scott Anderson 94ed2fc7bb Use feature options for libcap/logind
We now use a combo choice between systemd/elogind as they are mutually
exclusive anyway.
2018-08-22 19:53:00 +12:00
Scott Anderson 3fa3dca6d5 Add new feature options
Bump minimum meson version to 0.47 for the feature.
2018-08-22 19:41:53 +12:00
Guido Günther 570970db64 ctags: use -f instead of -o
The later does not exist on FreeBSD

See #725
2018-08-16 12:01:06 +02:00
Drew DeVault 5642c5cc8f
Merge pull request #1053 from emersion/xdg-decoration
Add xdg-decoration-unstable-v1 support
2018-08-02 09:33:10 -04:00
Drew DeVault 211ae764fd Initial pass on API stability guarantees
This introduces -DWLR_USE_UNSTABLE and adds information regarding the
stability status to all headers. I started with a conservative set of
headers to mark as stable:

- types/wlr_matrix.h
- util/edges.h
- util/log.h
- util/region.h
- xcursor.h
2018-07-29 19:20:34 -04:00
emersion 555721f714 Add xdg-decoration-unstable-v1 support 2018-07-28 22:48:07 +01:00
Drew DeVault 4b096fc114 Revert "Merge pull request #1153 from emersion/include-config"
This reverts commit ef0a6ea4d2, reversing
changes made to 8d03bc9178.
2018-07-21 09:44:20 -04:00
emersion e02c486b60 Use posix_fallocate when available 2018-07-21 13:30:49 +01:00
emersion 41094a7df5 Always include config.h 2018-07-21 13:08:23 +01:00
Scott Anderson 86942d8a6a Check for libavutil/hwcontext_drm.h
This is an optional feature of libavutil, so this will cause a build
failure if it's not present (e.g. on Debian/Ubuntu).
2018-06-26 17:25:29 +12:00
emersion f9ad63c5cb
rootston: use wl_display_destroy_clients 2018-05-29 22:50:26 +01:00
emersion 63fd2203fe
Add support for version 2 of the xdg-output protocol 2018-05-17 08:42:59 +01:00
florian.weigelt d68a27fd79 Add option to disable examples build
Compiling the examples is useful for testing and development, but less
useful for actual users of wlroots.
This commit adds the option --enable-examples to set weather to include
the examples at compilation or not. The default value is True, so the
current behaviour remains unchanged.
2018-05-05 09:50:10 +02:00
florian.weigelt 34be87a3f6 Add option to disable rootston build
Compiling the rootston example compositor is useful for testing and
development, but less useful for actual users of wlroots, who might
prefer sway or other compositors.
This commit adds the option --enable-rootston to set weather to include
rootston at compilation or not. The default value is True, so the
current compilation behaviour remains unchanged.
2018-05-05 09:40:02 +02:00
Danilo Spinella f83ad3f3ef Install include directory into includedir
Follow includedir parameter when installing include directory.
2018-04-03 16:56:32 +02:00
Danilo Spinella 046d909e7a Change meson option names to use hypen
Replace underscore with hypen in meson option names, following style
recommendations.

http://mesonbuild.com/Style-guide.html#naming-options
2018-04-02 23:35:03 +02:00
emersion f033f717a2
backend/x11: make xcb-xkb optional, remove global state 2018-03-28 00:26:15 -04:00
emersion 8d1b5c7600
backend/x11: correctly update keyboard modifiers 2018-03-28 00:04:32 -04:00
Drew DeVault b1c4f01bad
Merge pull request #713 from ManDay/master
Make X11 fully optional
2018-03-26 23:20:46 -04:00
Cedric Sodhi 51141dd11e Minor corrections 2018-03-23 10:28:36 +01:00
emersion 375e1bdf2b
meson: use current_source_dir instead of source_root
Use source_root breaks the build when used as a subproject.
2018-03-12 12:15:26 +01:00
Cedric Sodhi ebdabc2030 Make X11 fully optional
Make X11 Backend (in addition to XWayland) optional and small bug fix on XWayland includes.
2018-03-09 15:17:15 +01:00
Dominique Martinet 7d1870c6f1 move xwm.h out of include/wlr
xwm.h was meant to be private, so move it to include/xwayland/xwm.h
We had an ifdef WLR_HAS_XCB_ICCCM in xwayland.h which was easy to move
to xwm, it is not safe to use the WLR_HAS_* in the public headers.

I checked a few of our current users and none rely on xwm.h being
public as expected (rootston, sway, hsroots)
2018-03-03 17:03:21 +01:00
Dominique Martinet f8428d1063 xcb errors: optional dependency with improved messages
Now message can look like:
[xwayland/xwm.c:991] xcb error: op ChangeProperty (no minor), code Window (no extension), value 6291465

instead of this one when the lib is not available:
[xwayland/xwm.c:999] xcb error: op 18:0, code 3, sequence 103, value 6291465

The value in case of Window is the window id, so we can tell what
function applied on which window which is a good start.
The sequence ought to be able to tell us more precisely which
invocation it was, but we never log it when calling functions
so is useless in practice and no longer logged.
2018-03-03 11:46:04 +01:00
Guido Günther 6ba1128a72 Add symbols file
to only export symbols matching wlr_* from the wlroots library
2018-02-23 09:51:23 +01:00
Drew DeVault 1d9be89e2d
Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
Scott Anderson 86269052eb Explicitly export EFL symbols 2018-02-19 14:26:40 +13:00
Dominique Martinet db9c2c11f6 meson: require wayland-protocols >=1.12 for xdg-shell stable 2018-02-14 19:02:45 +01:00
emersion c2e1474010
Reformat all #include directives 2018-02-12 21:29:23 +01:00
Dominique Martinet 435aec0033 meson build: only link with deps when required by options 2018-02-10 11:30:47 +01:00
Dominique Martinet 161ae2fcb4 meson build: make enable options work as auto/true/false
This makes meson fail if -Denable_systemd=true was set but not found
The default is now auto which is the old behaviour
2018-02-10 10:46:27 +01:00
Dominique Martinet 19d7edb430 meson.build status: print actual build options in message
We were printing the option intent (true by default for all), but
some are disabled when a component is not found and this was not
reflected.
2018-02-10 10:44:42 +01:00
Guido Günther c5aac77692 Fix some typos
Prefer initialize over initialise since used more often in the sources.
2018-01-30 16:10:07 +01:00
Guido Günther e5dacbae5d meson: add ctags and etags targets
to create tag files. Idea taken from systemd.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2018-01-26 17:00:43 +01:00
Guido Günther 66ab1a98a0 meson: print enabled options
This makes it simpler to figure out what was enabled.
2018-01-24 18:24:13 +01:00
Dominique Martinet 85b9368c48 meson: fix include path in generated .pc
The generated .pc still contained -I${prefix}/wlroots, this is no longer
needed at all as the prefix is now 'wlr' and all includes are 'wlr/foo'
2018-01-04 23:41:44 +01:00
Drew DeVault c23bd2ab7a Further fixes to header install dir 2017-12-28 14:38:52 -05:00
Drew DeVault 45a21ca232 Install headers to /usr/include/wlr
Rather than wlroots. I should have caught this.
2017-12-28 14:18:37 -05:00
Björn Esser 8c0fc4ffe5
meson: Fix exclude_headers 2017-12-27 18:29:27 +01:00
Björn Esser 71e42dae90
libwlroots: Add shared library versioning 2017-12-27 18:00:13 +01:00
Björn Esser 892f7a5db0
include: Install headers in an isolated include-dir 2017-12-27 17:13:58 +01:00
Björn Esser ff13849624
config: Avoid clash with other config-headers 2017-12-27 17:13:58 +01:00
Björn Esser 57a09c8ca4
config: Put all defines into config.h 2017-12-26 18:51:27 +01:00
Tony Crisci ea4b871e16 xwm: user custom event handler 2017-12-13 17:54:19 -05:00
Scott Anderson 87258c718c Add minimum meson version 2017-11-22 12:05:44 +13:00
Drew DeVault c3e0fbdb8f Remove meson hack 2017-11-20 08:21:02 -05:00
emersion ddd7b7711c
Load xwm cursor from theme 2017-11-02 15:52:02 +01:00
emersion bdaf66a292
Set xwayland root cursor 2017-11-02 00:03:55 +01:00
Tony Crisci 1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Dominique Martinet a2f5e60dea meson: fail build if libinput < 1.7.0
We need libinput >= 1.7.0 for LIBINPUT_DEVICE_CAP_SWITCH
2017-10-24 02:05:41 +09:00
Dominique Martinet 98207fda81 meson: fail build if gbm/mesa < 17.1.0
We need mesa 17.1.0 for gbm_bo_get_offset and gbm_bo_get_stride_for_plane
We need mesa 17.0.0 for EGL_TEXTURE_EXTERNAL_WL
2017-10-24 02:05:41 +09:00
Tony Crisci fb25adae36 xwayland: use xfixes extension 2017-10-15 14:50:21 -04:00
Greg V a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03:00
Drew DeVault d0d6413772 Merge pull request #220 from versusvoid/optional-xwayland
Make Xwayland optional
2017-10-09 08:09:03 -04:00
Scott Anderson c0e5feea37 Add GL/EGL extension loader generator 2017-10-08 13:23:41 +13:00
Versus Void 9cab66f0f9 Make xwayland compile-time optional 2017-10-06 21:50:25 +00:00
emersion ed9796ec68
xwayland: parse normal hints 2017-10-05 19:10:23 +02:00
Scott Anderson 7ad2a57feb Open X11 Window 2017-09-29 16:12:13 +13:00
Drew DeVault f4387b437f Merge branch 'master' into rootston 2017-09-25 08:29:51 -04:00
Scott Anderson 7288d3b2c3 Install library, headers, and pkg-config 2017-09-24 14:51:23 +13:00
Drew DeVault 550748681d Establish rootston headers & main 2017-09-22 23:30:40 -04:00
dudemanguy 175f89f4ff Add elogind support
Resolves SirCmpwn/wlroots#146
2017-09-22 12:02:55 -05:00
Tony Crisci 368f74e4df Refactor meson build files
Use tabs for indentation and break up function calls over 80 col.
2017-08-30 14:30:47 -04:00
Dominique Martinet fa0e1015c6 xwm: fix minimal init, this gets us some events on window creations 2017-08-23 22:03:49 +02:00
Dominique Martinet b2bab1af5c xwayland: split xwm structure out, initial xwm.c 2017-08-23 22:03:49 +02:00
Dominique Martinet 49a823d4c6 Xwayland: first draft, just start server for now 2017-08-23 22:03:49 +02:00
Scott Anderson 75978636d9 Change meson to be more configurable
We move the warning options into the project's default_options, meaning
a user can configure them with `meson configure` and not need to edit
the file.

We also make it possible to disable logind/libcap even if they're
present.
2017-08-20 22:19:47 +12:00
Drew DeVault d4b4bfb8bc Fix #64 2017-08-13 08:26:32 -04:00
Drew DeVault e6a7817e45 Fix build on systems without systemd 2017-08-13 08:21:57 -04:00
Drew DeVault 62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -04:00
nyorain 1bea754521 Implement wlr_region using pixman 2017-08-09 17:05:55 +02:00
Drew DeVault 7486263f7e Add xcursor sublibrary 2017-08-07 21:13:04 -04:00
Scott Anderson 3373ec5fc8 Update build files 2017-08-06 13:30:18 +12:00
nyorain fdab81e1c9 Use meson build system 2017-08-05 22:34:24 +02:00
Drew DeVault b08aa9fd35 Revert "Merge pull request #27 from ascent12/meson"
This reverts commit 85805da021, reversing
changes made to 8189c64d7f.
2017-07-11 22:16:56 -04:00
Scott Anderson a2ba226ba3 Use subdir 2017-07-11 09:56:54 +12:00
Scott Anderson 924bf0f669 Changed build system to meson 2017-07-11 00:28:56 +12:00