Commit Graph

226 Commits

Author SHA1 Message Date
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
vaxerski c0e2339555 screencast: send transform to pw 2023-04-25 17:16:24 +01:00
Lucas Alber f9f08c802e
Fix build after 7d3da7e968 (#54) 2023-04-24 15:04:59 +01:00
Pascal J 7d3da7e968
fix implicit function declaration (#53)
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2023-04-23 19:37:42 +01:00
vaxerski bf035bf3d5 pw: set type for all planes 2023-04-14 17:29:17 +01:00
vaxerski a7b7880172 screencast: send damage via pw 2023-04-14 17:27:28 +01:00
vaxerski 7fc2e78581 screencast: use spa-pod-dynamic 2023-04-14 17:22:16 +01:00
vaxerski 78dee83d77 screencast: add fallback for linear modifier 2023-04-14 17:14:41 +01:00
vaxerski 2366b4d415 internal: remove metadata cursor mode 2023-04-13 21:14:13 +01:00
Jan Beich e33206673d
globalshortcuts: fix -Wint-conversion as error with Clang 15 (#42)
src/globalshortcuts/global_shortcuts.c:40:44: error: incompatible pointer to integer conversion initializing 'uint64_t' (aka 'unsigned long') with an expression of type 'void *' [-Wint-conversion]
    SD_BUS_SIGNAL("Activated", "osta{sv}", NULL),
                                           ^~~~
src/globalshortcuts/global_shortcuts.c:41:46: error: incompatible pointer to integer conversion initializing 'uint64_t' (aka 'unsigned long') with an expression of type 'void *' [-Wint-conversion]
    SD_BUS_SIGNAL("Deactivated", "osta{sv}", NULL),
                                             ^~~~
src/globalshortcuts/global_shortcuts.c:42:53: error: incompatible pointer to integer conversion initializing 'uint64_t' (aka 'unsigned long') with an expression of type 'void *' [-Wint-conversion]
    SD_BUS_SIGNAL("ShortcutsChanged", "oa(sa{sv})", NULL),
                                                    ^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
 #define NULL    ((void *)0)
                 ^~~~~~~~~~~
/usr/include/basu/sd-bus-vtable.h:113:26: note: expanded from macro 'SD_BUS_SIGNAL'
                .flags = _flags,                                        \
                         ^~~~~~
2023-04-10 12:27:59 +01:00
vaxerski 0527deefe8 internal: bring back metadata cursor support 2023-04-10 12:27:18 +01:00
vaxerski 7ca51f935e screencast: make restore persistent 2023-04-10 00:03:24 +01:00
vaxerski ab8d54f6f6 feat: add session restore 2023-04-09 23:30:19 +01:00
Vaxry 510257c0e9
[WIP] Global Shortcuts impl (#35)
Implements the `GlobalShortcuts` portal via `hyprland-global-shortcuts-v1`

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:47:05 +01:00
vaxerski 803c00db11 screencast: crudely allow metadata and ignore it 2023-04-05 22:23:59 +01:00