Commit Graph

240 Commits

Author SHA1 Message Date
Yaroslav 91e48d6acd
core: Small fixes (#215)
* fix build warnings

* properly generate wayland protocols on rebuild

* make systemd service installation optional
2024-05-21 12:16:37 +01:00
v3llocet af7c87a32f
core: fix inShellPath, Permission denied (#213) 2024-05-15 16:54:17 +01:00
Vaxry 1f228ba2f1 screencopy: add a small time buffer for next queue frame
ref #120
2024-05-02 16:08:52 +01:00
Vaxry ccabd97be3 config: add screencopy:max_fps 2024-05-02 16:05:56 +01:00
Vaxry 12af841341 screencopy: fixup timing issues with frame re-scheduling
ref #120
2024-05-02 16:01:58 +01:00
Tom Englund 0fe840441e
core: reset screenshot pointer aswell (#209)
ensure the screenshot portal is destructed before the connection is
down, otherwise it segfaults inside sdbus.
2024-04-25 16:47:35 +01:00
Vaxry 9ace6f969c core: use a lock_guard for loopRequestMutex
fixes #207
2024-04-21 19:33:52 +01:00
Jan Beich 15fd76cb6e screencopy: add missing header for sdbus-cpp 1.5.0
src/portals/Screencopy.cpp:956:9: error: use of undeclared identifier 'close'
        close(PBUFFER->fd[plane]);
        ^
src/portals/Screencopy.cpp:1293:21: error: use of undeclared identifier 'close'
                    close(pBuffer->fd[plane_tmp]);
                    ^
src/portals/Screencopy.cpp:1308:17: error: use of undeclared identifier 'close'
                close(pBuffer->fd[plane]);
                ^
2024-02-26 15:41:56 +02:00
Vaxry 65fb44ae49 config: add explicit ctors for config variables
fixes #190
2024-02-21 16:29:24 +00:00
Vaxry 5a59264758 screencast: remove frame callbacks on every stream state change 2024-01-25 01:23:05 +00:00
Vaxry 4fc83e6871 core: avoid using uninitialized ptrs 2024-01-18 15:50:22 +01:00
Vaxry 899a70e759 core: don't critically exit if env doesnt have home
fixes #163
2024-01-07 19:14:05 +01:00
Vaxry 7596dec7be screencopy: set allowToken to true when token is found
ref #123
2024-01-05 15:52:29 +01:00
Vaxry 536e6ed570 screencopy: properly handle stream resume on all frame statuses
fixes #162
2024-01-05 15:46:53 +01:00
Mihai Fufezan 874c6ab200
Fix Nix 2024-01-03 17:24:17 +02:00
Vaxry a2c37e2d6e core: fix invalid type passed to CConfig 2024-01-03 14:10:31 +01:00
Vaxry c5b69eb5b5 config: add a config with hyprlang 2024-01-03 12:59:40 +01:00
Vaxry 54a30259be core: temporairly disable foreign_toplevel dynamic bind
ref #147
2023-12-31 01:04:31 +01:00
Vaxry 576a49ef3d core: fix incorrect usage of ms in poll thread
fuck me
2023-12-25 15:22:00 +01:00
Vaxry 24141c05c2 core: avoid having the toplevel mgr bound all the time 2023-12-25 15:05:30 +01:00
Vaxry f5c3576c3b screencast: guard pipewire stream validity for queue 2023-12-11 22:48:39 +00:00
Alexis Brodeur c23f738673
screencopy: Enable support for BGR888 shared memory buffers (#143)
This simply adds the cases to the conversion functions. The rest of the
code needs no change from screen and window capture to work as expected.
2023-12-03 22:02:23 +00:00
Vaxry 11009ba077 screencopy: safer iteration of vector in destroyStream 2023-11-20 18:52:06 +00:00
Vaxry 716da5e0f3 screenshare: destroy bo on pwStreamRemoveBuffer 2023-11-20 18:50:48 +00:00
Junxuan Liao 8d3538e113
core: Destroy pipewire streams when ScreenCast sessions are closed (#130)
* fix: avoid double freeing the screencopy stream

* fix: avoid leaking pipewire streams

* style: remove brackets around the short if
2023-11-19 12:36:20 +00:00
Oliver Enes b2fc111096
portal: Added back screenshot functionality (#127) 2023-11-05 01:00:51 +00:00
Vaxry d8daa2a84f core: fix pollfds hup check loop 2023-10-14 11:58:18 +01:00
Ngô Huy 60af24a70d
dbus: Fix issue #114 (#115)
The line #249 calls system bus by default, dbus will deny this request,
then we need to call session bus instead.
2023-10-12 23:17:00 +01:00
vaxerski ec2e207740 core: fix missing sentinel in execl 2023-10-10 14:47:03 +01:00
vaxerski 667007fa4e core: kill process if threads are in a deadlock 2023-10-10 14:45:54 +01:00
vaxerski ec31e99056 core: free modifiers if allocated 2023-10-10 01:12:16 +01:00
vaxerski ff87a16b2b dmabuf: correctly list modifiers
relates to #99 and #106
2023-10-10 01:11:43 +01:00
vaxerski bf6689a209 core: use abort() instead of exit() in format funcs 2023-10-08 01:57:17 +01:00
vaxerski f147831c53 core: remove debug terminate
I am a fucking idiot. fixes #107
2023-10-08 01:05:34 +01:00
vaxerski 7df2d3e9e5 screencopy: avoid execution after terminate() 2023-10-05 16:54:28 +01:00
vaxerski 39fd0e46b1 screencopy: avoid defective exit() calls 2023-10-05 16:53:47 +01:00
vaxerski 552e928e7c screencopy: log dma format 2023-10-05 16:53:10 +01:00
vaxerski 158b5892bd internal: gracefully exit on termination after creating the event loop
possibly might help #103
2023-10-05 01:24:55 +01:00
Rudolchr f9461b0b7d
build: Fix build when using clang (#100)
* Add -Wno-address-of-temporary to allow taking an address of temporary like -fpermissive does for gcc

* Make some implicit casts explicit

* Implement the wl_array_for_each macro inline as clang does not like to handle it's implicit typecast

* Removed unecessary include that was automatically added by the ide

* Replaced reinterpret_cast's with c-style casts
2023-09-26 22:23:02 +01:00
Jan Beich 54b5467ec1
build: Unbreak build on FreeBSD (#98)
* helpers: add missing header after 9dfb9e125b

src/helpers/MiscFunctions.cpp: In function 'void addHyprlandNotification(const std::string&, float, const std::string&, const std::string&)':
src/helpers/MiscFunctions.cpp:24:9: error: 'fork' was not declared in this scope
   24 |     if (fork() == 0)
      |         ^~~~
src/helpers/MiscFunctions.cpp:25:9: error: 'execl' was not declared in this scope
   25 |         execl("/bin/sh", "/bin/sh", "-c", CMD.c_str(), nullptr);
      |         ^~~~~

* build: add missing dependency for libc++ after 2f48e65503

ld.lld: error: undefined symbol: pthread_create
>>> referenced by PortalManager.cpp
>>>               src/xdg-desktop-portal-hyprland.p/core_PortalManager.cpp.o:(CPortalManager::startEventLoop())
>>> referenced by PortalManager.cpp
>>>               src/xdg-desktop-portal-hyprland.p/core_PortalManager.cpp.o:(CPortalManager::startEventLoop())
2023-09-18 20:00:21 +01:00
Commrade Goad b645ab7cce
screencopy: fix unescaped quotes in titles (#96) 2023-09-16 18:51:54 +01:00
vaxerski 2f48e65503 core: rework event loop for polling and C++-style awaits
Stops the event loop from checking all the time in favor of locks and polling.
2023-09-16 18:22:53 +01:00
vaxerski 8f45a64350 internal: make frame callbacks log a trace 2023-09-13 19:08:00 +01:00
vaxerski 9dfb9e125b internal: add a notification on missing qt-wayland packages
fixes #91
2023-09-11 23:31:33 +01:00
Jan Beich 676571b2c0
build: drop unused dependencies after 022469529c (#84) 2023-09-08 23:38:55 +01:00
Vaxry 022469529c
Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
Nicola Guerrera af539f4e4d
screencast: correct array size (#72) 2023-07-23 15:48:06 +02:00
vaxerski 43300c11a9 toplevelexport: remove _done call from _buffer
requires recent hyprland commit to work
2023-07-20 12:41:50 +02:00
vaxerski 7276435c46 pw: guard output in transform checks 2023-07-20 12:01:23 +02:00
vaxerski ca077cc05c screencast: restore window share by class 2023-05-25 16:54:02 +02:00