Commit Graph

275 Commits

Author SHA1 Message Date
Tony Crisci 3a04f5b2db consistently name surface state variables 2017-09-30 08:55:40 -04:00
Tony Crisci 693e30dff7 refactor surface commit 2017-09-30 08:55:40 -04:00
Tony Crisci 86bc4840a0 subsurface commit and render 2017-09-30 08:55:40 -04:00
Tony Crisci 5cbb4f5ca0 refactor surface commit 2017-09-30 08:55:40 -04:00
Tony Crisci cb2d05e83b subsurface sync and position 2017-09-30 08:55:40 -04:00
Tony Crisci 7f39578824 cleanup wlr_surface.[ch] 2017-09-30 08:55:40 -04:00
Tony Crisci 68eeebc647 subsurface implementation stubs 2017-09-30 08:55:40 -04:00
Tony Crisci 78cd62a663 publish subcompositor global 2017-09-30 08:55:40 -04:00
Tony Crisci a4196fd9c9 cleanup wlr_compositor.c 2017-09-30 08:55:40 -04:00
Tony Crisci 0f56326cb8 fix libinput wlr-keyboard use after free 2017-09-28 20:29:26 -04:00
Drew DeVault 262c3b1638 Remove unnecessary logging 2017-09-28 18:47:52 -04:00
Drew DeVault c92199a953 Merge pull request #163 from emersion/wl_shell-fixes
wl_shell fixes
2017-09-28 13:29:49 -04:00
emersion 8146d60a87
Fix 80 char limit with 4 width tabs 2017-09-28 19:24:33 +02:00
Drew DeVault 220a6e9bf6 Add xwayland activate and fix EGL bug 2017-09-28 09:11:16 -04:00
Drew DeVault 906a816abf Fix rootston keyboard, add Xwayland 2017-09-28 08:54:57 -04:00
emersion baed05b55e
Add TODO for pointer grab in set_popup 2017-09-28 13:46:30 +02:00
emersion 643a69f0b2
Call wlr_surface_set_role in wl_shell_get_shell_surface 2017-09-28 13:41:17 +02:00
emersion 55d2462180
Remove ping_timer when destroying wlr_wl_shell_surface 2017-09-28 13:34:22 +02:00
emersion 9d405cffa7
Use enums instead of uint32_t where applicable 2017-09-28 13:12:01 +02:00
emersion dbdfc46448
Add helper shell_surface_set_state 2017-09-28 13:06:59 +02:00
emersion 3d03ef2d02
role -> state 2017-09-28 12:45:47 +02:00
emersion 27ca8eaced
Fix typo: s/transcient/transient/ 2017-09-28 12:38:41 +02:00
emersion a04462ba8b
wl_shell: listen for wlr_surface destroy signal 2017-09-28 01:31:31 +02:00
emersion eaa414bbd8
wl_shell: properly set wl_surface->resource 2017-09-28 01:10:39 +02:00
emersion d41a4a0bae
wl_shell: gluten-free cosmetic variable renaming 2017-09-28 01:02:30 +02:00
emersion d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface 2017-09-27 23:47:39 +02:00
emersion 241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done} 2017-09-27 23:45:09 +02:00
emersion 14ab56b6c5
wl_shell: implement set_popup request 2017-09-27 23:10:33 +02:00
emersion 663bfe4cd8
wlr_wl_shell: implement all requests except set_popup 2017-09-27 21:15:31 +02:00
emersion e001e40022
Set view->surface 2017-09-27 15:03:35 +02:00
emersion acf58e04de
Fix segfault, add wl_shell view 2017-09-27 14:48:53 +02:00
emersion ed9a43c213
Add first try to add wl_shell to rootston 2017-09-26 23:59:25 +02:00
Drew DeVault 1ddda91b1b Fix broken keyboard handling 2017-09-25 16:44:26 -04:00
Drew DeVault e6a6634bc5 Minor tweaks to (broken) keyboard support 2017-09-25 08:47:00 -04:00
Drew DeVault f4387b437f Merge branch 'master' into rootston 2017-09-25 08:29:51 -04:00
Drew DeVault 61e451ea1b Move keyboard logic to wlr_{keyboard,seat} 2017-09-24 14:12:56 -04:00
Drew DeVault eaf6c0ccf4 Implement pointer motion and buttons 2017-09-23 17:48:13 -04:00
Tony Crisci 84a8f1b42d add keys array param to seat keyboard enter 2017-09-23 14:41:57 -04:00
Tony Crisci 9cde828c94 bugfix: correct type in keyboard resource destroy 2017-09-23 14:10:17 -04:00
Tony Crisci 3895593998 wlr-seat: keyboard layout 2017-09-23 14:09:54 -04:00
Tony Crisci 30b5d76426 wlr-seat: keyboard modifiers 2017-09-22 17:09:47 -04:00
Tony Crisci cef1f60522 wlr-seat-keyboard: basic events 2017-09-22 16:28:11 -04:00
Drew DeVault e5e6dab7fd Fix use of serial on motion_request 2017-09-22 11:11:53 -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
Tony Crisci 00cc20b0a8 wlr-seat: add guards for no pointer resource 2017-09-22 09:29:17 -04:00
Drew DeVault d558745633 Handle tablet motion in example compositor 2017-09-21 18:51:33 -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
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 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
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
emersion 7d43d662f5
Fix gamma_size event sent to wrong resource 2017-09-06 22:22:40 +02:00
emersion 6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl 2017-09-06 18:53:08 +02:00
emersion cd125377fc
Add wlr_output_{set_gamma,get_gamma_size} 2017-09-06 17:34:09 +02:00
emersion 1b588e7c1f
Add gamma_control skeleton 2017-09-06 14:48:27 +02:00
Drew DeVault 586ae674ae Merge pull request #136 from acrisci/bug/rename-output-layout-create
Rename wlr_output_layout_init()
2017-09-06 08:29:55 +09:00
Tony Crisci e733b0e643 Rename wlr_output_layout_init()
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
2017-09-05 17:53:29 -04:00
Tony Crisci 6c24300d13 wlr_cursor_device create and destroy
Refactor wlr_cursor_device creation and destruction into their own functions.

