Commit Graph

280 Commits

Author SHA1 Message Date
emersion 3bd1d876ae
examples: simplify screenshot client 2018-03-14 19:21:36 +01:00
Drew DeVault bfc0e95d2c Add mode support to libinput backend
And extend tablet example with tilt and ring support
2018-03-07 20:57:55 -05:00
Drew DeVault 3296365ce5
Merge pull request #659 from agx/alpha
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther d08792bfff Add alpha to wlr_render_with_matrix
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Drew DeVault 9dc868a27f
Merge pull request #667 from Ongy/screenshot_tmpfile_template
prevent screenshot from resuing template array
2018-02-24 18:05:38 -05:00
Markus Ongyerth 8ab0073b49 prevent screenshot from resuing template array
The template array given to mkstemp was declared static. This reused the
memory, which caused mkstemp to fail if backingfile is run more than
once, because the array no longer contained the template syntax
(which is forced to end in XXXXXX) but the previous file name.
2018-02-24 23:55:48 +01:00
Tony Crisci b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth 67285c1d57 idle-inhibit: style adjustments and motivation 2018-02-23 13:18:05 +01:00
Guido Günther b13f9fcfde Don't use os_create_anonymous_file outside of wlroots
Use a stripped down version for the backing file in the screenshot
example.
2018-02-23 09:51:23 +01:00
Markus Ongyerth 87a7afb641 idle-inhibit: second feedback pass 2018-02-21 16:22:04 +01:00
Markus Ongyerth 3016133f91 idle-inhibit: feedback pass 2018-02-20 13:41:10 +01:00
Markus Ongyerth bab8c73d3c handle xdg close event in idle-inhibit example
Fixes a crash when the idle-inhibit example application is closed by the
compositor, instead of Ctr+C on the spawning terminal, by actualy
handling the close request.
2018-02-17 15:17:19 +01:00
Markus Ongyerth a0bce86006 adds the client example for idle-inhibit
Adds a client example for the idle-inhibit-unsable-v1 protocol.
The client creates a surface and requests an idle inhibitor.
On pointer BTN_LEFT the inhibitor is destroyed if it exists, or
recreated if it was destroyed before.
The surfaces colour is based on the idle-inhibit state.
Green if an inhibitor exists, yellow if it does not.
2018-02-17 12:38:07 +01:00
Dominique Martinet d1b28ec812 wayland protocol headers: use double-quote for includes
These headers are not installed so we should look for these locally
2018-02-15 07:17:02 +01:00
emersion 10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove} 2018-02-12 10:36:43 +01:00
emersion ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color 2018-02-03 09:32:02 +01:00
emersion 3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage 2018-02-03 00:15:44 +01:00
Markus Ongyerth cd925f496c fixes the off by one errors in examples/screenshot
The inverse loop iterations for the transformed outputs had an off by
one error, iterating 1 based, not 0 based. This commit fixes that.
2018-02-01 21:36:14 +01:00
Markus Ongyerth 3a404e4f8d handle the other transformations for screenshots
This handles all current transformations for outputs properly.
This ensures an output is drawn in readable orientation/flipping no
matter the actual transformations applied to it.
2018-01-31 16:05:33 +01:00
Markus Ongyerth 4afc933ea4 fixes 90 degree rotation screenshots
This fixes the screenshot example application when an output is rotated
by 90 degrees.
Other tranformations are not taken into account yet.
2018-01-31 12:54:57 +01:00
emersion 51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-29 23:24:09 +01: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 415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor 2018-01-22 16:42:22 +01:00
emersion 59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-21 22:18:06 +01:00
Johannes Schramm dcc743047b style: include brackets for if/while/for, even if it's a single statement 2018-01-21 16:28:21 +01:00
emersion 0365b587f0
output: add damage tracking via buffer age 2018-01-21 00:06:35 +01:00
emersion e29a0df8c1
output: fix software cursors damage tracking 2018-01-19 14:08:47 +01:00
Drew DeVault bcb58b5caa
Merge pull request #567 from Timidger/example-logging
Fixed logging for examples
2018-01-15 23:06:13 -05:00
Timidger 264ef0c261
Fixed logging for examples 2018-01-15 22:51:00 -05:00
Drew DeVault b331c5c2c5
Merge pull request #549 from emersion/output-enabled
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
Heghedus Razvan 9e85283f06 Add example for idle protocol
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-13 17:32:15 +02:00
emersion 8ebd7d4dbe
output: rename resolution event to mode 2018-01-06 12:42:32 +01:00
emersion 1fe1d64042
Fix views outside output layout 2017-12-31 12:49:06 +01:00
Timidger 56505c2635
Don't destroy backend in compositor_fini
This is already done after the changes in #504, and now just causes a
segfault on closing the examples.
2017-12-28 10:42:57 -06:00
Drew DeVault bb24895a2b
Merge pull request #533 from martinetd/wl_array_add
ENOMEM checks: consistently check wl_array_add return
2017-12-28 07:44:21 -08:00
Dominique Martinet 8e24aaa3c6 style: fix sizeof() calls without parentheses 2017-12-28 16:28:19 +01:00
emersion 1e6566e6cd
Fixes for multiple outputs
* Fixes output positions in screenshots
* Fixes Wayland backend pointer events when output layout doesn't start at (0, 0)
2017-12-28 15:09:57 +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
emersion 3b4b8953d9
Update output layout when scale or transform changes 2017-12-12 21:58:00 +01:00
Moritz cef6d75491 Moved os-compatibility and added header
* Moved os-compatibility.c to util
* Added header under util
* Removed static since it isn't needed (i think so)
* Adjusted meson.build to include lib_wlr

