Commit graph

201 commits

Author SHA1 Message Date
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
vaxerski
74128d2a97 minor fix for region sharing 2023-03-16 15:11:27 +00:00
vaxerski
8707444cf5 fix shell tab behavior in headers 2023-02-03 18:41:28 +00:00
vaxerski
a0fa7909cd nuke toplevel_mgr_bind 2023-02-03 16:50:06 +00:00
vaxerski
f8cdd28cc8 sanitize input to the picker 2023-02-03 12:14:28 +00:00
vaxerski
13db7db849 fix returnlist on no manager 2023-02-01 19:48:49 +00:00
vaxerski
ee73fca9cc Bind toplevel protos once before first screencast
Also style.
2023-02-01 17:49:29 +00:00
vaxerski
101b58d9c5 add missing s 2022-12-13 18:55:32 +00:00
vaxerski
9fb4fae94b bring back qt wayland platform 2022-12-13 00:55:12 +00:00
Vaxry
3c4c9969cc
Toplevel sharing Rev2 impl (#3)
* toplevel sharing rev2

* nix: fix build

* updated protocols

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-12 14:51:37 +00:00
vaxerski
756789211e export HIS to the picker 2022-12-05 23:20:49 +00:00
vaxerski
2a634b0a60 log more about screencast 2022-12-05 23:11:13 +00:00
vaxerski
4ac6a9af82 export xcursor size to avoid odd-sized cursors 2022-12-05 18:53:51 +00:00
vaxerski
cea7c28bae force wayland platform for qt in invoking picker 2022-12-05 00:37:10 +00:00
vaxerski
bd91bd0d4e pass env to popen cmd picker 2022-12-05 00:13:36 +00:00
vaxerski
8a4e83da96 prevent segfaults on no toplevel proto available 2022-12-04 23:18:10 +00:00
Vaxry
3c850a0336
Window sharing (#2)
* added window sharing support

* nix: add hyprland-protocols and streamline build

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-04 21:12:57 +00:00
Leftas
607ce73671
Change from wlr to hyprland so dbus would recognize different implementation 2022-12-04 19:57:30 +02:00
vaxerski
e2cfaf3eee minor nix fixes 2022-12-03 23:42:56 +00:00
vaxerski
37c76fd7d8 start at pos 7 to avoid a warn 2022-12-03 23:40:08 +00:00
vaxerski
2dc95fe02f Allow region sharing 2022-12-03 22:42:21 +00:00
vaxerski
80775707ea Implement hyprland-share-picker 2022-12-03 21:27:49 +00:00
columbarius
c83b3cc514 screenshot: Announce version property 2022-09-12 23:33:54 +02:00
columbarius
723934d0b0 screencast: check if a valid format was received from wlr_screencopy
When a screencast is started we do a roundtrip on get the offered
formats from wlr_screencopy. This roundtrip can fail [1]. In this case
the formats won't be initialized and we will just error out of the
screencast session.

[1] https://github.com/emersion/xdg-desktop-portal-wlr/issues/214
2022-06-09 11:19:54 +02:00
columbarius
0bbd652c1c screencast: send pesentation timestamp via PipeWire 2022-06-01 21:12:46 +02:00
columbarius
b5491df0c0 screencast: destroy session if output is removed
We teardown all existing screencast_instances using the removed output
by destroying the frame, removing all timers and then marking the
instance as ready for teardown so we can destroy it after the last connected
session is closed.

Any wlr_screencopy_frame_v1 has to be destroyed before the connected
output can be removed. Otherwise wlr_screencopy_frame_v1_destroy
segfaults the whole program. To ensure this we will make all frame
callbacks safe to be triggered for a previous destroyed frame.
2022-05-31 01:23:34 +02:00