Properly unsubscribe from signals in the wlr_cursor_device_destroy function.
2017-09-05 17:48:02 -04:00
Tony Crisci 57c18c38bb wlr_cursor: handle layout changes
Add the layout `destroy` and `change` events.

When a layout is destroyed, detach is from the wlr_cursor.

When a layout is changed, warp the cursor to the closest layout boundary.
2017-09-05 07:48:28 -04:00
Tony Crisci d84deb0742 add wlr_output destroy event 2017-08-31 07:47:44 -04:00
Tony Crisci fa3d4ecc84 fix layout hotplugging issue in output-layout.c 2017-08-31 07:47:44 -04:00
Tony Crisci f25511ee3d refactor wlr_output_layout to use wlr_box 2017-08-31 07:47:44 -04:00
Tony Crisci 40bd6bcc43 implement output layout auto configuration 2017-08-31 07:47:44 -04: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
Tony Crisci d9ab631f5d bugfix: set cursor coords on warp_unchecked 2017-08-29 12:48:45 -04:00
Tony Crisci b6031d1065 refactor wlr_output_layout_closest_point 2017-08-29 12:36:39 -04:00
Tony Crisci 9b65d0b3f0 refactor and rename wlr_geometry to wlr_box 2017-08-29 12:36:39 -04:00
Tony Crisci a51b76083e rename wlr_cursor_init to wlr_cursor_create 2017-08-29 12:36:39 -04:00
Tony Crisci 1fb8bc9340 wlr_cursor.c: fix formatting 2017-08-29 12:36:39 -04:00
Tony Crisci 3449777a8d wlr_output_layout.c: fix style 2017-08-29 12:36:39 -04:00
Tony Crisci 4fbe322fa6 fix memory errors 2017-08-28 11:07:54 -04:00
Tony Crisci ab1a12b174 fix formatting in types/meson.build 2017-08-28 11:07:21 -04:00
Tony Crisci 5c845f14ed handle input device destroy 2017-08-28 10:29:53 -04:00
Tony Crisci df0ee7f25f implement tablet tool devices 2017-08-28 10:23:14 -04:00
Tony Crisci 0dc3aecfd4 refactor device mapping calculation 2017-08-27 20:10:46 -04:00
Tony Crisci 5e06d61e42 implement touch up and touch down 2017-08-27 17:35:12 -04:00
Tony Crisci ed126b0881 add touch events 2017-08-27 11:34:25 -04:00
Tony Crisci ac503a47a7 intersect cursor and device regions 2017-08-26 11:55:24 -04:00
Tony Crisci 0a97b68278 implement cursor and device geometry mapping 2017-08-26 08:32:11 -04:00
Tony Crisci 98f4cdfccb implement wlr_cursor_map_input_to_output 2017-08-26 08:32:11 -04:00
Tony Crisci 13e895d943 implement wlr_cursor_map_to_output 2017-08-26 08:32:11 -04:00
Tony Crisci a4810203cc change output layout coords to double type 2017-08-26 08:32:11 -04:00