Improved some codestyle

* Added guard to os-compatibility.h
* Fixed typo in include statment

Adjusted Guard

* Changed guard to _WLR_UTIL_OS_COMPATIBILITY
2017-11-30 18:01:13 +01:00
emersion 64221c6da1
Use wl_list for touch points in examples/ 2017-11-20 21:26:20 +01:00
Tony Crisci f61986e8db rename touch slot to touch id 2017-11-16 17:53:52 -05:00
emersion ac1573b0e7
Add scale parameter to wlr_cursor_set_image 2017-11-11 17:27:44 +01:00
Tancredi Orlando 029f2c05bb Fix unused-result error 2017-11-11 16:47:54 +01:00
Drew DeVault 4f73498b78 Move shared example code 2017-11-01 15:47:58 -04:00
emersion 6b6895168b
Fix segfaults on exit in examples/mutli-pointer 2017-10-31 15:02:41 +01:00
emersion 7dc716a2bb
Fix memory leak in wlr_cursor 2017-10-31 14:58:58 +01:00
emersion ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer 2017-10-31 12:30:57 +01:00
emersion 6a74a3586f
Fix wlr_cursor_destroy, handle device remove in examples/multi-cursor 2017-10-31 12:30:57 +01:00
emersion 044173d1df
Add multi-pointer example 2017-10-31 12:30:57 +01:00
emersion 4230a577cc
Remove wlr_cursor_set_xcursor for now 2017-10-31 12:30:56 +01:00
emersion 2e2d63a164
Manage wlr_output_cursor from wlr_cursor 2017-10-31 12:30:56 +01:00
emersion c45f2eef0e
Fix rootston 2017-10-31 12:30:06 +01:00
Tony Crisci 875a5b446f remove time usec 2017-10-30 15:43:06 -04:00
Timidger a299b9d875 Fixes #321, not using result of wl_container_of 2017-10-22 19:29:24 -07:00
emersion e1d213fccd
Create globals only for enabled outputs in DRM backend 2017-10-22 22:21:23 +02:00
Drew DeVault c5fff08f8a Forgot to rename these 2017-10-22 10:56:40 -04:00
Drew DeVault 16f35ecbea Merge branch 'master' into heghe/wl_list 2017-10-21 22:03:48 -04:00
Drew DeVault 169b68b17c Rename remaining refs to wlr_list 2017-10-21 22:02:36 -04:00
emersion c8570d0e42
Remove wl_list_init when using wl_signal_add 2017-10-21 12:35:51 +02:00
Heghedus Razvan e1f196a3e9 Replace list_t with wl_list for wlr_input_device
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:50:43 +03:00
Heghedus Razvan 1d716241af Replace list_t with wl_list in wlr_output
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
Greg V a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03:00
emersion 55c063f440
Remove examples/compositor.c, re-added by mistake 2017-10-07 19:37:49 +02:00
emersion e4a8831bf1
Fix GCC build 2017-10-07 19:30:00 +02:00
emersion c9909a45ab
Code style 2017-10-07 19:22:55 +02:00
emersion 63af97800f
Use ImageMagick to write PNG screenshot 2017-10-07 19:12:47 +02:00
emersion a87f016017
Remove cairo dependency, write raw pixels 2017-10-07 19:01:11 +02:00
emersion d4cc82f11a
Call glReadPixels right before swapping buffers 2017-10-07 16:22:03 +02:00
emersion 35f9700251
First attempt to implement screenshooter 2017-10-07 16:22:02 +02:00
emersion 1c8b72e0cd
Add screenshooter skeleton 2017-10-07 16:22:02 +02:00
Versus Void 641d08ce7e Transform hotspot with cursor
Fix #188
2017-10-06 09:07:08 +03:00
Versus Void e88f3887ca Move wlr-example.ini.example to rootston.ini.example and reference it from examples' config parser 2017-10-02 16:17:34 +00:00
Versus Void 84de02986a Add examples/wlr-example.ini.example with option descriptions for examples 2017-10-02 15:17:35 +03:00
Drew DeVault aa8a4f12b7 Fix keyboard handling in examples 2017-10-01 11:35:22 -04:00
Drew DeVault e3af7d508f Remove example compositor 2017-09-28 17:44:14 -04:00
Drew DeVault 906a816abf Fix rootston keyboard, add Xwayland 2017-09-28 08:54:57 -04:00
emersion 4e70d36e61
examples/compositor: fix handle_output_frame 2017-09-28 01:36:23 +02:00
emersion e001e40022
Set view->surface 2017-09-27 15:03:35 +02: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
Tony Crisci 84a8f1b42d add keys array param to seat keyboard enter 2017-09-23 14:41:57 -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
emersion c38d7949ef
Use wl_display_next_serial 2017-09-22 19:26:11 +02:00
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
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
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