Commit graph

298 commits

Author SHA1 Message Date
columbarius
15e30ed35d Remove unecessary checks in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
c6253415c0 Add functions to clean simple_buffer.{data,buffer} in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
f23e9e4921 Change refresh logic and add tests in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
9d4193e5b2 Refresh buffer on change in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
9c353d6cfb Fix log messages in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
1245e9c353 munmap simple_frame.data only if needed in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
4c20660f74 Only recreate simple_frame on change in wlr_screencast.c 2020-08-18 15:47:44 +02:00
columbarius
e57beee43d Destroy wlr_buffer only on quit or error in wlr_screencast.c 2020-08-18 15:47:44 +02:00
Maxim Baz
68f9759a78 systemd: ensure service is stopped on exit of graphical session 2020-08-07 12:33:26 -04:00
danshick
bc89778fdc Update contrib to mention XDG_DESKTOP_PORTAL_DIR 2020-05-27 16:49:15 +02:00
Marian Buschsieweke
1e92d603a8 core/main: Clean up option handling
- Add a missing space in the usage string
- Drop short option "p", which is unused
2020-05-26 17:02:56 +02:00
Marian Buschsieweke
4cd31295cf core/main: Use EXIT_FAILURE / EXIT_SUCCESS 2020-05-26 12:58:13 +02:00
Marian Buschsieweke
05f44e7a7d core/main: Add static qualifier to internal func 2020-05-26 12:58:13 +02:00
Marian Buschsieweke
a105e0e363
core: fix error handling in main
The error handling at the `error:` label tears down the whole state. Thus, the
state needs to be fully initialized in order for the tear down to succeed.
Currently, if e.g. `sd_bus_open_user()` fails, a `segfault` is triggered by
the tear down. This commit adds individual tear down code that only touches
stuff that until that point was successfully initialized.
2020-05-21 16:44:47 +02:00
Simon Ser
b82d3fcc01
build: bump version to 0.1.0 2020-05-05 16:18:37 +02:00
Simon Ser
f5bfe9fe12 Replace void * with correct type in start_screencast 2020-05-05 10:00:10 -04:00
Simon Ser
a7ea407e2f Remove --pixelformat flag
This hack is not needed anymore.
2020-05-05 10:00:10 -04:00
Simon Ser
26b6bf69aa Advertise format with alpha channel stripped 2020-05-05 10:00:10 -04:00
danshick
3b56140032
Add documentation
Improve the README, add links to the wiki and add a contributing guide.
2020-04-29 19:50:53 +02:00
Simon Ser
6ecb5dffc7
ci: add Alpine build (#30)
Alpine uses musl, which may behave differently than glibc. Add Alpine to
the CI to make sure we don't rely on glibc-specific behaviour.

References: https://github.com/emersion/xdg-desktop-portal-wlr/issues/28
2020-04-23 09:57:02 -04:00
Dan Shick
229a34a9fe Globally define _POSIX_C_SOURCE in meson.build
Fix musl issue with time.h
2020-04-23 09:53:34 +02:00
Dan Shick
f6d14d9206 Check cast instance refcount before attaching 2020-04-21 14:45:55 +02:00
danshick
55f873dac4
Screencast session support (#22)
* Initial session support WIP
Remove libdrm dependency

Remove display from context, add dbus properties

Use random names for shm and pw_stream, init the stream only for new cast instances

Separate cast initialized flag from refcount, cleanup names and comments

* Refactor and stability improvements

Properly report xdp screencast implementation version
2020-04-16 10:21:55 +02:00
Aleksei Bavshin
ea98281d0a
Add D-Bus and systemd service files 2020-04-10 10:48:41 +02:00
Dan Shick
ccc8a31568 Remove pipewire workarounds after upstream fix 2020-04-01 13:38:38 -04:00
obayemi
dfa0ac7040
build: add missing libdrm dependency 2020-03-23 16:49:36 +01:00
Dan Shick
bba347be4c Add pipewire 0.3 support. Workaround pipewire bugs. 2020-03-16 22:43:45 +01:00
Dan Shick
45699637d1 Fix CI with libpipewire02, libdrm. Remove png.h unused import. Cleanup style. 2020-03-13 21:01:32 +01:00
Dan Shick
c0da39f022 Add proper event loop. Remove last threads. Update CI with pipewire. 2020-03-13 21:01:32 +01:00
Dan Shick
eb229b708e Remove thread for pipewire and all locking. Add support for elogind in meson. 2020-03-13 21:01:32 +01:00
Dan Shick
b0c50ff911 Add proper logging 2020-03-13 21:01:32 +01:00
Dan Shick
080d519a0d Add xdg_output protocol for output selection 2020-03-13 21:01:32 +01:00
Dan Shick
7b699f3344 Use variable framerate, add CLI option to override pixelformat metadata 2020-03-13 21:01:32 +01:00
Dan Shick
2a31d2d922 Add thread for wlr screensharing 2020-03-13 21:01:32 +01:00
Dan Shick
3058987873 Add yml exception to editorconfig 2020-03-13 21:01:32 +01:00
Simon Ser
d083a4fa79
Import .editorconfig from wlroots 2020-03-13 19:08:54 +01:00
Simon Ser
d7babf8641
build: disable some annoying warnings 2020-03-13 17:53:50 +01:00
Simon Ser
7999b7443e
readme: add CI badge 2020-03-10 13:40:27 +01:00
Simon Ser
e27157e4ab
ci: add .build.yml 2020-03-10 13:38:56 +01:00
Simon Ser
a9e904a0c8
Add session boilerplate 2019-12-09 12:55:12 +01:00
Simon Ser
03599925b6
readme: add links, improve formatting 2019-12-09 12:45:30 +01:00
James Edwards-Jones
13076d0c10 Add tooling to README
Describes how to trigger/test with portal-test and python snippets.
2019-07-24 19:38:20 +03:00
James Edwards-Jones
df2ee009e1 Use sd_bus_message_append shorthand for screenshot 2019-07-24 18:28:26 +03:00
emersion
74ee43cf37
Add missing request.c
Fixes https://github.com/emersion/xdg-desktop-portal-wlr/issues/3
2019-02-12 13:09:21 +01:00
emersion
2b659c42a7
Invoke grim when taking screenshot
Backends should provide their own UI. As I don't want to copy-paste grim and
slurp here, let's just exec them. This should be made configurable in the
future.
2018-12-21 19:00:32 +01:00
emersion
2f2fe91ff4
Add D-Bus boilerplate for Screenshot 2018-12-13 18:03:44 +01:00
emersion
7618fdc67d
First commit 2018-12-12 22:29:57 +01:00
emersion
4e091184ed
Initial commit 2018-12-12 11:46:19 +01:00