summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* fix: address copilot review commentsclip-permlittleblack1112026-02-156-15/+94
| | | | | | | | - Fix log level from INFO to DEBUG in DataDevice.cpp for offer operations - Remove unused permissionToHumanString function - Add I18n keys for clipboard read/write permissions - Add primary selection permission check in XWM.cpp (was only checking clipboard) - Add async permission handling in DataDeviceWlr.cpp for zwlr protocol
* fix: use correct log levels for clipboard permission messageslittleblack1112026-02-153-18/+18
| | | | | | Use Log::INFO instead of Log::LOG (which doesn't exist) in DataDeviceWlr.cpp and DataDevice.cpp. Also use the new Log::logger->log() style in XWM.cpp instead of the deprecated Debug::log().
* defaultlittleblack1112026-02-151-3/+7
|
* idklittleblack1112026-02-151-2/+0
|
* clang said it redundant so..littleblack1112026-02-151-1/+1
|
* cliplittleblack1112026-02-156-2/+171
|
* 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.
* xwayland/xwm: fix _NET_WM_STATE_MAXIMIZED_VERT type (#13151)Tom Englund2026-01-301-2/+2
| | | add _ infront of the atom name. as it should be.
* xwayland/xwm: handle INCR clipboard transfer chunks correctly (#13125)Zynix2026-01-301-7/+28
| | | | | Handle XCB_PROPERTY_NEW_VALUE events for incremental selection transfers. Previously only DELETE was handled, causing INCR transfers to fail after the first chunk.
* xwayland/xwm: prevent onWrite infinite loop and clean orphan transfers (#13122)Zynix2026-01-292-11/+33
| | | | | | | | | | | | Fixes #11411 - Add return 0 after erasing completed non-incremental transfer to stop event source polling - Add removeTransfer() helper to SXSelection for cleaning transfers by window ID - Add removeTransfersForWindow() helper to CXWM for cleaning all selections at once - Clean orphan transfers in handleDestroy before surface removal - Clean orphan transfers in handlePropertyNotify on missing window or failed reply - Add m_dndSelection to handleSelectionPropertyNotify cleanup loop - Initialize SXTransfer members with safe defaults to prevent undefined behavior - Fix race condition in getTransferData by using window ID lookup instead of index
* opengl: allow texture filter to be changed (#13078)jmanc32026-01-272-4/+7
| | | | | | | | | | | * opengl: allow texture filter to be changed * format * correct filter * Moved from OpenGL.hpp to Texture.hpp * Shortened names
* hyprctl: fix layerrules not being applied dynamically with hyprctl (#13080)ItsOhen2026-01-271-1/+14
|
* eventLoop: various eventloopmgr fixes (#13091)Tom Englund2026-01-271-12/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * eventloopmgr: use unordered_map for readableWaiters use an unordered_map with the raw ptr as key, avoids any risk of dangling ptrs. * eventloopmgr: read the timerfd fd the manpage for timerfd_create and read states this. timefd_create creates a new timer object, and returns a file descriptor that can be used to read the number of expirations that have occurred. The FD becomes readable when the timer expires. read removes the “readable” state from the FD. so most likely it has somewhat worked because of the scheduleRecalc() function. * eventloopmgr: avoid unneeded std::function copy move the idle functions instead of copying. * eventloopmgr: remove event source before calling fn if fn causes a dispatch/reentry its gonna cause UB inside libwayland itself, remove the event source before calling the fn() avoids that entirerly. even if a new dispatch occurs. * eventloopmgr: check if timer fd is readable check if timerfd is readable before calling read on it, so we dont end up blocking on an accident, log an error if its not readable. * eventloopmgr: revert unordered_map change my mistake, the address wasnt changing on reallocations of the heap object. the only issue i was triggering was the reentry path in fn()
* i18n: add Romanian translations (#13075)Viorel Ciobotaru2026-01-271-0/+56
|
* hyprctl: add overFullscreen field in hyprctl window debug (#13066)Naufal Hisyam Muzakki2026-01-241-4/+6
|
* hyprctl: remove trailing comma from json object (#13042)Michał Minarowski2026-01-231-1/+1
|
* opengl/fb: use GL_DEPTH24_STENCIL8 instead of GL_STENCIL_INDEX8 (#13067)Tom Englund2026-01-231-4/+10
| | | | older drivers lack support for GL_STENCIL_INDEX8 so use GL_DEPTH24_STENCIL8 but explicitly disable the depth.
* renderer: fix frame sync (#13061)UjinT342026-01-229-67/+106
| | | | | | | | | * fix commit timing timer * fix surface state lock/unlock * debug state sync todos * debug solitary vrr