Commit graph

5397 commits

Author SHA1 Message Date
Patrick Steinhardt
41ec686693 meson: add systemd/elogind backends only if enabled
Right now, we are adding systemd and elogind backends to the build
system as soon as their libraries are found on the build system.
Instead, we should only add them if the libraries have been found _and_
the user has actually requested them to be included.
2018-01-28 16:14:38 +00:00
Patrick Steinhardt
91c034d164 travis: add job building wlroots without various options
Recently, the support for building rootston without XWayland was broken.
While the breakage was easily fixable, the more important problem is
that actually nobody seems to ever compile wlroots without XWayland,
causing silent breakage. This problem can easily be handled by the CI
system: in addition to the existing job which enables XWayland, add a
second job which compiles wlroots without XWayland. This will catch
breakage at a much earlier stage.

Catching broken builds without XWayland support obviously only covers
one part of a greater issue, as all the other options may cause our
builds to break, too. While we cannot test each combination, we can at
least make sure to have one build with all options enabled and one with
all options disabled.
2018-01-28 16:14:38 +00:00
Patrick Steinhardt
d05143950b rootston: move together XWayland setup code
The XWayland code for creating the cursor as well as creating the
surface itself are currently split up into two ifdef'ed sections in
`desktop_create()`. Move together these two sections in order to avoid
having multiple ifdefs as well as making it clearer that they do in fact
serve the same purpose of setting up the XWayland environment.
2018-01-28 12:12:33 +00:00
Patrick Steinhardt
52cb19d99d rootston: fix compilation without XWayland support
In case wlroots is not being compiled with XWayland support, we will not
have an xwayland surface in our roots view. While we make sure to pay
attention to that in some places, we are not being consistent and try to
access the xwayland surface in other places. Obviously, this leads to a
compiler error due to the field not being present.

Fix the issue by sprinkling in a few additional ifdefs where required.
2018-01-28 12:07:15 +00:00
emersion
692d33bf8b
rootston: fix clipped SSD for rotated views 2018-01-28 12:14:23 +01:00
emersion
485aa87468
output: fix fullscreen on transformed outputs 2018-01-28 10:40:38 +01:00
emersion
63736be214
rootston: fix damage tracking for SSD 2018-01-28 10:11:31 +01:00
emersion
861d5bdff2
surface: fix damage when resizing a surface in QT apps 2018-01-27 21:49:40 +01:00
Drew DeVault
facc5ef93a
Merge pull request #588 from agx/arm
Fix warnings on arm-linux
2018-01-27 14:14:12 -05:00
Guido Günther
d7dfbd23fa drm: Use ptrdiff_t instead of intmax_t in format string
since we're looking at pointer differences.

Otherwise the build fails on arm like

In file included from ../backend/drm/drm.c:19:0:
../include/wlr/util/log.h:34:17: error: format '%jd' expects argument of type 'intmax_t', but argument 7 has type 'int' [-Werror=format=]
  _wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
                 ^
../backend/drm/drm.c:462:2: note: in expansion of macro 'wlr_log'
  wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
  ^~~~~~~
../backend/drm/drm.c:462:39: note: format string is defined here
  wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
                                     ~~^
                                     %d
2018-01-27 12:29:56 +01:00
Guido Günther
1633b8d793 wlr_keyboard: use correct printf format string for keymap_size
keymap_size is a size_t. Otherwise the build fails on arm like

../types/wlr_keyboard.c: In function 'wlr_keyboard_set_keymap':
../include/wlr/util/log.h:34:17: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Werror=format=]
  _wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
                 ^
../types/wlr_keyboard.c:218:3: note: in expansion of macro 'wlr_log'
   wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
   ^~~~~~~
../types/wlr_keyboard.c:218:50: note: format string is defined here
   wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
                                                ~~^
                                                %u
