Vaxry
81bf4eccba
input: Add fully configurable trackpad gestures ( #11490 )
...
Adds configurable trackpad gestures
2025-08-28 11:20:29 +02:00
UjinT34
0d45b277d6
internal: Solitary clients with single subsurface & verbose solitary/tearing/DS checks ( #11228 )
...
Adds more verbose checks for various conditional rendering mechanisms
2025-08-22 18:24:25 +01:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts ( #11377 )
2025-08-14 15:44:56 +01:00
Vaxry
1b86d35f7e
popup: remove wlSurface ownership on destroy
...
fixes #11320
2025-08-03 22:55:02 +02:00
Vaxry
549f5e8dff
popup: fix animation configs
2025-08-03 16:48:12 +02:00
Vaxry
f6d8e86439
popup: imorove logging, use fadeAlpha for opacity
2025-08-03 16:39:54 +02:00
Vaxry
855d103aef
renderer: add popup fade-in-out ( #11313 )
...
Adds xdg popup fade-in and fade-out
2025-08-03 13:44:50 +02:00
outfoxxed
78e9eddfb6
core: use new typed signals from hu ( #10853 )
2025-07-08 18:56:40 +02:00
s1dd
f01e3043b8
desktop: cleanup code and use std::ranges ( #10289 )
2025-05-08 21:01:49 +02:00
Vaxry
948277895e
popup: damage old size on unmap as well as new ( #10306 )
...
fixes #10305
chromium for some reason sets the popup size to like 8x8 at the same time as unmapping
2025-05-06 21:49:20 +02:00
davc0n
9cd5b25745
protocols: refactor class member vars (u-z) ( #10282 )
...
* protocols: refactor class member vars (u-z)
* protocols: fix clang format
2025-05-04 23:39:00 +02:00
davc0n
adbae0f74d
protocols: refactor class member vars (a-m) ( #10265 )
2025-05-04 00:13:29 +02:00
davc0n
d9cad5e1b6
protocols: refactor class member vars (core) ( #10259 )
2025-05-03 16:02:49 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars ( #10218 )
2025-04-30 23:45:20 +02:00
davc0n
2118440488
windows: refactor class member vars ( #10168 )
2025-04-28 22:25:22 +02:00
davc0n
02d7badd15
workspaces: refactor class member vars ( #10167 )
2025-04-25 02:37:12 +02:00
davc0n
0e80ecc534
layers: refactor class member vars ( #10149 )
...
* layers: refactor class member vars
* popups: rename m_WLSurface to m_wlSurface
2025-04-24 20:49:49 +02:00
nyx
d01f9943e1
subsurfaces: dont try to access popup surfaces when handling subsurface updates ( #9421 )
2025-02-17 19:02:32 +01:00
vaxerski
30b49c75bf
popup: improve ::at() behavior
2025-02-06 12:15:41 +00:00
Vaxry
64fefa3749
desktop: move popups to UPs and fix missing subsurface resource
...
fixes #9283
2025-02-01 19:10:19 +00:00
Vaxry
e380b6ed66
popup: take xdg geometry into account in input calcs
...
fixes #9023
2025-02-01 15:49:10 +00:00
Vaxry
c6f672257b
desktop: move popup and subsurface ctors to factories
...
makes sure m_pSelf is set before we do anything like possibly adding children
fixes #9275
supersedes #9276
2025-02-01 15:08:30 +00:00
Vaxry
09ec1cca51
popup: stop refocusing at unmap
...
fixes #9018
2025-01-29 23:05:59 +00:00
Vaxry
e951011503
renderer/internal: stop using box pointers
...
in favor of const refs
2025-01-26 15:05:34 +00:00
Vaxry
0a28e13787
desktop: move desktop types to memory-safe pointers
2025-01-26 12:54:38 +00:00
Vaxry
0a1ae48a9f
core: move all shared_ptrs from the STL to hyprutils ( #9143 )
2025-01-23 21:55:41 +01:00
user111111111111111111111111111111111
2bad73354a
core: cleanup header includes ( #9088 )
...
Cleanup some unneeded includes to speed up compilation
2025-01-17 15:21:35 +00:00
Maximilian Seidler
5642ed331d
core: move parts of the animation system to hyprutils ( #8868 )
...
* core: change animation manager to use Hyprutils::Animation
* config: move animation config to hyprutils animation tree
* use g_pAnimationManager->createAnimation and the new PHLANIMVAR template
* core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks
* core: adapt animated variable usage (dereference the shared pointer)
* misc: bump CMakeLists to hyprutils 0.3.3
2025-01-07 17:55:14 +00:00
Vaxry
8bbeee1173
core: Add clang-tidy ( #8664 )
...
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
2024-12-07 18:51:18 +01:00
Vaxry
726d697821
popup: minor cleanups
...
don't iterate over unmapped popups in breadthfirst, don't refocus if it wasnt in focus
ref #8293
2024-11-09 02:26:24 +00:00
Tom Englund
c7315617eb
internal: few more marginal optimisations from profiling ( #8271 )
...
* deco: reduce local temporars and function calls
profiling shows this is a high used function, reduce the amount of
function calls and local temporar copies and also check if we even need
to add extents at all in the loop.
* popup: optimize bfhelper in popups
pass nodes as const reference and reserve the size of the children node
vector help reduce the reallocations.
* procotol: make compositor bfhelper use const ref
use const ref for nodes and reserve second nodes vector size to reduce
amount of reallocation needed.
2024-10-28 18:02:52 +00:00
outfoxxed
0500213086
input: try to refocus a focusable window when seat grabs are reset ( #7669 )
2024-09-07 01:06:55 +01:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
outfoxxed
bc86afea7e
xdg-shell: completely rewrite xdg-positioner ( #7067 )
...
This implementation actually works.
2024-07-27 21:43:01 +01:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
Moves Hyprland from wlroots to aquamarine for the backend.
---------
Signed-off-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: diniamo <diniamo53@gmail.com>
2024-07-21 13:09:54 +02:00
Vaxry
6967a31450
wayland/core: move to new impl ( #6268 )
...
* wayland/core/dmabuf: move to new impl
it's the final countdown
2024-06-08 10:07:59 +02:00
Tom Englund
af5f24929d
core: free more memory on destruction ( #6348 )
...
* pointermgr: add destructor to state and free buf
if the pointer has a buffer set it wont be freed upon destruction, make
asan more happy by adding a destructor and wlr_buf_unlock it on exit.
* cursormgr: free the animation timer event source
properly free the animation timer event source on destruction.
* compositor: free the critsig event source on exit
properly free the critical signal event source on exit.
* popup: clang format style
clang format.
2024-06-06 20:27:09 +02:00
Vaxry
155fe6f165
popup: minor safety improvements
2024-06-05 16:53:49 +02:00
Vaxry
9518cec833
popup: clip input region to surface size
...
fixes #6125
2024-05-17 19:43:56 +01:00
Vaxry
fc72df8e58
seatmgr: Add a grab class
2024-05-14 23:13:33 +01:00
Vaxry
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
Vaxry
2ba6bb69c4
popups: fix breadthfirst and at
...
fixes #5977
2024-05-10 02:38:56 +01:00
Vaxry
db30ff63e6
popups: avoid infinite recursion in bf
2024-05-10 02:38:56 +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
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
0b215c5f24
idle-inhibit: fix and cleanup visibility logic
...
fixes #5878
2024-05-04 23:46:10 +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
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
Vaxry
4f3e90ad2d
popups: more safety in damage checking
2024-04-04 16:42:30 +01:00
Vaxry
347b839034
workspaces: add visible flag
2024-04-03 10:09:48 +01:00