Las
6367e0bc93
Add wlr_surface::input_region member
...
This is analogous to the opaque_region member.
In addition the code for setting the opaque region is cleaned up.
2018-09-18 10:14:33 +02:00
Las
d446c53fe1
Make (wlr_)seat_client_from_pointer_resource public
2018-09-18 10:14:33 +02:00
Las
252bcce2f3
Add focus change event for seats
2018-09-18 10:14:33 +02:00
emersion
9f76263404
output-layout: don't expose outputs without a mode
2018-09-17 15:22:33 +02:00
Drew DeVault
df991a55ab
Merge pull request #1241 from emersion/output-enable-error-checking
...
output: make wlr_output_enable return a bool
2018-09-14 21:14:18 -04:00
Drew DeVault
0210905eef
Merge pull request #1243 from emersion/layer-shell-suffix
...
layer-shell: add _v1 suffix
2018-09-14 20:47:42 -04:00
Drew DeVault
a088000983
Merge pull request #1244 from emersion/xdg-output-suffix
...
xdg-output: add _v1 suffix
2018-09-14 20:47:14 -04:00
emersion
fc960e5d06
layer-shell: add _v1 suffix
2018-09-14 19:32:33 +02:00
emersion
b3cb22c003
xdg-output: add _v1 suffix
2018-09-14 19:29:08 +02:00
emersion
cb293f09e7
output: make wlr_output_enable return a bool
2018-09-14 18:18:07 +02:00
emersion
524702eb16
output: introduce WLR_NO_HARDWARE_CURSORS
2018-09-14 18:07:21 +02:00
emersion
769a8e9917
Merge pull request #1160 from Ongy/tablet-grabs
...
Tablet grabs
2018-09-12 19:01:50 +02:00
Markus Ongyerth
21e1cc9ab4
Implement feedback
2018-09-08 19:17:44 +02:00
nyorain
f6168c2afe
Fix #1129 and remove sx, sy from wlr_drag_icon
...
sx, sy used to store the buffer offset of the drag surface which was
then be added (by rootston) to the drag icon position.
Buffer offsets are handled already in surface_intersect_output
(output.c) so they were added twice for dnd surfaces.
2018-09-07 14:48:28 +02:00
emersion
017cfb0b86
backend/drm: log when de-allocating CRTC
2018-09-04 19:44:44 +02:00
emersion
d22431d969
Merge pull request #1228 from arandomhuman/misc-mem
...
Miscellaneous memory leak fixes
2018-09-03 08:26:59 +02:00
random human
9f511ae942
Remove listener link after tablet_manager destroy
2018-09-03 05:05:18 +05:30
random human
568b0ffe2c
Call wl_global_create first in case of failure
2018-09-03 02:43:55 +05:30
cnt0
6946134883
fix incorrect NULL check
2018-09-02 20:48:18 +02:00
Aidan Epstein
e334b46b39
Fix uninitialized value in wlr_cursor.
2018-08-31 23:36:38 +00:00
random human
8589ae19de
Fix bugs listed by clang's static analyzer
...
A few pedantic changes and unused variables (1-4), and genuine bugs (5,
6).
The reports with the corresponding files and lines numbers are as
follows.
1. backend/libinput/tablet_pad.c@31,44,57
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'unsigned int',
which is incompatible with sizeof operand type 'int'"
2. types/tablet_v2/wlr_tablet_v2_pad.c@371
"Allocator sizeof operand mismatch"
"Result of 'calloc' is converted to a pointer of type 'uint32_t', which
is incompatible with sizeof operand type 'int'"
3. types/wlr_cursor.c@335
"Dead initialization"
"Value stored to 'dx'/'dy' during its initialization is never read"
4. rootston/xdg_shell.c@510
"Dead initialization"
"Value stored to 'desktop' during its initialization is never read"
5. types/tablet_v2/wlr_tablet_v2_pad.c@475
"Dereference of null pointer"
"Access to field 'strips' results in a dereference of a null pointer
(loaded from field 'current_client')"
The boolean logic was incorrect (c.f. the check in the following
function).
6. examples/idle.c@163,174,182
"Uninitialized argument value"
"1st function call argument is an uninitialized value"
If close_timeout != 0, but simulate_activity_timeout >= close_timeout,
the program would segfault at pthread_cancel(t1).
2018-08-31 19:41:18 +02:00
Alexander Bakker
221d412824
Init the new destroy signals added by #1200
2018-08-27 18:21:36 +02:00
Alexander Bakker
20db29779e
Add destroy signals to types that are destroyed by wl_display_destroy
2018-08-26 23:23:12 +02:00
Brian Ashworth
c6955fa89c
Merge pull request #1199 from apreiml/farthest_output
...
introduce wlr_output_layout_farthest_output
2018-08-25 11:00:25 -04:00
Armin Preiml
5617d2bd60
introduce wlr_output_layout_farthest_output
...
Similar to wlr_output_layout_adjacent_output but will return the
one that is the farthest away from the reference in given direction.
2018-08-25 09:14:55 +02:00
Dorota Czaplejewicz
6db9c4b746
wlr_virtual_keyboard: use wlr_input_device_destroy
2018-08-22 14:43:29 +01:00
Dorota Czaplejewicz
2929f0f8dd
wlr_input_device: fix keyboard destruction
...
After destroying a keyboard input device, seat's listeners could still be pointing to destroyed wlr_input_device signals. This patch makes sure the references are removed while the input device is being destroyed.
2018-08-22 14:43:29 +01:00
emersion
f86f1daf9a
Fix build on FreeBSD
2018-08-16 10:54:45 +01:00
Markus Ongyerth
3ad7b146eb
Fix typos/order in tablet-v2
2018-08-06 08:45:44 +02:00
Markus Ongyerth
f64962ace8
tablet-v2 tool: Implement implicit grab
...
Implement the tablet-v2 tablet tool's implicit grab semantics for
buttons and tip.
This avoids losing focus (to other [sub]surfaces) when a button is held,
or the tip is down.
This should help when the device is used close to a surface's border and
would otherwise have to be very precise.
2018-08-06 08:45:41 +02:00
emersion
c4522062f6
xdg-output: fix segfault in handle_layout_destroy
2018-08-03 14:03:53 +01:00
Scott Anderson
eb9c9d8852
Merge pull request #1173 from sdilts/add-missing-libinput
...
Add missing dependency libinput to types/meson.build
2018-08-03 14:58:22 +12:00
sdilts
c95078320c
Add missing dependency libinput to types/meson.build
...
The file `types/tablet_v2/wlr_tablet_v2.c` includes <libinput.h>.
Without this change, libinput.h may not be found on
some systems.
2018-08-02 20:13:48 -06:00
emersion
c3afe4f42e
gamma-control-v1: improve error handling
2018-08-02 23:33:59 +01:00
emersion
bbd0fbe573
gamma-control-v1: fix fds not closed
2018-08-02 23:33:59 +01:00
emersion
1705316fa7
gamma-control-v1: set O_NONBLOCK, improve error handling style
2018-08-02 23:33:59 +01:00
emersion
73b7111846
gamma-control-v1: reset gamma table when control is destroyed
2018-08-02 23:33:59 +01:00
emersion
6e8892d4d7
gamma-control-v1: don't insert control in the list before checking unicity
2018-08-02 23:33:59 +01:00
emersion
a149c2370a
Implement wlr-gamma-control-unstable-v1
2018-08-02 23:33:04 +01: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
emersion
555721f714
Add xdg-decoration-unstable-v1 support
2018-07-28 22:48:07 +01:00
Drew DeVault
f1b65b34a6
Merge pull request #1127 from emersion/surface-precommit
...
surface: add wlr_surface_role.precommit
2018-07-27 13:21:03 -04:00
Markus Ongyerth
d5950255de
tablet-v2 tablet_tool grab implementation
...
Implement the basic logic for tablet-v2 tablet_tool's grabs. And plug in
the default grab.
2018-07-23 10:08:10 +02:00
Ilia Bozhinov
8b7c85d765
xdg-shell(-v6): add set_title and set_app_id toplevel signals
...
This is useful for example when rendering decorations
2018-07-22 22:42:37 +03: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
41094a7df5
Always include config.h
2018-07-21 13:08:23 +01:00
emersion
5dbf0fe7f2
linux-dmabuf: add v1 suffix
...
This prevents some future conflicts with the stable version.
Fixes #1133
2018-07-19 21:50:05 +01:00
Markus Ongyerth
454f2a84a8
tablet-v2 tablet_pad grab implementation
...
Implement the basic logic for tablet-v2 tablet_pad's grabs. And plug in
the default grab.
Features like "holding" the focus should be implemented via grabs, like
they are for pointer and keyboard.
2018-07-19 11:35:00 +02:00
emersion
4afd69bbe7
Remove unused types/wlr_tablet_v2.c
2018-07-17 11:14:43 +01:00
emersion
16d7e09d99
surface: add wlr_surface_role.precommit
...
This allows to emit the unmap event before the surface becomes
actually unmapped for most shells.
2018-07-15 19:30:19 +01:00
Markus Ongyerth
9a6f77fc2c
tablet-v2: fix merge commits and test again
...
There were a few issues after rebase, that the merge algorithm didn't
throw at my face:
wlr_output did a check on the actual role, not a string anymore, so that
had to go to allow tablet-v2 to set cursor surfaces.
A few L_DEBUG/L_ERRORs were still around
There was a user-after-free in tablet-group free()ing, probably after
insufficient testing from a previous feedback pass
2018-07-14 10:29:22 +02:00
Markus Ongyerth
74ca2f8fcf
Another round of feedback from acrisci
2018-07-14 09:52:34 +02:00
Markus Ongyerth
43b20bfea2
First feedback pass from acrisci
2018-07-14 09:52:05 +02:00
Markus Ongyerth
d9e978e1b3
rename wlr_tablet_tool to wlr_tablet
...
The previous naming was based on the input-device capability names from
libinput.
With code that uses the libinput_tablet_tool and mapping into tablet-v2,
this is confusing, so the name is changed to follow the names used in
the protocol.
2018-07-14 09:49:58 +02:00
Markus Ongyerth
101080a382
Another feedback pass
2018-07-14 09:48:57 +02:00
Markus Ongyerth
6b51f3b57a
use previous resource versions and destroy pads
2018-07-14 09:48:57 +02:00
Markus Ongyerth
503f9d6e52
emersion feedback
...
Introduce TABLET_MANAGER_VERSION and remove the wlr_tablet_tool_tool.c
2018-07-14 09:48:57 +02:00
Markus Ongyerth
2bc09d91c3
Silent conversion from double to int should be illegal
2018-07-14 09:48:57 +02:00
Markus Ongyerth
dc525a9c5f
Clean up serial handling and automate proximity acompaning events
2018-07-14 09:48:57 +02:00
Markus Ongyerth
25c2808153
Clean up serial handling
2018-07-14 09:48:57 +02:00
Markus Ongyerth
88a4b908d1
Hide pad auxiliary data in .c file
2018-07-14 09:48:57 +02:00
Markus Ongyerth
fa39fd178d
Split tablet_v2 implementation for easier maintainance
2018-07-14 09:48:57 +02:00
Markus Ongyerth
2c12011472
Send all tablet tool axis events
2018-07-14 09:47:16 +02:00
Markus Ongyerth
6a40561e4c
Fix clang build errors
2018-07-14 09:47:16 +02:00
Markus Ongyerth
2155c976f6
Improve inert resource handling
2018-07-14 09:47:16 +02:00
Markus Ongyerth
b79d11395c
Hook up set_cursor in rootston
2018-07-14 09:47:16 +02:00
Markus Ongyerth
0c9a26828a
Use wlr_list for paths, and improve inert resource handling
2018-07-14 09:43:17 +02:00
Markus Ongyerth
31cec36b74
1st feedback pass
...
Rename make_ functions to _create
Implement set_cursor and set_feedback
2018-07-14 09:43:16 +02:00
Markus Ongyerth
5c7a37f309
Add tool buttons
2018-07-14 09:40:39 +02:00
Markus Ongyerth
391eef6ea9
Propagate most axis events to clients
2018-07-14 09:40:39 +02:00
Markus Ongyerth
f375246657
Implement basic tablet_pad handling (bound to keyboard focus)
2018-07-14 09:40:39 +02:00
Markus Ongyerth
f696e980f1
stabilise tablet_v2 code (prevent bunch of crashes)
2018-07-14 09:40:39 +02:00
Markus Ongyerth
e235f7d336
Basic tablet_v2 object lifetime
2018-07-14 09:40:39 +02:00
Markus Ongyerth
77bac448cc
storage commit #2
2018-07-14 09:40:39 +02:00
Markus Ongyerth
4947295c8f
convoluted tablet code
2018-07-14 09:40:39 +02:00
Markus Ongyerth
bf8751d632
Start tablet protocol
2018-07-14 09:40:39 +02:00
emersion
935a3f2ebb
screencopy: fix segfault when client supplies invalid buffer
2018-07-13 19:27:04 +01:00
emersion
5bb272d7f3
surface: add wlr_surface.opaque_region
2018-07-13 10:54:51 +01:00
Drew DeVault
e226e2c011
Missed some old wlr_log calls
2018-07-11 18:36:31 -04:00
Drew DeVault
c0b4217fce
Merge pull request #1116 from emersion/surface-role
...
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-11 15:27:42 -07:00
Drew DeVault
2518de655c
Merge pull request #1126 from emersion/wlr-log-prefix
...
util: add wlr_ prefix to log symbols
2018-07-09 16:12:20 -07:00
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
Arvin Ignaci
fad62a3e1c
fix: handle 32 bit time_t (or smaller)
2018-07-09 14:45:19 +00:00
emersion
deeca53e33
Rename wl_resources to resource, wl_global to global
2018-07-08 19:21:31 +01:00
vilhalmer
0260f042d2
Bail from setting gamma on destroyed resource
2018-07-08 12:35:41 -04:00
emersion
c19d475753
xdg-output: don't send no-op updates
...
To begin with, no-op updates are unnecessary, so this patch is an
improvement on its own.
Then, this fixes hotplugging issues with xwayland. xwayland waits
for both wl_output and xdg_output to send a "done" event. However,
it doesn't handle well desynchronized "done" updates: if xdg-output
sends "done" twice, the second one will wait for the next wl_output
"done" event. This is an issue when the first is a no-op and the
second is a real update: the second isn't applied. I've considered
patching xwayland instead, but it seems pretty complicated.
2018-07-08 14:12:18 +01:00
emersion
5fe50b9a28
output: make wl_output resources inert
2018-07-07 23:02:08 +01:00
emersion
33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-07 22:45:16 +01:00
emersion
515d682312
surface: fix damage when moving subsurfaces with scale > 1
2018-07-04 19:16:16 +01:00
emersion
e665a74122
surface: don't clip input and opaque regions
...
These can be set to e.g. regions larger than the surface. If the
surface resizes itself, it doesn't need to set again these regions.
2018-07-04 19:12:18 +01:00
emersion
226306ed45
surface: rename wlr_surface_state.buffer to buffer_resource
2018-07-04 19:12:18 +01:00
emersion
68c133da2f
surface: fix crash on NULL commit
2018-07-04 19:12:18 +01:00
emersion
6f0eb11024
surface: fix previous state eating current state resources
2018-07-04 19:12:18 +01:00
emersion
f440708274
output: fix cursor attach coords handling
2018-07-04 19:12:18 +01:00
emersion
012e38fbe5
surface: add wlr_surface.previous
2018-07-04 19:12:18 +01:00
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
2018-07-04 19:12:17 +01:00
emersion
233bfe2f4f
surface: do not monkey-patch state damage
2018-07-04 19:12:17 +01:00
emersion
adf0423f7c
surface: better buffer position handling
2018-07-04 19:12:17 +01:00
emersion
3c0d672ebd
surface: make pending and current embedded structs
2018-07-04 19:12:17 +01:00
emersion
64836ddfe7
surface: remove wlr_surface_state.subsurface_position
2018-07-04 19:12:17 +01:00