Commit Graph

912 Commits

Author SHA1 Message Date
Vaxry b0861b6709 config: move various cursor-related vars to cursor: 2024-05-09 22:25:20 +01:00
MightyPlaza eeebbc0e7e groupbar: fix title scaling (#5969)
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.hpp
2024-05-09 22:02:19 +01:00
Vaxry 635a02d83f layer-shell: move to new impl
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
MightyPlaza 85f7f69046
decorations: fix groupbar input (#5963)
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.hpp
2024-05-09 19:19:32 +01:00
Vaxry ed411f53bd cursor: move to a hyprland impl
This moves wlr_cursor to a completely new impl mostly under
CPointerManager

Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00
Vaxry 96365309de deco-positioner: avoid infinite recalcs
fixes #5908
2024-05-07 11:53:29 +01:00
Vaxry a8a04c746b renderer: deny solitary during a session lock
closes #5906

fixes #5899
2024-05-06 02:24:11 +01: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
Vaxry a3309b51a2 shadow: fix small pixel gaps between border
huge fix
2024-05-04 20:30:03 +01:00
Vaxry 8a2269272b output-management: move to new impl 2024-05-03 18:08:04 +01:00
zakk4223 d2899a6c27
layout: Trigger layout recalcuation on deco position/size change (#5821)
* Trigger layout recalcuation on deco position/size change

* Remove now unneeded code

* Formatting
2024-05-01 12:59:40 +01:00
Vaxry 70ebc3add3 sessionLock: call wlr_surface_map/_unmap on the surface manually
fixes unmapped subsurfaces etc

ref #5816
2024-04-30 21:59:07 +01:00
Vaxry 90e1411315 session-lock: move to new impl 2024-04-30 16:34:09 +01:00
Vaxry 5edc32930d layerSurface: refactor/move to a memory-safe impl
Makes all the pointers smart to avoid memory issues
Refactors layerSurface code to live inside desktop/layersurface
2024-04-30 02:41:27 +01:00
Vaxry 33e0bb1478 wlr-output-power: move to new impl 2024-04-29 01:38:24 +01:00
Vaxry bca7804bb6
internal: Window storage rework - part 1 (#5762)
* Window storage rework - part 1

* format

* remove useless include

* fix pch

* format

* fix crash in dwindle

* fix vram leak

* prefer .expired() for bool checks
2024-04-27 12:43:12 +01:00
eriedaberrie faa9017043
renderer: fix rounding of the size of fractionally scaled monitors (#5748) 2024-04-25 18:52:49 +01:00
Virt 9fe409800b
renderer: Fix mirrored displays when transformed and preserve aspect ratio (#5697)
* renderer: transform mirror buffer and preserve mirror aspect ratio

* renderer: render mirrors directly from offloadFB

* renderer: fix formatting

* renderer: use monitorMirrorFB again, but properly damage mirrors

* renderer: clean mirrors after reload and support cursor zoom mirroring
2024-04-24 16:29:41 +01:00
Vaxry d119513749 renderer: fix safety around sendFrameEventsToWorkspace
ref #5718
2024-04-23 21:15:37 +01:00
Vaxry a2366f78f0 renderer: send frame events to apps on empty damage renders
fixes #5711
2024-04-23 16:08:54 +01:00
Vaxry cf3596a96d renderer: avoid rendering frame if finalDamage is empty 2024-04-23 12:29:01 +01:00
Vaxry 741c75d907 gamma-control: move to new impl 2024-04-22 18:21:03 +01:00
Vaxry 8afdb8403b style: fix clang-format 2024-04-21 21:29:37 +01:00
Vaxry f587c3e0ba alpha-modifier: add support for protocol 2024-04-21 21:21:22 +01:00
Vaxry 4ad739ec63 HookSystem: improve callback safety 2024-04-20 20:16:42 +01:00
Vaxry b52a49b4c4
tearing-control: hyprland impl (#5655)
* tearing: hl impl

* format
2024-04-19 22:16:35 +01:00
Epikastema 82222342f1
shaders: Use sin-less hash for noise (#5607) 2024-04-17 19:01:50 +01:00
MightyPlaza 0634aaeac6
renderer: remove border on fullscreen (#5577)
modified:   src/render/Renderer.cpp
2024-04-14 00:16:26 +01:00
TheOnlyMrCat 47e5b41fea
renderer: Add dimaround layer rule (#4643) 2024-04-11 12:41:18 +01:00
Vaxry 63e3668529 style: run clang-format 2024-04-08 15:33:02 +01:00
Vaxry 7d989f2cf0 damageSurface: don't correct smallVec twice 2024-04-07 22:25:34 +01:00
Vaxry ec2cc79c65 renderer: avoid double-rendering ls-es on fadingOut
fixes #5295
2024-04-04 22:43:57 +01:00
Vaxry d605e47511 renderer: block screen shader on screencopy 2024-04-03 21:35:16 +01:00
Vaxry 10146f5ec5 core: fix some crash conditions around workspace ptrs in CWindow
ref #5402, supersedes #5409
2024-04-03 20:42:38 +01:00
Vaxry 93915502d2 blur: block modif only on no new optimize 2024-04-03 17:08:11 +01:00
Vaxry 91061a2084 opengl: fix modif in blur 2024-04-03 15:08:29 +01:00
Vaxry 64964c4e3b renderer: render back layer for workspace-less passes 2024-04-03 14:28:15 +01:00
Vaxry 3981f85e94 opengl: log framebuffer errors 2024-04-03 14:24:15 +01:00
Vaxry efdc1af044 renderer: some fixes for renderModif 2024-04-03 14:09:58 +01:00
Vaxry 347b839034 workspaces: add visible flag 2024-04-03 10:09:48 +01:00
Vaxry ef23ef60c5
Workspace/core: Refactor workspace storage (#5380)
* refactor workspaces to use ptrs

* clang-format
2024-04-02 20:32:39 +01:00
thejch 800dbf71b0
renderer: Fix rendering when swiping workspaces (#5367)
* fix rendering on swiping

* add alpha check

* fix floating fs check
2024-04-01 16:16:18 +01:00
thejch 9ae0c47a21
deco: fix groupbar offset (#5364) 2024-04-01 02:58:21 +01:00
thejch e1e41e5448
reenderer: Add 1 border damage to fix number rounding issues (#5343)
* add 1 to border damage to avoid rounding issues

* add 1 to rounding too
2024-03-31 14:59:22 +01:00
thejch 16a9c16d9f
renderer/animations: Fix various inaccurate damage tracking issues and offsets (#5297) 2024-03-31 02:14:26 +01:00
Vaxry 0869f65b0b input: add misc:hide_cursor_on_key_press
fixes #3045
2024-03-28 02:07:06 +00:00
Vaxry 93d0511471 layershell: update render pos and size in arrange
fixes #5258
2024-03-27 16:30:08 +00:00
Vaxry 1a0b8d1263 renderer: minor fixes to misaligned reported surface rendering
fixes #5257
2024-03-26 13:35:03 +00:00
Vaxry ae17e900e7 layer-shell: render popups above everything 2024-03-25 16:20:30 +00:00
Vaxry ca17a89d86 renderer: allow blurring ls popups 2024-03-25 16:09:02 +00:00