2018-01-27 12:23:26 +01:00
emersion
7adf13e284
Fix flickering when switching VT 2018-01-27 11:16:42 +01:00
emersion
7111dd79ef
rootston: damage tracking for rotated views 2018-01-27 10:43:17 +01:00
emersion
f34a1b75eb
render/gles2: use format bpp when reading pixels 2018-01-26 23:13:41 +01:00
emersion
a011a1cb07
screenshooter: request a buffer swap 2018-01-26 22:41:19 +01:00
emersion
8d58ed502b
output: add wlr_output_schedule_frame 2018-01-26 22:39:23 +01:00
emersion
ece2c1e4e2
Damage tracking for transformed outputs 2018-01-26 22:11:09 +01:00
emersion
174d1aa81b
Merge pull request #585 from agx/meson
meson: add tags and ctags targets
2018-01-26 17:04:30 +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
Drew DeVault
ab738256ac Remove vim stuff from .gitignore
If this affects you put this in your vimrc:

set backupdir=~/.cache
set directory=~/.cache
2018-01-26 10:06:07 -05:00
emersion
a98ece68d3
util: add docs for wlr_region_scale 2018-01-25 21:54:51 +01:00
emersion
4223fbc763
rootston: damage tracking scale support 2018-01-25 19:15:20 +01:00
Drew DeVault
a0351fb5d7
Merge pull request #584 from VincentVanlaer/drm-segfault
Clean up session signal handler on drm init fail
2018-01-24 15:39:47 -05:00
emersion
3f96427d08
Merge branch 'output-damage' of github.com:emersion/wlroots into output-damage 2018-01-24 18:49:47 +01:00
emersion
4dd214c0d3
Merge pull request #583 from agx/meson
meson: print enabled options
2018-01-24 18:40:05 +01:00
Vincent Vanlaer
72507f9820 Clean up session signal handler on drm init fail 2018-01-24 18:27:53 +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
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-24 14:48:01 +01:00
emersion
7a2e9a17ba
Merge pull request #579 from Ongy/dpms_decouple
decouples outputenable state and wl_output global
2018-01-24 10:57:35 +01:00
Markus Ongyerth
f946c10cb1 re-adds wlr_output_update_enabled
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
2018-01-24 10:23:48 +01:00
Tony Crisci
c09c2dfbc4
Merge pull request #570 from acrisci/decorations
Decorations
2018-01-23 18:05:41 -05:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
emersion
2ad7df8680
rootston: damage tracking for drag icons 2018-01-23 20:01:40 +01:00
Markus Ongyerth
3cf7225cec decouples outputenable state and wl_output global
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
2018-01-23 17:40:12 +01:00
Tony Crisci
a4d601e3d6 decorations: respect motif hints 2018-01-23 08:19:00 -05:00
Tony Crisci
fc627afd18 fix decorations on wayland backend 2018-01-23 08:07:03 -05:00
emersion
4d282c8590
rootston: damage tracking for drag icons 2018-01-23 13:37:58 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor 2018-01-22 16:42:22 +01:00
emersion
3f1c4f5be7
rootston: damage tracking for wl_shell 2018-01-22 16:01:32 +01:00
Drew DeVault
03440bbd83
Merge pull request #578 from emersion/fix-cursor-output-layout-destroy
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached
2018-01-22 08:56:47 -05:00
emersion
a8cb02f585
surface: add damage when subsurface moves 2018-01-22 10:34:23 +01:00
emersion
f5507ec677
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached 2018-01-22 09:29:52 +01:00
Tony Crisci
9d87d4e336 take roots_view out of input.h 2018-01-21 19:09:35 -05:00
Tony Crisci
9076ecd91f take seat.h out of view.h 2018-01-21 19:08:40 -05:00
Tony Crisci
85a6939cf2 rename matrix model box to project box 2018-01-21 19:03:10 -05:00
Tony Crisci
e8c407d00e rename wlr_deco_part to roots_deco_part 2018-01-21 18:46:19 -05:00
Tony Crisci
54776dd19c fix cursor issue 2018-01-21 18:37:36 -05:00
Tony Crisci
4183271475 make it work with rotation 2018-01-21 18:24:53 -05:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-21 22:18:06 +01:00
emersion
f704c3d42b
rootston: fix damage tracking for fullscreen xwayland views 2018-01-21 22:08:38 +01:00