summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* group: disband_on_empty configlittleblack1112026-02-223-0/+14
|
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-2180-5518/+8421
| | | | | Rewrites layouts to be much smaller, and deal with much less annoying BS. Improves the overall architecture, unifies handling of pseudotiling, and various other improvements.
* hyprctl: adjust json caseVaxry2026-02-211-1/+1
| | | | should be camel
* pointermgr: damage only the surface size (#13284)Tom Englund2026-02-211-13/+16
| | | | | | | | | | | | | | | | | * pointermgr: damage only the surface size CWaylandOutput returns a vector2d with -1, -1 set as a "no limit", passing that down into beginSimple and the renderer it hits pixman bug of invalid sizes and wrong rectangles gets created. causing bunch of *** BUG *** In pixman_region32_init_rect: Invalid rectangle passed set the damage either to cursor plane size or fallback to 256x256. * pointermgr: dedup if hw cursorsize checks dedup a bit if else casing
* multigpu: fix multi gpu checking (#13277)Tom Englund2026-02-214-2/+29
| | | | | | | | | | | | | | | * multigpu: fix multi gpu checking drmFD() from allocators is not always equal, because we reopen them inside AQ for refcounting, meaning they get duplicated and become their own fds, so checking if fd1 == fd2 ends up wrong. introduce sameGpu in MiscFunctions that checks the actual drmDevice meaning we can now even check if a rendernode is the same gpu as a display node if we want. * multigpu: move sameGpu to DRM namespace move sameGpu out of MiscFunctions to DRM namespace.
* xwayland/xwm: fix window closing when props raceVaxry2026-02-212-4/+14
| | | | we need to recheck before closing, ideally on change but that's later
* wayland/output: return all bound wl_output instances in outputResourceFrom ↵Vaxry2026-02-206-24/+46
| | | | | (#13315) ref https://github.com/hyprwm/Hyprland/discussions/13301
* config/descriptions: fix use_cpu_buffer (#13285)Murat655362026-02-201-3/+3
|
* desktop/popup: only remove reserved for window popupsVaxry2026-02-191-1/+1
|
* welcome: skip in safe modeVaxry2026-02-191-0/+6
|
* versionKeeper: ignore minor rev versionVaxry2026-02-192-8/+4
| | | | no point in firing the update screen when no breaking changes happen on point releases
* desktop/window: add stable id and use it for foreignVaxry2026-02-194-15/+24
|
* config: support no_vrr rule on vrr 1 (#13250)Skidam2026-02-181-12/+29
|
* compositor: dont unlock all states on empty commits (#13303)Tom Englund2026-02-181-1/+1
| | | | | | we cant unlock all states on empty commits, at best tryProcess them. for example if a state is locked and waiting for a fence to become readable, and another commit comes in we cant unlock it until the fence has actually signaled.
* cm: block DS for scRGB in HDR mode (#13262)Dominick DiMaggio2026-02-171-1/+1
|
* desktop/windowRule: use content rule as enum directly (#13275)ssareta2026-02-161-1/+1
|
* xwayland: fix size mismatch for no scaling (#13263)bea4dev2026-02-151-1/+2
|
* commit-timing: avoid use-after-free in timer callback (#13271)Kamikadze2026-02-141-3/+3
|
* compositor: guard null view() in getWindowFromSurface (#13255)garypippi2026-02-131-1/+1
|
* renderer: fix dgpu directscanout explicit sync (#13229)Tom Englund2026-02-132-2/+13
| | | | | | | | | | | | | * directscanout: fix dgpu directscanout explicit sync without setting an infence, AQ doesnt explicit sync, nor recreate the dgpu fence for the blit work. and as such attemptdirectscanout path artifacts and breaks. create a dummy CEGLSync even tho we dont really have any pending glwork to get a proper fence, and set it. * monitor: dont use new scheduling if direct scanout using the new_render_scheduling makes no sense in the direct scanout path, add a if guard against it.
* i18n: update russian translation (#13247)Kirill Unitsaev2026-02-131-0/+11
|
* dynamicPermManager: fix c+p failVaxry2026-02-101-1/+1
|
* desktop/reserved: fix a possible reserved crash (#13207)Vaxry2026-02-101-1/+2
|
* protocols: commit and presentation timing fixes (#13174)UjinT342026-02-1014-64/+107
| | | | | | | | | | | | | | | | | | | | | | | | | * move commit timing fields to surface state * fix toTimespec init * update sendQueued api * update onPresented api * set zero copy flag * send clock id * move presented calcs inside condition * use only CLOCK_MONOTONIC for commit/presentation timings * fix setSetTimestamp * do not wait for commit timing while tearing * proto config * fix config defaults
* input: fix kinetic scroll (#13233)bea4dev2026-02-104-1/+21
|
* layershell: restore focus to layer shell surface after popup is destroyed ↵Aurelle2026-02-091-13/+22
| | | | (#13225)
* i18n: add Traditional Chinese (zh_TW) translations (#13210)G36maid2026-02-071-0/+59
| | | | | * i18n: add Traditional Chinese (zh_TW) translations * i18n: add missing Simplified Chinese (zh_CN) translations
* protocols/dmabuf: fix DMA-BUF checks and events (#12965)UjinT342026-02-073-11/+54
|
* renderer: allow tearing with DS with invisible cursors (#13155)UjinT342026-02-075-22/+27
|
* popup: reposition with reserved taken into accountVaxry2026-02-071-2/+1
| | | | ref https://github.com/hyprwm/Hyprland/discussions/13194
* opengl: add debug:gl_debugging (#13183)Tom Englund2026-02-064-9/+24
| | | | | | | | | | | | | add debug:gl_debugging so we can disable gl debugging entirerly, both glGetError and enabling EGL_KHR_debug has its cost, we still have EXT_create_context_robustness and glGetGraphicsResetStatus that should catch context loss, and is generally cheap to call it only checks a flag set. glGetError might cause a implicit flush to get any pending calls sent to the gpu. however to get EGL_KHR_debug back enabled we now require a restart of the compositor after changing debug:gl_debugging
* proto/shm: update wl_shm to v2 (#13187)EvilLary2026-02-062-1/+2
|
* i18n: add bengali translations (#13185)Yash Dodwani2026-02-051-0/+51
|
* decorations/border: fix damage scheduling after #12665Vaxry2026-02-051-1/+1
|
* monitor: fix DS deactivation (#13188)UjinT342026-02-042-1/+4
|
* fifo: miscellaneous fifo fixes (#13136)UjinT342026-02-049-47/+82
| | | | | | | | | | | * LOGM: clang-tidy fix * fix fifo state and scheduling * disable fifo_pending_workaround by default * fix tearing * fix "empty" commit skipping
* hyprerror: add padding & adjust for scale when reserving area (#13158)EvilLary2026-02-031-1/+2
|
* monitor: revert "remove disconnected monitor before unsafe state #12544" ↵EvilLary2026-02-031-2/+3
| | | | (#13154)
* gestures/fs: remove unneeded floating state switch (#13127)Łukasz Rek2026-02-031-1/+0
|
* renderer: fix screen export back to srgb (#13148)UjinT342026-02-021-21/+23
|
* i18n: add Vietnamese translation (#13163)Vũ Xuân Trường2026-02-011-0/+46
|
* gestures: add cursor zoom (#13033)Luke Barkess2026-02-013-1/+62
|
* input: fix edge grab resize logic for gaps_out > 0 (#13144)ekhadley2026-02-011-0/+2
|
* xwayland: ensure NO_XWAYLAND builds (#13160)Tom Englund2026-02-011-0/+1
| | | add , using xcb_atom_t = uint32_t;
* time: ensure type correctness and calculate nsec correctly (#13167)Tom Englund2026-02-011-14/+13
| | | | | | | | | | | use auto for nsecdur, assigning system_tp into steady_tp compiles but is not correct. just change it to auto. use {} initialization for timespec structs and returning std::pair. in timediff, fromTimespec and toTimespec the else case was calculating wrong. we need to correctly handle the borrow when the nanoseconds of the first time are smaller than the second, by adding TIMESPEC_NSEC_PER_SEC and decrementing the seconds.
* renderer/pass: fix surface opaque region bounds used in occluding (#13124)jmanc32026-01-311-1/+10
|
* renderer: fix mouse motion in VRR (#12665)Szwagi2026-01-3112-105/+63
|
* buffer: add move constructor and operator to CHLBufferReference (#13157)Tom Englund2026-01-312-0/+20
| | | | add missing move constructor and operator, a lot of churn was done on always copying CHLBufferReference, also add a self copy check.
* xwayland/xwm: get supported props on constructing surface (#13156)Tom Englund2026-01-312-4/+38
| | | | | not all clients supports WM_DELETE_WINDOW like glxgears, so get supported props in constuctor of surface, and if not supported forcefully kill the client.
* opengl: set EGL_CONTEXT_RELEASE_BEHAVIOR_KHR if supported (#13114)Tom Englund2026-01-302-0/+8
| | | | | | | | | EGL_CONTEXT_RELEASE_BEHAVIOR_KHR determines what happends with implicit flushes when context changes, on multigpu scenario we change context frequently when blitting content. while we still rely on explicit sync fences, the flush is destroying driver optimisations. setting it to EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR essentially mean just swap context and continue processing on the next context.