Commit graph

20 commits

Author SHA1 Message Date
Vaxry
addd3e7f1a
xwayland: move to hyprland impl (#6086) 2024-05-25 22:43:51 +02:00
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation (#5883)
moves std::shared_ptrs to a new implementation

Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
   - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
   - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
   - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
   - this is useful in destructors and callbacks.
2024-05-05 17:16:00 +01:00
0237e39f74 protocols: utilize hyprwayland-scanner 0.3.3 functions
stuff like ::version(), ::client(), ::error() etc
2024-05-01 19:40:35 +01:00
012a2802e0 Protocols: implement protoLog 2024-04-22 18:44:25 +01:00
4ad739ec63 HookSystem: improve callback safety 2024-04-20 20:16:42 +01:00
84ee839ca6 XDG-Output: move to hyprwayland-scanner 2024-04-20 19:39:59 +01:00
063708df26 config: improve config value infrastructure 2024-03-03 18:41:38 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang (#4656)
* Migrate to hyprlang

* pop up errors

* fix swapped args

* Meson & Nix: build with hyprlang

* CI: add hyprlang to setup action

* add infra for plugin stuff

* fix hyprctl getoption

* fix hyprctl getoption with json

* format

* fix post parse logic

* fix autogen config

* oops missed exec-once

* fmt

* fix ws rules

* require 0.3.0 for hyprlang

* nix: flaek

* minor type fixes

* fix cfg usages in swipe

* use cvarlist for ws rules

* fix throw in addPluginConfigVar

* Nix: update hyprlang

* minor fixes

* fix disableLogs

* mention hyprlang docs

* bump hyprlang dep in cmake

* Meson: bump min hyprlang version

Nix: update hyprlang

* minor fix

* Nix: update meson patch

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Vaxry
21e9313c10
Core: various unsafe state improvements (#3713)
Fixes #3637
2023-11-01 18:53:36 +00:00
a61eb7694d hooksystem: add callbackinfo struct and cancellable events 2023-10-21 14:52:43 +01:00
vaxerski
db48f973fd xdgoutput: do not destroy resources on monitorRemoved 2023-09-05 13:33:08 +02:00
Vaxry
d9292800a2
internal: Unsafe state reworks (#3114) 2023-09-01 22:03:56 +02:00
vaxerski
116b9a8056 xdgoutput: mark resources defunct when monitor is unplugged 2023-08-25 18:22:25 +02:00
Vaxry
37128bfd43
internal: Wayland Protocol impl improvements (#2944) 2023-08-21 19:36:09 +02:00
vaxerski
fff118fa76 xdgoutput: don't send all details in .get 2023-08-19 21:14:12 +02:00
91e28bbe9d xwayland: use a completely separate coordinate system
Use a completely separate coordinate system for XWayland. This fixes all issues with force_zero_scaling overlaps.

Fixes #2916
2023-08-15 19:15:37 +02:00
347a1eb662 xdgoutput: separate logic for zero scaling positions
if a scaled monitor was directly to the left of another monitor, we'd change the size to have zero scaling without pushing other monitors out of the way, creating overlaps in xwayland.
2023-08-15 17:55:29 +02:00
vaxerski
ef0d97153a xdgoutput: manually destroy manager resource 2023-08-04 14:07:41 +02:00
Po-Yeh Chen
77818e3457
xwayland: Add temporary fix for #2808 by adding nullptr check. (#2829)
* Add temporary fix for #2808 by adding nullptr check.

* Remove redundency.
2023-07-28 17:12:24 +02:00
Vaxry
8370a7fcc4
internal: Protocol C++ Wraps + XDGOutput impl (#2733)
move to our own xdgoutput impl instead of wlr's
2023-07-18 15:30:28 +02:00