Vaxry
b0861b6709
config: move various cursor-related vars to cursor:
2024-05-09 22:25:20 +01:00
Vaxry
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +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
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
8a2269272b
output-management: move to new impl
2024-05-03 18:08:04 +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
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
10146f5ec5
core: fix some crash conditions around workspace ptrs in CWindow
...
ref #5402 , supersedes #5409
2024-04-03 20:42:38 +01:00
Vaxry
64964c4e3b
renderer: render back layer for workspace-less passes
2024-04-03 14:28: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
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
vaxerski
93d0511471
layershell: update render pos and size in arrange
...
fixes #5258
2024-03-27 16:30:08 +00:00
vaxerski
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
thejch
8001b96bb5
renderer: dont render fullscreen special on wrong monitor ( #5249 )
2024-03-25 01:41:56 +00:00
Vaxry
5cc4bf699c
IME: Refactor and fixup popups
2024-03-24 16:08:25 +00:00
thejch
c7fbea3368
animations: Fix animation issue in focusworkspaceoncurrentmonitor ( #5202 )
...
* dont render when workspace offset
* add guard
* can remove useless code now if workspace offset is not taken into account
* clang-format
* when special workspace is moved, set anim to move
* add offset back
* make it a configurable option because some folks apparently can't align their monitors correctly and may not want this feature😔
* remove config option
2024-03-23 22:14:50 +00:00
Vaxry
8593c45be3
refactor: move window.hpp to desktop/
2024-03-20 01:44:51 +00:00
Vaxry
30c5911718
renderer: minor fixups for misaligned surface rendering offsets
...
fixes #5136
2024-03-17 16:08:59 +00:00
Vaxry
e68c07d809
renderer: don't render window on other mons during anim in
...
fixes #5139
2024-03-17 01:05:26 +00:00
Vaxry
0e87a08e15
renderer: disable surface adjustments for misaligned reported when manual resizing
...
ref #5135
2024-03-16 17:56:09 +00:00
Vaxry
3162739e1b
renderer: don't translate surface box on interactive resizes with non-updated sizes
...
closes #5135
2024-03-16 17:12:29 +00:00
thejch
c942ce6dce
renderer: add better multi monitor animations ( #5126 )
2024-03-16 14:49:34 +00:00
Vaxry
5e5d7e2abc
renderer: fix non-reported sizes window box calculations
...
fixed #5129
2024-03-16 14:37:07 +00:00
Vaxry
2a2da6082e
renderer: fix invalid access on non-assigned surfaces
...
fixes #5125
2024-03-15 21:29:20 +00:00
Vaxry
38576d651a
renderer: adjust surface dimensions for oversized not-yet ackd surface sizes
...
supersedes #5104
2024-03-15 19:23:51 +00:00
Maximilian Seidler
a958884b52
lock: fix red screen issues with multiple monitors ( #5100 )
...
* lock: use uint64_t for iMonitorID
* lock: move activateLock to onNewSessionLock
* lock: add red screen fade
* lock: damage when fading the red screen and delay for screencopy
* lock: remove redundant scheduleFrameForMonitor
2024-03-15 16:17:13 +00:00