Commit graph

839 commits

Author SHA1 Message Date
Drew DeVault
e5e6dab7fd Fix use of serial on motion_request 2017-09-22 11:11:53 -04:00
Drew DeVault
087894ae99 Merge pull request #152 from acrisci/feature/wlr-seat-axis-events
wlr-seat cursor axis events
2017-09-22 10:43:48 -04:00
Tony Crisci
e38248f34c wlr-seat: implement cursor axis events
Axis events for the cursor are generated with the scroll wheel.
2017-09-22 10:30:09 -04:00
Drew DeVault
b6cf9b14a4 Fix possibly uninitialized variable 2017-09-22 09:36:02 -04:00
Drew DeVault
21f5b92973 Add super+click to move windows around without xdg
Though it still doesn't work for non-XDG windows because we need to
build common window state managemnet within the reference compositor.
2017-09-22 09:34:52 -04:00
Tony Crisci
00cc20b0a8 wlr-seat: add guards for no pointer resource 2017-09-22 09:29:17 -04:00
Drew DeVault
800a1ec679 Use time_usec for event serials
Fixes #151
2017-09-22 09:24:07 -04:00
Drew DeVault
7ae5268679 Implement xdg request_move in reference compositor 2017-09-22 09:19:27 -04:00
Scott Anderson
8cb49f4d68 Add stdbool.h 2017-09-22 14:17:29 +12:00
Drew DeVault
f296cc7dba Merge pull request #149 from acrisci/feature/wlr-seat-pointer
wlr-seat pointer events
2017-09-21 19:54:59 -04:00
Drew DeVault
d558745633 Handle tablet motion in example compositor 2017-09-21 18:51:33 -04:00
Tony Crisci
446adda1a3 compositor.c: implement cursor motion absolute 2017-09-21 17:51:31 -04:00
Tony Crisci
91323a9b9b compositor.c: add guards for unconfigured surfaces 2017-09-21 14:05:14 -04:00
Tony Crisci
675a71dce7 compositor.c: determine xdg position by window geom 2017-09-21 13:48:46 -04:00
Tony Crisci
7a3edf6e62 use double for cursor coordinates 2017-09-21 11:38:04 -04:00
Tony Crisci
8b74450b39 wlr_seat: pointer events 2017-09-20 19:43:49 -04:00
Tony Crisci
aeaa983631 wlr_seat: formatting cleanup 2017-09-19 15:38:06 -04:00
Drew DeVault
ec1e6fe568 Merge pull request #148 from acrisci/feature/xdg-toplevel-layout-position
compositor.c: xdg-surface layout position
2017-09-19 14:57:38 -04:00
Tony Crisci
b01909ae15 compositor.c: xdg-surface layout position
Add data structures to compositor.c xdg-surface implementation that allows them
to be rendered in the correct position in the layout, spanning outputs if
necessary.
2017-09-19 14:47:28 -04:00
Drew DeVault
9fa822c666 Fix minor typos 2017-09-17 18:29:52 -04:00
Drew DeVault
29539645cc Merge pull request #145 from acrisci/feature/xdg-shell-toplevel
xdg shell toplevel
2017-09-17 09:45:21 -04:00
Tony Crisci
f46befec7c use wl_list_for_each_safe() to unlink client surfaces 2017-09-17 09:42:27 -04:00
Tony Crisci
94d4b9249c xdg-shell-v6 misc cleanup 2017-09-16 20:31:34 -04:00
Tony Crisci
5b9373a791 xdg-toplevel-v6 set parent 2017-09-16 20:07:19 -04:00
Tony Crisci
2573c429ee reset pending geometry on ack configure 2017-09-16 19:32:23 -04:00
Tony Crisci
49a24225a2 toplevel protocol errors 2017-09-16 18:22:25 -04:00
Tony Crisci
94f4f1878d xdg-surface-v6: implement ping 2017-09-16 12:35:49 -04:00
Tony Crisci
c912de6390 compositor.c: implement xdg-toplevel-v6 request events 2017-09-16 09:23:05 -04:00
Tony Crisci
0f865c547a xdg-toplevel-v6: seat events 2017-09-16 08:31:08 -04:00
Tony Crisci
27161a673f xdg-shell new surface and ack configure events 2017-09-15 08:53:08 -04:00
Tony Crisci
569b147bba schedule configure request on toplevel first commit 2017-09-15 07:50:13 -04:00
Tony Crisci
a0bdbc92ba xdg-shell-toplevel configure requests 2017-09-14 16:27:14 -04:00
Tony Crisci
45a3b761a6 xdg-surface-v6: add events 2017-09-14 08:39:57 -04:00
Tony Crisci
50f4275298 implement xdg-toplevel state properties 2017-09-13 09:19:10 -04:00
Tony Crisci
353629b034 xdg-surface geometry 2017-09-13 08:44:32 -04:00
Tony Crisci
2fd5c7999b set title and app_id 2017-09-13 07:57:16 -04:00
Tony Crisci
9d2dc8447a use wlr_surface on shell struct and listen to events 2017-09-13 07:57:16 -04:00
Tony Crisci
b2c71287f2 set toplevel role on wlr_surface 2017-09-13 07:57:14 -04:00
Tony Crisci
c5f8f81e58 xdg_surface: handle wlr_surface destroy 2017-09-11 17:24:55 -04:00
Tony Crisci
4752b84f4e wlr_xdg_shell_v6.c: fix formatting 2017-09-11 16:26:51 -04:00
Tony Crisci
74e9578889 add surface destroy signal 2017-09-11 13:01:53 -04:00
Drew DeVault
94da69a064 Merge pull request #138 from acrisci/feature/compositor-cursor
compositor example basic cursor and layout
2017-09-11 22:22:59 +09:00
Scott Anderson
1682c0d983 Remove non-blocking flag on modesetting commits
This seems to make hotplugging DisplayPort MST connectors more reliable.
2017-09-10 00:13:39 +12:00
Scott Anderson
6717b78bd6 Retry atomic commit on failure
So we don't lose any previously "good" properties that were set.
2017-09-09 23:10:18 +12:00
Scott Anderson
0aa00da1f3 Check for disappearing DRM connectors
DisplayPort MST connectors will disappear when they're disconnected, so
we need to check for that.
2017-09-09 23:09:51 +12:00
Drew DeVault
f4faa731f0 Merge pull request #143 from Ongy/signal_remove
fixes use after free caused by signal lists
2017-09-08 23:11:36 +09:00
Markus Ongyerth
935b6d871e fixes use after free caused by signal lists
A structs throughout the code use implementation specific free
functions.
When those functions are not used, they simply call free() on their
data, but this leaves around wl_signals linked into listeners.
When those listeners try to remove themself from the list, they write
into the now free memory.

This commit adds calls to remove the signals from those lists, so the
listeners can safely call wl_list_remove
2017-09-08 16:02:26 +02:00
Tony Crisci
31bd8e089b compositor.c: working pointer 2017-09-07 08:13:37 -04:00
Tony Crisci
9d9aaad020 compositor.c: fix formatting 2017-09-07 08:13:37 -04:00
Drew DeVault
c59ccbde51 Merge pull request #137 from emersion/gamma_control
Add gamma_control interface
2017-09-07 10:18:28 +09:00