summaryrefslogtreecommitdiff
path: root/src/managers/CursorManager.hpp
Commit message (Collapse)AuthorAgeFilesLines
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-3/+2
|
* renderer: add more uniforms to the screen shader (#11986)Mozzarella322025-10-201-0/+2
| | | | | | | | | | | | These are: pointer_shape from the cursor-shape-v1 protocol prepared for v2, along with left_ptr...bottom_right_corner and killing (Hyprland specific) pointer_shape_previous with pointer_switch_time to blend between shapes pointer_size scaled size as used by the normal cursor pointer_pressed_positions[32] with pointer_pressed_times[32] and pointer_pressed_killed(32 bits) for click/touch animations and if they killed something pointer_inactive_timeout with pointer_last_active to smoothly fade the pointer out pointer_hidden to hide it when the cursor is hidden (excluding by cursor:invisible as this config value can be used to turn off the normal cursor, which is useful when drawing it with the screen shader)
* managers: refactor class member vars (#10242)davc0n2025-05-021-11/+11
|
* CursorManager: Store cursor pixel data retrieved from X/HC as a copy (#9986)Vaxry2025-04-071-5/+4
| | | Instead of storing pointers as refs (which could randomly get invalid very easily) copy the data.
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-231-14/+13
|
* cursormgr: fix cursor gsettings on session change (#7295)Ikalco2024-08-131-1/+2
|
* cursormgr: implement inheriting themes for xcursor (#7197)Tom Englund2024-08-071-29/+25
| | | | | | | | | | | | | | | | | | | * cursormgr: reduce duplicated code add a few functions such as setCursorBuffer and setAnimationTimer to reduce duplicated code and also avoid future mishaps of forgetting to clear buffer or disarm timer. and generally reduce spaghetti even tho pasta can be delicious. * xcursormgr: implent inherited themes implent index.theme parsing and inherited themes. * cursormgr: ensure a fallback xcursor exist ensure a xcursor fallback exist otherwise it wont load the proper theme if we at launch have hyprcursor enabled and then set it to false in config and reload. also use the env var when using hyprctl setcursor incase its empty.
* cursor: Better xcursor implementation (#7178)Tom Englund2024-08-051-21/+5
| | | | | | | | | | | | | | | | | | * xcursor: bootleg xcursors into its own manager implent XCursorManager and load themes based on librarypath and its dir, now we catch all supplied theme files. and also implent animated cursors. also refactor a bit of spaghetti regarding xcursors in CursorManager. * hyprcursor: fix buffer leak animated cursors are creating a new buffer for each image, ensure we drop the buffers so it continously doesnt build up in infinity. * cursormgr: use eventloopmgr for animation use EvenloopManager for timers instead of adding it directly to m_sWLEventLoop and using its related wl_* functions.
* xcursor: rework bootleg xcursor (#7140)Tom Englund2024-08-021-8/+9
| | | | | | there were a bunch of missing cursors, rework the shape loading add a function to get legacyname from new wayland names. also bootleg add a cursor if no theme can be found and no shape. to atleast show something.
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-25/+45
| | | | | | | | | | | | | | 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>
* surface: add virtual destructor to surfacerole to avoid undefined behaviour ↵Tom Englund2024-06-221-0/+1
| | | | | | | | | | | | | | | (#6620) * surfacerole: add virtual destructor all classes that will be derived from should have a virtual destructor otherwise deleting an instance via pointer to a base class is undefined behaviour, layershell/xdgshell hits this with std::default_delete in the new sharedptr implentation. * includes: fix missing includes fix missing includes for no precompiled headers builds, and remove a redefiniton of a macro already defined in macros.hpp
* core: Move to hyprutils for MathVaxry2024-06-191-1/+1
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-1/+1
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* hyprctl: Make setcursor better (support XCursor themes, give fail message) ↵Ikalco2024-05-281-1/+1
| | | | | | | | | (#6097) * add support for changing to X cursor themes * use new hyprcursor abi for options * remove unneeded struct
* xwayland: move to hyprland impl (#6086)Vaxry2024-05-251-2/+1
|
* cursor: move to a hyprland implVaxry2024-05-091-4/+9
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* internal: fix a few asan reported leaks on exit of hyprland (#5852)Tom Englund2024-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * notifications: free cairo images on destruction asan reports a leak on exit if we dont free the image we created in the draw function. add a destructor and free images on exit. * compositor: destroy wlroots types on exit there are a few types not being destroyed on exit and causing a leak on exit in wlroots reported by asan, add those. * cursormgr: ensure we destroy cursor mgr on exit add a destructor and call wlr_xcursor_manager_destroy on the manager on destruction, leak reported by asan. * keybindmgr: free state and keymap add missing keymap_unref on creation, and add a destructor and free the state on exit. leak reported by asan. * skeyboard: add destructor and free state free the state on destruction of keyboard, reported as leak by asan
* cursormgr: initialize size to 0Vaxry2024-03-241-1/+1
| | | | Because the ctor expects that. Ref #5237
* cursormgr: fix invalid access to hyprcursor in xwayland initVaxry2024-03-091-0/+2
| | | | fixes #5048
* internal: Support libhyprcursor (#5009)Vaxry2024-03-091-0/+69
woo --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>